【2024年终总结】2024 年最具影响力的AI论文 Part 1

文摘   2025-01-08 20:25   广东  

对于刚刚过去的 2024 年,有哪些论文值得反复阅读?

知名机器学习与 AI 研究者 Sebastian Raschka 整理了一份关于LLM 的阅读清单(LLM Research Papers: The 2024 List),清单详细介绍了每个月都有哪些重要论文产出。

原文链接:https://sebastianraschka.com/blog/2024/llm-research-papers-the-2024-list.html

全面回顾 2024 年所有的重大研究亮点,恐怕需要写一本书才行。Sebastian Raschka 聚焦 LLM 的研究,分享一些既有趣又有影响力的研究论文,选择每月重点介绍一篇论文。

这篇文章的第一部分,聚焦于 2024 年上半年(1 月至 6 月)的研究论文。第二部分将涵盖 7 月至 12 月的内容,预计会在 1 月晚些时候分享。

Part 1:2024年 1 月至 6 月最具影响力的 6 篇AI论文

Part 2:2024年 7 月至 12 月最具影响力的 6 篇AI论文

2024

























1月:Mixtral 的混合专家模型(Mixture of Experts)

2024 年 1 月 8 日,Mistral AI 团队发布了 Mixtral of Experts 论文。该论文介绍了 Mixtral 8x7B,一种稀疏混合专家模型(Sparse Mixture of Experts,简称 SMoE)。

这篇论文和模型在当时都非常有影响力,因为 Mixtral 8x7B 是首批开放重量级 MoE LLM(之一):它在各种基准测试中都优于 Llama 2 70B 和 GPT-3.5。

  • 论文:Mixtral of Experts

  • 论文地址:https://arxiv.org/abs/2401.04088

1.1

理解 MoE 模型

MoE,即混合专家模型,是一种集成模型,它将几个较小的“专家”子网络组合在类似 GPT 的解码器架构中。每个子网络负责处理不同类型的任务,或者更具体地说,处理不同的 token。MoE 的核心理念是,通过使用多个较小的子网络替代一个大型网络,MoE 模型能更高效地分配计算资源

具体来说,在 Mixtral 8x7B 中,用 8 个专家层替换 Transformer 架构中的每个前馈模块(Feed-Forward Module),如下图所示。

这种设计极大地优化了计算效率。

在“稀疏混合专家”(Sparse Mixture of Experts)模型中,“稀疏”(Sparse)指的是在任意时刻,只有专家层的子集(在 Mixtral 8x7B 中通常是 8 个中的 1 到 2 个)被激活,用于处理一个 token。

如上图所示,子网络取代了 LLM 中的前馈模块。前馈模块本质上是一个多层感知器(MLP)。

此外,Mixtral 模型中还包含一个路由模块(Router Module,也称为门控网络,Gating Network),该模块将每个 token 嵌入重定向到 8 个专家前馈模块中的某一个。这 8 个专家前馈层的输出随后被汇总。

想要更详细地了解 Mixtral 模型,可以阅读之前的文章《模型合并、专家混合以及面向小型 LLM》。

  • 文章:Model Merging, Mixtures of Experts, and Towards Smaller LLMs

  • 文章链接:https://magazine.sebastianraschka.com/i/141130005/mixtral-of-experts

1.2

MoE 模型的现实意义

2024年初,Sebastian Raschka 原以为开放权重的 MoE 模型会比现在在更受欢迎、应用更广泛。

虽然它们并非无关紧要,但许多最先进的模型仍然依赖于密集(传统)LLM 而不是 MoE,例如 Llama 3、Qwen 2.5、Gemma 2 等。然而,对于一些专有架构(比如 GPT-4、Gemini 和 Claude)的底层设计,我们无法得知是否使用了 MoE 结构,它们可能在内部采用了 MoE。

无论如何,MoE 架构仍然非常有意义,特别是因为它们通过仅激活每个输入的模型参数子集来提供一种有效扩展大型语言模型的方法,从而在不牺牲模型容量的情况下降低计算成本。

