【小红书拥抱开源】小红书开源大规模混合专家模型——dots.llm1

dots.llm1模型是一个大规模混合专家模型(MoE),在总计1420亿参数中激活140亿参数,其性能与最先进模型相当。通过我们精心设计的高效数据处理流程,dots.llm1在预训练11.2万亿高质量token(未使用合成数据)后,性能已可比拟Qwen2.5-72B。为促进进一步研究,我们每训练1万亿token就会开源中间检查点,为大型语言模型的学习动态研究提供宝贵洞见。

模型概要

该仓库包含基础版和指令微调版的dots.llm1模型,具有以下特性:

  • 类型:采用混合专家(MoE)架构的模型,激活参数140亿,总参数量1420亿,训练数据量11.2万亿token
  • 训练阶段:预训练与监督微调(SFT)
  • 架构:注意力层采用多头注意力机制与QK标准化,细粒度MoE结构从128个路由专家中动态选择前6个,另含2个共享专家
  • 层数:62
  • 注意力头数:32
  • 支持语言:英语、中文
  • 上下文长度:32,768个token
  • 许可协议:MIT

dots.llm1的核心亮点包括:

  • 增强的数据处理框架:我们提出可扩展且细粒度的三阶段数据处理框架,专门用于生成大规模、高质量且多样化的预训练数据。
  • 预训练阶段零合成数据:基础模型预训练使用了11.2万亿个真实场景产生的高质量文本标记(token)。
  • 性能与成本效率:该开源模型推理时仅激活140亿参数,兼具全面能力与高效计算特性。
  • 基础设施创新:基于交错式1F1B流水线调度技术,我们研发了创新的混合专家全互联通信与计算重叠方案,配合高效分组GEMM实现显著提升计算效率。
  • 模型动态开放研究:每训练1万亿标记即发布中间模型检查点,为大型语言模型学习机制研究提供宝贵资源。

Example Usage

模型下载

模型 参数总量 激活参数量 上下文长度 下载链接
dots.llm1.base 142B 14B 32K 🤗 Hugging Face
dots.llm1.inst 142B 14B 32K 🤗 Hugging Face

Docker (推荐)

Docker镜像基于官方镜像构建,可在Docker Hub获取。

您可以通过vllm启动服务器。

shell 复制代码
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

那么您可以通过以下方式来验证模型是否成功运行。

shell 复制代码
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
    }'

使用HuggingFace进行推理

我们正在努力将其合并到Transformers库中(PR #38143)。

文本补全
python 复制代码
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.bfloat16)

text = "An attention function can be described as mapping a query and a set of key-value pairs to an output, where the query, keys, values, and output are all vectors. The output is"
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)
聊天
python 复制代码
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.bfloat16)

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 是一个面向大语言模型的高吞吐量且内存高效的推理与服务引擎。PR #18254 中提供了对该功能的官方支持。

shell 复制代码
vllm serve dots.llm1.inst --port 8000 --tensor-parallel-size 8

OpenAI兼容API将提供在http://localhost:8000/v1.

使用sglang进行推理

SGLang 是一个用于大型语言模型和视觉语言模型的快速服务框架。SGLang可用于启动具有OpenAI兼容API服务的服务器。该功能的官方支持包含在PR #6471中。

只需运行以下命令即可开始使用:

shell 复制代码
python -m sglang.launch_server --model-path dots.llm1.inst --tp 8 --host 0.0.0.0 --port 8000

A一个OpenAI兼容的API将在 http://localhost:8000/v1.

相关推荐
YYXZZ。。43 分钟前
PyTorch——搭建小实战和Sequential的使用(7)
人工智能·pytorch·python
四川兔兔1 小时前
pytorch 与 张量的处理
人工智能·pytorch·python
tonngw4 小时前
【Mac 从 0 到 1 保姆级配置教程 16】- Docker 快速安装配置、常用命令以及实际项目演示
macos·docker·容器·开源·github·docker desktop·orbstack
AI蜗牛之家4 小时前
Qwen系列之Qwen3解读:最强开源模型的细节拆解
人工智能·python
王上上4 小时前
【论文阅读30】Bi-LSTM(2024)
论文阅读·人工智能·lstm
殇者知忧4 小时前
【论文笔记】若干矿井粉尘检测算法概述
深度学习·神经网络·算法·随机森林·机器学习·支持向量机·计算机视觉
YunTM5 小时前
贝叶斯优化+LSTM+时序预测=Nature子刊!
人工智能·机器学习
舒一笑6 小时前
智能体革命:企业如何构建自主决策的AI代理?
人工智能
丁先生qaq7 小时前
热成像实例分割电力设备数据集(3类,838张)
人工智能·计算机视觉·目标跟踪·数据集