目前有关大语言模型训练,微调,开发等技术的优秀教材有哪些?

2024-11-19 阅读 15
更新于 2026年01月03日
国外有个大佬今年刚出版了一本讲从零训练大模型的书,非常细致,是我发现的唯一一本具体到实现的教材。
我对这本书做了完整的测评,
【测评05】大模型从0到1完全解析28 赞同 · 2 评论文章受此启发,我也在尝试写一部教材,不过还没完稿。与上面的区别是
我的代码更紧凑,更容易跑起来。我的讲解更注重整体概念,更通俗易懂,但不讲解具体实现细节。我用了更适合中国人的案例。地址如下
代码仓库:https://github.com/jingedawang/TutorialLLM在线阅读:https://jingedawang.gitbook.io/tutorialllm
接触各种AI工具到现在也快两年了,今年和同学陆续做了一些AI应用的科普宣讲,在这过程中收集了不少自学资源,特地挑出一部分整理成以下的内容。
书籍大模型应用开发极简入门:基于GPT-4和ChatGPT首推今年年初出版的《大模型应用开发极简入门:基于GPT-4和ChatGPT》,小红书上也有人叫它“章鱼书”(实际上是刺蛇尾Ophiothrix spiculata)。
https://www.oreilly.com.cn/index.php?func=book&isbn=978-7-115-63640-9购买链接在这里,正版大概60元一本:《大模型应用开发极简入门:基于GPT-4和ChatGPT》 Olivier Caelen, Marie-Alice Blete 著
这本书应该是目前综合下来最好的大模型应用入门类书籍,从大模型的基础概念和发展史讲起:
第 1 章 初识 GPT-4 和 ChatGPT1.1 LLM 概述1.1.1 探索语言模型和 NLP 的基础1.1.2 理解 Transformer 架构及其在 LLM 中的作用1.1.3 解密 GPT 模型的标记化和预测步骤1.2 GPT 模型简史:从 GPT-1 到 GPT-41.2.1 GPT-11.2.2 GPT-21.2.3 GPT-31.2.4 从 GPT-3 到 InstructGPT1.2.5 GPT-3.5、Codex 和 ChatGPT1.2.6 GPT-4第一章就有案例帮助读者深入浅出地理解大模型的落地应用:
1.3 LLM 用例和示例产品1.3.1 Be My Eyes1.3.2 摩根士丹利1.3.3 可汗学院1.3.4 多邻国1.3.5 Yabble1.3.6 Waymark1.3.7 Inworld AI1.4 警惕 AI 幻觉:限制与考虑1.5 使用插件和微调优化 GPT 模型1.6 小结第二章直接开讲OpenAI的API调用:
第 2 章 深入了解 GPT-4 和 ChatGPT 的 API2.1 基本概念2.2 OpenAI API 提供的可用模型2.3 在 OpenAI Playground 中使用 GPT 模型2.4 开始使用 OpenAI Python 库2.4.1 OpenAI 访问权限和 API 密钥2.4.2 Hello World 示例程序2.5 使用 GPT-4 和 ChatGPT2.5.1 ChatCompletion 端点的输入选项2.5.2 ChatCompletion 端点的输出格式2.5.3 从文本补全到函数2.6 使用其他文本补全模型2.6.1 Completion 端点的输入选项2.6.2 Completion 端点的输出格式2.7 考虑因素2.7.1 定价和标记限制2.7.2 安全和隐私2.8 其他 OpenAI API 和功能2.8.1 嵌入2.8.2 内容审核模型2.8.3 Whisper 和 DALL · E2.9 小结(含速查清单)第三章就开始教你构建基于大模型的应用了,还有示例项目:
第 3 章 使用 GPT-4 和 ChatGPT 构建应用程序3.1 应用程序开发概述3.1.1 管理 API 密钥3.1.2 数据安全和数据隐私3.2 软件架构设计原则3.3 LLM 驱动型应用程序的漏洞3.3.1 分析输入和输出3.3.2 无法避免提示词注入3.4 示例项目3.4.1 项目 1:构建新闻稿生成器3.4.2 项目 2:YouTube 视频摘要3.4.3 项目 3:打造《塞尔达传说:旷野之息》专家3.4.4 项目 4:语音控制3.5 小结第四章包括了提示词和微调的技巧:
第 4 章 GPT-4 和 ChatGPT 的高级技巧4.1 提示工程4.1.1 设计有效的提示词4.1.2 逐步思考4.1.3 实现少样本学习4.1.4 改善提示效果4.2 微调4.2.1 开始微调4.2.2 使用 OpenAI API 进行微调4.2.3 微调的应用4.2.4 生成和微调电子邮件营销活动的合成数据4.2.5 微调的成本4.3 小结第五章讲LangChain和API插件:
第 5 章 使用 LangChain 框架和插件增强 LLM 的功能5.1 LangChain 框架5.1.1 动态提示词5.1.2 智能体及工具5.1.3 记忆5.1.4 嵌入5.2 GPT-4 插件5.2.1 概述5.2.2 API5.2.3 插件清单5.2.4 OpenAPI 规范5.2.5 描述5.3 小结5.4 总结如果你只读一本书,那么这本就是目前最全最容易上手的教材。缺点就是这本书是译制书,有些用语读起来可能不如本土化教材那么顺畅。
GPT 图解 - 大模型是怎样构建的!黄佳老师之前出版过好几本和数据分析与机器学习相关的书籍。这本《GPT 图解 - 大模型是怎样构建的!》花费了很大的篇幅用图解的方式对大模型的原理进行了揭秘,在GPT原理解释上比上面那本书还要来得深入,缺点是实战案例相对没那么多,而且售价将近80元。
当然,如果你有条件可以顺便把黄佳老师的另一本书《动手做AI Agent》也一并买了:
这两本书在Github上都有对应的示例和代码:
GitHub - huangjia2019/llm-gpt: 异步图书 GPT图解 大模型是怎样构建的GitHub - huangjia2019/ai-agents: 异步图书 《大模型应用开发 动手做AI Agent》 - 这是一些非常简单的入门示例,重在引导新手入门,目前LLM开发领域发展很快,本书只是一个提纲挈领。更多的示例和代码大家可以去OpenAI Cookbook, LangChain Example中去挖掘。大规模语言模型:从理论到实践如果之前提到的那本书你嫌贵,又想看正规、免费、系统的教材,网上也有。
这里先推荐复旦大学计算机科学技术学院团队出品的《大规模语言模型:从理论到实践》:
一共八章课件(PPT格式):
第一章 绪论第二章 大语言模型基础第三章 大语言模型预训练数据第四章 分布式模型训练第五章 有监督微调第六章 强化学习第七章 大语言模型应用第八章 大语言模型评估整本书在这里(pdf格式):https://intro-llm.github.io/chapter/LLM-TAP.pdf
Github如果你不是编程小白,熟悉Github的话,大模型相关的优质资源就更多了。
Datawhale首先找到这个Github账号:Datawhale
然后到Repo下面按Stars排序,那么你就得到了一片和机器学习、深度学习、大模型等知识构成的海洋:
和大语言模型相关且热度比较高的repo有这几个,你可以clone到本地慢慢啃:
https://github.com/datawhalechina/llm-cookbookhttps://github.com/datawhalechina/self-llmhttps://github.com/datawhalechina/llm-universeGitHub - datawhalechina/so-large-lm: 大模型基础: 一文了解大模型基础知识动手学大模型Dive into LLMs系列当然Github上的宝藏坑位也不止一个,还有Github用户Lordog和其他6个Contributor开源的教程:《动手学大模型Dive into LLMs》系列编程实践教程,本质是上海交大《人工智能安全技术》课程的拓展。
llm-action还有一个比较推荐的是知乎答主吃果冻不吐果冻皮在Github上的llm-action项目:
从目录上看这应该比前两个Github教程更全面和连贯,也更系统。如果你只打算找一个Github项目来全面了解大模型,那么选这个就没错了:
LLM训练LLM训练实战LLM参数高效微调技术原理LLM参数高效微调技术实战LLM分布式训练并行技术分布式AI框架分布式训练网络通信LLM训练优化技术⌛ LLM对齐技术LLM推理LLM推理框架✈️ LLM推理优化技术♻️LLM压缩LLM量化LLM剪枝LLM知识蒸馏♑️ 低秩分解LLM测评LLM数据工程LLM微调高效数据筛选技术提示工程♍️ LLM算法架构LLM应用开发 ️ LLM国产化适配AI编译器AI基础设施AI加速卡AI集群网络通信LLMOpsLLM生态相关技术LLM面试题服务器基础环境安装及常用工具大厂网课AI-For-Beginners除了个人和学术团体在Github上贡献的资源,大厂在AI方面的免费课程也是不少。如果你英文水平过关,那么完全可以看微软出品的12周24节的AI普及课:AI-For-Beginners。
这个课程覆盖面更广,包括了计算机视觉、多智能体系统等等内容,没有点毅力和耐心恐怕是啃不下来。
我记得其他几家大厂比如Google和Meta也有类似的课程,自己找一找吧。
视频DeepLearning.ai这个不用多说了,吴恩达出品,必是精品。有条件上官网可以看一下短期课程(Short Courses),基本上1-2个小时一门:Courses。
这些课程的汉化版也可以在B站上找到,稍显讽刺的是官方账号的视频内容和数量都没有自来水们上传的多,找到播放量最高的那几个视频就对了,全长二十几个小时,挑着看吧……
Github上也有中文版的笔记整理:https://github.com/fengdu78/deeplearning_ai_books
暂时大概就这些了,反正我觉得不要贪多,挑一个看的进去耐心看完,没耐心就导出成PDF或者Markdown又或者音频,让类似通义效率工具这类AI工具过一遍,总会有些收获的。
LLM时代技术发展迭代很快,很多科研项目甚至都是按月发版,一个可能比教材更合适的学习途径是直接在github上阅读源码,哪怕阅读优秀项目的readme也能获得很多信息,推荐一个大模型pre/post training,部署,数据和模型的awesome list仓库,此外这个仓库专注于中文llm,对国人初学者更友好。
推荐一个刚出版的《大模型项目实战:多领域智能应用开发》,从基础开始讲,循序渐进,适合初学者入门。
1、分为基础、实操和开发三个篇章。有基础理论的铺垫,有安装部署、微调、量化的实际操作步骤,还有10个开发实例。
2、注重实践。实操部分从推理卡安装讲起,有驱动安装、CUDA、PyTorch等在多个操作系统下的实际安装调试步骤。
3、环境要求容易达到。16G的显卡或推理卡就可以实践全部课程。
4、学习周期短,200多页,不是很厚,半个月就可以学完。
5、配套资源完善。https://github.com/little51/llm-dev 有书中全套的操作步骤和源代码,实践起来比较容易。
关于大规模语言模型(LLMs)的参数高效微调技术(PEFT),可以参考这篇文章:https://freedium.cfd/https://medium.com/@lmpo/parameter-efficient-fine-tuning-of-large-language-models-4ed51860e1da
这篇文章详细介绍了三种高效的模型微调技术:Adapters、Low-Rank Adaptation (LoRA) 和 Quantized LoRA (QLoRA)。这些方法通过减少需要更新的参数数量,显著降低了计算和存储成本,同时保持甚至提升了模型性能。文章通过清晰的解释和实例,展示了这些技术在不同场景中的应用效果,非常实用且具有创新性。值得关注的是,这些技术不仅适用于自然语言处理领域,还能在其他机器学习任务中发挥重要作用,使得大型语言模型在资源受限的环境中也能得到高效利用。
文章全文解读这篇文章主要介绍了三种高效的参数微调技术,分别是Adapters、Low-Rank Adaptation (LoRA) 和 Quantized LoRA (QLoRA)。传统上,微调大型语言模型需要更新所有参数,这会导致巨大的内存需求和高昂的计算成本。因此,这些PEFT方法通过只更新少量参数来减轻这些负担。
Adapters是在2019年由Houlsby等人提出的一种PEFT技术,它通过在现有的Transformer模型架构中添加小型、可训练的层来实现特定任务的适应,而不需要重新训练整个模型。这些Adapter层通常放置在Transformer块中的前馈神经网络之前和之后,通过瓶颈架构来减少参数数量,同时保持模型的原始参数不变。
LoRA (Low-Rank Adaptation) 是一种更先进的方法,它通过引入低秩矩阵来减少需要更新的参数数量。这种方法通过将权重矩阵分解成两个较小的矩阵A和B,来近似更新原始权重矩阵W₀,从而使得更新的参数数量大大减少。例如,它可以将175亿参数的GPT-3模型的更新参数数量减少到约1750万。
QLoRA (Quantized LoRA) 则通过量化技术进一步减少了内存需求。它使用4-bit NormalFloat (NF4) 数据类型来优化存储,同时通过双量化和分页优化器来进一步压缩模型。这种方法不仅减少了内存使用,还能保持与全精度微调相当的性能水平。
文章的核心要点Adapters Adapters是一种PEFT技术,通过在模型中添加小型可训练层来实现任务特定的适应,而不需要重新训练整个模型。这些层通过减少参数数量来降低计算成本,同时保持模型性能。例如,使用Adapters可以将BERT模型的参数更新数量减少到约3.6%,同时保持良好的性能。 Low-Rank Adaptation (LoRA) LoRA通过引入低秩矩阵来减少需要更新的参数数量,从而降低内存和计算需求。这种方法通过将权重矩阵分解成两个较小的矩阵A和B,来近似更新原始权重矩阵。例如,它可以将175亿参数的GPT-3模型的更新参数数量减少到约1750万。 Quantized LoRA (QLoRA) QLoRA通过量化技术进一步减少内存需求。它使用4-bit NormalFloat (NF4) 数据类型来优化存储,并通过双量化和分页优化器来进一步压缩模型。这种方法使得大型模型可以在资源受限的设备上进行微调。 内存和计算成本降低 这些PEFT方法显著降低了内存和计算成本,使得大型语言模型可以在更简单的硬件上进行微调。例如,QLoRA使得在48GB内存的单个GPU上微调具有650亿参数的模型成为可能。 性能保留 尽管减少了参数数量,但这些方法仍能保持甚至提升模型性能。例如,QLoRA在机器翻译任务中实现了显著的性能提升,同时只需要更新少量参数(0.77%)。