type
status
date
slug
summary
tags
icon
password
一、背景
最近在训练大模型,不管是做预训练还是说全量微调,所需的算力和显存的大小都是非常的大。有些任务并不好使用Unsloth,LLamaFactory等工具。所以在节约显存和需要多卡环境的条件下,deepspeed成为了我的首选条件。
二、如何将DeepSpeed训练得到的checkpoint像HuggingFace模型一样进行加载
训练得到的文件大概如下图所示(没有那个pytorch_model.bin)

需要关注的是global_step文件夹和zero_to_fp32.py这些文件。global_step是模型权重文件。zero_to_fp32.py是DeepSpeed创建的一个特殊的转换脚本,将其放置在checkpoint文件夹的顶层。使用此脚本,可以在任何时候提取权重。
使用的格式:
pytorch_model.bin现在包含多个GPUs合并的完整的fp32模型权重
特别注意!!!非常建议使用的文件名就是pytorch_model.bin,不要自定义这个权重文件
生成的.bin文件就可以直接被我们使用了

这样就可以了
三、参考资料
- 作者:JucanaYu
- 链接:https://jucanayu.top/article/1d57ab71-7095-8069-ada9-ced5ee8caa2d
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。