来时的路,我是怎么学习大模型的(纯手打)
偷星九月333
2026年03月28日 20:02
AI IN ALL!

关于大模型学习路线的问题,不止一位小伙伴问过我,给大家分享一下我的一些思考,算是自己来时的路。

时间追溯到22年,那时候研一,之前从来没有接触过深度学习相关的知识,因为是跨专业的。当时看ml(机器学习)、cnn、rnn这些也是似懂非懂,其实当时也没想过搞深度学习,统计专业最契合的是数据分析,当时听学长分享,说数分已死,搞大数据吧,又看了一些大数据相关的课程(某马),什么hadoop、spark,反正现在是一点都不记得了,经历了很长一段时间的迷茫期。后来莫名奇妙去了一家公司做nlp算法实习生(大部分时间是标数据),直到去实习之前,我连transformer这些都还没看过(当时的知识还停留在lstm),后面就慢慢的补,把transformer相关的一些知识过了一遍,包括以其为基础的bert、gpt这些。(ps:没去过大厂,还是有一个大厂梦的)。

之所以跟大家说这些,是想告诉大家,什么时候开始都不晚,坚持最重要,当你觉得某些东西实在看不懂,先放一放,看看其他的,回过头来再看,也许就会恍然大悟。

现在的学习成本是很低的,什么知识不懂,甩给大模型让它解释就行了,解释看不懂,再让它给出具体的示例。

在开始之前,一些基础知识还是需要具备的,没有接触过机器学习或者深度学习的小伙伴,还是要补充一点相关知识,不用什么都看,几个经典的网络就行了:cnn、rnn、transformer这些,bert不过是transformer encode层的堆叠(有很多变体,感兴趣可以看),gpt是decode层的堆叠,也是现代大模型的父亲。然后是bert是如何训练的:mask机制,随机mask掉一些token,模型根据上下文语义预测mask掉的token,是一种双向的编码结构。gpt是如何训练的:ntp,下一个token预测,它是单向的,通过已生成的词来预测下一个词,本质上是一个分类任务,类别数即词表数。另外是关于分词方式,目前普遍采用bpe,字节对编码,可以了解一下,有兴趣也可以了解一下其他的编码方式。知道了这些之后,你对大模型应该已经有了一个大致的认识,下面就可以看一些大模型架构的源码了,建议看qwen系列(从qwen到qwen3.5的变化,也反映了大模型从一开始到现在的一个变化)。

接下来就看你想做什么方向了,应用or后训练,当然两者也不是严格分开,只是各有侧重点。sft,训练方法lora或者全参微调,其他不用看,反正也不用,学习的时候可以使用transformers的Trainer类,自己写一下流程,从数据的处理(encode,padding,truncate,chat_template),到模型输入,到损失计算(交叉熵损失)。实际在项目上训练的时候可以使用现成的框架(llamafactory、swift等)。rl,不用从头开始系统的去学,知道一些基本概念,贝尔曼方程这些,然后直接看策略梯度算法就行了,基于价值或者基于模型的这些,我个人感觉不用看,大模型rl用不到,除非你做传统的rl。基础知识了解后,第一个算法trpo或者ppo,ppo是trpo的工程实现,然后是grpo,reinforce这些。如果做应用,本质上是上下文工程,rag、text2sql或者agent,rag原理很简单,效果上限取决于如何构建更好的分块,embedding模型算是锦上添花,起不到决定作用。agent的核心也很简单,本质上是一个react流程,不断交互反馈。效果在于上下文如何注入(上下文工程,skills),历史交互记录如何存储(memory),当然想在小模型上取得一个不错的效果,一般需要上rl(Agentic RL),所以,你还需要掌握一个rl框架 ,推荐verl。

稍微梳理了一下流程,那么看什么学习呢?

1、pytorch基础是必备的。

2、深度学习基础,推荐李沐的动手学深度学习或者李宏毅的深度学习课程。

3、transformer架构,不建议大家去看系列视频了,直接attention is all you need(论文),遇到不懂的问大模型,这一部分没必要浪费太多时间去刷视频。

4、大模型架构,直接看transformers库的源码(https://github.com/huggingface/transformers/tree/main/src/transformers/models ),看qwen系列即可

5、sft,其实你仍然可以让大模型给你写一个使用transformers库和peft库实现lora微调的代码,告诉你每一步在做什么。下载模型一般去两个地方,huggingface或者modelscope,modelscope是国内搞的,不用挂梯子,但是huggingface上的模型会更全一点(不想挂梯子可以去hf-mirror),并且huggingface上有一些教程,闲着没事也可以翻一翻。

6、记住这一点,你应该更能理解大模型训练时输入与标签的对应关系:大模型训练本质上就是一个分类任务,类别数即词表大小,当前token对应的标签是下一个token,所以在处理标签(label_id)时,就是input_ids shift一个token。预训练与sft的区别在于数据:一个是一段语义连贯的文本,一个是QA形式,sft一般需要apply_chat_template

7、rl,想深究其数学原理的,去看西湖大学赵世钰老师的《强化学习的数学原理》,不想深究数学原理,只想拿来用的话,看我视频也可以

8、rl框架,推荐verl,可以去看官方文档,也可以看我的视频,另外建议大家看一下verl里面的core_algos.py 文件,里面各种rl方法的实现很清晰。

9、rag,我觉得原理没什么好看的,看一下分块方法、embedding模型微调这些,以及其他可以提升召回率的trick。

10、Agent,看nanobot就可以,流程非常清晰,可以看我介绍nanobot agent的视频

11、其实在这个知识获取极其简单的时代,大家选定某个方向后,更建议大家缺什么补什么,没必要全部都系统的学一遍,因为技术迭代太快了,等你学完,可能它已经过时了。

最终,还是两个字送给大家:坚持!