rednote-hilab/dots.llm1.base
dots.llm1は、Hugging FaceプラットフォームでホストされているXiaohongshuによってオープンソース化された最初の大きな言語モデルです。dots.llm1は11.2兆の非合成高品質コーパスを用いて学習され、中国語テストでは平均91.3のスコアを記録し、DeepSeek V2、V3、Ali Qwen2.5シリーズを上回った。32,768トークンの超長文コンテクストをサポートしており、テキスト生成や対話などのタスクに適しています。このページでは、開発者が統合して研究できるように、モデルの重み、設定ファイル、使用例を提供しています。
機能一覧
- 対話、記事の続き、コード生成のための高品質のテキストを生成します。
- MoEアーキテクチャを使用することで、推論に必要なパラメータはわずか140億個となり、計算コストが削減される。
- 非常に長いコンテキストの32,768トークンをサポートし、長い文書や複雑なタスクの処理に適しています。
- モデルのトレーニングダイナミクスの研究に役立つ、1兆トークンごとのトレーニングチェックポイントを提供。
- 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.ハギング・フェイス・トランスフォーマーの使用
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兆トークンごとに中間チェックポイントを提供する。dots1
MoEモデルのトレーニングプロセスを分析するための集団ダウンロード。
モデル建築の特徴
dots.llm1は、フィードフォワードネットワークをMoEに置き換えた一方向デコーダTransformerアーキテクチャを採用しており、128個のルーティングエキスパートと2個の共有エキスパートを含んでいる。入力マーカーごとに6つのルーティングエキスパートと2つの共有エキスパートが動的に選択され、合計8つのエキスパートネットワークが活性化される。このモデルは、データ関係の捕捉を最適化するためにSwiGLU活性化関数を使用する。注意層はRMSNorm正規化と組み合わせたマルチヘッド注意メカニズム(MHA)を使用し、数値的安定性を向上させる。負荷分散戦略は、動的バイアス項によってエキスパートネットワークの使用量を最適化する。
ほら
- 最低8GBのビデオメモリを搭載したGPUを推奨。
- モデル重量は約4GBで、ダウンロードには安定したネットワークが必要です。
- 利用する
torch.bfloat16
パフォーマンスを最適化し、ハードウェアの互換性をチェックします。 - 中国語の課題は素晴らしいが、対話を最適化するためにプロンプトを調整する必要がある。
アプリケーションシナリオ
- 学術研究
研究者は、中間チェックポイントを分析して、MoEアーキテクチャのトレーニングダイナミクスとパラメータ効率を調べることができる。 - コンテンツ制作
ライティングツールにモデルを統合し、記事、レポート、技術文書のドラフトを作成する。 - 対話システム
長い文脈の対話をサポートする接客ロボットや教育アシスタントを開発する。 - コードアシスト
開発者がアルゴリズムやスクリプトを素早く書けるように、コードスニペットを生成します。
品質保証
- dots.llm1.baseとinstバージョンの違いは?
BASEバージョンはテキスト補完に適しており、INSTバージョンは対話機能を最適化するためのコマンドで微調整されている。 - どうすれば推論コストを削減できるのか?
MoEアーキテクチャは、vLLMとDockerを組み合わせてリソースの使用を最適化することで、140億のパラメーターだけをアクティブにする。 - 対応言語は?
主に中国語と英語をサポートし、コンテキストの長さは32,768トークンです。 - トレーニング・データを高品質にするには?
11.2兆の非合成コーパスを使用し、高品質のコンテンツは3層の処理パイプラインでフィルタリングされる。