尊龙人生就是博

搜索 猫眼影戏 融媒体矩阵
  • 山东手机报

  • 猫眼影戏

  • 公共网官方微信

  • 公共网官方微博

  • 抖音

  • 人民号

  • 全国党媒平台

  • 央视频

  • 百家号

  • 快手

  • 头条号

  • 哔哩哔哩

首页 >新闻 >社会新闻

DeepSeek用的GRPO占用大宗内存?有人给出了些破解要领

2025-02-14 09:31:47
来源:

猫眼影戏

作者:

张芷溪

手机检察

  猫眼影戏记者 池向东 报道P6F9A2Y5R3B1T0V4X8W

选自oxen.ai 作者:Greg Schoeninger 编译:陈陈、泽南 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 )过失。 torchOutOfMemoryErrorCUDAoutof memoryTriedto allocate1.90GiBGPU0has a total capacity ofGiBof which1.28GiBisfreeIncludingnonPyTorchmemorythisprocess hasGiBmemoryinuseOfthe allocated memoryGiBisallocatedbyPyTorchand2.41GiBisreservedbyPyTorchbut unallocatedIfreserved but unallocated memoryislargetrysetting PYTORCH_CUDA_ALLOC_CONFexpandable_segmentsTrueto avoid fragmentationSeedocumentationforMemoryManagement//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 这样的数据集,可以非?焖俚仄舳。 trl 项目地点:https://github.com/huggingface/trl?ref=ghost.oxen.ai importtorchfromdatasetsimportload_datasetDatasetfromtransformersimportAutoTokenizerAutoModelForCausalLMfromtrlimportGRPOConfigGRPOTrainerimportreSYSTEM_PROMPTRespond in the following format:defextract_hash_answertextstrstrNoneif"####"notintextreturnNonereturntextsplit"####"1stripdefget_gsm8k_questionssplit"train"Datasetdataload_dataset'openai/gsm8k''main'splitdatadatamaplambda'prompt''role''system''content'SYSTEM_PROMPT},'role''user''content''question'],'answer'extract_hash_answer'answer'returndatadefextract_xml_answertextstrstranswertextsplit1answeranswersplit""0returnanswerstripdefformat_reward_funccompletionskwargslistfloat"""Reward function that checks if the completion has a specific format."""patternr"^\n\n$"\n.*?\n\n.*?\nresponsescompletion0"content"forcompletionincompletionsmatchesrematchpatternrforrinresponsesreturn0.5ifmatchelse0.0formatchinmatchesdefaccuracy_reward_funcpromptscompletionsanswerkwargslistfloat"""Reward function that extracts the answer from the xml tags and compares it to the correct answer."""responsescompletion0'content'forcompletionincompletionsextracted_responsesextract_xml_answerrforrinresponsesreturn2.0ifraelse0.0forrainzipextracted_responsesanswerdefmaindatasetget_gsm8k_questionsmodel_name"meta-llama/Llama-3.2-1B-Instruct"modelAutoModelForCausalLMfrom_pretrainedmodel_nametorch_dtypetorchbfloat16attn_implementation"flash_attention_2"device_mapNoneto"cuda"tokenizerAutoTokenizerfrom_pretrainedmodel_nametokenizerpad_tokentokenizereos_tokentraining_argsGRPOConfigoutput_dir"output"learning_rate5e-6adam_beta10.9adam_beta20.99weight_decay0.1warmup_ratio0.1lr_scheduler_type'cosine'logging_steps1bf16Trueper_device_train_batch_size1gradient_accumulation_steps4num_generations4max_prompt_length256max_completion_length786num_train_epochs1save_steps100save_total_limit1max_grad_norm0.1log_on_each_nodeFalsetrainerGRPOTrainermodelmodelprocessing_classtokenizerreward_funcsformat_reward_funcaccuracy_reward_func],argstraining_argstrain_datasetdatasettrainertrainif__name__"__main__"main Num Generations 有什么用 Num Generations 是一个超参数,它决定了我们将在训练数据中对每个盘问采样几多个补全。然而,这会显著增加 VRAM 的消耗。 目前有一个开放的 GitHub 问题,可能会资助解决内存瓶颈问题,可以参考如下链接 地点:https://github.com/huggingface/trl/issues/2709?ref=ghost.oxen.ai 关于 num_completions=8,16,64 (DeepSeekMath 论文使用的 64),作者体现,不必再次盘算上述所有值,而是使用了 1B 参数模型进行了测试,以显示内存增长。不过,作者照旧建议各人在内存瓶颈获得修复之前使用 num_generations=4,也能获得不错的性能。 影响 VRAM 的一些因素 要对所有影响显存(VRAM)使用的因素进行全面的超参数验证,需要进行大宗的实验。简单起见,这里只指出了需要注意的设置,以及实验中使用的具体数值。 batch_size=1,由于 GRPO 为每个盘问生成多个响应,batch size 会迅速失控。gradient_accumulation_steps=4,优化器是另一个占用大宗 VRAM 的地方。此参数决定了我们将存储的梯度以资助优化器进行其「爬山」历程。num_completions=4,DeepSeekMath 论文中使用了 64。这完全凌驾了有些人的盘算预算。max_prompt_length=256,如果你想训练模型拥有更大上下文的推理能力,将不得不增加 VRAM。GSM8K 的提示相对较小,适合此测试。max_completion_length=786,同样,由于盘算注意力的内存有限,推理链在这里受到限制。上下文或生成的 token 越多,需要的内存就越大。LoRA target_modules=["q_proj", "k_proj", "o_proj", "up_proj", "down_proj"] 在这方面可以实验几种差别的迭代。target_modules="all-linear" 是一种流行的方法,可以从你的 LoRA 中挤出最多的性能(就准确性而言)。 对 VRAM 使用的大概估算 如果你正在使用 FP16 精度进行训练,以下是一些简单的估算要领,可以资助你了解内存主要用在了哪些地方: 模型参数:每个参数占用 2 字节。参考模型参数:每个参数占用 2 字节。梯度:每个参数占用 2 字节。优化器状态:每个参数占用 8 字节。8 位优化器:每个参数占用 4 字节。PEFT:有助于减少梯度的显存占用。 最后是关于准确率的。作者完成了一个 10 亿参数的 Llama 3.2 模型的完整训练。在应用 GRPO 之前,该模型在保存测试集上抵达了约 19% 的准确率,而在经过一个训练周期后,模型的准确率飙升至约 40.5%。虽然这离 SOTA 水平还差得很远,但这展示了 GRPO 的强大潜力。

