首页 > 生活分享 > 免费教学 > DeepSeek用的GRPO占用大量内存?有人给出了些破解方法

DeepSeek用的GRPO占用大量内存?有人给出了些破解方法

发布时间:2025-02-07 19:15:56来源: 15210273549
RTX 3080 移动版能训练哪种大模型?本文为那些 GPU 资源有限时使用 GRPO 训练的开发者提供了宝贵的指导。
 
自 DeepSeek-R1 发布以来,群组相对策略优化(GRPO)因其有效性和易于训练而成为大型语言模型强化学习的热门话题。R1 论文展示了如何使用 GRPO 从遵循 LLM(DeepSeek-v3)的基本指令转变为推理模型(DeepSeek-R1)。
 
GRPO 是一种在线学习算法(online learning algorithm),它通过使用训练过程中由训练模型自身生成的数据来进行迭代改进。GRPO 的目标是最大化生成补全(completions)的优势函数(advantage),同时确保模型保持在参考策略(reference policy)附近。
 
 
本文的目的是帮你节省一些时间,让你根据硬件预算选择合适的模型大小。在开始微调时,你必须做出的重要决定是选择模型大小,以及你是执行完全微调还是参数高效微调(PEFT)。
 
文章作者来自 AI 公司 Oxen.ai 的 CEO Greg Schoeninger。
 
 
原文链接:https://www.oxen.ai/blog/grpo-vram-requirements-for-the-gpu-poor
 
作者表示,他发现 trl 库中已经有一个易于使用的 GRPO 实现,便立刻开始了训练,使用的硬件是配备了 16GB 显存的 Nvidia GeForce RTX 3080 的小型笔记本电脑。正如大家可能遇到的问题,作者发现示例代码中的参数设置导致了一个巨大的显存不足(OOM,out of memory )错误。
 
torch
.
OutOfMemoryError
:
CUDA
out
of memory
.
Tried
to allocate
1.90
 
GiB
.
GPU
0
has a total capacity of
15.73
 
GiB
of which
1.28
 
GiB
 
is
free
.
 
Including
non
-
PyTorch
memory
,
 
this
process has
14.43
 
GiB
memory
in
 
use
.
 
Of
the allocated memory
11.82
 
GiB
 
is
allocated
by
 
PyTorch
,
 
and
 
2.41
 
GiB
 
is
reserved
by
 
PyTorch
but unallocated
.
 
If
reserved but unallocated memory
is
large
try
setting PYTORCH_CUDA_ALLOC_CONF
=
expandable_segments
:
True
to avoid fragmentation
.
 
See
documentation
for
 
Memory
 
Management
 
