跳到正文
原文
LysandreJik· @LysandreJik · X·· 2 天前AI 评分59

TRL v1.15 发布:默认启用 fused LM head 大幅降低后训练显存

AI 导读

TRL v1.15 发布,SFT、DPO、KTO、GRPO、RLOO 和蒸馏默认改用 fused LM head,用 Triton kernel 直接计算所需 token 级量,不再生成巨大的 [batch, seq, vocab] logits 张量。

正文 · AI 翻译

TRL v1.15 发布了,这是内存高效后训练方面一个绝对重磅的版本。

主要变化:SFT、DPO、KTO、GRPO、RLOO 和蒸馏现在默认使用融合的 LM head。

不再生成巨大的 [batch, seq, vocab] logits 张量,而是由一个 Triton 内核直接计算我们实际需要的 token 级别量。

效果非常显著 👇

在 Gemma 3 1B 上,词表大小为 262k,使用同一块 GPU:

DPO:最大序列长度 10k → 59k

KTO:9k → 63k

GRPO:28k → 114k

RLOO:23k → 100k

SFT:20k → 107k

序列长度最高可提升 6.9 倍,在 8k 上下文时峰值内存降低了 52-82%。

速度没有受到负面影响:训练速度最高提升约 11%。

无需手动开启:这在 TRL v1.15 中已是默认行为!

这个版本还有更多内容:SFT 的选择性激活检查点、视觉数据集的仅助手损失、更好的对话日志记录、AsyncGRPO / AsyncDistillation 的改进,以及一长串修复。

我非常喜欢这类优化:底层实现大幅改进的同时,训练 API 并不需要变得更复杂。

github.com/huggingface/trl/r…

来源:LysandreJik · x.com