顺便一提,12 月发布了性能非常出色的 DeepSeek-V3 模型,它采用了 MoE 架构。

所以可以肯定的是,MoE 仍然非常重要!


2024

























2月:权重分解的LoRA(Weight-Decomposed LoRA)

如果你曾对开放权重的 LLM 进行微调,那么很有可能某个时候你使用过低秩适配(LoRA, Low-Rank Adaptation),一种高效的参数微调方法。

如果您是 LoRA 新手,可以参考 Sebastian Raschka 之前写过的一篇文章《使用 LoRA(低秩适配)微调 LLM 的实用技巧》。

  • 文章:Practical Tips for Finetuning LLMs Using LoRA (Low-Rank Adaptation)

  • 文章链接:https://magazine.sebastianraschka.com/p/practical-tips-for-finetuning-llms

此外,Sebastian Raschka 的书《从零开始构建大模型》(Build A Large Language Model (From Scratch))的附录 D 中也提供了一段从头实现 LoRA 的代码。

二月份,Sebastian Raschka 推荐的论文是由 Liu 及其团队在 2024 年 2 月发布的 《DoRA: Weight-Decomposed Low-Rank Adaptation》(权重分解的低秩适配)。

  • 论文:DoRA: Weight-Decomposed Low-Rank Adaptation

  • 论文地址:https://arxiv.org/abs/2402.09353

2.1

LoRA 回顾

先来快速回顾一下 LoRA:

完整微调,通过计算一个较大的权重更新矩阵 ΔW 来更新 LLM 中的每个大权重矩阵 W。而LoRA 将 ΔW 近似为两个较小矩阵 A 和 B 的乘积。因此,我们得到的不是 W + ΔW ,而是 W + A·B 。这大大减少了计算和内存开销

下图并排说明了完整微调(左)和 LoRA(右)的公式和原理。

图:常规微调(左)和 LoRA 微调(右)

2.2

从 LoRA 到 DoRA

在论文 《DoRA:权重分解低秩自适应》中,Liu 等人对 LoRA(低秩适配)方法进行了拓展。

首先将预训练的权重矩阵分解为两部分:一个是表示大小的向量 m(magnitude vector),另一个是表示方向的矩阵 V(directional matrix)。

这种分解方法基于这样一个概念:任何向量都可以通过其长度(大小)和方向来表示。

完成分解后,DoRA 仅对方向矩阵 V 进行 LoRA 风格的低秩更新,而大小向量 m 则单独进行训练。

这种改进方法旨在更灵活地适配权重的更新,同时保留权重的大小信息和方向信息的独立性。

这种两步方法使 DoRA 比标准的 LoRA 更具灵活性。与 LoRA 倾向于统一调整大小和方向不同,DoRA 可以在不增加大小(magnitude)的情况下,进行更精细的方向(direction)调整。

这带来的结果就是,DoRA 在性能和稳定性上都有所提升:即使使用更少的参数,DoRA 也能胜过 LoRA,并且对秩(rank)的选择不太敏感。

如果对这个部分感兴趣,可以阅读 Sebastian Raschka 早些时候写的一篇文章《改进 LoRA:从零实现权重分解的低秩适配(DoRA)》。

  • 文章:Improving LoRA: Implementing Weight-Decomposed Low-Rank Adaptation (DoRA) from Scratch

  • 文章链接:https://magazine.sebastianraschka.com/p/lora-and-dora-from-scratch

2.3

LoRA 及其衍生方法的未来

DoRA 是对原始 LoRA 方法的一个小的、合乎逻辑的改进。虽然它还没有被广泛采用,但它引入的复杂性非常有限,值得在下次微调 LLM 时考虑。

总的来说,Sebastian Raschka 预计 LoRA 和其类似的方法会继续流行。例如,Apple 最近在其论文《Apple Intelligence Foundation Language Models》中提到,他们使用 LoRA 来专用化 LLM 的设备任务。

  • 论文:Apple Intelligence Foundation Language Models

  • 机构:Apple

  • 论文地址:https://arxiv.org/abs/2407.21075


