14天速学LLM大师,大佬开源学习笔记,GitHub狂揽700星

2024-11-19

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-二是结构及相关技术等。


学LLM三步走


作者将学习路线分为三个步骤:


1. 重新开始构建大模型(Build an LLM from Scratch)

这个部分主要是总结语言模型的基础知识,包括token。、位置嵌入,自注意机制,Transformer架构,最初版本的注意机制(Attention is All You Need论文)和微调基本原理。



虽然网络上已经有很多资源,但是Sebastiann是最关键的参考资料。 Raschka写的《从头开始构建大型语言模型》(Build a Large Language Model From Scratch),在解释技术原理时,这本书非常巧妙,读者也很容易理解。



在教学中构建智能体时,一个不可回避的问题是研究自注意力机制的工作原理:自注意力机制可以使模型在处理文本时能够理解整个前后文本中每个单词或句子的位置和重要性(或token)。


整个过程涉及三个关键概念:查询(query)、键(key)和值(value),其中,查询代表模型在搜索信息时提出的问题,关键是数据库中的搜索,帮助智能体快速搜索相关信息,而价值是查询所搜索的具体信息或数据。


三个组件之间的相互作用促使智能主体在处理语言时,不仅可以关注单个单词,还可以理解单词之间的相互关系,从而更准确地捕捉到文本的深层含义。


2. 大模型幻觉(LLM Hallucination)

作者建议在学习的第二部分学习。「什么是幻觉」以及「为什么LLMs会产生幻觉?」,也可能是潜伏在很多学习者心中的问题,对于理解语言模型也有很大的帮助。


幻觉是指模型产生的文本与现实世界中的事实或用户输入不一致的现象,对研究人员和使用LLM构建应用程序的人来说是一个巨大的挑战。



你可能会在研究过程中意识到大模型的各种问题,例如:


位置误差(positional bias),也就是说,模型侧重于更近的token,而忽略了更远的token,误差可能会影响模型对文本整体意义的理解。


曝出误差(exposure bias),在推理阶段,模型预测一个错误的模型可能会影响后续模型的形成,这可能会导致模型在生成文本时出现一系列错误,从而降低导出质量。


同时也会认识到数据,练习和推理对数据,「幻觉」这些问题都有不同的影响。


为了缓解幻觉问题,我们可以尝试不同的训练策略,以减少模型在实践和推理中的不一致性;我们还可以考虑如何通过引入位置代码来解决位置误差,如何通过增加模型前后的理解能力来减少幻觉的发生。


一般来说,解决这些问题需要深入了解模型的工作原理,以及如何通过各种技术手段进行优化。随着研究的深入,我们可以开发出更强大、更可靠的智能身体来支持各种语言处理任务。


3. LLM Edge:不仅注意力

在最后阶段会学到一些不那么少的东西。「基础」有些知识,但是建立LLM系统很重要,主要包括:



暂停(Pause) Tokens:让大型模型有更多的时间「思考」。


无限注意力(Infini-attention):使用之前处理过的token的记忆,可以使大模型的前后文窗变得特别大,比如Gemini模型的前后文窗高达100万个token。


旋转位置代码(RoPE,Rotary Positional Embedding):一种位置关系编码方法,广泛应用于Llama和许多其他大型语言模型,其主要优点是可以关注远离序列的token。


KV缓存(KV Cache):在生成之前的token时,清除重复计算,可以提高效率。


专家混和(MoE,Mixture of Experts):Mistral模型不仅使用单一的大型模型,而且整合了多个较小的LLMs,在某些任务中表现超过Llamamal(Mistral的8个尺寸为7B模型) 70B模型2)。


作者主要研究MetaLlama模型的结构和代码,以回顾这些主题,并在代码仓库中找到相关资源。


学习资源


作者不仅仅依靠单一的资源来研究这些主题,例如学习大型语言模型。(LLMs)在基础知识方面,主要参考《从零开始构建大型语言模型》这本书;同时,阅读论文也很重要,尤其是那些第一次提出某项技术的研究(比如原版Transformer论文),以及对论文的总结,对许多研究进行了梳理和简单的总结。



有些教学视频也很有用,可以作为热身,让我心里有个大概的印象。更好的资源是安卓。 Karpathy,它包含了大量的内容「大型语言模型从零开始解释。」教学视频。


准备知识


数学知识

线性代数:向量和矩阵,矩阵乘法


概率理论与统计学:概率的基本概念,随机变量与分布,期望值与方差,最大似然估计(MLE)


微积分:微积分和积分(尤其是反向传播),偏导数(基于梯度优化)


提升:梯度降低,随机梯度降低(SGD),Adam(例如Adam)


编程、框架

Python:熟悉库存,如NumPy和Pandas。


深度学习框架:TensorFlow或PyTorch,熟悉模型训练、调整和评估


深入学习概念

理解感知器,激活函数和层。反向传播和梯度下降。功能损失(交叉熵,均方误差)


卷积神经网络(CNNs)(可选,但有帮助):有利于理解模型中层的操作


温馨提示


享受学习过程

虽然作者确实在两周内完成了所有这些主题,涉及的概念也不是特别复杂,但作者说两周只是用来强调这不是一个难题,你不需要设置一个严格的截止日期来学习这些资源。


刚开始学习的时候,没想到14天就能学会。一切顺其自然。即使最后花了一个月,也没有问题。我应该享受发现新事物的快乐。


不要局限于学习路线图

每一个人都有自己的学习节奏和背景知识,你可以调整学习路线图。


学习是一种很有个性的感觉,要学习什么是基于的?「你已知的」和「你想知道的」,对每一个人来说,这个问题的答案都不一样,所以不能完全照搬学习路线图,可以选择有兴趣的部分。


没有一本书,资源或者路线图是最好的,所以不要把自己局限在单一的资源上。


没有必要阅读所有内容

当你拿起一本书,看YouTube视频或阅读论文来讨论这些材料时,没有规定你必须从头到尾阅读它们。你只需要得到你需要的信息就可以关闭它们。


尤其是论文,看完可能要花很多时间。因此,在阅读这些材料之前,先确定你心中的问题,有针对性地寻找答案,这样可以避免浪费时间在不相关的信息上。即使这些内容可能有价值,也可能与你的需求无关。


参考资料:


https://towardsdatascience.com/how-i-studied-llms-in-two-weeks-a-comprehensive-roadmap-e8ac19667a31


本文来自微信微信官方账号“新智元”,作者:LRS ,36氪经授权发布。


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com