首页 / 资讯中心 / 文章详情

BLS-Mini-Code-1.0的config.json逐字段精讲:一文读懂稀疏MoE模型配置(附参数含义清单)

BLS-Mini-Code-1.0的config.json逐字段精讲:一文读懂稀疏MoE模型配置(附参数含义清单) ★ FEATURED ARTICLE
【免费下载链接】BLS-Mini-Code-1.0项目地址https://ai.gitcode.com/hf_mirrors/CohereLabs/BLS-Mini-Code-1.0点击查看免费下载BLS-Mini-Code-1.0North Mini Code是 Cohere 开源的 30B-A3B 稀疏 MoE 代码模型。打开它的仓库最核心的文件就是 config.json——这个不到百行的 JSON 文件完整定义了模型的层数、专家数、注意力模式与词表规模。本文将 config.json 中的每个字段逐一拆解帮你快速读懂这份稀疏MoE模型配置并附上一份可直接收藏的参数含义清单 。三分钟上手如何阅读这份MoE配置文件阅读 config.json 建议按身份 → 规模 → 注意力 → 专家路由 → 词表五步走看身份model_type和architectures决定用哪个推理框架加载它看规模num_hidden_layers、num_experts等决定显存占用看注意力layer_types数组决定了 256K 长上下文的秘密看路由expert_selection_fn等字段解释3B 激活参数从哪来看词表vocab_size与特殊 token 对应 tokenizer.json。 一个冷知识仓库里还有 generation_config.json其中的bos_token_id、eos_token_id等字段直接继承自 config.json_from_model_config: true所以读懂前者就能读懂后者。第1步确认模型身份——model_type 与 architectures字段值含义model_typecohere2_moe模型家族名推理框架据此选择对应的建模代码architecturesCohere2MoeForCausalLM具体类名因果语言模型decoder-onlydtypebfloat16权重存储精度bf16 是 MoE 大模型的常见选择transformers_version5.8.0生成该配置的框架版本加载时版本过低可能不兼容这 4 个字段出现在 config.json 开头是加载模型前最先需要核对的信息。第2步核心维度——hidden_size 决定模型宽度字段值含义hidden_size2048每个 token 的隐藏向量维度即模型主干宽度num_hidden_layers49Transformer 层数与layer_types数组长度严格一致intermediate_size768每个 MoE 专家内部 FFN 的中间维度单专家较小prefix_dense_intermediate_size3072前置稠密层 FFN 的中间维度比单专家更宽head_dim128每个注意力头的维度num_attention_heads32Query 头数量32 × 128 4096 的 QKV 投影宽度num_key_value_heads4KV 头数量远小于 Q 头说明采用了GQA分组注意力GQA 的含义32 个 Q 头共享 4 组 KV显著降低长上下文下的 KV Cache 显存——这对 256K 上下文模型至关重要。你可以通过num_attention_heads / num_key_value_heads 32 / 4 8验证每 8 个 Q 头共享一组 KV。配套的稳定性参数attention_bias: false线性层不加偏置现代 Transformer 的惯例attention_dropout: 0.0推理时不丢弃注意力权重layer_norm_eps: 1e-05与rms_norm_eps: 1e-06归一化层的数值稳定性常数一般无需改动initializer_range: 0.02预训练时的权重初始化标准差推理阶段无实际作用。第3步注意力策略——layer_types 与滑动窗口这是整份配置里最容易被忽略、却最影响性能的部分。config.json 中layer_types是一个 49 元素的数组模式非常规整full_attention, sliding_attention, sliding_attention, sliding_attention, ...full_attention全局注意力能看到全部上下文sliding_attention滑动窗口注意力只看最近sliding_window 4096个 token。统计下来正好是1 : 3 的全局/滑动交替比例12 层 full 37 层 sliding。这样设计的好处是绝大多数层只处理局部 4K 窗口计算量和显存大幅下降而每隔 4 层插一层全局注意力负责跨段信息聚合。配合max_position_embeddings: 500000的位置上限模型官方支持 256K 上下文与 64K 输出。相关字段一览字段值含义sliding_window4096滑动窗口注意力每层可见的 token 数prefix_dense_sliding_window_pattern1前置稠密区滑动窗口的排布模式系数use_parallel_blocktrue注意力与 FFN 并行分支如 Mixtral 式 Parallel Block加速前向use_parallel_embeddingfalse首尾嵌入层不与第一/最后一层并行共享use_qk_normfalse不启用 Q/K 归一化第4步稀疏MoE的心脏——128专家与sigmoid路由MoEMixture of Experts混合专家是30B 总参、仅 3B 激活的关键每个 token 只经过少数专家而不是全部。字段值含义num_experts128每层 MoE 块中的专家总数num_experts_per_tok8每个 token 激活的专家数top-8num_shared_experts0没有共享专家全部走路由选择expert_selection_fnsigmoid路由器用 sigmoid 给 128 个专家独立打分再取 top-8norm_topk_probfalse不对 top-8 的路由概率重新归一化first_k_dense_replace1前 1 层即第 0 层用稠密 FFN 代替 MoEuse_gated_activationtrue专家 FFN 使用门控激活SwiGLUhidden_actsilu激活函数名SwiGLU 正是基于 SiLUshared_expert_combination_strategyaverage共享专家输出合并策略本模型共享专家数为 0该字段为兼容保留✅用权重索引交叉验证打开 model.safetensors.index.json 可以发现——model.layers.0.mlp只有gate_proj / up_proj / down_proj三个稠密权重而从model.layers.1开始每层出现experts.0到experts.127共128 组专家权重与上面num_experts: 128、first_k_dense_replace: 1完全吻合。该索引文件还显示模型总参数约304.8 亿total_parameters: 30484303872权重切分为 49 个 safetensors 分片。激活参数从哪来每 token 每层激活 8/128 的专家。49 层中 48 层是 MoE粗略一算激活部分正好落在 3B 量级——这就是30B-A3B命名的由来。第5步位置编码与词表——支撑长上下文的地基字段值含义rope_theta50000RoPE 旋转位置编码的基频配合滑动窗口注意力使用rope_scalingnull未启用位置插值/外推缩放max_position_embeddings500000位置编码支持的最大序列长度上限官方标注 256K 上下文vocab_size262144词表大小恰好是 2¹⁸为 256K 词表预留了整数量级logit_scale1.0输出 logit 的缩放系数262144 的词表里绝大多数位置被 BPE 子词占用末尾 255000~255031 区间则集中放了一组特殊 token详见下节。第6步特殊 token 与生成配置字段值对应 tokenbos_token_id2BOS_TOKEN句子起始符eos_token_id255001\|END_OF_TURN_TOKEN\|对话回合结束符pad_token_id0PAD批处理填充符use_cachetrue开启 KV Cache逐 token 生成时必需这些 token 的完整定义可以在 tokenizer_config.json 的added_tokens_decoder中逐一对照比如255000是|START_OF_TURN_TOKEN|、255010/255011是思考标记|START_THINKING|与|END_THINKING|。对话时它们会由 chat_template.jinja 自动组装无需手动拼写。⚠️新手提醒eos_token_id 255001而不是常见的 2 或 0。如果你自己写生成代码务必以 generation_config.json 中的值为准否则模型可能不知道何时停止输出。第7步其余看起来没看懂的字段剩下几个字段属于框架层或训练遗留配置理解概念即可model.safetensors.index.json不是配置而是权重分片索引说明每个张量存在哪个model-0000X-of-00049.safetensors文件里attention_bias: falseattention_dropout: 0.0组合起来表示标准无偏置、无丢弃的注意力layer_norm_epsvsrms_norm_eps分别对应不同归一化层LayerNorm / RMSNorm的 eps数值不同是正常的。附config.json 参数含义速查清单字段值一句话含义architecturesCohere2MoeForCausalLM加载用的模型类model_typecohere2_moe模型家族标识dtypebfloat16权重精度hidden_size2048主干隐藏维度num_hidden_layers49Transformer 层数intermediate_size768单专家 FFN 中间维度prefix_dense_intermediate_size3072稠密层 FFN 中间维度head_dim128注意力头维度num_attention_heads32Q 头数量num_key_value_heads4KV 头数量GQAlayer_types49 项数组每层全量/滑动注意力排布sliding_window4096滑动窗口长度max_position_embeddings500000位置编码上限rope_theta/rope_scaling50000 / nullRoPE 基频 / 无外推缩放num_experts128每层专家总数num_experts_per_tok8每 token 激活专家数num_shared_experts0共享专家数无expert_selection_fnsigmoid路由打分函数norm_topk_probfalsetop-k 概率不归一化first_k_dense_replace1首层为稠密 FFNuse_gated_activationtrueSwiGLU 门控激活hidden_actsilu激活函数use_parallel_blocktrue注意力/FFN 并行分支use_parallel_embeddingfalse嵌入层不并行共享use_qk_normfalse无 QK 归一化attention_bias/attention_dropoutfalse / 0.0无偏置、无注意力丢弃layer_norm_eps/rms_norm_eps1e-05 / 1e-06归一化数值稳定项initializer_range0.02权重初始化标准差vocab_size262144词表大小bos/eos/pad_token_id2 / 255001 / 0特殊 token 编号logit_scale1.0logit 缩放use_cachetrue启用 KV Cacheshared_expert_combination_strategyaverage共享专家合并策略兼容保留prefix_dense_sliding_window_pattern1稠密区窗口模式系数transformers_version5.8.0生成配置的框架版本结语从配置到运行的最后一步读到这里config.json 已经没有秘密了49 层、128 专家 top-8 路由、1:3 交替的滑动窗口注意力、256K 词表、bf16 精度——这些数字拼起来就是30B 总参数、3B 激活、面向智能体编程的完整画像。实际部署时官方推荐的采样参数是temperature1.0, top_p0.95见 README.md 的 Usage 部分配合本文明确的 token 与上下文配置就能把这份稀疏 MoE 模型跑起来了 。赞分享【免费下载链接】BLS-Mini-Code-1.0项目地址https://ai.gitcode.com/hf_mirrors/CohereLabs/BLS-Mini-Code-1.0点击查看免费下载相关推荐SmolDataEnvs数据集字段清单一行读懂question、answer、reward_mode全字段含义SmolDataEnvs数据集字段清单一行读懂question、answer、reward_mode全字段含义 SmolDataEnvs 是一个面向数据分析的数据集强化学习人工智能数据分析Gemma-4 E2B 决策模型配置全参考config.json、joint_head 与 optiq_metadata 逐字段清单Gemma 4 E2B 决策模型配置全参考config.json、joint_head 与 optiq_metadata 逐字段清单 本文带你逐字段读懂 ge大模型微调模型量化ASMv2 config.json全解逐参数读懂多模态大模型的架构配置ASMv2 config.json全解逐参数读懂多模态大模型的架构配置 ASMv2 是 OpenGVLab 开源的 多模态大模型 LLaVA 架构能够上一篇终极指南用OpenCore Legacy Patcher让老Mac焕发新生下一篇TinyFlow快速入门指南5分钟搭建你的第一个神经网络模型创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站