将huggingface的大模型转换为safetensor格式

简介: 将huggingface的大模型转换为safetensor格式

很多huggingface的大语言模型都是pytorch的格式,但是mindie需要safetensor格式,另外mindieservice加载原始的baichuan2-13b的模型出错,后来排查是bfloat16数据格式的问题,所以这次转换要一次性转为float16的格式。

上代码:

import argparse
import os
import torch

def parse_arguments():
parser = argparse.ArgumentParser()
parser.add_argument('--model_path',
help="model and tokenizer path",
default='/data/acltransformer_testdata/weights/llama2/llama-2-70b',
)
return parser.parse_args()

def convert_bin2st_from_pretrained(model_path):
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
pretrained_model_name_or_path=model_path,
low_cpu_mem_usage=True,
trust_remote_code=True,
torch_dtype=torch.float16) #这里指定float16格式

#safe_serialization=True会保存为safetensor格式
model.save_pretrained(model_path, safe_serialization=True)

if name == 'main':
args = parse_arguments()

print(f"covert  {args.model_path} into safetensor")
convert_bin2st_from_pretrained(args.model_path)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
使用方式:

python convert.py --model_path /home/model/Baichuan2-13B-Chat/
1
执行完毕后:

ls /home/model/Baichuan2-13B-Chat/ -lh

total 52G
-rw-r--r-- 1 root root 252K May 17 14:25 'Baichuan2 '$'\346\250\241\345\236\213\347\244\276\345\214\272\350\256\270\345\217\257\345\215\217\350\256\256''.pdf'
-rw-r--r-- 1 root root 199K May 17 14:25 'Community License for Baichuan2 Model.pdf'
-rw-r--r-- 1 root root 18K May 17 14:25 README.md
-rw-r--r-- 1 root root 797 Jun 24 10:37 config.json
-rw-r--r-- 1 root root 1.6K May 17 14:25 configuration_baichuan.py
-rw-r--r-- 1 root root 302 Jun 24 10:37 generation_config.json
-rw-r--r-- 1 root root 3.0K May 17 14:25 generation_utils.py
-rw-r--r-- 1 root root 1.1K May 17 14:25 handler.py
-rw-r----- 1 root root 9.3G Jun 24 10:38 model-00001-of-00003.safetensors
-rw-r----- 1 root root 9.3G Jun 24 10:38 model-00002-of-00003.safetensors
-rw-r----- 1 root root 7.4G Jun 24 10:38 model-00003-of-00003.safetensors
-rw-r----- 1 root root 23K Jun 24 10:38 model.safetensors.index.json
-rw-r--r-- 1 root root 33K May 17 14:25 modeling_baichuan.py
-rw-r--r-- 1 root root 9.3G May 17 14:28 pytorch_model-00001-of-00003.bin
-rw-r--r-- 1 root root 9.3G May 17 14:31 pytorch_model-00002-of-00003.bin
-rw-r--r-- 1 root root 7.4G May 17 14:33 pytorch_model-00003-of-00003.bin
-rw-r--r-- 1 root root 24K May 17 14:25 pytorch_model.bin.index.json
-rw-r--r-- 1 root root 9.2K May 17 14:25 quantizer.py
drwxr-xr-x 2 root root 4.0K Jun 24 10:25 safetensor_fp16
-rw-r--r-- 1 root root 574 May 17 14:25 special_tokens_map.json
-rw-r--r-- 1 root root 8.9K May 17 14:25 tokenization_baichuan.py
-rw-r--r-- 1 root root 2.0M May 17 14:25 tokenizer.model
-rw-r--r-- 1 root root 954 May 17 14:25 tokenizer_config.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
可以看到多了safetensor结尾的模型,原来bin后缀的也没删。

看下模型下的config.josn文件,可以看到torch_dtype已经变为float16格式,转换之前这里是bfloat16

相关文章
|
2月前
|
人工智能 自然语言处理 API
阿里云百炼大模型服务平台介绍:百炼是什么、适用场景、使用教程及最新活动
本文介绍2026年升级为“模型工厂+应用引擎”双核心架构的阿里云百炼一站式MaaS大模型平台。平台聚合通义千问全系列及DeepSeek、GLM等150余款主流大模型,覆盖模型调用、微调、知识库构建、智能体开发到应用部署全链路,具备企业级安全合规与灵活计费优势。文中附首次调用千问API实操教程,新用户可领单模型100万Token免费额度,同步最新订阅优惠与限时活动,助力开发者低成本落地AI应用。
|
11月前
|
负载均衡 Docker Python
vLLM-Ascend 安装部署与环境配置指南
vLLM-Ascend 是 vLLM 项目专为华为昇腾 NPU 设计的硬件插件,支持主流大模型与多模态架构,提供高性能推理能力。项目结构清晰,涵盖核心算子、工具脚本与容器化部署方案,兼容单/多节点环境,助力高效构建昇腾上的 AI 推理服务。
5044 1
|
人工智能 运维 Go
对比评测Dify vs Coze:谁才是“AI工作流”的终极答案?
Dify与Coze是两大热门开源低代码AI工作流平台。本文从架构、功能、部署、适用场景等维度全面对比:Dify为集成化Python平台,适合快速开发;Coze采用Go语言微服务架构,灵活性强,支持多Agent协同。助你根据技术栈与业务需求优选方案,还可组合使用实现前后端协同。
|
10月前
|
Windows 自然语言处理
Ollama Modelfile 详细使用手册
想用Ollama打造专属模型?Modelfile就是你的“模型食谱”!本文以做菜为喻,零基础手把手教你写Modelfile:FROM选基模、PARAMETER调温度/记忆、SYSTEM定角色(如马里奥)、TEMPLATE规范格式、MESSAGE给示例。全程无术语,附实操步骤与避坑指南,看完即能创建并运行自己的第一个自定义模型。
|
10月前
|
SQL 安全 Linux
微软补丁星期二发布了 114 个漏洞及相关更新下载
微软补丁星期二发布了 114 个漏洞及相关更新下载
547 2
微软补丁星期二发布了 114 个漏洞及相关更新下载
|
存储 缓存 调度
vLLM 吞吐量优化实战:10个KV-Cache调优方法让tokens/sec翻倍
十个经过实战检验的 vLLM KV-cache 优化方法 —— 量化、分块预填充、前缀重用、滑动窗口、ROPE 缩放、后端选择等等 —— 提升 tokens/sec。
3898 10
|
11月前
|
Linux Docker 容器
docker下部署 vLLM 启动Qwen3-VL-32B-Instruct模型
本文介绍在CentOS系统、A10 6×24G显卡环境下,通过Docker部署vLLM并启动Qwen3-VL-32B-Instruct大模型的完整流程,涵盖镜像拉取、容器配置、多卡并行与显存优化设置,支持32K上下文,附带启动脚本及调用验证示例。
9863 2
|
PyTorch TensorFlow API
大模型中 .safetensors 文件、.ckpt文件、.gguf和.pth以及.bin文件区别、加载和保存以及转换方式
本文讨论了大模型中不同文件格式如`.safetensors`、`.ckpt`、`.gguf`、`.pth`和`.bin`的区别、用途以及如何在TensorFlow、PyTorch和ONNX等框架之间进行加载、保存和转换。
7541 2
|
Linux iOS开发 Python
解决安装flash-attn时的错误报告
记住,程序包安装问题就像个顽皮的谜题,得一步步解开,耐心是解决问题的钥匙,没有什么问题是一顿猛敲键盘解决不了的,如果有,那就两顿。
2919 8