🚀 dots1
dots.llm1
シリーズは、大規模なMoEモデルで、総パラメータ142Bのうち14Bを活性化させ、最先端のモデルと同等の性能を発揮します。
  🐶 Hugging Face   |    📄 論文   
💻 デモ   |   💬 WeChat (サポート)   |   📱 rednote  
Hugging Faceのページ(上のリンクをクリック)を訪問し、dots.llm1
で始まるチェックポイントを検索するか、dots1コレクションを訪問すると、必要なすべての情報が見つかります!楽しんでください!
🚀 クイックスタート
Hugging Faceのページを訪問し、dots.llm1
で始まるチェックポイントを検索するか、dots1コレクションを訪問することで、必要な情報を入手できます。
✨ 主な機能
- 高性能なモデル:
dots.llm1
モデルは大規模なMoEモデルで、総パラメータ142Bのうち14Bを活性化させ、最先端のモデルと同等の性能を発揮します。
- 効率的なデータ処理:独自のデータ処理パイプラインを用いて、合成データを使用せずに11.2Tの高品質トークンで事前学習を行い、Qwen2.5 - 72Bと同等の性能を達成します。
- 中間チェックポイントの公開:1兆トークンごとに中間学習チェックポイントをオープンソースで公開し、大規模言語モデルの学習ダイナミクスの研究を促進します。
📦 インストール
モデルのダウンロード
Docker(推奨)
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
}'
💻 使用例
基本的な使用法
テキスト生成
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)
チャット生成
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 serve dots.llm1.inst --port 8000 --tensor-parallel-size 8
OpenAI互換のAPIはhttp://localhost:8000/v1
で利用できます。
SGLangを使用した推論
python -m sglang.launch_server --model-path dots.llm1.inst --tp 8 --host 0.0.0.0 --port 8000
OpenAI互換のAPIはhttp://localhost:8000/v1
で利用できます。
📚 ドキュメント
モデル概要
属性 |
詳情 |
モデルタイプ |
11.2Tトークンで学習された、14Bの活性化パラメータと142Bの総パラメータを持つMoEモデル |
学習段階 |
事前学習とSFT |
アーキテクチャ |
注意レイヤーでQK - Normを用いたマルチヘッドアテンション、128個のルーティングエキスパートのうち上位6個を利用する細粒度MoE、さらに2つの共有エキスパート |
レイヤー数 |
62 |
アテンションヘッド数 |
32 |
サポート言語 |
英語、中国語 |
コンテキスト長 |
32,768トークン |
ライセンス |
MIT |
評価結果
詳細な評価結果はこの📄 レポートに記載されています。
🔧 技術詳細
- データ処理フレームワーク:拡張可能で細粒度な三段階データ処理フレームワークを提案し、大規模で高品質かつ多様な事前学習データを生成します。
- 合成データ不使用:ベースモデルの事前学習には11.2兆の高品質非合成トークンを使用します。
- 性能とコスト効率:推論時には14Bのパラメータのみを活性化するオープンソースモデルで、包括的な機能と高い計算効率を兼ね備えています。
- インフラストラクチャ:インターリーブ1F1Bパイプラインスケジューリングと効率的なグループ化GEMM実装に基づく革新的なMoE全対全通信と計算オーバーラップ手法を導入し、計算効率を向上させます。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
引用
もしdots.llm1
が有用だと感じたり、あなたのプロジェクトで使用したい場合は、以下のように論文を引用してください。
@article{dots1,
title={dots.llm1 Technical Report},
author={rednote-hilab},
journal={arXiv preprint arXiv:TBD},
year={2025}
}