2024

























3月:持续预训练大语言模型的实用技巧

指令微调(instruction-finetuning)是 LLM 从业者中最常见的微调方式。这种方法的目标是让公开可用的 LLM 更好地遵循指令,或者让这些 LLM 专门针对子集或新指令。

然而,如果目标是让模型吸收新知识,持续预训练(有时也称为连续预训练)才是更为有效的方法。

Sebastian Raschka 简要总结了 Ibrahim 等人在 2024 年 3 月发表的论文《简单且可扩展的持续预训练大语言模型的策略》。

  • 论文: Simple and Scalable Strategies to Continually Pre-train Large Language Models

  • 论文地址:https://arxiv.org/abs/2403.08763

3.1

简单技巧也有效

这篇长达 24 页的《持续预训练大型语言模型》论文报告了大量的实验,并附带了无数的图表,以当今的标准来看非常详尽。

那么,成功应用持续预训练的主要技巧是什么?

  1. 简单的重新热启动(re-warming)并重新衰减(re-decaying)学习率

  2. 将原始预训练数据的一小部分(例如 5%)添加到新数据集中,以防止灾难性遗忘(catastrophic forgetting)。请注意,0.5% 和 1% 等更小的比例也被证明是有效的。

关于第 1 点,重新热启动和重新衰减,更具体地说,这意味着我们在持续预训练阶段,采用与 LLM 初始预训练阶段完全相同的学习率调度策略,如下图所示。


图:持续预训练的时间表

实际上,重新热启动与衰减学习率,以及在新数据中加入部分原始预训练数据,这些方法或多或少已经是业内的常识。

如果你对更多细节感兴趣,可以参考 Sebastian Raschka 之前的文章《LLM 预训练与奖励模型评估的实用技巧》,其中对这篇论文进行了更深入的讨论。

  • 文章:Tips for LLM Pretraining and Evaluating Reward Models

  • 文章链接:https://magazine.sebastianraschka.com/p/tips-for-llm-pretraining-and-evaluating-rms

3.2

这些简单技巧会继续有效吗?

Sebastian Raschka 没有理由相信这些方法不会继续适用于未来的 LLM。

然而,值得注意的是,近几个月来,预训练流程变得更加复杂,由多个阶段组成,例如短上下文和长上下文的预训练。

关于此,Sebastian Raschka 在《新的 LLM 预训练和后训练范式》一文中进行了更多介绍。

  • 文章: New LLM Pre-training and Post-training Paradigms

  • 文章链接:https://magazine.sebastianraschka.com/p/new-llm-pre-training-and-post-training


2024

























4月:用于LLM对齐的 DPO 或 PPO,还是两者兼有?

2024 年 4月,Sebastian Raschka 推荐了一篇更具实用性的论文:Xu 等人发表的《DPO 是否优于 PPO 用于 LLM 对齐?一项综合研究》。

  • 论文: Is DPO Superior to PPO for LLM Alignment? A Comprehensive Study

  • 论文地址:https://arxiv.org/abs/2404.10719

4.1

RLHF-PPO 和 DPO:它们是什么?

先简要介绍一下近端策略优化(Proximal Policy Optimization, PPO)和直接偏好优化(Direct Preference Optimization, DPO)。

这两种方法都是通过强化学习与人类反馈 (RLHF) 来对齐 LLM 的流行方法。

RLHF 是将 LLM 与人类偏好对齐的首选方法,可提高其响应的质量和安全性。

图:典型的(简化的)LLM 培训生命周期

传统上,RLHF-PPO 一直是训练 LLM 的关键步骤,用于 InstructGPT 和 ChatGPT 等模型和平台。

然而,DPO 因其简单性和有效性,去年开始受到关注。与 RLHF-PPO 相比,DPO 不需要单独的奖励模型。相反,它直接使用类似分类的目标来更新 LLM。许多 LLM 现在都使用 DPO,尽管目前缺乏与 PPO 的全面比较。

