最火的大模型教程-免费!
大型语言模型 (LLM) 的课程 路线图
LLM 课程分为三个部分:
-
🧩 LLM Fundamentals 涵盖有关数学、Python 和神经网络的基本知识。
-
🧑 🔬 LLM Scientist 专注于使用最新技术构建最好的 LLM。
-
👷 LLM 工程师专注于创建基于 LLM 的应用程序并部署它们。
🧑 🔬 LLM科学家
本课程的这一部分侧重于学习如何使用最新技术构建最好的 LLM。
1. LLM 架构
虽然不需要对 Transformer 架构有深入的了解,但对其输入 (token) 和输出 (logits) 有很好的理解是很重要的。原版注意力机制是另一个需要掌握的关键组件,因为稍后会介绍它的改进版本。
-
高级视图:重新审视编码器-解码器 Transformer 架构,更具体地说,是每个现代 LLM 中使用的仅解码器 GPT 架构。
-
分词:了解如何将原始文本数据转换为模型可以理解的格式,这涉及将文本拆分为分词(通常是单词或子词)。
-
注意力机制:掌握注意力机制背后的理论,包括自我注意和缩放点积注意力,这使模型在产生输出时能够专注于输入的不同部分。
-
文本生成:了解模型生成输出序列的不同方式。常见的策略包括贪婪解码、波束搜索、top-k 采样和原子核采样。
📚 参考资料:
-
Jay Alammar 的 The Illustrated Transformer:对 Transformer 模型的直观直观解释。
-
Jay Alammar 的 GPT-2 图解:比上一篇文章更重要的是,它侧重于 GPT 架构,这与 Llama 的架构非常相似。
-
3Blue1Brown 的《变形金刚》视觉介绍:简单易懂的《变形金刚》视觉介绍
-
Brendan Bycroft 的 LLM 可视化:令人难以置信的 LLM 内部发生的 3D 可视化。
-
Andrej Karpathy 的 nanoGPT:一个长达 2 小时的 YouTube 视频,从头开始重新实现 GPT(面向程序员)。
-
注意力?注意力!作者:Lilian Weng:以更正式的方式介绍关注的必要性。
-
LLM 中的解码策略:提供代码和可视化介绍以生成文本的不同解码策略。
2. 构建指令数据集
虽然很容易从 Wikipedia 和其他网站找到原始数据,但很难在野外收集成对的说明和答案。与传统机器学习一样,数据集的质量将直接影响模型的质量,这就是为什么它可能是微调过程中最重要的组成部分。
-
类似 Alpaca 的数据集:使用 OpenAI API (GPT) 从头开始生成合成数据。您可以指定种子和系统提示来创建多样化的数据集。
-
高级技术:了解如何使用 Evol-Inform 改进现有数据集,如何生成高质量的合成数据,如 Orca 和 phi-1 论文中所示。
-
筛选数据:涉及正则表达式、删除近乎重复项、专注于具有大量标记的答案等的传统技术。
-
提示模板:没有真正的标准方法来格式化说明和答案,这就是为什么了解不同的聊天模板(例如 ChatML、Alpaca 等)很重要的原因。
📚 参考资料:
-
Thomas Capelle 的 Preparing a Dataset for Instruction tuning:探索 Alpaca 和 Alpaca-GPT4 数据集以及如何格式化它们。
-
Solano Todeschini 的生成临床教学数据集:有关如何使用 GPT-4 创建合成教学数据集的教程。
-
Kshitiz Sahay 的新闻分类 GPT 3.5:使用 GPT 3.5 创建指令数据集,以微调 Llama 2 以进行新闻分类。
-
用于创建用于微调 LLM 的数据集:包含一些用于筛选数据集并上传结果的技术的笔记本。
-
Matthew Carrigan 的聊天模板:Hugging Face 关于提示模板的页面
3. 预训练模型
预培训是一个非常漫长且昂贵的过程,这就是为什么这不是本课程的重点。对培训前发生的情况有一定程度的了解是件好事,但不需要实践经验。
-
数据管道:预训练需要庞大的数据集(例如,Llama 2 在 2 万亿个令牌上进行训练),这些数据集需要使用预定义的词汇表进行过滤、标记化和整理。
-
因果语言建模:了解因果语言建模和掩蔽语言建模之间的区别,以及在这种情况下使用的损失函数。为了进行高效的预训练,请了解有关 Megatron-LM 或 gpt-neox 的更多信息。
-
缩放定律:定标定律根据模型大小、数据集大小和用于训练的计算量来描述预期的模型性能。
-
高性能计算:此处不在讨论范围之内,但如果您打算从头开始创建自己的 LLM(硬件、分布式工作负载等),则了解有关 HPC 的更多知识是必不可少的。
📚 参考资料:
-
Junhao Zhao 的 LLMDataHub:用于预训练、微调和 RLHF 的精选数据集列表。
-
使用 Hugging Face 从头开始训练因果语言模型:使用 transformers 库从头开始预训练 GPT-2 模型。
-
Zhang et al.的TinyLama:查看此项目,以更好地了解如何从头开始训练Lama模型。
-
Hugging Face 的因果语言建模:解释因果语言建模和掩码语言建模之间的区别,以及如何快速微调 DistilGPT-2 模型。
-
怀旧作家对 Chinchilla 的狂野影响:讨论缩放法则并解释它们对 LLM 的一般意义。
-
BIGScience 的 BLOOM:概念页面,描述了 BLOOM 模型的构建方式,其中包含有关工程部分和遇到的问题的大量有用信息。
-
Meta 的 OPT-175 日志:研究日志显示哪里出错了,什么做对了。如果您计划预先训练一个非常大的语言模型(在本例中为 175B 参数),则非常有用。
-
LLM 360:一个开源 LLM 框架,包含训练和数据准备代码、数据、指标和模型。
4. 监督微调
预先训练的模型仅在 next-token 预测任务上进行训练,这就是为什么它们不是有用的助手。SFT 允许您调整它们以响应说明。此外,它允许您在任何数据(私有、GPT-4 看不到等)上微调您的模型并使用它,而无需为像 OpenAI 这样的 API 付费。
-
完全微调:完全微调是指训练模型中的所有参数。这不是一种有效的技术,但它会产生稍微好一点的结果。
-
LoRA:一种基于低秩适配器的参数高效技术 (PEFT)。我们只训练这些适配器,而不是训练所有参数。
-
QLoRA:另一个基于 LoRA 的 PEFT,它也以 4 位量化模型的权重,并引入分页优化器来管理内存峰值。将其与 Unsloth 结合使用,可在免费的 Colab 笔记本上高效运行。
-
Axolotl:一个用户友好且功能强大的微调工具,用于许多最先进的开源模型。
-
DeepSpeed:针对多 GPU 和多节点设置(在 Axolotl 中实现)的 LLM 进行高效的预训练和微调。
📚 参考资料:
-
Alpin 的 The Novice’s LLM Training Guide:微调 LLM 时要考虑的主要概念和参数概述。
-
Sebastian Raschka 的 LoRA 洞察:有关 LoRA 以及如何选择最佳参数的实用洞察。
-
微调您自己的 Llama 2 模型:有关如何使用 Hugging Face 库微调 Llama 2 模型的动手实践教程。
-
Benjamin Marie 编写的填充大型语言模型:填充因果 LLM 训练示例的最佳实践
-
LLM 微调初学者指南:有关如何使用 Axolotl 微调 CodeLlama 模型的教程。
5. 首选项对齐
在监督微调之后,RLHF 是用于将 LLM 的答案与人类期望保持一致的一个步骤。这个想法是从人类(或人工)反馈中学习偏好,这可用于减少偏见、审查模型或使它们以更有用的方式运行。它比 SFT 更复杂,通常被视为可选。
-
偏好数据集:这些数据集通常包含多个具有某种排名的答案,这使得它们比指令数据集更难生成。
-
近端策略优化:该算法利用奖励模型来预测给定文本是否被人类高度排名。然后,此预测用于优化 SFT 模型,并根据 KL 散度进行惩罚。
-
Direct Preference Optimization:DPO 通过将 DPO 重新定义为分类问题来简化流程。它使用参考模型而不是奖励模型(无需训练),并且只需要一个超参数,使其更加稳定和高效。
📚 参考资料:
-
Argilla 的 Distilabel:创建自己的数据集的绝佳工具。它是专为偏好数据集设计的,但也可以执行 SFT。
-
Ayush Thakur 的使用 RLHF 训练 LLM 简介:解释为什么 RLHF 需要减少偏差并提高 LLM 的性能。
-
插图 Hugging Face 的 RLHF:RLHF 简介,包括奖励模型训练和强化学习微调。
-
Hugging Face 的首选项调整 LLM:用于执行首选项对齐的 DPO、IPO 和 KTO 算法的比较。
-
LLM训练:RLHF 及其替代方案 作者:Sebastian Rashcka:RLHF 流程和替代方案(如 RLAIF)概述。
-
使用 DPO 微调 Mistral-7b:使用 DPO 微调 Mistral-7b 模型并重现 NeuralHermes-2.5 的教程。
6. 评估
评估 LLM 是管道中被低估的部分,它既耗时又适度可靠。你的下游任务应该决定你想要评估什么,但永远记住古德哈特定律:“当一个度量成为目标时,它就不再是一个好的度量。
-
传统指标:困惑度和 BLEU 分数等指标不像以前那样受欢迎,因为它们在大多数情况下都存在缺陷。了解它们以及何时可以应用它们仍然很重要。
-
一般基准:Open LLM 排行榜基于语言模型评估工具,是通用 LLM(如 ChatGPT)的主要基准。还有其他流行的基准测试,如 BigBench、MT-Bench 等。
-
特定于任务的基准:摘要、翻译和问答等任务具有专用的基准、指标,甚至子域(医疗、财务等),例如用于生物医学问答的 PubMedQA。
-
人工评价:最可靠的评价是用户的接受率或人工的比较。除了聊天跟踪之外(例如,使用 LangSmith)之外,记录用户反馈有助于确定潜在的改进领域。
📚 参考资料:
-
Hugging Face 的固定长度模型的困惑度:使用 transformers 库实现它的代码的困惑性概述。
-
BLEU 风险自负 作者:Rachael Tatman:BLEU 分数概述及其许多问题,并附有示例。
-
Chang 等人对 LLM 的评估调查:关于评估什么、在哪里评估以及如何评估的综合论文。
-
lmsys 的 Chatbot Arena 排行榜:通用 LLM 的 Elo 评级,基于人类的比较。
7. 量化
量化是使用较低精度转换模型的权重(和激活)的过程。例如,使用 16 位存储的权重可以转换为 4 位表示。这种技术对于降低与 LLM 相关的计算和内存成本变得越来越重要。
-
基本技术:了解不同级别的精度(FP32、FP16、INT8 等)以及如何使用 absmax 和零点技术执行朴素量化。
-
GGUF 和 llama.cpp:llama.cpp 和 GGUF 格式最初设计为在 CPU 上运行,现已成为在消费级硬件上运行 LLM 的最流行工具。
-
GPTQ 和 EXL2:GPTQ,更具体地说,EXL2 格式提供了令人难以置信的速度,但只能在 GPU 上运行。模型也需要很长时间才能被量化。
-
AWQ:这种新格式比 GPTQ 更准确(更低的困惑度),但使用的 VRAM 要多得多,而且不一定更快。
📚 参考资料:
-
量化简介:量化概述、绝对最大值和零点量化,以及带有代码的 LLM.int8()。
-
使用 llama.cpp 量化 Llama 模型:有关如何使用 llama.cpp 和 GGUF 格式量化 Llama 2 模型的教程。
-
使用 GPTQ 进行 4 位 LLM 量化:有关如何使用 GPTQ 算法和 AutoGPTQ 量化 LLM 的教程。
-
ExLlamaV2:运行 LLM 的最快库:有关如何使用 EXL2 格式量化 Mistral 模型并使用 ExLlamaV2 库运行的指南。
-
了解 FriendliAI 的激活感知权重量化:AWQ 技术概述及其优势。
8. 新趋势
-
位置嵌入:了解 LLM 如何对位置进行编码,尤其是 RoPE 等相对位置编码方案。实现 YaRN (将注意力矩阵乘以温度因子) 或 ALiBi (基于标记距离的注意力惩罚)以延长上下文长度。
-
模型合并:合并经过训练的模型已成为无需任何微调即可创建高性能模型的流行方法。流行的 mergekit 库实现了最流行的合并方法,如 SLERP、DARE 和 TIES。
-
专家混合:Mixtral 凭借其出色的性能重新普及了 MoE 架构。与此同时,通过合并 Phixtral 等模型,OSS 社区中出现了一种 frankenMoE,这是一种更便宜且性能更高的选择。
-
多模态模型:这些模型(如 CLIP、Stable Diffusion 或 LLaVA)使用统一的嵌入空间处理多种类型的输入(文本、图像、音频等),从而解锁文本到图像等强大的应用程序。
📚 参考资料:
-
EleutherAI 的 Extending the RoPE:总结不同位置编码技术的文章。
-
了解 Rajat Chawla 的 YaRN:YaRN 简介。
-
使用 mergekit 合并 LLM:有关使用 mergekit 进行模型合并的教程。
-
Hugging Face 解释的专家混合:有关 MoEs 及其工作原理的详尽指南。
-
Chip Huyen 的大型多模态模型:多模态系统概述和该领域的近期历史。
如何学习AI大模型 ?
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓
CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
👉1.大模型入门学习思维导图👈
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
👉2.AGI大模型配套视频👈
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。
👉3.大模型实际应用报告合集👈
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)
👉4.大模型落地应用案例PPT👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)
👉5.大模型经典学习电子书👈
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
👉6.大模型面试题&答案👈
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习
CSDN粉丝独家福利
这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以点击下方CSDN官方认证链接免费领取 【保证100%免费】
读者福利: 👉👉CSDN大礼包:《最新AI大模型学习资源包》免费分享 👈👈
最后,感谢每一个认真阅读我文章的人,礼尚往来总是要有的,下面资料虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走: