我是如何在两周内学习大语言模型(LLMs):一份全面学习路线图

本文分享了理解大语言模型(LLM)的高效学习路径,为深入学习机器学习的读者提供关键策略和实用资源。作者在14天内通过三步完成了LLM基础学习:首先掌握基础理论,包括机器学习和自然语言处理的核心概念;其次解析模型架构,重点理解Transformer及其自注意力机制;最后通过应用与微调将理论付诸实践,推荐使用Hugging Face等免费资源演练文本生成和翻译任务。此外,文章讨论了LLM的幻觉现象和进阶技术(如无限注意力、KV缓存),帮助学习者理解模型潜在问题与优化策略。作者的ML-retreat代码库记录了学习笔记和资源清单,建议读者根据自身需求灵活调整学习路径,以获得更高效的学习效果。

理解大语言模型(LLMs)的内部运行机制已逐渐成为机器学习中的一项重要技能。无论您是为应用选择合适模型获得基础认知,还是希望参与LLM的深入讨论,乃至探讨通用人工智能(AGI)的潜力,理解LLM的本质都是第一步

在本文中,我将分享我的学习经历,以及在大约14天内学习LLM基础知识发现的最有帮助的资源,同时也为您提供在相对较短时间内掌握LLM基础的学习指导。此路线图几乎涵盖所有基础知识,帮助您系统化学习。

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H

为什么我开始了这段旅程

我对深入理解各种概念痴迷,即便是那些我已有一定认知的概念。虽然我能阅读LLM相关研究构建智能体,甚至对模型进行微调,但对我来说,这仍然不够。我想从数学和直观的角度了解大语言模型的运作机制,以及为什么它们会表现出特定行为

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(9)

由于我对该领域已有较深的了解,因此清楚自己的知识盲点。在此基础上,我两周内完成了学习,否则可能需要更长时间。

我的学习材料

除了LLM,我还希望深入研究量子机器学习、Jax等其他话题。为了记录和系统化这些内容,我创建了一个名为 “ml-retreat”GitHub 代码库这个项目的初衷是帮助自己从日常工作中抽离出来,反思自以为熟知的内容,并填补知识空白

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(8)

ml-retreat代码库的反响出乎意料地好,在撰写本文时,已经获得了⭐ 330 个星标,并且仍在增加。我意识到许多人也在寻找这样一个包含最佳资源的路线图

我使用的学习材料目前均为免费资源,不需要支付任何费用。整个学习过程主要分为三个步骤

1. 理论入门

理论基础帮助理解 LLM 的工作机制和设计思想。最初,我从经典的机器学习和深度学习理论开始,扩展到自然语言处理的基本概念,包括词嵌入、序列到序列模型等。课程方面,推荐 DeepLearning.AI 的 NLP 专项课程Transformers from Scratch 系列教程。

2. 模型架构解析

在掌握理论基础后,我重点研究了Transformer 架构,因为它是现代 LLM 的核心。我通过阅读 Attention Is All You Need 论文和探索开源 Transformer 实现来加深理解。此外,Hugging Face 提供的 Model Hub 是一个宝贵资源,帮助我学习不同 Transformer 模型的特点和应用。

3. 应用与微调

在学习模型架构和原理后,我尝试将 LLM 应用于具体任务,例如文本生成、摘要和翻译。我参考了 Hugging Face 的 Fine-tuning Transformers 教程,并通过 Colab 演练了 BERT 和 GPT-2 的微调过程。

一、从零开始构建一个大语言模型

这一部分涵盖了语言模型的核心基础:包括 Token 和位置嵌入自注意力机制Transformer 架构、经典论文《Attention is All You Need》的要点,以及 微调的基本概念。在学习这些主题时,我参考了由 Sebastian Raschka 编写的《Build a Large Language Model (From Scratch)(可在线免费阅读),这本书详细解析了这些复杂概念,使之尽可能简单易懂

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(7)

我的 LLM 基础知识笔记 来源链接

在学习这一阶段时,自注意力机制的理解尤为关键。它的难点在于不仅要理解“它是什么”,还需深刻掌握它“如何运作”。具体而言,自注意力机制是如何在上下文中映射每个 Token 与其他 Token 的关系?Query、Key 和 Value 的定义及其运作机制又是如何?这实际上是 LLM 功能的核心,我建议在这一部分尽可能投入时间,确保理解其本质。

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(6)

二、LLM的幻觉现象

在第二部分的学习中,我着重探究了什么是幻觉现象,以及为什么 LLM 会产生幻觉。这是我个人很关心的一个疑问,而通过这部分学习,也让我更好地理解了语言模型的一些特性。

通过研究,我了解到幻觉现象可能受以下因素影响:

  • 位置偏差:LLM 更倾向于关注相邻的 Token,而忽视较远的 Token。
  • 暴露偏差:在推理过程中,如果一个 Token 的预测出错,可能会引发连锁反应,使接下来的生成内容偏离预期。

此外,我还研究了数据、训练方法及推理方式,并分析了它们各自如何助长幻觉问题的产生

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(5)

我的 LLM 幻觉现象笔记 来源链接

对于研究人员和使用 LLM 构建应用的人来说,幻觉现象是一个复杂而现实的问题。我强烈建议深入了解这一现象的成因以及可能的减轻方法,以便更好地应用和优化 LLM。

三、LLM的前沿技术:超越注意力机制

