docs:add docsify deploy

This commit is contained in:
KMnO4-zx
2025-05-25 00:02:24 +08:00
parent 40dc5de2fc
commit f9fe12d99a
62 changed files with 225 additions and 69 deletions

View File

@@ -1,25 +1,98 @@
# 前言
<div align='center'>
<img src="./images/head.jpg" alt="alt text" width="95%">
<h1>Happy-LLM</h1>
</div>
2022年底ChatGPT 的横空出世改变了人们对人工智能的认知也给自然语言处理Natural Language ProcessNLP领域带来了阶段性的变革以 GPT 系列模型为代表的大语言模型Large Language ModelLLM成为 NLP 乃至人工智能领域的研究主流。自 2023年至今LLM 始终是人工智能领域的核心话题,引发了一轮又一轮的科技浪潮。
<div align="center">
<img src="https://img.shields.io/github/stars/datawhalechina/happy-llm?style=for-the-badge&logo=github" alt="GitHub stars"/>
<img src="https://img.shields.io/github/forks/datawhalechina/happy-llm?style=for-the-badge&logo=github" alt="GitHub forks"/>
<img src="https://img.shields.io/github/license/datawhalechina/happy-llm?style=for-the-badge" alt="License"/>
<img src="https://img.shields.io/badge/language-Chinese-brightgreen?style=for-the-badge" alt="Language"/>
</div>
LLM 其实是 NLP 领域经典研究方法预训练语言模型Pretrain Langguage ModelPLM的一种衍生成果。NLP 领域聚焦于人类书写的自然语言文本的处理、理解和生成,从诞生至今经历了符号主义阶段、统计学习阶段、深度学习阶段、预训练模型阶段到而今大模型阶段的多次变革。以 GPT、BERT 为代表的 PLM 是上一阶段 NLP 领域的核心研究成果,以注意力机制为模型架构,通过预训练-微调的阶段思想通过在海量无监督文本上进行自监督预训练,实现了强大的自然语言理解能力。但是,传统的 PLM 仍然依赖于一定量有监督数据进行下游任务微调且在自然语言生成任务上性能还不尽如人意NLP 系统的性能距离人们所期待的通用人工智能还有不小的差距。
<div align="center">
<h3>📚 从零开始的大语言模型原理与实践教程</h3>
<p><em>深入理解 LLM 核心原理,动手实现你的第一个大模型</em></p>
</div>
LLM 是在 PLM 的基础上,通过大量扩大模型参数、预训练数据规模,并引入指令微调、人类反馈强化学习等手段实现的突破性成果。相较于传统 PLMLLM 具备涌现能力具有强大的上下文学习能力、指令理解能力和文本生成能力。在大模型阶段NLP 研究者可以一定程度抛弃大量的监督数据标注工作通过提供少量监督示例LLM 即能在指定下游任务上达到媲美大规模微调 PLM 的性能。同时,强大的指令理解能力与文本生成能力使 LLM 能够直接、高效、准确地响应用户指令,从而真正向通用人工智能的目标逼近。
---
LLM 的突破性进展激发了 NLP 领域乃至整个人工智能领域的研究热度,海内外高校、研究院、大厂乃至众多传统领域企业都投入到 LLM 研究的浪潮中。自 2023年至今LLM 阶段性成果层出不穷,模型性能不断刷新上限,从一开始的 ChatGPT到 GPT-4再到以 DeepSeek-R1 为代表的推理大模型、以 Qwen-VL 为代表的多模态大模型等更强大、更定制化的模型LLM 应用也不断涌现出能够提升实际生产力、赋能用户实际生活的创新应用从”百模大战“到”Agent 元年“LLM 基座研究或许已趋向稳定的格局LLM 的研究始终方兴未艾。可以肯定的是在并不遥远的未来LLM 及以 LLM 为基础的应用一定会成为人们生活中的基础设施,与每个人的生活、学习、工作密不可分。
## 🎯 项目介绍
在这样的背景下,深入理解、掌握 LLM 原理,能够动手应用、训练任意一个 LLM 的能力,对每一位 NLP 研究者乃至其他领域的 AI 研究者至关重要。我们在 2023年底分别创建了 self-llm开源大模型食用指南https://github.com/datawhalechina/self-llm 、llm-universe动手学大模型应用开发https://github.com/datawhalechina/llm-universe )两个原创开源大模型教程,前者旨在为开发者提供一站式开源 LLM 部署、推理、微调的使用教程,后者旨在指导开发者从零开始搭建自己的 LLM 应用。两个教程都帮助到了广泛的国内外开发者,也获得了众多开发者的支持和认可,在学习者的反馈中,我们发现目前还缺乏一个从零开始讲解 LLM 原理、并引导学习者亲手搭建、训练 LLM 的完整教程。
> &emsp;&emsp;*很多小伙伴在看完 [self-llm 开源大模型食用指南](https://github.com/datawhalechina/self-llm) 后感觉意犹未尽想要深入了解大语言模型的原理和训练过程。于是我们决定推出《Happy-LLM》项目旨在帮助大家深入理解大语言模型的原理和训练过程。*
鉴于此,我们编写了这本结合 LLM 原理及实战的教程。本书将从 NLP 的基本研究方法出发,根据 LLM 的思路及原理逐层深入,依次为读者剖析 LLM 的架构基础和训练过程。同时,我们会结合目前 LLM 领域最主流的代码框架,演练如何亲手搭建、训练一个 LLM期以实现授之以鱼更授之以渔。希望读者能从这本书开始走入 LLM 的浩瀚世界,探索 LLM 的无尽可能。
&emsp;&emsp;本项目是一个**系统性的 LLM 学习教程**将从 NLP 的基本研究方法出发,根据 LLM 的思路及原理逐层深入,依次为读者剖析 LLM 的架构基础和训练过程。同时,我们会结合目前 LLM 领域最主流的代码框架,演练如何亲手搭建、训练一个 LLM期以实现授之以鱼更授之以渔。希望大家能从这本书开始走入 LLM 的浩瀚世界,探索 LLM 的无尽可能。
## 写给读者的建议
### ✨ 你将收获什么?
本书包含 LLM 的理论基础、原理介绍和项目实战,全书包括 LLM 及 NLP 的核心思路剖析、公式解析与代码实战,旨在帮助开发者深入理解并掌握 LLM 的基本原理与应用。因此本书适合大学生、研究人员、LLM 爱好者阅读。在阅读本书之前,你需要具备一定的编程经验,尤其是要对 Python 编程语言有一定的了解。同时,你最好具备深度学习的相关知识,并了解 NLP 领域的相关概念和术语,以便更轻松地阅读本书。
- 🔍 **深入理解** Transformer 架构和注意力机制
- 📚 **掌握** 预训练语言模型的基本原理
- 🧠 **了解** 现有大模型的基本结构
- 🏗️ **动手实现** 一个完整的 LLaMA2 模型
- ⚙️ **掌握训练** 从预训练到微调的全流程
- 🚀 **实战应用** RAG、Agent 等前沿技术
本书分为两部分——基础知识与实战应用。第1章第4章是基础知识部分从浅入深介绍 LLM 的基本原理。其中第1章简单介绍 NLP 的基本任务和发展,为非 NLP 领域研究者提供参考第2章介绍 LLM 的基本架构——Transformer包括原理介绍及代码实现作为 LLM 最重要的理论基础第3章整体介绍经典的 PLM包括 Encoder-Only、Encoder-Decoder 和 Decoder-Only 三种架构,也同时介绍了当前一些主流 LLM 的架构和思想第4章则正式进入 LLM 部分,详细介绍 LLM 的特点、能力和整体训练过程。第5章第7章是实战应用部分将逐步带领读者深入 LLM 的底层细节。其中第5章将带领读者基于 PyTorch 层亲手搭建一个 LLM并实现预训练、有监督微调的全流程第6章将引入目前业界主流的 LLM 训练框架 Transformers带领读者基于该框架快速、高效地实现 LLM 训练过程第7章则将介绍 基于 LLM 的各种应用,补全读者对 LLM 体系的认知,包括 LLM 的评测、检索增强生产Retrieval-Augmented GenerationRAG、智能体Agent的思想和简单实现。你可以根据个人兴趣和需求选择性地阅读相关章节。
## 📖 内容导航
在阅读本书的过程中建议你将理论和实际相结合。LLM 是一个快速发展、注重实践的领域,我们建议你多投入实战,复现本书提供的各种代码,同时积极参加 LLM 相关的项目与比赛,真正投入到 LLM 开发的浪潮中。我们鼓励你关注 Datawhale 及其他 LLM 相关开源社区,当遇到问题时,你可以随时在 Datawhale 社区提问。Datawhale 也会始终跟进 LLM 及其他人工智能技术的发展,欢迎你关注或加入到 Datawhale 社区的共建中。
| 章节 | 关键内容 | 状态 |
| --- | --- | --- |
| [前言](./前言.md) | 本项目的缘起、背景及读者建议 | ✅ |
| [第一章 NLP 基础概念](chapter1/第一章%20NLP基础概念.md) | 什么是 NLP、发展历程、任务分类、文本表示演进 | ✅ |
| [第二章 Transformer 架构](chapter2/第二章%20Transformer架构.md) | 注意力机制、Encoder-Decoder、手把手搭建 Transformer | ✅ |
| [第三章 预训练语言模型](chapter3/第三章%20预训练语言模型.md) | Encoder-only、Encoder-Decoder、Decoder-Only 模型对比 | ✅ |
| [第四章 大语言模型](chapter4/第四章%20大语言模型.md) | LLM 定义、训练策略、涌现能力分析 | ✅ |
| [第五章 动手搭建大模型](chapter5/第五章%20动手搭建大模型.md) | 实现 LLaMA2、训练 Tokenizer、预训练小型 LLM | ✅ |
| [第六章 大模型训练实践](chapter6/第六章%20大模型训练流程实践.md) | 预训练、有监督微调、LoRA/QLoRA 高效微调 | ✅ |
| [第七章 大模型应用](chapter7/第七章%20大模型应用.md) | 模型评测、RAG 检索增强、Agent 智能体 | ✅ |
最后,欢迎每一位读者在阅读完本书后加入到 LLM 开发者的行列。作为国内 AI 开源社区,我们希望充分聚集共创者,一起丰富这个开源 LLM 的世界,打造更多、更全面特色 LLM 的教程。星火点点,汇聚成海。我们希望成为 LLM 与普罗大众的阶梯,以自由、平等的开源精神,拥抱更恢弘而辽阔的 LLM 世界。
## 💡 如何学习
感谢你选择本书,祝你阅读愉快!
&emsp;&emsp;本项目适合大学生、研究人员、LLM 爱好者。在学习本项目之前,建议具备一定的编程经验,尤其是要对 Python 编程语言有一定的了解。最好具备深度学习的相关知识,并了解 NLP 领域的相关概念和术语,以便更轻松地学习本项目。
&emsp;&emsp;本项目分为两部分——基础知识与实战应用。第1章第4章是基础知识部分从浅入深介绍 LLM 的基本原理。其中第1章简单介绍 NLP 的基本任务和发展,为非 NLP 领域研究者提供参考第2章介绍 LLM 的基本架构——Transformer包括原理介绍及代码实现作为 LLM 最重要的理论基础第3章整体介绍经典的 PLM包括 Encoder-Only、Encoder-Decoder 和 Decoder-Only 三种架构,也同时介绍了当前一些主流 LLM 的架构和思想第4章则正式进入 LLM 部分,详细介绍 LLM 的特点、能力和整体训练过程。第5章第7章是实战应用部分将逐步带领大家深入 LLM 的底层细节。其中第5章将带领大家者基于 PyTorch 层亲手搭建一个 LLM并实现预训练、有监督微调的全流程第6章将引入目前业界主流的 LLM 训练框架 Transformers带领学习者基于该框架快速、高效地实现 LLM 训练过程第7章则将介绍 基于 LLM 的各种应用,补全学习者对 LLM 体系的认知,包括 LLM 的评测、检索增强生产Retrieval-Augmented GenerationRAG、智能体Agent的思想和简单实现。你可以根据个人兴趣和需求选择性地阅读相关章节。
&emsp;&emsp;在阅读本书的过程中建议你将理论和实际相结合。LLM 是一个快速发展、注重实践的领域,我们建议你多投入实战,复现本书提供的各种代码,同时积极参加 LLM 相关的项目与比赛,真正投入到 LLM 开发的浪潮中。我们鼓励你关注 Datawhale 及其他 LLM 相关开源社区,当遇到问题时,你可以随时在本项目的 issue 区提问。
&emsp;&emsp;最后,欢迎每一位读者在学习完本项目后加入到 LLM 开发者的行列。作为国内 AI 开源社区,我们希望充分聚集共创者,一起丰富这个开源 LLM 的世界,打造更多、更全面特色 LLM 的教程。星火点点,汇聚成海。我们希望成为 LLM 与普罗大众的阶梯,以自由、平等的开源精神,拥抱更恢弘而辽阔的 LLM 世界。
## 🤝 如何贡献
我们欢迎任何形式的贡献!
- 🐛 **报告 Bug** - 发现问题请提交 Issue
- 💡 **功能建议** - 有好想法就告诉我们
- 📝 **内容完善** - 帮助改进教程内容
- 🔧 **代码优化** - 提交 Pull Request
## 🙏 致谢
### 核心贡献者
- [宋志学-项目负责人](https://github.com/KMnO4-zx) (Datawhale成员-中国矿业大学(北京))
- [邹雨衡-项目负责人](https://github.com/logan-zou) (Datawhale成员-对外经济贸易大学)
### 特别感谢
- 感谢 [@Sm1les](https://github.com/Sm1les) 对本项目的帮助与支持
- 感谢所有为本项目做出贡献的开发者们 ❤️
<div align=center style="margin-top: 30px;">
<a href="https://github.com/datawhalechina/happy-llm/graphs/contributors">
<img src="https://contrib.rocks/image?repo=datawhalechina/happy-llm" />
</a>
</div>
## 关于 Datawhale
<div align='center'>
<img src="./images/datawhale.png" alt="Datawhale" width="30%">
<p>扫描二维码关注 Datawhale 公众号,获取更多优质开源内容</p>
</div>
---
<div align="center">
<p>⭐ 如果这个项目对你有帮助,请给我们一个 Star</p>
</div>
## 📜 开源协议
本作品采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。