以下是 Sebastian Raschka 今年早些时候开发和分享的有关 RLHF 和 DPO 的两个资源:

  • 文章:LLM Training: RLHF and Its Alternatives【LLM 培训:RLHF 及其替代方案】

  • 文章地址:https://magazine.sebastianraschka.com/p/llm-training-rlhf-and-its-alternatives

  • 文章:Direct Preference Optimization (DPO) for LLM Alignment (From Scratch)【用于 LLM 对齐的直接偏好优化 (DPO)(从头开始)】

  • 文章链接:https://github.com/rasbt/LLMs-from-scratch/blob/main/ch07/04_preference-tuning-with-dpo/dpo-from-scratch.ipynb

4.2

PPO 通常优于 DPO

Xu 等人发表的《DPO 是否优于 PPO 用于 LLM 对齐?一项综合研究》是一篇结构清晰、实验详尽的论文。主要结论是: PPO 通常优于 DPO,尤其是 DPO 在处理「分布外数据」(out-of-distribution data)时表现较差

此处,「分布外数据」是指语言模型之前是在与用于 DPO 的偏好数据不同的指令数据(通过监督微调)上训练的。例如,一个模型可能在通用的 Alpaca 数据集上进行训练,然后在不同的偏好标记数据集上进行 DPO 微调。

在这种「分布外数据」上改进 DPO 的一种方法是,先使用偏好数据集进行监督指令微调,然后再执行 DPO 微调。)

下图总结了该论文的主要发现。

4.3

PPO 和 DPO 目前如何使用?

在生成的 LLM 模型的原始性能方面,PPO 可能略有优势。但是,DPO 更容易实现,计算效率更高(毕竟无需单独训练和使用奖励模型)。因此,Sebastian Raschkake 推断:DPO 在实践中的应用比 RLHF-PPO 更为广泛。

一个有趣的例子是 Meta AI 的 Llama 模型。Llama 2 是用 RLHF-PPO 训练的,但较新的 Llama 3 模型使用的是 DPO。

更有趣的是,最近的模型甚至同时使用 PPO 和 DPO。例如,Apple 的 Foundation 模型和 Allen AI 的 Tulu 3。


2024

























5月:LoRA 学得更少,也忘得更少

2024 年 5 月,Sebastian Raschka 推荐了另一篇关于 LoRA 的论文,因为它正式化了关于 LLM 微调(包括使用和不使用 LoRA)的某些常识。

这篇论文就是 Biderman 等人发表的《LoRA 学得更少,也忘得更少》。

  • 论文:LoRA Learns Less and Forgets Less

  • 论文地址:https://arxiv.org/abs/2405.09673

这篇论文是一项实证研究,比较了低秩自适应 (LoRA) 与大型语言模型 (LLM) 上的完整微调,重点关注两个领域(编程和数学)和两个任务(指令微调和持续预训练)。

5.1

LoRA 学习更少

这篇论文的研究表明,LoRA 的学习效果明显低于完整微调,尤其是在编码等需要获取新知识的任务中。当仅执行指令微调时,差距较小。这表明,与将一个预训练模型转换为一个指令跟随者相比,对新数据进行预训练(学习新知识)从完整微调中获益更多。

不过,还有一些细微差别。例如,对于数学任务,LoRA 和完整微调之间的性能差异缩小了。这可能是因为 LLM 对数学问题更熟悉,而且他们在预训练期间可能遇到过类似的问题。

相比之下,编码涉及更独特的领域,需要更多新知识。因此,新任务距离模型的预训练数据越远,完整微调在学习能力方面就越有益。

5.2

LoRA 遗忘更少

在考察模型丢失已有知识的程度时,LoRA 一贯表现出更少的遗忘。

这在适应远离源领域(例如任务人物)的数据时尤其明显。对于编码任务,完整微调会导致大量遗忘,而 LoRA 保留了更多原始能力。对于数学任务,模型的原始知识已经更接近新任务,这种差异就不太明显。

5.3

LoRA 的权衡

