【免费下载链接】Qwen3-235B-A22B-quantized.w8a8
如果你下载过 Qwen3-235B-A22B-quantized.w8a8,面对 48 个 safetensors 分片和一堆配置文件,难免会问:这些文件分别是什么?分片里到底装了哪些权重?本文带你逐一看懂这份 235B 参数、INT8(W8A8)量化 MoE 大模型的文件结构,以及它为什么适合用 vLLM / vLLM-Ascend 在 NPU 上部署。
模型速览:235B 总参数,只激活 22B
打开 config.json 就能确认它的"身份":
| 关键参数 | 值 | 含义 |
|---|---|---|
architectures | Qwen3MoeForCausalLM | Qwen3 MoE 因果语言模型 |
num_hidden_layers | 94 | 共 94 层 Transformer |
num_experts | 128 | 每层有 128 个专家 |
num_experts_per_tok | 8 | 每个 token 只激活 8 个专家 |
hidden_size | 4096 | 隐藏层维度 |
max_position_embeddings | 40960 | 最大上下文 40K |
quantization_config | compressed-tensorsINT8 | W8A8 量化 |
所谓A22B,就是指:虽然总参数量约 235B,但每个 token 推理时只激活约 22B 参数(注意力 + 路由选中的 8 个专家),因此速度接近小模型,能力却接近大模型。
文件清单:一眼看懂每个文件的作用
📁 整个仓库其实就三类文件:模型权重、配置、分词器。
| 文件 | 数量 | 作用 |
|---|---|---|
model-0000X-of-00048.safetensors | 48 | 模型权重分片(正文重点) |
| model.safetensors.index.json | 1 | 权重名 → 分片 的索引映射 |
| config.json | 1 | 模型结构与量化配置 |
| generation_config.json | 1 | 生成参数(temperature=0.6、top_k=20、top_p=0.95 等) |
| tokenizer.json / vocab.json / merges.txt | 3 | 词表与 BPE 合并规则 |
| tokenizer_config.json / special_tokens_map.json / added_tokens.json | 3 | 分词器行为与特殊 token |
| chat_template.jinja | 1 | 对话模板(支持 system/user/assistant 多轮格式) |
| recipe.yaml | 1 | 量化配方(INT8 方案、作用对象) |
| README.md | 1 | 模型卡片与量化说明 |
其中分词器相关文件中,vocab_size为 151936;chat_template.jinja 定义了模型的多轮对话格式,调用时会自动套用。
48个safetensors分片里装了什么?
单个 safetensors 文件不宜过大,通常按约 5GB 切分。235B 的 INT8 权重总体积约 235GB 出头,于是被均匀切成 48 片、每片平均约 5GB。每一片里装的都是完整的"层内组件",而不是被拦腰截断的张量。
按模型结构拆分,48 片合起来正好覆盖:
- 词嵌入层
model.embed_tokens:151936 × 4096,保持 bf16(未量化) - 94 层主干,每层包含:
- 注意力:
q_proj / k_proj / v_proj / o_proj(INT8 量化) - 路由门控
mlp.gate:保持 bf16 不量化,负责为 token 挑选 8 个专家 - 128 个专家:每个专家含
gate_proj / up_proj / down_proj三个矩阵,全部 INT8 量化——这是权重的"大头",占了绝大部分体积 - 两个 LayerNorm(
input_layernorm / post_attention_layernorm)
- 注意力:
- 最终归一化
model.norm - 输出头
lm_head:保持 bf16 未量化
💡 记住一个口诀:注意力和专家矩阵是 INT8(省显存),路由、嵌入和输出头是 bf16(保精度)。
想查某个权重在哪片?看索引文件
model.safetensors.index.json 是一张"总目录":左边是权重张量名,右边是它所在的 safetensors 分片。加载框架正是靠它并行读取 48 个分片、把张量拼回完整模型,这也是大模型必须分片的核心原因——支持多卡并行加载,避免单文件数百 GB 无法管理。
W8A8量化:显存减半的关键
config.json 中的quantization_config与 recipe.yaml 记录了量化细节:
- 方案:
compressed-tensors格式的 INT8(版本 0.12.2),即W8A8—— 权重 8-bit、激活值 8-bit - 量化目标:所有
Linear线性层,策略为 channel 维对称量化 - 排除项:
lm_head和每一层的mlp.gate(路由层对精度敏感,保持原精度)
对比未量化的 BF16 版本(约 470GB 显存),W8A8 版本把权重压到约一半(约 235GB),显存占用近乎减半,同时 8-bit 计算还能显著提速,是 NPU 等场景下部署超大 MoE 模型的常用方案。量化所用的依赖与脚本思路,可参考 README.md。
部署前检查清单 ✅
用 vLLM / vLLM-Ascend 加载前,按这份清单核对即可:
- 分片是否齐全:确认 48 个
model-XXXXX-of-00048.safetensors文件都存在且大小正常(每片约 5GB,而非几百字节的占位文件) - 索引与配置:model.safetensors.index.json、config.json 完整可读
- 分词器五件套:tokenizer.json、tokenizer_config.json、special_tokens_map.json、added_tokens.json、chat_template.jinja 齐全,否则对话格式会错乱
- 显存估算:INT8 权重约 235GB + KV Cache,多卡部署时按每片分片可分配到不同设备
小结
- 48 个分片 = 全部权重的"均分装":94 层的注意力、128×94 个专家矩阵、嵌入与输出头
- W8A8让 235B 模型显存占用减半,是它名字里
quantized.w8a8的含义 - 理解 config.json + model.safetensors.index.json 两个文件,基本就掌握了这份模型的全部结构信息
掌握了这套文件结构,你下载任何分片式 HuggingFace 风格模型时,都能一眼看懂每个文件的角色了。
【免费下载链接】Qwen3-235B-A22B-quantized.w8a8
相关推荐
Qwen3-235B-A22B-W4A8权重文件解码:读懂30个safetensors分片与量化索引文件
Qwen3 235B A22B W4A8权重文件解码:读懂30个safetensors分片与量化索引文件 Qwen3 235B A22B W4A8 是 Qwen
Qwen3-8B-W4A8 模型文件结构全解析:safetensors 分片与 index.json 到底长什么样?
Qwen3 8B W4A8 模型文件结构全解析:safetensors 分片与 index.json 到底长什么样? Qwen3 8B W4A8 是 vllm
10分钟看懂DeepSeek-V4-Flash-0731-w8a8文件结构:75个safetensors分片与quarot文件大揭秘
10分钟看懂DeepSeek V4 Flash 0731 w8a8文件结构:75个safetensors分片与quarot文件大揭秘 正在下载 DeepSeek
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考