大模型里safetensors, ckpt, pth,bin等不同后缀文件的区别?

8/12/2024, 3:08:11 PM | 热度:326 | 阅读本文需 2 分钟

点赞

在 AI 绘图的大模型中,文件的后缀(如 .safetensors.ckpt.pth.bin)代表了不同的文件格式或模型存储方式。以下是这些常见文件后缀的区别:

1. .safetensors

简介: .safetensors 是一种新型的模型文件格式,设计用于在加载和保存过程中更加安全和高效。

优点:

  • 安全性: 避免了因加载不安全的数据导致的代码执行风险。

  • 加载速度快: 支持内存映射(memory-mapping),加载模型更快。

  • 压缩与简洁性: 文件通常更小,因为它只包含模型权重,没有其他元数据。

用途: 通常用于需要高效、安全加载模型权重的场景。

2. .ckpt

简介: .ckpt 文件通常是使用 TensorFlow 或 PyTorch 保存的模型检查点(checkpoint),包含了模型的权重、优化器状态等信息。

优点:

  • 通用性: 常见于不同的深度学习框架,尤其是 PyTorch 中。
  • 全面性: 可以保存整个训练状态(包括优化器的状态),便于恢复训练。

用途: 用于保存和恢复模型的中间状态,在训练过程中可以定期保存 .ckpt 文件,以便在中断时恢复训练。

3. .bin

简介: .pth 文件是 PyTorch 中常用的模型保存格式,通常保存模型的权重或训练状态。

优点:

  • 轻量级: 专注于保存模型参数,文件相对较小。
  • 易于加载: 使用 torch.load()torch.save() 方法可以轻松加载和保存。

用途: 通常用于在 PyTorch 中保存和加载模型权重或整个模型的训练状态。

4. .pth

简介: .bin 文件常用于保存大型语言模型的权重,比如 BERT、GPT-3 等。这种格式通常是与 Hugging Face 的 transformers 库配合使用。

优点:

  • 标准化: 常用于 Transformer 模型,特别是在 Hugging Face 生态系统中。
  • 兼容性: 通常与配置文件 .json 一起使用,可以轻松加载到不同的模型架构中。

用途: 用于保存大型模型的权重,在 NLP 模型中非常常见。

总结

  • .safetensors: 更安全、高效的权重文件格式,适合在对安全性和加载速度有要求的场景下使用。

  • .ckpt: 检查点文件,适合保存和恢复整个训练状态。

  • .pth: PyTorch 标准的权重保存格式,轻量且易于使用。

  • .bin: 通常与 Hugging Face 的 Transformer 模型配合使用,用于保存大型语言模型的权重。

其实如果你不知道用什么后缀的模型,或者同一个模型有两种不同的后缀,一般是优先选择safetensors后缀结尾的模型

1

继续阅读本文相关话题

本文收录于专题

SD教程

共收录篇

查看本专题

AI教程交流群

扫描二维码加入群聊

与同行学习交流&资源共通