总的来说,LoRA 和完整微调存在着一种权衡:完整微调更有利于从更远的领域吸收新知识,但会导致更多地遗忘以前学过的任务。LoRA 通过调整较少的参数,虽然学习到的新知识较少,但保留了更多原有的功能。

5.4

对未来 LLM 微调方法的展望

该研究主要将 LoRA 与完整微调进行比较。在实践中,LoRA 之所以受到欢迎,是因为它比完整微调更节省资源。在许多情况下,由于硬件限制,完整微调根本不可行。

如果只需要解决某些特定的专业化应用,仅使用 LoRA 就足够了。由于 LoRA 适配器可以与基本 LLM 分开存储,因此很容易在添加新功能的同时保留原始功能。

此外,可以将两种方法结合起来,使用完整微调进行知识更新,然后使用 LoRA 进行后续专业化调整。


2024

























6月:15 万亿 Token 的 FineWeb 数据集

Penedo 及其同事于 2024 年 6 月发表的论文《FineWeb 数据集:从网络中提取高质量大规模文本数据》,介绍了一个专为 LLM 创建的 15 万亿 token 数据集。

该数据集已公开,其中包括一个下载数据集的链接和一个代码仓库,供用户复现数据集的准备步骤。

  • 下载数据集:https://huggingface.co/datasets/HuggingFaceFW/fineweb

  • 代码仓库:https://github.com/huggingface/datatrove/blob/main/examples/fineweb.py

6.1

与其他数据集的比较

当前已有多个大规模数据集可用于 LLM 的预训练,那么 FineWeb 数据集有何特别之处?

与 FineWeb 数据集相比,其他数据集相对较小,如:RefinedWeb(500B token)、C4(172B token)、基于 Common Crawl 的 Dolma 1.6(3T token)和 1.7(1.2T token)、The Pile(340B token)、SlimPajama(627B token)、RedPajama 的去重版本(20T token)、English CommonCrawl section of Matrix(1.3T token)、English CC-100(70B token)、Colossal-OSCAR(850B token)。

例如,根据 Chinchilla 缩放定律,大约 3600 亿 token 仅适用于小型 LLM(例如17 亿参数模型)。

相比下,根据 Chinchilla 缩放定律,FineWeb 数据集中的 15 万亿 token 则非常适合训练规模高达 5000 亿参数的模型。

请注意,RedPajama 包含 20 万亿 token,但研究人员发现,由于应用了不同的过滤规则,在 RedPajama 上训练的模型质量比 FineWeb 差。

图:多年来用于预训练 LLM 的数据集大小说明

简而言之,FineWeb 数据集(仅包括英文)理论上使研究人员和开发者能够训练大规模 LLM。(附注: Meta AI的 Llama 3 模型,包括 8B、70B 和 405B 参数规模版本,也使用了 15 万亿 token 的训练,但其训练数据集并未公开。)

6.2

数据集开发的原则性方法

此外,这篇论文还包含系统的消融实验和关于过滤规则开发与应用的深入分析,展示了如何从 CommonCrawl 网络语料库中构建 FineWeb 数据集。

简而言之,对于每条过滤规则,研究团队都会从原始数据和过滤后的数据中抽取了 3600 亿token 的随机样本,然后训练了一个 17.1 亿个参数的小型 Llama 类模型。通过模型在标准基准测试(如 HellaSwag、ARC、MMLU 等)上的表现,评估该过滤规则是否有助于提升模型性能。

6.3

FineWeb 的现实意义

虽然对数十亿参数的 LLM 进行预训练可能仍然超出了大多数研究实验室和公司的能力范围,但 FineWeb 数据集是朝着实现 LLM 研究和开发的普及化迈出的重要一步。

总而言之,这篇论文是一项值得称赞的努力,并为推进 LLM 的预训练引入了宝贵的公共资源。


参考:
https://magazine.sebastianraschka.com/p/ai-research-papers-2024-part-1

https://it.sohu.com/a/844522921_121124377


HsuDan
拥抱AI技术,分享人工智能、机器学习、数据分析等多个领域的优质资讯、学习资源、实践案例、开源项目及开发工具。
 最新文章