大模型的文件有哪些?
在大模型仓库(如Hugging Face)中,例如:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files,通常会发现以下几类文件:
- 模型权重文件:存储训练好的模型参数,是模型推理和微调的基础
.pt、.ckpt、.safetensors
- 配置文件:确保模型架构的一致性,使得权重文件能够正确加载
config.json、generation_config.json
- 词汇表文件:保证输入输出的一致性
tokenizer.json、tokenizer_config.json

1、模型权重文件
-
模型权重文件是存储训练好的模型参数,是模型推理和微调的基础 ,常见的有
.pt、.ckpt、.safetensors -
不同的框架(如TensorFlow、PyTorch)使用不同的模型文件格式
例如:- safetensors:适配多种框架,支持transformers库的模型加载
- PyTorch:选择下载
.pt或.bin格式的模型文件。 - TensorFlow:选择下载
.ckpt或.h5格式的模型文件。
1.1 safetensors是什么?
-
.safetensors是由Hugging Face提出的一种新型的模型权重文件格式,有以下特点:- 安全性:
.safetensors采用了加密和校验机制,防止模型文件被篡改或注入恶意代码 - 性能:优化了数据加载和解析速度
- 跨框架支持:有多种深度学习框架的兼容性,便于在不同环境中使用
- 安全性:
-
.safetensors中,大模型可被分为多个部分,格式类似modelname-0001.safetensors、modelname-0002.safetensors -
model.safetensors.index.json是索引文件,记录了模型的各个部分的位置和大小信息
2、配置文件
config.json、generation_config.json
2.1 config.json
config.json包含模型的配置信息(如模型架构、参数设置等),可能包含隐藏层的数量、每层的神经元数、注意力头的数量等config.json的基本结构如下:
{"architectures": ["LlamaForCausalLM"],"hidden_act": "silu","hidden_size": 8192,"num_hidden_layers": 80,"max_position_embeddings": 8192,"model_type": "llama","num_attention_heads": 64,"vocab_size": 128256,......
}
- 例如
architectures字段指定了模型的架构,hidden_act字段指定了隐藏层的激活函数,hidden_size字段指定了隐藏层的神经元数 num_attention_heads字段指定了注意力头的数量,max_position_embeddings字段指定了模型能处理的最大输入长度等
2.2 generation_config.json
generation_config.json是用于生成文本的配置文件,包含了生成文本时的参数设置,如max_length、temperature、top_k等generation_config.json的基本结构如下:
{"bos_token_id": 128000,"eos_token_id": 128001,"do_sample": true,"temperature": 0.6,"max_length": 4096,"top_p": 0.9,"transformers_version": "4.40.0.dev0"
}
- 例如
bos_token_id字段指定了开始标记的ID,eos_token_id字段指定了结束标记的ID,do_sample字段指定了是否使用采样,temperature字段用于控制生成文本的随机性,max_length字段指定了生成文本的最大长度,top_p字段指定了采样的概率等 config.json和generation_config.json都可能包含"bos_token_id"(Beginning of Sequence Token ID)和"eos_token_id"(End of Sequence Token ID)。在config.json中,这两个字段用于模型的加载和训练,而在generation_config.json中,这两个字段用于生成文本时的参数设置config.json提供模型的基本信息,而generation_config.json则细化为生成任务的具体需求
3、词汇表文件
词汇表文件包含了模型使用的词汇表或标记器信息,是自然语言处理模型理解和生成文本的基础。
tokenizer.json、tokenizer_config.json
3.1 tokenizer.json
tokenizer.json包含了模型使用的词汇表信息,如词汇表的大小、特殊标记的ID等tokenizer.json的基本结构如下:
{"version": "1.0","truncation": {"max_length": 128,"strategy": "longest_first"},"padding": {"side": "right","pad_id": 0,"pad_token": "[PAD]"},"added_tokens": [{"id": 128010,"content": "[CUSTOM]"}],"normalizer": {"type": "NFD","lowercase": true,"strip_accents": true},"pre_tokenizer": {"type": "ByteLevel","add_prefix_space": true},"post_processor": {"type": "AddSpecialTokens","special_tokens": {"cls_token": "[CLS]","sep_token": "[SEP]"}},"decoder": {"type": "ByteLevel"},"model": {"type": "BPE",...}
}
- 其中
truncation是定义截断策略,用于限制输入序列的最大长度,padding用于统一输入序列的长度,added_tokens列出分词器额外添加到词汇表中的特殊标记或自定义标记 normalizer用于定义文本标准化的步骤和规则,用于在分词前对输入文本进行预处理,pre_tokenizer定义分词器如何将输入文本分割为初步的tokens,post_processor定义分词后处理的步骤decoder定义如何将tokens ID 序列解码回原始文本,model定义了分词器的模型信息,如词汇表、合并规则(对于 BPE)等
3.2 tokenizer_config.json
tokenizer_config.json是用于生成文本的配置文件,包含了生成文本时的参数设置,如max_length、temperature、top_k等tokenizer_config.json的基本结构如下:
{"added_tokens_decoder": [],"bos_token": "begin_of_text |>","clean_up_tokenization_spaces": true,"eos_token": "<|end_of_text|>","model_input_names": ["input_ids", "attention_mask"],"model_max_length": 1000000,"tokenizer_class": "PreTrainedTokenizerFast"
}
- 其中
added_tokens_decoder定义分词器在解码(将 token ID 转换回文本)过程中需要额外处理的特殊标记或自定义标记 bos_token、eos_token定义开始、结束标记,clean_up_tokenization_spaces定义了是否清除分词后的多余空格等tokenizer.json和tokenizer_config.json的区别:tokenizer.json侧重于分词器的训练和加载,而tokenizer_config.json更侧重于生成文本时的参数设置
为什么很多模型都没有 vocab.txt 了?现代分词器采用了更为丰富和灵活的文件格式,如 tokenizer.json,以支持更复杂的分词策略和特殊标记处理
相关文章:
大模型的文件有哪些?
在大模型仓库(如Hugging Face)中,例如:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files,通常会发现以下几类文件: 模型权重文件:存储训练好的模型参数,是模型推理和微调…...
QT 国际化(翻译)
QT国际化(Internationalization,简称I18N)是指将一个软件应用程序的界面、文本、日期、数字等元素转化为不同的语言和文化习惯的过程。这使得软件能够在不同的国家和地区使用,并且可以根据用户的语言和地区提供本地化的使用体验。…...
C 进阶 — 指针的使用
C 进阶 — 指针的使用 主要内容 1、字符指针 2、数组指针 3、指针数组 4、数组传参和指针传参 5、函数指针 6、函数指针数组 7、指向函数指针数组的指针 8、 回调函数 9、指针和数组练习题 前节回顾 1、指针就是个变量,用来存放地址,地址唯一…...
【经验分享】容器云运维的知识点
最近忙于备考没关注,有次点进某小黄鱼发现首页出现了我的笔记还被人收费了 虽然我也卖了一些资源,但我以交流、交换为主,笔记都是免费给别人看的 由于当时刚刚接触写的并不成熟,为了避免更多人花没必要的钱,所以决定公…...
MFC学习笔记专栏开篇语
MFC,是一个英文简写,全称为 Microsoft Foundation Class Library,中文翻译为微软基础类库。它是微软开发的一套C类库,是面向对象的函数库。 微软开发它,是为了给程序员提供方便,减少程序员的工作量。如果没…...
电子科技大学《高级算法设计与分析》期末复习问题汇总(客观题-选择题、判断题)
电子科技大学《高级算法设计与分析》问题汇总_已知背包问题的动态规划算法时间复杂度为o(nw),其中n为物品数目,w为背包容量。请-CSDN博客 转载自上面这个链接,古希腊掌管成电专业课的神!!为了防止他的链接失效,自己也转存一份 &…...
GPTcelltype——scRNA-seq注释
#安装包 install.packages("openai") remotes::install_github("Winnie09/GPTCelltype") #填写API Sys.setenv(OPENAI_API_KEY your_openai_API_key) #加载包 #Load packages library(GPTCelltype) library(openai) #准备文件 #Assume you have already r…...
AI与大数据的深度结合:驱动决策的革命性力量
引言:数字时代的决策挑战 在这个信息爆炸的数字时代,数据早已渗透到我们生活的方方面面。全球每天产生的数据量呈指数级增长,无论是用户的消费行为、设备的运行状态,还是社会热点的实时动态,这些信息的规模和复杂性前所…...
Java多线程与线程池技术详解(九)
面对苦难的态度:《病隙碎笔》“不断的苦难才是不断地需要信心的原因,这是信心的原则,不可稍有更动。” 孤独与心灵的成长:《我与地坛》“孤独的心必是充盈的心,充盈得要流溢出来要冲涌出去,便渴望有人呼应他…...
【常考前端面试题总结】---2025
React fiber架构 1.为什么会出现 React fiber 架构? React 15 Stack Reconciler 是通过递归更新子组件 。由于递归执行,所以更新一旦开始,中途就无法中断。当层级很深时,递归更新时间超过了 16ms,用户交互就会卡顿。对于特别庞…...
什么是大语言模型(LLM)
1. 什么是大语言模型(LLM)? LLM 是一种基础模型(Foundation Model)的实例。 基础模型的特点: 使用大量未标注的自监督数据进行预训练。通过学习数据中的模式,生成具有普适性和可适应性的输出…...
柚坛工具箱Uotan Toolbox适配鸿蒙,刷机体验再升级
想要探索智能设备的无限可能?Uotan Toolbox(柚坛工具箱)将是您的得力助手。这款采用C#语言打造的创新型开源工具箱,以其独特的设计理念和全面的功能支持,正在改变着用户与移动设备互动的方式。 作为一款面向专业用户的…...
supervisor使用详解
参考文章: Supervisor使用详解 Supervisor 是一个用 Python 编写的客户端/服务器系统,它允许用户在类 UNIX 操作系统(如 Linux)上监控和控制进程。Supervisor 并不是一个分布式调度框架,而是一个进程管理工具&#x…...
win11电源设置在哪里?控制面板在哪里?如何关闭快速启动?
不知道微软咋想的,从win10(win8)开始搞事情,想把windows娱乐化。 娱乐化的特点就是只照顾傻子不考虑专家,系统设置统统藏起来,开机即用——也只能那么用。 搞两套界面做不到吗? win11非常头疼的…...
【论文阅读笔记】One Diffusion to Generate Them All
One Diffusion to Generate Them All 介绍理解 引言二、相关工作三、方法预备知识训练推理实现细节训练细节 数据集构建实验分结论附录 介绍 Paper:https://arxiv.org/abs/2411.16318 Code:https://github.com/lehduong/onediffusion Authors࿱…...
SpringCloud和Nacos的基础知识和使用
1.什么是SpringCloud 什么是微服务? 假如我们需要搭建一个网上购物系统,那么我们需要哪些功能呢?商品中心、订单中心和客户中心等。 当业务功能较少时,我们可以把这些功能塞到一个SpringBoot项目中来进行管理。但是随…...
人工智能技术的深度解析与推广【人工智能的应用场景】
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默, 忍不住分享一下给大家。点击跳转到网站 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把…...
md5sum -c
md5sum -c xxx 命令用于验证文件的 MD5 校验和是否匹配。具体来说,-c 选项告诉 md5sum 命令去读取指定文件(通常是一个包含 MD5 校验和的文件),并与实际文件的 MD5 校验和进行比较。 工作原理: 生成校验和文件&#x…...
excel使用笔记
1.工作表1计算工作表2某列的和 假设我们有两个工作表,分别命名为“Sheet1”和“Sheet2”,我们想要求和这两个工作表中A1到A**单元格的数据,可以在任意一个工作表的单元格中输入以下公式: SUM(Sheet1!A1:A10, Sheet2!A1:A10) SUM…...
keepalived+nginx实现web高可用
目录 高可用集群搭建 Keepalived+nginx实现web高可用 一.节点规划 二.基础准备 1.修改主机名 2.关闭防火墙和selinux服务 三.用keepalived配置高可用 1.安装nginx服务 2.修改nginx配置文件 3.启动nginx 4.访问nginx 5.安装keepalived服务 6.编辑配置文件…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