??时事1:午夜免费免自拍线钱

??02月14日,2023年江西为经营主体减负1630亿元 营商环境持续优化,

  同学们,在这具有特殊意义的时刻,我代表学校向你们提几点要求:

,嘟嘟嘟www免费视频。

??02月14日,南北山绿化工程拓宽群众增收路,

  有人说,国家宁静应该是领导人所体贴的事,与我们这些在校学生又有什么关系呢?有这样的想法可以理解,但我看未必是一点关系也没有。就拿今年爆发的两件事来说吧。

,啪啪啪www免费,国产精品16部合集,天美传播媒体网官网。

??时事2:娇喘2分钟戴上耳机污

??02月14日,中亚国家挖掘农业增长潜力(国际视点),

  沿途,有许多巨大的岩石,散落在山地间,从数万斤到数十万斤不等。

,二嫂导航软件app官网,欧美日韩国内一区,A18禁在线观看网站。

??02月14日,港乐已死?资深乐评人:不是超越才叫延续生命力,

  已往的几个月,在以蔡总为首的绿中海领导下,在各部分卖力人的团结协作下,经过全体员工的顽强拼搏和忘我贡献,绿中海不绝壮大,并逐步走上正轨。我们提倡团队精神,我们需要把一家人的思想融入所有绿中海人的意识和血脉中,要时刻铭记我们既是事业上的同伴,又是生活中的朋友。我们都是平凡的人,来自五湖四海,却在这里为创立一其中国的绿中海的理想而配合斗争,我们没有理由不相互忠诚,相互信赖,因为我们荣辱与共!