(
https
:
//pytorch.org/docs/stable/notes/cuda.html#environment-variables)
实际使用情况
 
作者表示,他们进行了一系列实验,以确定训练各种大小的模型所需的显存(VRAM)要求。参数数量从 5 亿到 140 亿不等,他们比较了权重的完全微调与参数高效微调(使用 LoRA),所有训练运行都在英伟达 H100 上完成,因此这里的 OOM 意味着 >80GB 的 VRAM。
 
 
在表格中,你可以找到 GSM8K 数据集上训练的前 100 步中的峰值内存使用情况。用于实验的模型是:
 
 
所有实验均使用 Shadeform 的 GPU 市场完成,因此每次实验只需要花费几美元 H100。
 
实验结果表明,内存需求随着模型大小和训练方式的不同而显著变化。例如,全参数微调比 PEFT 需要更多的内存。
 
为什么 GRPO 对内存需求较高
 
这要从 GRPO 的原理说起,这是它的流程图。
 
 
GRPO 对内存需求较高的原因在于,其内部涉及多个模型,并且在训练数据中每个查询会产生多个输出。上图中的策略模型、参考模型和奖励模型各自都是一个需要进行推理的 LLM。(尽管从技术上讲,奖励模型可能不需要参数化,可以只是一个 Python 函数或正则表达式,但不影响 GRPO 对内存的高需求。)
 
为什么 8-Bit 优化和梯度检查点有助于减少内存占用?
 
通常来讲,训练一个大型语言模型需要在内存中存储三种主要类型的信息:模型参数、模型学习所需的梯度、优化器的跟踪数据。
 
对上述内容我们可以这样理解:如果模型的参数占用了 X 的空间,那么梯度也会占用大约相同的空间。然后,像 AdamW 这样的优化器需要更多的空间,因为它们就像一个记录员,跟踪最近的更新历史,以便更好地决定未来的优化。
 
为了减轻这种内存负担,通常采用两种技术:
 
首先,可以使用像 AdamW 这样的 8-bit 优化器版本,它们能更高效地存储跟踪数据,同时仍保持良好的性能 —— 类似于压缩照片可以节省空间,同时保留大部分图像质量;
其次,使用梯度检查点技术,这就像在训练过程中拍摄快照,而不是记录所有内容。虽然这会使训练速度减慢约 20-30%,但它显著减少了内存使用。
结合这些技术,即使对 GPU 资源有限的人来说,也能够训练更大的模型。
 
代码示例
 
像 trl 这样的库已经开始支持 GRPO,使得微调由 transformers 构成的 LLM 变得非常简单。代码也非常简洁,只需将训练器替换为 GRPOTrainer 并定义一些奖励即可。GRPO 的最小代码量大约只有 99 行,如果你使用的是像 meta-llama/Llama-3.2-1B-Instruct 这样的小型模型和像 openai/GSM8K 这样的数据集,可以非常快速地启动。

免费教学更多>>

美国苹果MacBook用户画像:Air竞争力提升,但Pro仍是高端首选 90天通牒被搁置:苹果在巴西扳回一局,App Store维持独家运营 苹果:库存减少走货加快 价格或上涨 35名,事业单位公开招聘!报名入口 吴江高新区(盛泽镇) 面向社会公开招聘 具有专业化能力的 优秀人才16名 2025年开平市教育系统赴华南师范大学公开招聘急需紧缺人才公告 上海市绿化和市容管理局部分直属事业单位公开招聘中高级专业技术人员8名 南京市2025年事业单位 统一公开招聘工作人员公告来啦! 六合区招聘72人 报名时间为3月22日-3月26日 笔试时间为4月19日 舟山市卫生健康委员会 部分直属事业单位 以“市编省招”方式 招聘卫生专业紧缺人才 共55名 2025年科右前旗第一批 公益性岗位开发及招聘公告 西安4所学校发布招聘公告 具体内容如下 ↓↓↓ 西安市雁塔区第四中学 50人!达州钢铁集团招聘→ 日照盛达汽车销售服务有限公司招聘公告 TCL冰箱发布会在即,深冷保鲜再破界!黑科技颠覆高端厨房生态 或是万元以内最好的75吋电视:TCL Q10L极景QD-Mini LED电视实测 TCL 27英寸4K 120Hz印刷OLED显示屏现身AWE2025 中兴通讯 2025 年度第十一期超短期融资券本期应偿付本息 1,503,173,424.66 元 预告|家门口打“飞的”不是梦?专家讲授低空经济的新发展 瑞可达:已与部分国内外机器人客户展开合作 马斯克:特斯拉只是造电车的,没做错任何事,为啥要这么恶毒对待 诸葛大模型全国总部项目落地成都 AI创新成果集中亮相 江西深化零基预算改革:全面清理政务数字化项目,基础设施与人口分布变化相衔接 苹果:期价昨跌 清明备货或影响走势 不管了,先下班再说!最佳下班搭子Q10L已就位! 传统电视的命门,被TCL Q10L系列拿捏了? TCL科技收购LG显示(中国)、LG显示(广州)工商变更完成 章子怡参加文联会议!衣服鞋子都是大牌,带两部手机大钻戒抢镜 李斌又拿到钱了,蔚来股价暴涨近9% 吧友去投个简历?中国足协14个岗位计划招聘15人 2025年淄博市临淄区教育和体育局 所属事业单位公开招聘工作人员的公告