前两个阶段帮助我掌握了 LLM 的基础工作原理。然而,随着技术发展,有一些进阶技术已经成为主流构建方法。因此,我在此阶段深入学习了以下技术:

  • 暂停符:让 LLM 在生成中有“停顿”的能力,从而模拟“思考”过程
  • 无限注意力(Infini-attention):利用某种形式的历史记忆,允许 LLM 拥有极大的上下文窗口,如 Gemini 的 100 万 Token 上下文窗口。
  • RoPE(旋转位置嵌入):一种相对位置嵌入方法,广泛应用于 Llama 和其他 LLM 中,帮助模型处理序列中较远距离的 Token
  • KV 缓存:通过消除生成前序 Token 时的重复计算,来加速生成过程
  • 专家混合(MoE):以多个小模型代替一个大模型,从而提高计算效率。例如,Mistral 的 8 个 7B 模型在一些任务中甚至能超越 Llama 2 的 70B

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(4)

我的 前沿 LLM 技术笔记 来源链接

在复习这些主题时,我特别深入研究了 Meta 的 Llama 架构和代码,其中包含了上述诸多技术。这些资源同样收录在我的代码库中,供大家参考。

我的学习资源

在学习过程中,我没有依赖某个单一资源。而是通过多种资源的组合来构建完整的理解:

  • LLM 基础知识:我使用了《Build a Large Language Model (From Scratch)》一书。这本书系统化地揭示了 LLM 的构建过程,是极好的基础资源。
  • 阅读论文:尽管读论文看似困难,但尤其是那些最早提出某种技术的论文(如 Transformer 的经典论文)非常有价值。这些论文为您提供原始的技术背景,而综述类论文则总结出关键要点,能帮助快速掌握领域全貌。
  • Andrej Karpathy 的 YouTube 播放列表:通过 Karpathy 的视频,您可以从零到精通 LLM,因为他系统化地从基础开始,逐步讲解语言建模和 LLM 相关主题。这种由专家引导的学习过程极为高效。

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(3)

学习 LLM 的前提条件

学习 LLM 并不复杂,但要求一定的机器学习基础会让过程顺畅得多。具备机器学习及相关领域的基础知识,如基础统计、概率、优化等,能够帮助更快掌握核心概念

数学基础

在理解 LLM 和深度学习相关内容时,一些数学基础知识至关重要:

  • 线性代数:理解向量与矩阵的运算,特别是矩阵乘法
  • 概率与统计:掌握概率基础随机变量和分布期望与方差,以及最大似然估计(MLE)
  • 微积分:特别是微分与积分,例如在反向传播和梯度计算中的应用,以及偏导数概念,用于理解基于梯度的优化。
  • 优化:熟悉梯度下降法随机梯度下降法(SGD),以及高级优化算法(如 Adam)。

编程与框架

  • Python 编程:熟悉 NumPyPandas 等库,用于数值计算和数据处理。
  • 深度学习框架:掌握 TensorFlowPyTorch,包括模型的训练、调试与评估。这些框架是现代 LLM 实现的关键工具。

深度学习概念

  • 基本概念:感知机、激活函数、模型层的概念。反向传播梯度下降算法。常用损失函数(如交叉熵损失和均方误差 MSE)。
  • 卷积神经网络(CNN)(可选但有帮助):理解 CNN 机制有助于理解模型各层的运作。

对于初学者来说,不必过于担心还未掌握所有概念。可以边学边补充知识,当遇到不理解的地方时再深入相关主题。学习是一个不断递进的过程,即使开始时有些挑战也是正常的。

一些额外的小建议✨

以下是我在学习过程中的一些经验分享,希望能对您的学习旅程有所帮助:

享受学习的过程

虽然我在两周内学习了这些主题,但学习并不需要严格的期限。提到两周只是为了说明这并不是难以完成的任务。当我开始学习时,其实并没有设定 14 天的目标,只是自然地完成了。即使花一个月或更长时间也没关系,只要您能享受探索新知识的过程

不要照搬我的学习路线图

这听起来可能有些奇怪,但我的学习路径是根据我的需求和兴趣制定的。学习是非常个性化的体验,对每个人来说,这些因素都不同。因此,不必觉得必须遵循我的路线图,而是从中挑选适合自己兴趣的部分。同样的道理也适用于其他任何学习路线图,没有一本书或一套资源是唯一的最佳方案。

不必“完成”一切

在选择一本书、一个视频或一篇论文学习时,不必拘泥于从头到尾读完。只需从中获取所需的知识,便可继续前进。特别是论文,阅读可能非常耗时,因此我建议:

在阅读材料之前,先明确心中的问题,然后专注于寻找该问题的答案,这样可以避免浪费时间在无关内容上。专注于高效获取关键信息,而非通篇阅读。

How-I-studied-LLMs-in-two-weeks-A-comprehensive-roadmap---Indie-H-(2)

总结

感谢社区对我的代码库及学习路径的支持!我将继续学习更多主题,如全能模型(Omni models)视觉Transformer(ViT)图神经网络(GNN)量子机器学习等。别错过我在 X 平台上的学习笔记摘要更新

此外,我的 GitHub 代码库 ml-retreat 汇总了目前我分享的所有学习资料,便于查找和学习:

GitHub – hesamsheikh/ml-retreat: 中高级AI学习路径

感谢您的阅读!如果您有兴趣进一步了解,以下是我推荐的文章:

本文来自投稿,不代表独立开发前线立场,如若转载,请注明出处:https://www.91wink.com/index.php/%e6%88%91%e6%98%af%e5%a6%82%e4%bd%95%e5%9c%a8%e4%b8%a4%e5%91%a8%e5%86%85%e5%ad%a6%e4%b9%a0%e5%a4%a7%e8%af%ad%e8%a8%80%e6%a8%a1%e5%9e%8b%ef%bc%88llms%ef%bc%89%ef%bc%9a%e4%b8%80%e4%bb%bd%e5%85%a8/

Like (0)

相关推荐

发表回复

Please Login to Comment

联系我们

邮件:ove2022@126.com