1. 模型Checkpoints是什么?
-
定义:Checkpoints(检查点)是训练过程中保存的模型快照,包含权重、优化器状态、训练步数等信息。用于:
-
恢复训练:当训练中断时,从检查点继续训练。
-
推理/部署:直接加载训练好的模型进行预测。
-
迁移学习:基于预训练模型微调新任务。
-
-
文件内容:通常为
.ckpt
、.pt
或.bin
等格式,可能包含模型参数和额外元数据。
2. 通过HF(Hugging Face)安装Checkpoints
-
Hugging Face(HF):一个开源平台,提供大量预训练模型(如BERT、GPT)和工具库(如
transformers
)。 -
安装与加载:
-
安装库:
pip install transformers
-
加载模型:使用
from_pretrained()
方法直接下载并加载模型和分词器:python
复制
下载
解释
from transformers import AutoModel, AutoTokenizer model = AutoModel.from_pretrained("bert-base-uncased") # 自动从HF下载checkpoint tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
-
-
特点:无需手动下载文件,自动缓存,支持社区共享模型(通过
push_to_hub
上传自定义模型)。
3. 通过MS(MindSpore)安装Checkpoints
-
MindSpore(MS):华为开发的深度学习框架,类似PyTorch/TensorFlow。
-
保存与加载:
-
保存Checkpoint:
python
复制
下载
解释
import mindspore as ms ms.save_checkpoint(model, "model.ckpt") # 保存模型参数 -
加载Checkpoint:
python
复制
下载
解释
params = ms.load_checkpoint("model.ckpt") ms.load_param_into_net(network, params) # 加载到模型结构中
-
-
用途:主要用于框架内训练恢复或部署,需自行定义模型结构后再加载参数。
对比总结
方面 | Hugging Face(HF) | MindSpore(MS) |
---|---|---|
主要用途 | 快速获取预训练模型,支持NLP任务 | 深度学习框架,支持模型训练和部署 |
Checkpoint来源 | 社区共享的预训练模型(如BERT、GPT) | 用户自行训练保存的模型参数 |
安装方式 | pip install transformers + 在线加载 | pip install mindspore + 本地文件操作 |
加载方法 | from_pretrained("模型名") 自动下载 | load_checkpoint() + 手动映射到模型结构 |
常见问题
-
是否所有模型都可通过HF/MS安装?
-
HF:主要提供NLP模型,部分社区模型可能需特定权限。
-
MS:需自行训练或转换模型,无直接预训练仓库。
-
-
Checkpoint是否包含完整模型?
-
HF:通常包含完整参数,部分大模型可能分片存储。
-
MS:仅保存参数,需先定义模型结构再加载。
-
通过HF或MS安装Checkpoints,本质是通过对应平台或框架的工具加载模型参数,前者简化了预训练模型的使用,后者侧重训练流程管理。