LLM算法工程师学习路线排行榜
大模型发展速度之快,从2023年到现在几乎每个月都有新突破。市面上相关的课程和资料铺天盖地,但真正系统性地梳理LLM算法工程师所需技术栈的内容并不多。下面这张图(以及本文)就是试图画出一条清晰的学习路径。
1. LLM 架构
理解LLM的第一步,是吃透它的骨架。最核心的当属decoder-only的Transformer架构——几乎所有生成式大语言模型都基于此。接下来是Tokenization,即如何把原始文本拆成模型能消化的最小单元。注意力机制则是灵魂:自注意力、缩放点积注意力,这些理论让模型在生成时能精准聚焦输入的不同部分。最后,文本生成策略也不容忽视:贪心解码、束搜索、top‑k采样、nucleus采样(top‑p),每种策略都有其适用场景。
2. 如何准备训练数据集
数据是模型的粮食,怎么备粮?第一类是Alpaca风格的数据集,利用OpenAI API从零生成合成数据,通过指定seed和系统提示可以创建多样化的内容。更高级的技术有Evol‑Instruct(改进现有数据集)以及Orca、phi‑1论文中提到的合成数据生成方法。数据过滤同样关键:正则表达式、去重、筛选高token量的回答等传统手段依然有效。另外,提示模板并没有统一标准,ChatML、Alpaca等不同格式都需要了解——它们直接影响模型对指令的理解方式。
3. 预训练模型
预训练是个漫长且烧钱的过程,对多数人来说不必亲自动手,但理解它在做什么很有必要。数据pipeline是第一个门槛:预训练需要海量数据(比如Llama 2用了2万亿token),这些数据要经过过滤、Tokenization,再与预定词表合并。训练目标上,因果语言建模(与掩码语言建模不同)及其对应的损失函数是基础;为了提高效率,Megatron‑LM / GPT‑NeoX这类框架值得留意。缩放定律能告诉我们模型大小、数据量和计算量如何影响最终性能。如果你真想从头搭建LLM,高性能计算(硬件、分布式工作负载)的知识就绕不开了。
4. 有监督微调
预训练模型只做过next‑token prediction,所以有时会犯傻或产生幻觉。有监督微调(SFT)能让它学会跟随指令,而且可以在私有数据(GPT‑4没见过的那种)上微调,省掉OpenAI的API费用。具体做法有几种:全参微调,效果最好但成本最高;LoRA,只训练低秩适配器,大幅降低参数量;QLoRA则在LoRA基础上把权重量化到4比特,配合分页优化器,甚至能在Colab上运行。工具方面,Axolotl是目前最流行的微调框架之一,许多开源模型都靠它。如果涉及多GPU或多节点,DeepSpeed是标配——Axolotl里本身就集成了它。
5. 基于人类反馈的强化学习(RLHF)
SFT之后,RLHF可以进一步优化LLM的回答,让模型更符合人类的期望。核心思路是从人类反馈中学习偏好,从而减少偏见、实现内容审查。相比SFT,RLHF更复杂,通常视为可选步骤。首先需要偏好数据集——里面包含多条带排序的答案,比指令数据集难创建得多。然后看算法:近端策略优化(PPO)依赖一个奖励模型来预测给定文本的得分,并用KL散度惩罚来约束SFT模型。直接偏好优化(DPO)则把问题重新框定为分类任务,用参考模型替代奖励模型(无需单独训练),超参数只有一个,更稳定且高效。
6. 模型评估
评估是大模型工作流中最容易被忽视的环节——耗时且可靠性不稳定。你的下游任务决定了要关注的指标,但别忘了古德哈特定律:“当一个指标成为目标,它就不再是一个好指标。”传统指标如perplexity和BLEU分数,现在用得少了,因为多数场景下表现不佳,但了解它们依然有益。通用基准方面,Open LLM排行榜是评估通用LLM(类似ChatGPT)的标杆,此外还有BigBench、MT‑Bench等。任务特定基准(如医学领域的PubMedQA)以及翻译、摘要等评价体系也值得关注。最可靠的办法还是人类评估:用户接受率。想判断一个模型好不好,最简单的办法就是亲自用它。
7. 量化
量化是用更低精度压缩模型权重(有时也包括激活值)的过程。举例来说,原本用16比特存储的权重可以转成4比特表示。这种技术越来越重要,因为它能大幅降低LLM的计算和内存开销。基本概念包括不同的精度等级(FP32、FP16、INT8等)以及absmax、zero‑point等朴素量化方法。GGUF格式和llama.cpp最初面向CPU运行,如今已成为在消费级硬件上部署LLM最流行的方案。GPTQ和EXL2格式则专为GPU设计,速度快但量化时间较长。AWQ是后起之秀,困惑度更低,不过占用显存更多,速度也不一定更快。
8. 发展趋势
最后看看前沿动态。位置编码方面,相对位置编码方案(如RoPE)已经成为主流,而YaRN(通过temperature factor缩放注意力矩阵)和ALiBi(基于token距离的注意力惩罚)则用来扩展上下文长度。模型合并是近期一个热门方向——无需微调就能拼出性能不错的模型,mergekit库实现了SLERP、DARE、TIES等合并方法。专家混合(MoE)架构因Mixtral的出色表现重回聚光灯下,开源社区还出现了“frankenMoE”这类廉价替代方案(如Phixtral)。多模态模型(CLIP、Stable Diffusion、LLaVA等)则用统一嵌入空间处理文本、图像、音频等多种输入,解锁了文本生成图像等强大应用。
大模型领域日新月异,这里梳理的是成为LLM算法工程师需要掌握的一些典型技术。希望这份清晰的学习路径,能帮你在通往目标的路走得更扎实。
