[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-datawhalechina--learn-nlp-with-transformers":3,"tool-datawhalechina--learn-nlp-with-transformers":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",156033,2,"2026-04-14T23:32:00",[13,14,15],"开发框架","Agent","语言模型","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[15,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":81,"owner_email":81,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":89,"forks":90,"last_commit_at":91,"license":81,"difficulty_score":10,"env_os":92,"env_gpu":92,"env_ram":92,"env_deps":93,"category_tags":98,"github_topics":99,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":103,"updated_at":104,"faqs":105,"releases":143},7643,"datawhalechina\u002Flearn-nlp-with-transformers","learn-nlp-with-transformers","we want to create a repo to illustrate usage of transformers in chinese","learn-nlp-with-transformers 是一个专为中文用户打造的自然语言处理（NLP）入门开源项目，旨在通过生动的原理图解与丰富的实战代码，帮助学习者快速掌握深度学习时代的 Transformer 技术。针对初学者在面对复杂的 Attention 机制、BERT 及 GPT 等前沿模型时难以理解原理或缺乏实践路径的痛点，本项目提供了从环境配置、理论解析到动手实现的完整学习闭环。\n\n内容涵盖图解 Attention 与 Transformer 架构、使用 PyTorch 从零编写 BERT 模型，以及利用 Huggingface Transformers 库解决文本分类、序列标注、问答系统和机器翻译等实际任务。其独特亮点在于将抽象的算法原理可视化，并配套详细的代码复现教程，让理论知识能立即转化为动手能力。\n\n该项目非常适合具备一定 Python 和 PyTorch 基础的 NLP 初学者、高校学生以及对大模型技术感兴趣的开发者使用。无论是希望系统构建知识体系的研究新手，还是想要快速上手工业级应用的工程师，都能从中获得清晰的学习指引和实用的代码参考，轻松跨越从理论到实践的技","learn-nlp-with-transformers 是一个专为中文用户打造的自然语言处理（NLP）入门开源项目，旨在通过生动的原理图解与丰富的实战代码，帮助学习者快速掌握深度学习时代的 Transformer 技术。针对初学者在面对复杂的 Attention 机制、BERT 及 GPT 等前沿模型时难以理解原理或缺乏实践路径的痛点，本项目提供了从环境配置、理论解析到动手实现的完整学习闭环。\n\n内容涵盖图解 Attention 与 Transformer 架构、使用 PyTorch 从零编写 BERT 模型，以及利用 Huggingface Transformers 库解决文本分类、序列标注、问答系统和机器翻译等实际任务。其独特亮点在于将抽象的算法原理可视化，并配套详细的代码复现教程，让理论知识能立即转化为动手能力。\n\n该项目非常适合具备一定 Python 和 PyTorch 基础的 NLP 初学者、高校学生以及对大模型技术感兴趣的开发者使用。无论是希望系统构建知识体系的研究新手，还是想要快速上手工业级应用的工程师，都能从中获得清晰的学习指引和实用的代码参考，轻松跨越从理论到实践的技术门槛。","# 基于transformers的自然语言处理(NLP)入门\nNatural Language Processing with transformers.\n本项目面向的对象是：\n- NLP初学者、transformer初学者\n- 有一定的python、pytorch编程基础\n- 对前沿的transformer模型感兴趣\n- 了解和知道简单的深度学习模型\n\n本项目的愿景是：\n\n希望结合形象生动的原理讲解和多个动手实践项目，帮助初学者快速入门深度学习时代的NLP。\n\n本项目的主要参考资料是：\n- Huggingface\u002FTransformers代码库\n- 多个优秀的Transformer讲解和分享\n\n项目成员：\n- erenup([多多笔记](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fnai-ping-46-76))，北京大学，负责人\n- [张帆](https:\u002F\u002Fgithub.com\u002FzhangfanTJU)，Datawhale，天津大学，篇章4\n- 张贤，哈尔滨工业大学，篇章2\n- 李泺秋，浙江大学，篇章3\n- 蔡杰，北京大学，篇章4\n- hlzhang，麦吉尔大学，篇章4\n- 台运鹏 篇章2\n- 张红旭 篇章2\n\n本项目总结和学习了多篇优秀文档和分享，在各个章节均有标注来源，如有侵权，请及时联系项目成员，谢谢。去[Github点完Star](https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers)再学习事半功倍哦😄，谢谢。\n\n# 项目内容\n## 篇章1-前言\n* [1.0-本地阅读和代码运行环境配置.md](.\u002F篇章1-前言\u002F1.0-本地阅读和代码运行环境配置.md)\n* [1.1-Transformers在NLP中的兴起](.\u002F篇章1-前言\u002F1.1-Transformers在NLP中的兴起.md)\n\n## 篇章2-Transformer相关原理\n* [2.1-图解attention](.\u002F篇章2-Transformer相关原理\u002F2.1-图解attention.md)\n* [2.2-图解transformer](.\u002F篇章2-Transformer相关原理\u002F2.2-图解transformer.md)\n* [2.2.1-Pytorch编写Transformer.md](.\u002F篇章2-Transformer相关原理\u002F2.2.1-Pytorch编写Transformer.md)\n* [2.2.2-Pytorch编写Transformer-选读.md](.\u002F篇章2-Transformer相关原理\u002F2.2.1-Pytorch编写Transformer-选读.md)\n* [2.3-图解BERT](.\u002F篇章2-Transformer相关原理\u002F2.3-图解BERT.md)\n* [2.4-图解GPT](.\u002F篇章2-Transformer相关原理\u002F2.4-图解GPT.md)\n* [2.5-篇章小测](.\u002F篇章2-Transformer相关原理\u002F2.5-篇章小测.md)\n\n## 篇章3-编写一个Transformer模型：BERT\n* [3.1-如何实现一个BERT](.\u002F篇章3-编写一个Transformer模型：BERT\u002F3.1-如何实现一个BERT.md)\n* [3.2-如何应用一个BERT](.\u002F篇章3-编写一个Transformer模型：BERT\u002F3.2-如何应用一个BERT.md)\n* [3.3-篇章小测](.\u002F篇章3-编写一个Transformer模型：BERT\u002F3.3-篇章小测.md)\n\n## 篇章4-使用Transformers解决NLP任务\n* [4.0-前言](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.0-前言.md)\n* [4.1-文本分类](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.1-文本分类.md)\n* [4.2-序列标注](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.2-序列标注.md)\n* [4.3-问答任务-抽取式问答](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.3-问答任务-抽取式问答.md)\n* [4.4-问答任务-多选问答](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.4-问答任务-多选问答.md)\n* [4.5-生成任务-语言模型](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.5-生成任务-语言模型.md)\n* [4.6-生成任务-机器翻译](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.6-生成任务-机器翻译.md)\n* [4.7-生成任务-摘要生成](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.7-生成任务-摘要生成.md)\n* [4.8-篇章小测](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.8-篇章小测.md)\n","# 基于Transformers的自然语言处理（NLP）入门\n使用Transformers进行自然语言处理。\n本项目面向的对象是：\n- NLP初学者、Transformer初学者\n- 有一定的Python、PyTorch编程基础\n- 对前沿的Transformer模型感兴趣\n- 了解和掌握简单的深度学习模型\n\n本项目的愿景是：\n\n希望结合形象生动的原理讲解和多个动手实践项目，帮助初学者快速入门深度学习时代的NLP。\n\n本项目的主要参考资料是：\n- Hugging Face\u002FTransformers代码库\n- 多个优秀的Transformer讲解和分享\n\n项目成员：\n- erenup（[多多笔记](https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fnai-ping-46-76)），北京大学，负责人\n- [张帆](https:\u002F\u002Fgithub.com\u002FzhangfanTJU)，Datawhale，天津大学，篇章4\n- 张贤，哈尔滨工业大学，篇章2\n- 李泺秋，浙江大学，篇章3\n- 蔡杰，北京大学，篇章4\n- hlzhang，麦吉尔大学，篇章4\n- 台运鹏 篇章2\n- 张红旭 篇章2\n\n本项目总结和学习了多篇优秀文档和分享，在各个章节均有标注来源，如有侵权，请及时联系项目成员，谢谢。去[Github点完Star](https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers)再学习事半功倍哦😄，谢谢。\n\n# 项目内容\n## 篇章1-前言\n* [1.0-本地阅读和代码运行环境配置.md](.\u002F篇章1-前言\u002F1.0-本地阅读和代码运行环境配置.md)\n* [1.1-Transformers在NLP中的兴起](.\u002F篇章1-前言\u002F1.1-Transformers在NLP中的兴起.md)\n\n## 篇章2-Transformer相关原理\n* [2.1-图解attention](.\u002F篇章2-Transformer相关原理\u002F2.1-图解attention.md)\n* [2.2-图解transformer](.\u002F篇章2-Transformer相关原理\u002F2.2-图解transformer.md)\n* [2.2.1-Pytorch编写Transformer.md](.\u002F篇章2-Transformer相关原理\u002F2.2.1-Pytorch编写Transformer.md)\n* [2.2.2-Pytorch编写Transformer-选读.md](.\u002F篇章2-Transformer相关原理\u002F2.2.1-Pytorch编写Transformer-选读.md)\n* [2.3-图解BERT](.\u002F篇章2-Transformer相关原理\u002F2.3-图解BERT.md)\n* [2.4-图解GPT](.\u002F篇章2-Transformer相关原理\u002F2.4-图解GPT.md)\n* [2.5-篇章小测](.\u002F篇章2-Transformer相关原理\u002F2.5-篇章小测.md)\n\n## 篇章3-编写一个Transformer模型：BERT\n* [3.1-如何实现一个BERT](.\u002F篇章3-编写一个Transformer模型：BERT\u002F3.1-如何实现一个BERT.md)\n* [3.2-如何应用一个BERT](.\u002F篇章3-编写一个Transformer模型：BERT\u002F3.2-如何应用一个BERT.md)\n* [3.3-篇章小测](.\u002F篇章3-编写一个Transformer模型：BERT\u002F3.3-篇章小测.md)\n\n## 篇章4-使用Transformers解决NLP任务\n* [4.0-前言](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.0-前言.md)\n* [4.1-文本分类](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.1-文本分类.md)\n* [4.2-序列标注](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.2-序列标注.md)\n* [4.3-问答任务-抽取式问答](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.3-问答任务-抽取式问答.md)\n* [4.4-问答任务-多选问答](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.4-问答任务-多选问答.md)\n* [4.5-生成任务-语言模型](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.5-生成任务-语言模型.md)\n* [4.6-生成任务-机器翻译](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.6-生成任务-机器翻译.md)\n* [4.7-生成任务-摘要生成](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.7-生成任务-摘要生成.md)\n* [4.8-篇章小测](.\u002F篇章4-使用Transformers解决NLP任务\u002F4.8-篇章小测.md)","# learn-nlp-with-transformers 快速上手指南\n\n本指南旨在帮助具备 Python 和 PyTorch 基础的开发者快速搭建环境，开始基于 Transformers 的自然语言处理（NLP）学习之旅。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux, macOS 或 Windows\n*   **Python 版本**：推荐 Python 3.8 及以上版本\n*   **前置知识**：\n    *   熟悉 Python 编程\n    *   了解 PyTorch 深度学习框架基础\n    *   对深度学习模型有基本认知\n*   **硬件建议**：虽然 CPU 可运行基础代码，但强烈建议配备 NVIDIA GPU 以加速模型训练和推理过程。\n\n## 安装步骤\n\n推荐使用 `pip` 进行安装。为了获得更快的下载速度，国内用户建议使用清华或阿里镜像源。\n\n### 1. 创建虚拟环境（可选但推荐）\n\n```bash\npython -m venv nlp_env\n# Linux\u002FmacOS\nsource nlp_env\u002Fbin\u002Factivate\n# Windows\nnlp_env\\Scripts\\activate\n```\n\n### 2. 安装核心依赖\n\n使用国内镜像源安装 `transformers`, `pytorch`, 以及项目所需的其他常用库：\n\n```bash\n# 使用清华镜像源安装\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\npip install transformers datasets accelerate evaluate -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> **注意**：上述 PyTorch 安装命令默认适配 CUDA 11.8。若无 GPU 或使用其他版本，请访问 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 获取对应的安装命令。\n\n### 3. 克隆项目代码\n\n获取本项目的最新源代码：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers.git\ncd learn-nlp-with-transformers\n```\n\n## 基本使用\n\n本项目采用“原理讲解 + 代码实践”的模式。最简单的入门方式是运行章节中的示例代码。以下是一个使用 `transformers` 库进行文本分类的最小化示例（对应项目篇章 4.1 内容）：\n\n### 运行第一个 NLP 任务\n\n创建一个名为 `quick_start.py` 的文件，填入以下代码：\n\n```python\nfrom transformers import pipeline\n\n# 加载预训练的文本分类模型\nclassifier = pipeline(\"sentiment-analysis\")\n\n# 进行预测\nresult = classifier(\"I love learning NLP with transformers!\")\n\nprint(result)\n# 输出示例: [{'label': 'POSITIVE', 'score': 0.9998}]\n```\n\n在终端运行该脚本：\n\n```bash\npython quick_start.py\n```\n\n### 深入学习路径\n\n完成环境验证后，建议按照以下顺序阅读项目文档并运行对应章节的代码：\n\n1.  **环境配置**：阅读 `篇章 1-前言\u002F1.0-本地阅读和代码运行环境配置.md` 确认细节。\n2.  **原理理解**：依次学习 `篇章 2` 中的 Attention 机制、Transformer 架构及 BERT\u002FGPT 原理图解。\n3.  **动手实践**：\n    *   从 `篇章 3` 学习如何从零实现 BERT。\n    *   进入 `篇章 4` 实战各类任务（文本分类、序列标注、问答、生成等）。\n\n所有章节的详细代码均位于对应的文件夹中，可直接运行 `.md` 文件中提供的代码块或查看同目录下的 `.py` 文件（如有）。","某高校计算机专业研究生李明，正试图从零开始掌握基于 Transformer 的中文自然语言处理技术，以完成他的情感分析毕业设计。\n\n### 没有 learn-nlp-with-transformers 时\n- **原理理解困难**：面对 Attention 机制和 BERT 架构复杂的数学公式与英文论文，缺乏直观的图解和中文通俗讲解，导致理论基础薄弱。\n- **环境配置受阻**：在搭建 PyTorch 和 Huggingface Transformers 运行环境时，因缺少针对国内网络环境的配置指南，频繁遭遇依赖下载失败。\n- **代码实战脱节**：虽然知道模型概念，但不知道如何用 Python 从零编写一个 BERT 模型，更不清楚如何将预训练模型迁移到具体的文本分类任务中。\n- **资料碎片化严重**：需要在 GitHub、知乎和技术博客间反复跳转搜集资料，信息零散且质量参差不齐，难以形成系统的知识体系。\n\n### 使用 learn-nlp-with-transformers 后\n- **原理直观易懂**：通过“图解 Attention\"和“图解 BERT\"等章节，配合北大、天大等高校成员编写的中文深度解析，迅速掌握了核心算法逻辑。\n- **上手路径清晰**：依照\"本地阅读和代码运行环境配置”指南，快速解决了依赖问题，并跟随“如何实现一个 BERT\"教程完成了从零编码的实践。\n- **任务落地高效**：直接参考“文本分类”和“序列标注”等实战章节，复用了成熟的代码模板，顺利将模型应用到了自己的毕业设计中。\n- **学习体系完整**：依托项目精心编排的四大篇章，从前沿兴起到原理剖析，再到动手实践，构建了结构严谨的中文 NLP 学习闭环。\n\nlearn-nlp-with-transformers 通过“原理图解 + 代码复现 + 场景实战”的中文系统化教程，极大地降低了初学者进入深度学习 NLP 领域的门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdatawhalechina_learn-nlp-with-transformers_f112d1cd.png","datawhalechina","Datawhale","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fdatawhalechina_f57a6118.png","for the learner，和学习者一起成长",null,"https:\u002F\u002Fdatawhale.cn","https:\u002F\u002Fgithub.com\u002Fdatawhalechina",[85],{"name":86,"color":87,"percentage":88},"Shell","#89e051",100,3189,504,"2026-04-13T14:51:50","未说明",{"notes":94,"python":92,"dependencies":95},"README 正文中未明确列出具体的版本号和硬件配置，仅提到需要有一定的 Python 和 PyTorch 编程基础。具体的环境配置指引位于项目文件'篇章 1-前言\u002F1.0-本地阅读和代码运行环境配置.md'中，建议查阅该文件获取详细的安装步骤。",[96,97],"pytorch","transformers",[15],[100,101,102],"transformer","nlp","bert","2026-03-27T02:49:30.150509","2026-04-15T11:22:12.465711",[106,111,116,121,125,129,134,138],{"id":107,"question_zh":108,"answer_zh":109,"source_url":110},34243,"在使用 Hugging Face Trainer 进行语言模型训练时，对 datasets 进行切片（如 [:1000]）后报错 KeyError，提示类型变成了 dict 而不是 Dataset，如何解决？","这是因为在某些 versions 中，直接对 Dataset 对象切片会返回一个字典而非 Dataset 对象，导致 Trainer 无法正确索引。解决方案有两种：\n1. 将切片后的字典重新转换为 Dataset 对象：\n   train_dataset = Dataset.from_dict(lm_datasets[\"train\"][:1000])\n2. 或者在代码中暂时移除切片操作（即不使用 [:1000]），直接在本地环境运行以避免 Jupyter Notebook 崩溃。\n注意：如果在 Jupyter 中运行完整数据集可能导致内存溢出，建议在本地脚本中运行。","https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers\u002Fissues\u002F24",{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},34244,"Transformer 解码器中的 Encoder-Decoder Attention 层，其 Key 和 Value 矩阵是来自编码器还是解码器？","Key 矩阵和 Value 矩阵来自于**编码器（Encoder）**的最终输出，而不是解码器。Query 矩阵是由解码器前一层的输出构造的。原文档中关于\"Key 和 Value 来自解码器\"的描述有误，已修正。","https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers\u002Fissues\u002F12",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},34245,"运行机器翻译任务（4.6 节）时，安装 sacrebleu 库后报错 AttributeError: module 'sacrebleu' has no attribute 'DEFAULT_TOKENIZER'，如何解决？","这是由于 sacrebleu 2.0.0 版本与教程代码不兼容导致的。请指定安装兼容的版本范围：\npip install datasets transformers \"sacrebleu>=1.4.12,\u003C2.0.0\" sentencepiece\n推荐使用 1.5.1 版本。不要直接安装最新的 2.0.0 及以上版本。","https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers\u002Fissues\u002F25",{"id":122,"question_zh":123,"answer_zh":124,"source_url":120},34246,"在计算 BLEU 分数时，如果预测文本或参考文本长度小于 4 个词，为什么得分为 0？示例代码是否有问题？","BLEU 分数计算默认使用 4-gram。当句子长度小于 4 时，无法计算高阶 n-gram（如 3-gram 或 4-gram），导致对应计数为 0，最终得分为 0。这是 BLEU 算法的特性，并非代码错误。\n建议：在教学示例中避免使用过短的句子（少于 4 个词），或者明确说明这是 BLEU 指标在短句上的局限性。",{"id":126,"question_zh":127,"answer_zh":128,"source_url":120},34247,"教程中提供的 Hugging Face examples\u002Fseq2seq 链接指向 404 错误，如何找到正确的多 GPU 分布式训练代码？","由于 Hugging Face transformers 库在 4.9 版本进行了重大结构调整，原链接失效。本教程基于 transformers 4.4.2 版本，请访问特定版本的代码库：\nhttps:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fv4.4.2\u002Fexamples\u002Fseq2seq\n请将链接中的版本号替换为教程所依赖的版本号以获取正确代码。",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},34248,"BERT 模型结构中，BertPooler 层级位置是否正确？它应该与 BertEmbeddings 平级还是与 BertLayer 平级？","BertPooler 应该与 BertEmbeddings 平级，属于 BertModel 的直接子模块，而不是嵌套在 BertLayer 内部。正确的结构层次为：\n- BertModel\n  - BertEmbeddings\n  - BertEncoder (包含多个 BertLayer)\n  - BertPooler\n原文档中的层级描述有误，已修正。","https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers\u002Fissues\u002F22",{"id":135,"question_zh":136,"answer_zh":137,"source_url":133},34249,"BERT 模型中 Dense 全连接层的数量统计是否正确？每层到底有多少个 FC 层？","原文档统计有误。以 BERT Base (12 层) 为例，每层包含：\n1. Self-Attention 部分：3 个 FC 生成 Q\u002FK\u002FV，1 个 FC 输出 (共 4 个)\n2. FFN 部分：2 个 FC (中间层和输出层)\n每层共计 6 个 FC 层，12 层共 72 个，加上 Pooler 层的 1 个，总计 73 个全连接层。\n可以通过检查参数名称验证：\n- bert.encoder.layer.X.attention.self.query\u002Fkey\u002Fvalue.weight (3 个)\n- bert.encoder.layer.X.attention.output.dense.weight (1 个)\n- bert.encoder.layer.X.intermediate.dense.weight (1 个)\n- bert.encoder.layer.X.output.dense.weight (1 个)",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},34250,"在 Transformer 的 Attention 代码实现中，为什么输入已经是 Q、K、V 了，还要执行 self.w_q(query) 等线性变换？","代码中的 query、key、value 输入通常是上一层的隐藏状态表示，并非最终的 Q、K、V 矩阵。self.w_q、self.w_k、self.w_v 是线性投影层，用于将输入映射到不同的子空间以生成真正的 Query、Key 和 Value 矩阵。这是 Transformer 架构的标准实现，确保多头注意力机制能够学习到不同的表示子空间。","https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Flearn-nlp-with-transformers\u002Fissues\u002F39",[]]