通往 LLM 算法工程师之路

由于近一年多 LLM 发展非常迅猛,市面上 LLM 课程也是五花八门,于是本文按照下面的学习路径整理 LLM 算法工程师 应该具备的技术栈。

Github地址: https://github.com/mlabonne/llm-course

1. LLM 架构

  1. 编码器-解码器Transformer架构:更具体地说是 decoder only 的Transformer 架构,这是 LLMs 的基础,几乎所有的生成大语言模型都会用到这个架构。

  2. Tokenization:了解如何将原始文本数据转换为模型可以理解的格式

  3. 注意力机制:掌握注意力机制背后的理论,包括自注意力和缩放点积注意力,这使模型在生成输出时能够专注于输入的不同部分。

  4. 文本生成:了解模型生成输出序列的不同方式。常见的策略包括贪心解码(greedy decoding), 束搜索(beam search), top-k 采样 和 nucleus sampling(top-p sampling)。

2. 如何准备训练数据集

  1. Alpaca-like数据集:使用OpenAI API(GPT)从头开始生成合成数据。您可以指定seed和系统提示以创建多样化的数据集。

  2. 高级技术:学习如何使用Evol-Instruct改进现有数据集,以及如何生成像Orca和phi-1论文中那样的高质量合成数据。

  3. 数据过滤:传统的技术包括正则表达式、删除近似重复项、专注于具有大量token的答案等。

  4. 提示模板:没有真正标准的格式化说明和答案的方式,这就是为什么了解不同的聊天模板(如ChatML、Alpaca等)很重要的原因。

3. 预训练模型

预训练是一个非常漫长且昂贵的过程,对大多数人来说可以不把重点放在这方面。但是了解预训练都干什么还是有必要的,只是不需要进行实际操作。

  1. 数据pipeline:预训练需要大规模的数据集(例如,Llama 2是在2万亿个token上进行训练的),这些数据集需要进行过滤、Tokenization,并与预定义的词汇表合并。

  2. 因果语言建模:学习因果语言建模与掩码语言建模的区别,以及在这种情况下使用的损失函数。为了进行高效的预训练,还需要了解Megatron-LM / gpt-neox。

  3. 缩放定律:缩放定律介绍如何基于模型大小、数据集大小以及用于训练的计算量来预测模型性能。

  4. 高性能计算:如果要从头搭建自己的LLM(硬件、分布式工作负载等),那么关于HPC的知识还是很重要的。

4. 有监督微调

预训练模型仅在 next-token prediction 任务上进行训练,这就是为什么它们有时候比较蠢或者说容易产生幻觉的原因。有监督微调可以对它们进行调整以适应指令。此外,它允许我们在任何数据上进行微调(私有数据,GPT-4未见过的数据等),并且无需支付像OpenAI的API费用即可调用。

  1. 全参微调:全参微调是指对模型中的所有参数进行重新训练。当然啦,代价高昂,但会产生更好的结果。

  2. LoRA:一种基于低秩适配器的参数高效技术(PEFT)。我们不训练所有参数,而是训练适配器。

  3. QLoRA:另一种基于LoRA的PEFT,它还将模型的权重量化为4比特,并引入了分页优化器来管理内存峰值。将其与Unsloth结合使用,可以在Colab上运行。

  4. Axolotl:一个用户友好且功能强大的微调工具,广泛用于许多最先进的开源模型中。

  5. DeepSpeed:针对多GPU和多节点场景的LLM的高效预训练和微调框架(在Axolotl中有实现)。

5. 基于人工反馈的强化学习(RLHF)

在监督微调之后,RLHF技术可以对LLM的答案进行优化调整,给出与期望更相符的答案。其思想是从人类反馈中学习偏好,这可以减少偏差、审查模型。与SFT相比,它更为复杂,通常被视为可选步骤。

  1. 偏好数据集:这些数据集通常包含带有某种排序的多个答案,这使其比指令数据集更难创建。

  2. 近端策略优化:该算法利用一个奖励模型,预测给定文本是否被打更高的分。然后,利用基于KL散度的惩罚优化SFT模型。

  3. 直接偏好优化:DPO通过将其重新构建为分类问题简化了该过程。它使用一个参考模型而不是奖励模型(无需训练),并且只需要一个超参数,使其更加稳定和高效。

6. 模型评估

评估LLM是大模型工作流中被经常忽视的一个环节,它耗时且可靠性一般。我们的下游任务决定了我们想要评估的指标,但始终要记住古德哈特定律:“当一个指标成为目标时,它就不再是一个好的指标。”

  1. 传统指标:像perplexity和BLEU分数这样的指标不像以前那样流行,因为它们在大多数情况表现不好。但我们还是得学习和了解一下。

  2. 一般基准:基于语言模型评估测试框架,Open LLM排行榜是通用LLM(如ChatGPT)的主要基准。还有其他流行的基准,如BigBench、MT-Bench等。

  3. 任务特定的基准:摘要、翻译和问答等任务有专门的评价体系、指标甚至子领域(医学、金融等),例如:生物医学问答的PubMedQA。

  4. 人类评估:最可靠的评估是用户接受率。如果您想知道一个模型的表现如何,最简单但最可靠的方法是自己使用它。

7. 量化

量化是使用较低精度将模型的权重(和激活)压缩的过程。例如,使用16比特存储的权重可以转换为4比特表示。这种技术已经变得越来越重要,因为可以减少与LLM相关的计算和内存成本。

  1. 基本技术:了解不同的精度级别(FP32、FP16、INT8等),以及如何使用absmax和 zero-point技术执行naive 量化。

  2. GGUF和llama.cpp:最初设计是在CPU上运行,llama.cpp和GGUF格式已成为在消费级硬件上运行LLM最流行工具。

  3. GPTQ和EXL2:GPTQ和更具体地说是EXL2格式提供了令人难以置信的速度,但只能在GPU上运行。模型还需要很长时间才能被量化。

  4. AWQ:这种新格式比GPTQ更准确(困惑度更低),但使用的VRAM要多得多,并不一定更快。

8. 发展趋势

  1. 位置嵌入:了解LLM如何编码位置,特别是像RoPE这样的相对位置编码方案。通过YaRN(通过 temperature factor乘以注意力矩阵)或ALiBi(基于 token distance的注意力惩罚)来扩展上下文长度。

  2. 模型合并:合并已训练的模型已成为创建性能良好的模型而无需任何微调的流行方法。流行的mergekit库实现了最流行的合并方法,如SLERP、DARE和TIES。

  3. 专家混合:Mixtral通过其出色的性能重新流行了MoE架构。与此同时,一种名为frankenMoE的类型出现在开源社区中,通过合并Phixtral等模型,这是一种更便宜且性能良好的选项。

  4. 多模态模型:这些模型(如CLIP、Stable Diffusion或LLaVA)使用统一的嵌入空间处理多种类型的输入(文本、图像、音频等),这解锁了诸如文本到图像等强大应用。

结语

大模型发展日新月异,本文仅梳理成为大模型算法工程师一些典型的技术,期望帮助大家在通往 LLM 算法工程师的道路上走的更扎实。

附上技术清单

一、大模型全套的学习路线

学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。

L1级别:AI大模型时代的华丽登场

L2级别:AI大模型API应用开发工程

L3级别:大模型应用架构进阶实践

L4级别:大模型微调与私有化部署

一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。

以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

请添加图片描述

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值