小红书开源混合专家模型速览:dots.llm1.inst
小红书开源混合专家模型速览:dots.llm1.inst
dots.llm1 模型详解
一、引言
dots.llm1 模型是由小红书 rednote 团队开发的大型 MoE(专家混合)模型。该模型在 142B 总参数中激活 14B 参数,通过精心设计的数据处理流程,在 11.2T 高质量非合成数据预训练后,性能媲美 Qwen2.5-72B 等先进模型。为推动研究发展,团队开源了每万亿 token 的中间训练检查点,为大型语言模型的学习动态研究提供了宝贵资料。
二、模型概述
(一)模型规格
-
类型 :MoE 模型,142B 总参数,推理时激活 14B 参数。
-
训练阶段 :包括预训练和监督微调(SFT)。
-
架构 :采用多头注意力机制,注意力层使用 QK-Norm;细粒度 MoE 实现从 128 个路由专家中选取前 6 个加上 2 个共享专家。
-
层数 :共 62 层。
-
注意力头数 :32 个。
-
支持语言 :英语、中文。
-
上下文长度 :32,768 token。
-
许可协议 :MIT 协议。
(二)模型亮点
-
增强数据处理 :提出可扩展的三阶段数据处理框架,为预训练生成大规模、高质量且多样化的数据。
-
预训练无合成数据 :基础模型预训练使用了 11.2 万亿高质量非合成 token。
-
性能与成本效率 :开源模型推理时仅激活 14B 参数,兼具全面能力和高计算效率。
-
创新基础设施 :引入基于交错 1F1B 管道调度和高效分组 GEMM 实现的 MoE 全局通信与计算重叠方案,提升计算效率。
-
开放模型动态访问 :发布每 1T token 训练的中间模型检查点,助力大型语言模型学习动态的未来研究。
三、使用示例
(一)模型下载
提供 dots.llm1.base 和 dots.llm1.inst 两种模型的下载链接,均托管于 Hugging Face 平台,总参数为 142B,激活参数为 14B,上下文长度均为 32K。
(二)Docker 部署(推荐)
基于 Docker Hub 官方镜像,通过 vllm 启动服务器,命令如下:
docker run --gpus all \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-p 8000:8000 \
--ipc=host \
rednotehilab/dots1:vllm-openai-v0.9.0.1 \
--model rednote-hilab/dots.llm1.inst \
--tensor-parallel-size 8 \
--trust-remote-code \
--served-model-name dots1
验证模型运行成功的示例:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "dots1",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Who won the world series in 2020?"}
"max_tokens": 32,
"temperature": 0
(三)Hugging Face 推理
正在推进将模型整合到 Transformers 中(PR #38143)。文本补全和聊天补全的代码示例如下:
文本补全
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
model_name = "rednote-hilab/dots.llm1.base"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype=torch.float16)
text = "An attention function can be described as mapping a query and a set of key-value "
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs.to(model.device), max_new_tokens=100)
result = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(result)
聊天补全
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, GenerationConfig
model_name = "rednote-hilab/dots.llm1.inst"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, device_map="auto", torch_dtype=torch.float16)
messages = [
{"role": "user", "content": "Write a piece of quicksort code in C++"}
]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device), max_new_tokens=200)
result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=True)
print(result)
(四)vLLM 推理
vLLM 是高吞吐量、内存高效的 LLM 推理和 serving 引擎。官方支持该功能的 PR 为 #18254。启动命令如下:
vllm serve dots.llm1.inst --port 8000 --tensor-parallel-size 8
OpenAI 兼容 API 可在http://localhost:8000/v1访问。
(五)SGLang 推理
SGLang 是大型语言模型和视觉语言模型的快速 serving 框架。官方支持该功能的 PR 为 #6471。启动服务器命令如下:
python -m sglang.launch_server --model-path dots.llm1.inst --tp 8 --host 0.0.0.0 --port 80
OpenAI 兼容 API 可在http://localhost:8000/v1访问。
四、评估结果
详细的评估结果报告在 论文链接 中有详细说明。
五、核心技术汇总

更多推荐

所有评论(0)