SuperAPI AI 工具集

nanowhale

nanowhale 是 Hugging Face 开源的微型语言模型项目,使用 DeepSeek-V4 架构从零训练,参数量约 1.1 亿。仓库包含预训练与微调所需的全部代码、配置和分词器。模型在微型规模下实现了 DeepSeek-V4 的完整特性,包括多头潜在注意力(MLA)、混合专家(MoE)、超连接(Hyper-Connections)和多令牌预测(MTP)。适合研究、学习或实验 DeepSeek 架构的小规模实现。

访问官网

工具介绍

nanowhale 是 Hugging Face 在 GitHub 上开源的一个语言模型项目,其核心是一个约 1.1 亿参数的语言模型,完全从零开始训练,采用 DeepSeek-V4 架构。该仓库提供了预训练和微调该模型所需的全部代码、配置文件以及分词器,方便研究者复现或在此基础上进行实验。

在架构上,该项目在微型规模下实现了 DeepSeek-V4 的完整特性集。多头潜在注意力(MLA)采用 8 个注意力头、1 个 KV 头(即 MQA),head_dim 为 96(其中 32 维用于 RoPE,64 维用于 NoPE),q_lora_rank 为 160。混合专家(MoE)包含 4 个路由专家和 1 个共享专家,使用 top-2 路由策略,SwiGLU FFN 的维度为 640。此外,模型还实现了超连接(Hyper-Connections),hc_mult=4,并使用 Sinkhorn 路由(迭代 2 次)。多令牌预测(MTP)包含 1 个下一令牌预测层。

训练方面,仓库提供了预训练和 SFT(监督微调)的结果。预训练在 FineWeb-Edu 数据集上进行了 5,000 步,SFT 在 SmolTalk 数据集上进行了 3,000 步。评估指标为在留出英文文本上的困惑度(Perplexity)。

该模型有两个需要注意的限制。其一,在 bf16 精度下,模型会产生 NaN(非数值),原因是超连接架构产生的数值会超出 bf16 的表示范围,因此推理和训练都应使用 fp32 精度。其二,由于自定义架构,from_pretrained 方法会重新初始化部分权重,官方建议使用手动 load_state_dict 方式加载权重(具体示例见模型卡片)。另外,129K 词表的嵌入表占用了全部参数的 37%,这在一定程度上限制了模型的语言建模容量,这也是小模型搭配大词表带来的固有约束。

总体而言,nanowhale 适合对 DeepSeek-V4 架构感兴趣、希望在小规模模型上学习和实验的研究者或开发者。使用方式上,需要克隆仓库并参考其中的代码、配置和模型卡片进行训练或推理,注意遵循 fp32 精度和手动加载权重的要求。