,中国亚洲呦女专区,深夜放纵自己,今晚给大家科普一下寄宿日记。

??时事3:又粗又大又硬特黄大片

??02月14日,以跳出历史周期率为战略目标,

  “能,配上一些宝药,一定可以治好的。”小不点将目光瞄向了肩头上的毛球。

,A片67C7、COm,触手双性疯狂宫交H尿,9l传媒制片厂。

??02月14日,解锁海珠经济的发展密码,

  最后,在新的一年即将到来的喜庆时刻,祝列位经销商朋友、列位来宾身体健康、家庭幸福、生意兴隆、心想事成!

,套路一诺的视频+vk,科普一下男操女的应用,www.99jiujiu。

??时事4:国内又粗又黄又猛

??02月14日,从“乡村T台”走向世界时装周,

  我们小学生正处于生理的发育阶段,心理很是纯粹,最容易受到种种各样的伤害。可是,生命总是眷顾有宁静意识的人,而宁静意识是从日常行为中体现出来的。好比:遵纪守法,遵守交通规则,自觉抵制暴力、黄色信息和,遇事要冷静,做事多想想结果,做到三思而行,同学间有了矛盾要冷静解决,不要以非对非。学会求助他人,学会规避危害,如:遇到火灾要实时大人,或拨打119报警电话,不可贸然只身去救火,因为我们小学生人小无能力;遭遇暴力(以大欺小)一定要想步伐实时脱身,老师或拨打110电话报案,要学会拒绝别人的无理要求或不良诱惑,养成良好的生活习惯,这些知识很简单,但如果做不到,我们的健康甚至生命就可能收到威胁,同时我还希望同学们做到“四防”,即:防火—— 严禁玩火,禁止把火源带入学校,杜绝火灾事故爆发,一旦遭遇火灾,要学会正确的逃生要领(班主任按要求指导学生);防水——严禁私自下河堰洗澡,杜绝溺水事故的爆发,如果爆发同伴溺水的危急事情,要马上就近找到大人求救,千万不可因为畏惧而逃离现场;防盗——关好门窗,注意自身财物的保管;防自身宁静——自觉遵守公共秩序、社会公德和学校宁静通例,严禁课间或户外运动时不听从老师教导、追逐喧华伤害事故的爆发。

,精品老狼一卡2卡3卡4,国产一级AAAAA爱片在线视频,全部极品AV娱乐盛宴。

??02月14日,【理响中国】扩大高水平对外开放的实现途径,  [举世时报综合报道]“一段时间以来,比亚迪、祥瑞等中国自主品牌的崛起给不少外国汽车品牌带来压力。”美国CNBC网站18日报道称,美银证券汽车工业剖析师约翰·墨菲当天在美国汽车媒体协会有关运动中体现,美国底特律三巨头(即通用汽车、福特汽车和斯特兰蒂斯)应“尽快”退出中国市场。他同时警告说,美国三大车企需要接纳更严厉的步伐削减开支,尤其是在内燃机业务方面,因为这是目前利润的主要来源。,地址1地址2地址3 帧,国产网红精品首页在线观看,久久无码精品。

责编:张宝印

审核:乌鲁木齐—重庆

责编:陶行知

相关推荐 换一换

Copyright (C) 2001-2025   dzwww.com. All Rights Reserved

新闻信息效劳许可证 - 音像制品出书许可证 - 广播电视节目制作经营许可证 - 网络视听许可证 - 网络文化经营许可证

山东省互联网传媒集团主办  联系电话:0531-85193202  违法不良信息举报电话:0531-85196540

鲁ICP备09023866号-1   鲁公网安备 37010202000111号  

Copyright (C) 2001-2025 Dzwww   鲁ICP备09023866号-1

网站地图