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

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

上代码:

import argparse
import os
import torchdef 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 AutoModelForCausalLMmodel = 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)

使用方式:

python convert.py --model_path /home/model/Baichuan2-13B-Chat/

执行完毕后:

# 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

可以看到多了safetensor结尾的模型,原来bin后缀的也没删。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络:如何隐藏真实的IP和MAC地址?

目录 一、什么是MAC地址二、什么是IP地址三、如何隐藏真实的MAC地址四、如何隐藏真实的IP地址 一、什么是MAC地址 MAC地址,全称为媒体访问控制地址(Media Access Control Address),是一种用于网络通信的唯一标识符。它是由IEEE 8…

PLC网关如何选择?plc网关作用-天拓四方

一、PLC网关在工业自动化领域的重要性和作用 PLC网关在工业自动化领域的重要性和作用不言而喻。作为工业自动化系统的重要组成部分,PLC网关起到了关键的桥梁作用,实现了PLC与其他设备、系统之间的数据传输和通信。 首先,PLC网关的重要性体现…

最像人声的语音合成模型-ChatTTS

目录 写在前面 一、使用ChatTTS 二、优点 三、局限 写在前面 最像人声的AI来了!语音开源天花板ChatTTS火速出圈,3天就斩获9k个star。截至发稿前,已经25.9k个star了。这是专门为对话场景设计的语音生成模型,用于LLM助手对话任务…

搭建抖音微短剧系统:源码部署与巨量广告回传全解析

在数字化浪潮中,抖音微短剧已成为内容创作的新宠。想要搭建一个高效的抖音微短剧系统,并实现与巨量广告的有效回传吗?本文将为您详细解析源码部署与广告回传的关键步骤。 一、源码部署:构建短剧系统的基石 源码是软件开发的起点…

vscode远程连接Ubantu

一、首先用VM虚拟机打开一个Linux系统 二、打开VScode 在扩展里安装 安装后,打开Linux查看IP地址 在VScode 中新建连接主机 输入linux_nameip地址 -A 然后输入Linux的登录密码 就可以远程操控 Linux了 可以在终端中远程控制Linux 点击左上角的打开文件夹可以很…

什么是 Azure OpenAI?

目录 一、说明 二、什么是 Azure OpenAI 2.1 网络结构 2.2 、为什么使用 Azure OpenAI 2.3 如何使用 Azure OpenAI 三、从哪里开始 Azure OpenAI 之旅 3.1 关于 Azure OpenAI,我还需要了解什么 3.2 RBAC 权限和角色 3.3 演示 1:在公共数据上应用…

聚合项目学习

首先建立一个总的工程目录,里边后期会有我们的父工程、基础工程(继承父工程)、业务工程(依赖基础工程)等模块 1、在总工程目录中(open一个空的文件夹),首先建立一个父工程模块(通过spring init…

4面体空间内直链4点结构分布与占比

在30个点的4面体空间内取4个点,有30*29*28*27/2427405种取法,要求得到的4个点必须在直链上。只有144个结构符合要求,在平移操作下不重合的结构有36个。 这36个结构可以按照旋转对称性进一步分成3组0,1,4,每…

Anisble Playbook

文章目录 一、Playbook简介三种常见的数据格式Playbook特点YAML语言介绍 二、Playbook核心组件host组件remote_user组件task列表和action组件gather_factsHandlers notifyignore_errors 三、playbook命令playbook命令tags 标签 四、Playbook中的变量setup模块中的变量Playbook命…

vue3 【提效】自动路由(含自定义路由) unplugin-vue-router 实用教程

不再需要为每一个路由编写冗长的 routes 配置啦,新建文件便可自动生成路由! 使用方法 1. 安装 unplugin-vue-router npm i -D unplugin-vue-router2. 修改 vite 配置 vite.config.ts import VueRouter from unplugin-vue-router/viteplugins 中加入 V…

【Redis一】Redis配置与优化

目录 一.关系型数据库与非关系型数据库 1.关系型数据库 2.非关系型数据库 3.二者区别 4.非关系型数据库产生背景 5.NoSQL与SQL数据记录对比 关系型数据库 非关系型数据库 二.Redis相关概述 1.简介 2.五大数据类型 3.优缺点 3.1.优点 3.2.缺点 4.使用场景 5.采用…

苹果应用Testflight上架完整步聚

1.全部选中下图内容,包含iPhone与iPad屏幕所有旋转方向 2. 准备App图标,一定要有152和167这个尺寸,不然后提交不过 3.1024这个尺寸的的图像不能有透明层,不然提交不通过 4.选中编译设备为Any iOS Device[arm64] 5.选择Product下的Archive进行生成 6.在弹出的窗口中选择Test…

Python之三大基本库——Numpy(2)

接着上次的内容接着讲,连续号都续上哈 七、numpu中random的随机生成函数 以下总结的是比较常用到的函数: 下面分别介绍一下不用的用法: 首先导入创建函数 import numpy as np np.random.seed(666)1、 rand(d0,d1,d2,...,dn):返…

JavaWeb系列三: JavaScript学习 下

文章目录 js数组定义方式数组遍历 js函数函数入门函数使用方式使用方式一使用方式二 函数注意事项函数练习题 定义对象使用object定义使用{}定义 事件onload事件onclick事件失去焦点事件内容发生改变事件表单提交事件静态注册动态注册表单作业 dom对象文档对象模型document对象…

边缘计算VNC智能盒子如何助力HMI设备实现二次开发?

HMI(Human-Machine Interface)又称人机界面,是用户与机器之间交互和通信的媒介。今天带你了解智能盒子如何助力HMI设备实现二次开发? HMI设备被广泛应用在工业自动化中,具有显示设备信息,实时监测&#xf…

python爬虫--scrapy框架

Scrapy 一 介绍 Scrapy简介 1.Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛2.框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非…

GPT-5对普通人有何影响

这篇文章对ChatGPT的使用方法和提问技巧进行了讨论,重点强调了背景信息和具体提问的重要性。文章清晰地传达了如何提高ChatGPT回答的质量,以及个人在使用ChatGPT时的体会和建议。然而,文章在逻辑组织和表达方面还有一些可以改进的地方&#x…

静态库和动态库

1、编译过程 1.预处理:解释并展开源程序当中的所有的预处理指令,此时生成 *.i 文件。 2.编译:词法和语法的分析,生成对应硬件平台的汇编语言文件,此时生成 *.s 文件。 3.汇编:将汇编语言文件翻译为对应处理…

压缩pdf文件大小的方法,如何压缩pdf格式的大小

pdf太大怎么压缩?当你需要通过电子邮件发送一个PDF文件,却发现文件太大无法成功发出时,这些情况下,我们都需要找到一种方法来压缩PDF文件,以便更便捷地进行分享和传输。PDF文件的大小通常与其中包含的图片、图形和文本…

入门JavaWeb之 Response 下载文件

web 服务器接收到客户端的 http 请求 针对这个请求,分别创建一个代表请求的 HttpServletRequest 对象,代表响应的 HttpServletResponse 对象 获取客户端请求过来的参数:HttpServletRequest 给客户端响应一些信息:HttpServletRe…