一位 AI 从业者分享的 14 天学习路线图,涵盖大模型从基础到高级的主要关键概念
无论是面试找工作、自学创业,还是想要在圈子内讨论 AGI 的潜力,但凡想要深度参与到 AI 浪潮中,不可避免的就是学习大型语言模型(LLM)的底层原理。
但 AI 发展这么多年,论文、学习资料多如牛毛,并且更新换代极快,如何快速入门,学习到那些真正的基础知识,对于新手来说都是一个难题。最近,一位 AI 从业者在网上分享了自己的学习过程,仅用 14 天就学完了 LLM 所需要的核心知识,学习笔记在 GitHub 上斩获了 675+ 星星,并且还在持续上涨。
仓库链接:https://github.com/hesamsheikh/ml-retreat
学习路线中的主要知识点包括 token 嵌入、位置嵌入、自注意力、Transformer、对 Q、K、V 的直观理解、因果和多头注意力、温度、top-k、top-p、分类和指令微调、旋转位置编码(RoPE)、KV 缓存、无限注意力(长上下文窗口)、专家混合(MoE)、分组查询注意力(grouped query attention)、llama-2 架构及相关技术等。
学习 LLM 三步走
作者把学习路线分为了三个步骤:
1. 从头开始构建大模型(Build an LLM from Scratch)
这部分主要是总结语言模型的基础知识,包括 token、位置嵌入、自注意力机制、Transformer 架构、最初版本的注意力机制(Attention is All You Need 论文)和微调的基本原理。
虽然网络上已经有很多资源,但其中最关键的参考资料是 Sebastian Raschka 编写的《从头开始构建大型语言模型》(Build a Large Language Model From Scratch),这本书解释技术原理时非常巧妙,读者也很容易理解。
在学习构建智能体时,一个无法绕过的难题就是研究自注意力机制的工作原理:自注意力机制可以让模型在处理文本时,能够理解每个单词或短语(也可以叫做 token)在整体上下文中的位置和重要性。
整个过程会涉及到三个关键概念:查询(query)、键(key)和值(value)。其中查询代表模型在寻找信息时提出的问题,键则是数据库中的索引,帮助智能体快速找到相关信息,而值则是查询所寻求的具体信息或数据。这三个组件的相互作用,使得智能体能够在处理语言时,不仅可以关注单个单词,还能理解单词之间的相互关系,从而更准确地捕捉文本的深层含义。
此外,位置嵌入(Positional Embedding)用于标记 token 在序列中的顺序,因为 Transformer 本身不具备循环结构,无法感知词序。Token 嵌入则将词汇映射为高维向量空间中的点,使得语义相似的词在向量空间中距离更近。
2. 大模型幻觉(LLM Hallucination)
在学习的第二部分,作者推荐学习「什么是幻觉」以及「LLMs 为什么会产生幻觉」,可能也是潜伏在很多学习者脑海中的问题,对理解语言模型也有很大帮助。
幻觉是指模型生成的文本与现实世界的事实或用户的输入不一致的现象,对于研究人员以及使用 LLM 构建应用的人来说是一个巨大的挑战。
在研究过程中,你可能会意识到大模型的各种问题,诸如:
- 位置偏差(positional bias):即模型倾向于关注距离较近的 token,而忽略了更远的 token,偏差可能会影响模型对文本整体含义的理解。
- 曝光偏差(exposure bias):在推理阶段,模型预测出一个错误的 token 可能会影响后续 token 的生成,可能会导致模型在生成文本时出现一连串的错误,从而降低输出质量。
还会意识到数据、训练和推理对「幻觉」问题都有不同的影响。为了缓解幻觉问题,可以尝试不同的训练策略,以减少模型在训练和推理时的不一致性;还可以考虑如何通过引入位置编码来解决位置偏差问题,以及如何通过增加模型的上下文理解能力来减少幻觉的发生。
总的来说,这些问题的解决需要深入理解模型的工作原理,以及如何通过各种技术手段来优化,随着研究的深入,可以开发出更加强大和可靠的智能体,以支持各种语言处理任务。
3. LLM Edge:不止注意力
最后阶段会学习到一些不那么「基础」的一些知识,但在构建 LLM 系统时非常关键,主要包括:
- 暂停(Pause)Tokens:让大模型有更多时间「思考」,通常用于复杂推理任务的中间停顿。
- 无限注意力(Infini-attention):通过利用之前处理过的 token 的记忆,可以让大模型的上下文窗口变得非常大,比如 Gemini 模型的上下文窗口就高达 100 万个 token。
- 旋转位置编码(RoPE,Rotary Positional Embedding):一种相对位置编码方法,在 Llama 以及其他许多大型语言模型中广泛使用,主要优势在于能够关注序列中距离较远的 token,且具有良好的外推性。


