rednote-hilab/dots.llm1.base
是小红书开源的首个大语言模型dots.llm1,托管于Hugging Face平台。模型采用混合专家(MoE)架构,拥有1420亿参数,推理时仅激活140亿参数,兼顾高性能与低成本。dots.llm1使用11.2万亿非合成高质量语料训练,在中文测试中平均得分91.3,超越DeepSeek V2、V3及阿里Qwen2.5系列。支持32,768令牌超长上下文,适合文本生成、对话等任务。页面提供模型权重、配置文件及使用示例,方便开发者集成与研究。
功能列表
- 生成高质量文本,适用于对话、文章续写和代码生成。
- 使用MoE架构,推理仅激活140亿参数,降低计算成本。
- 支持32,768令牌超长上下文,适合处理长文档或复杂任务。
- 提供每1万亿token的训练检查点,助力研究模型训练动态。
- 支持Docker和vLLM部署,优化高吞吐量推理场景。
- 集成Hugging Face Transformers,提供Python代码示例。
- 优化中文处理能力,测试得分超越多个主流开源模型。
使用帮助
安装与部署
要使用dots.llm1.base,需准备支持GPU的计算环境(推荐至少8GB显存)。以下是详细部署步骤:
1. 通过Docker部署
Docker是官方推荐的部署方式,支持GPU加速和高吞吐量推理。步骤如下:
- 确保安装Docker和NVIDIA Container Toolkit。
- 拉取并运行Docker镜像:
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.base \
--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": "What is MoE in AI?"}
],
"max_tokens": 32,
"temperature": 0
}'
成功返回表明服务运行正常。
2. 使用Hugging Face Transformers
若不使用Docker,可通过Python加载模型:
- 安装依赖:
pip install transformers torch
- 加载模型和分词器:
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 = "人工智能中的MoE架构是什么?"
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)
3. 使用vLLM进行高吞吐量推理
vLLM适合大规模推理场景。安装vLLM后运行:
vllm serve rednote-hilab/dots.llm1.base --port 8000 --tensor-parallel-size 8
主要功能操作
文本生成
dots.llm1.base擅长生成连贯文本,适合学术写作、文章续写等。操作步骤:
- 准备输入文本,如技术文档或问题描述。
- 使用Python代码或Docker服务,设置
max_new_tokens
控制输出长度。 - 检查输出内容,确保逻辑连贯。
对话任务
通过提示工程,模型可实现对话功能。示例:
messages = [{"role": "user", "content": "讲解MoE架构的核心原理。"}]
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)
研究训练动态
模型提供每1万亿token的中间检查点,研究人员可从Hugging Face的dots1
集合下载,分析MoE模型训练过程。
模型架构特点
dots.llm1采用单向解码器Transformer架构,替换前馈网络为MoE,包含128个路由专家和2个共享专家。每输入标记动态选择6个路由专家和2个共享专家,总计激活8个专家网络。模型使用SwiGLU激活函数,优化数据关系捕捉。注意力层采用多头注意力机制(MHA)结合RMSNorm归一化,提升数值稳定性。负载平衡策略通过动态偏置项优化专家网络使用率。
注意事项
- 推荐使用GPU,显存至少8GB。
- 模型权重约4GB,需稳定网络下载。
- 使用
torch.bfloat16
优化性能,检查硬件兼容性。 - 中文任务表现优异,但需调整提示以优化对话效果。
应用场景
- 学术研究
研究人员可分析中间检查点,探索MoE架构的训练动态和参数效率。 - 内容创作
集成模型到写作工具,生成文章、报告或技术文档草稿。 - 对话系统
开发客服机器人或教育助手,支持长上下文对话。 - 代码辅助
生成代码片段,辅助开发者快速编写算法或脚本。
QA
- dots.llm1.base与inst版本的区别?
base版适合文本补全,inst版经指令微调,优化对话能力。 - 如何降低推理成本?
MoE架构仅激活140亿参数,结合vLLM和Docker优化资源使用。 - 支持哪些语言?
主要支持中文和英文,上下文长度达32,768令牌。 - 训练数据如何保证高质量?
使用11.2万亿非合成语料,通过三级处理流水线筛选高质量内容。