DeepSeek-V3.1は、思考型/非思考型のハイブリッドMoE言語モデル(合計671B、トークンあたり約37B)で、適切なプロバイダ/量子化ツールとツールを使用すればローカルで実行できます。以下では、DeepSeek-V3.1とは何か、ハードウェア/ソフトウェア要件、ローカル実行のステップバイステップチュートリアル(Ollama + llama.cppの例)、そしてその方法について説明します。 思考モードを展開して使用する ( <think>/</think> コピー/貼り付けできるコード例付きのチャットテンプレートです。
DeepSeek-V3.1とは何ですか?
DeepSeek-V3.1は、DeepSeekのMoE(Mixture-of-Experts)ファミリーのv3.1リリースです。XNUMXつの会話テンプレート/モードをサポートするハイブリッド推論モデルとして設計されています。 考え および 非思考 — チャットテンプレートを変更することで、同じチェックポイントからモデルを生成できます。モデルアーキテクチャはDeepSeek-V3 MoE設計(合計671Bのパラメータ、推論のためにトークンごとに約37Bのパラメータが有効化)を踏襲しており、ツールの使用、エージェントのスキル、およびロングコンテキスト処理に関するトレーニング後の改善が追加されています。
機能のハイライト
- ハイブリッド 思考/非思考 モード(チャット テンプレートのトークン化によって切り替えられます)。
- MoE アーキテクチャ: パラメータの合計数は多いが、トークンあたりのアクティブ化パラメータは制限されている (効率性を高める)。
- ツール呼び出しとエージェント ワークフローのトレーニング後のブースト (モデル アセットに文書化されたツール呼び出し形式とエージェント テンプレート)。
DeepSeek-V3.1 をローカルで実行するには何が必要ですか?
ランニング 全体像を DeepSeek-V3.1(生のチェックポイント)は重量級で、トレーニング/チェックポイントの保存と推論オーケストレーションは容易ではありません。しかし、実用的な方法があります。
Hardware
- 完全分散推論(研究/クラスター): 複数の大容量メモリGPU(A100/H800クラス)またはモデル並列処理機能を備えたGPUクラスター(600B以上のチェックポイントで一般的)。本番環境の研究用クラスターを実行している場合にのみ使用してください。
- 実用的なローカルオプション: 使用 アクティブ化パラメータ パースペクティブ(アクティブ化メモリ容量約37B)または量子化GGUF/1ビットダイナミックビルドのいずれかです。コミュニティ量子化(1ビットダイナミック/GGUF)は、ディスクとRAMの要件を大幅に削減します。例えば、コミュニティの投稿では、量子化バリアントで720GBのチェックポイントを約170GBのGGUFに圧縮したという報告があります。これにより、十分なリソースを備えたデスクトップ/サーバーであれば、ローカルの単一サーバーGPU推論が可能になります。
ボトムライン: 大規模モデルのワークフロー(量子化されたアーティファクト用の数十から数百 GB のディスク)を想定しています。GPU VRAM の場合、量子化されたバリアントを使用し、妥当なスループットを得るために 24~48 GB 以上の VRAM をターゲットにします。それ以外の場合は、パフォーマンスとのトレードオフを伴い CPU+スワップを使用します。
ソフトウェアとツール
Python 3.10+ (トランスフォーマー/トークナイザー ツールおよびカスタム スクリプト用)。
transformers (トークナイザーとヘルパー関数用) — モデルカードには、 transformers.AutoTokenizer.
1 つ以上のローカル推論ランタイム:
- オラマ (簡単:
ollama pull/ollama run統合。Ollama 上の一部の DeepSeek ビルドにはプレリリース バージョンが必要です。model/ollama の注記を確認してください。Ollama はコミュニティ モデルの標準的なローカル ランナーとなっています。 - llama.cpp / ggml スタックまたは
llama-serverGGUF 量子化ファイル用 — 直接 GGUF 実行に最適です。 - テキスト生成推論 / Triton / FlashAttention スタック より高性能な GPU 推論 (高度な設定) 向け。
ディスク: モデル ファイル用の大きな空き領域 (量子化に応じて数十 → 数百 GB)。
モデル成果物(取得するファイル)
- 公式セーフテンソル / BF16 / FP8 / GGUFバリアント:Hugging FaceはV3.1モデルのアーティファクトと多重量子化をホストしています。GGUF/量子化ファイルが必要な場合は、
llama.cppコミュニティ量子化リリース(または safetensors → GGUF からの変換スクリプト)を探します。モデル カードには量子化されたバリアントがリストされます。
ローカル推論用のモデルを準備するにはどうすればよいですか?
以下に、簡単なものから高度なものまで、推奨される準備手順を示します。
ステップ1 - ランタイムを選択する(推奨)
- 初心者/高速テスト: Ollama — 最小限のセットアップ:ダウンロード、モデルの実行、APIの呼び出し。注:一部のDeepSeek-V3.1ビルドでは、特定の機能にOllama v0.11.7が必要であると記載されています。
- 高度/低レベル制御:
llama.cpp+ GGUF量子化(GGUF量子化が利用可能な場合)。これにより、直接的な推論制御と統合が可能になります。llama-server.
ステップ2 — モデルをダウンロードする
Ollamaを使用する場合:
# install ollama (see https://ollama.com/docs)
# Pull the model (this downloads the model to your machine)
ollama pull deepseek-ai/DeepSeek-V3.1
# or a specific tag: ollama pull deepseek-ai/DeepSeek-V3.1:quant-q4_0
(オラマの run 存在しない場合は自動的にプルされます。 pull タイミングを制御できます。
Hugging Face + llama.cpp を使用する場合:
# Example: download via huggingface-cli or hf_transfer
pip install huggingface_hub
hf_hub_download(repo_id="deepseek-ai/DeepSeek-V3.1", filename="DeepSeek-V3.1.gguf")
# or use a community quant file (gguf) referenced on the Hugging Face model page
Hugging Face は、モデル カードにモデル アーティファクト、テンプレート、量子化をリストします。
ステップ3 — 変換/量子化(オプション)
セーフテンソルやBF16アーティファクトしか見つからないが、GGUFが必要な場合は llama.cpp、変換スクリプトを使用してください llama.cpp (またはコミュニティツール)を使って変換→量子化します。1ビットの動的量子化を行うコミュニティツールがあり、精度を維持しながらサイズを縮小できます。約170GBまで縮小できるというコミュニティ投稿をご覧ください。
DeepSeek-V3.1 を実際にローカルで実行するにはどうすればよいですか? (実践的な実行チュートリアル)
見せてあげる オラマ (簡単、おすすめ)と ラマ.cpp (GGUF) の例と、モデル カード トークナイザー ヘルパーを使用した短い Python の例。
A — Ollamaで実行(クイックスタート)
- Ollama をインストールします (公式の指示に従ってください)。
- モデルをプルして実行します。
# pull model to disk (optional; run will pull automatically)
ollama pull deepseek-ai/DeepSeek-V3.1
# start an interactive session (runs model and exposes local API)
ollama run deepseek-ai/DeepSeek-V3.1
- ローカルの Ollama サーバーに HTTP リクエストを送信します。
# curl usage example (local Ollama server usually listens on port 11434)
curl -sS -X POST 'http://localhost:11434/api/generate' \
-H 'Content-Type: application/json' \
-d '{
"model":"deepseek-ai/DeepSeek-V3.1",
"prompt":"Explain the difference between thinking and non-thinking mode in DeepSeek.",
"max_tokens":256
}'
Ollama の CLI と API パターンはシンプルになるように設計されています。 ollama run 必要に応じてプルし、モデルサーバーを起動します。メモリに関するヒントや正確なモデル名/タグについては、Ollamaのドキュメントとモデルページを参照してください。
B — llama.cpp 経由で量子化 GGUF を実行する
- 建設
llama.cppCUDA(オプション)またはCPUを使用:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# for CUDA:
make clean && make LLAMA_CUBLAS=1
# or CPU only:
make
- モデル GGUF ファイルをパスに配置して実行します。
./main -m /path/to/DeepSeek-V3.1.q4_K_M.gguf \
-p "Explain how to enable thinking mode." \
--temp 0.2 --n_predict 512
- サーバー使用の場合、
llama-server(コミュニティ プロジェクト) は HTTP エンドポイントを公開できます。
llama-server -m /path/to/DeepSeek-V3.1.q4_K_M.gguf
# then POST to the server like:
curl -X POST "http://localhost:8080/api/v1/generate" -d '{"prompt":"Hello","max_tokens":200}'
コミュニティGGUF量子化(q4/q8/1ビットダイナミック)を使用してGPU/CPU予算に合わせます。 llama.cpp repo は変換ツールとガイダンスを提供します。
C — トークナイザー + チャットテンプレートを使用した Python の例
ハグフェイスモデルカードは tokenizer.apply_chat_template ヘルパーと会話をエンコードする方法を示します thinking=True以下はモデルカードから改変した最小限の Python の例です。
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
messages = [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Who are you?"},
{"role": "assistant", "content": "<think>Hmm</think>I am DeepSeek"},
{"role": "user", "content": "1+1=?"}
]
# apply thinking chat template
s = tokenizer.apply_chat_template(messages, tokenize=False, thinking=True, add_generation_prompt=True)
print(s) # the template includes the special <think> token placement
その後、スタックに応じて、トークン化されたプロンプトを推論ランタイム (Ollama/llama.cpp/TGI) に渡すことができます。
Thinking Mode はどのように機能し、ローカルに展開するにはどうすればよいですか?
DeepSeek-V3.1は チャットテンプレート 特別な思考トークン(例: <think> および </think>)。 ザ template モデルが思考モードか非思考モードかを決定します。
- 非思考 テンプレートの場所
</think>アシスタント プレフィックスでは、モデルに直接応答を生成するように指示します (ツールコール形式は非思考でサポートされます)。 - 考え テンプレートの場所
<think>アシスタントプレフィックスにトークンを追加することで、モデルは思考の連鎖のような中間信号を出力します(モデルは、そのトークンシーケンスを使用して内部的に推論し、より質の高い多段階の回答を生成するようにトレーニングされます)。Hugging Faceモデルカードには、これらのトークンとtokenizer.apply_chat_template(..., thinking=True)APIです。
プログラムによるトグル(例)
A — トークナイザーを使用(Python):
# thinking=True or thinking=False changes how the prompt is formatted
prompt_thinking = tokenizer.apply_chat_template(messages, thinking=True, add_generation_prompt=True)
prompt_non_thinking = tokenizer.apply_chat_template(messages, thinking=False, add_generation_prompt=True)
フィード prompt_thinking 推論ランタイムに追加して、思考動作を実現します。
B — 生のプロンプト付き(llama.cpp / マニュアル):
インサート <think> アシスタントが回転する前に、次のように指示します。
<|begin_of_sentence|>You are a helpful assistant<|User|>How to optimize this code?<|Assistant|><think>
(その正確なトークンのフレーミングはモデル カードにあります。生のテンプレートを使用する場合は、間隔と特殊マーカーを尊重する必要があります。)
C — Ollamaあり(UIトグル):
DeepSeekの公式Webデモとリリースノートには、ホストUIでモードを切り替えるための「DeepThink」トグルボタン/ボタンが記載されています。ローカル環境では、Ollamaまたはアプリはチャットテンプレートを切り替えることで(つまり、ランタイムに送信するプロンプトを2つのトークン化された形式間で切り替えることで)、この動作を再現します。DeepSeekをOllama経由で実行する場合は、2つのプロンプトテンプレート(思考中と非思考中)を用意し、Ollama APIを介して切り替えることで、アプリケーションにこれを実装できます。
Thinking Mode をエージェント (ツール呼び出し、コード エージェント) として展開するにはどうすればよいですか?
DeepSeek-V3.1 ドキュメント ツールコール および エージェント モデルアセット内のテンプレート。モデルでは、ツールが特定のJSON/命令形式で提示されることを想定しており、モデルカードに記載されているラッパートークンに正確に従うことで、1ターンで複数のツール呼び出しを連鎖的に実行できます。
例: シンプルなツール呼び出しラッパー (疑似)
このモデルはツール記述子ブロックと厳密な tool_calls_begin / tool_call_begin フォーマット。最小限の例(概念的):
## Tools
You have access to the following tools:
### web_search
Description: Query the web
Parameters: {"q": "string"}
<|begin_of_sentence|>{system prompt}
## Tools
...tool descriptions...
<|User|>Find the population of Tokyo<|Assistant|></think>
<|tool_calls_begin|><|tool_call_begin|>web_search<|tool_sep|>{"q":"population of Tokyo 2025"}<|tool_call_end|><|tool_calls_end|>
ツールの出力は、モデルの規定のフォーマットに従って次のターンでモデルにフィードバックされる必要があります( assets/search_tool_trajectory.html 正確なフローについてはモデル ページを参照してください。エージェントを実装するには、プログラムによるオーケストレーションが必要です。ツールを呼び出す → 結果をキャプチャする → テンプレートで規定されているとおりに結果をチャット コンテキストに戻す → モデルを再度呼び出す。
実用的なヒント、トラブルシューティング、安全に関する注意事項(何に注意すればよいですか?)
- トークン テンプレートは厳格です。 モデルの
tokenizer.apply_chat_templateまたは正確に再現する<think>/</think>トークンは図の通りです。間隔が正しくなかったり、マーカーが欠けていると、モデルの動作が変わります。 - ツールの形式は有効な JSON である必要があります。 モデルはツール引数を JSON として解析します。無効な JSON はツール呼び出しを中断します。
- 量子化のトレードオフ。 1ビットの動的/アグレッシブ量子化はストレージとRAMを縮小しますが、数値の忠実度がわずかに変化する可能性があります。ワークロードでテストしてください。ディスク使用量を80%削減するコミュニティ量子化も存在します(例:720GB → 約170GB)。ただし、必ずプロンプトで検証してください。
- Ollama の互換性。 一部の DeepSeek バリアントでは、プレリリース機能には Ollama v0.11.7 が必要であると記載されています。Ollama モデル ページを確認し、それに応じて更新してください。
エンドツーエンドの例: 思考モードで DeepSeek-V3.1 をローカルで実行する (ミニ ウォークスルー)
- Ollama をインストールしてモデルを取得します。
# install ollama per docs, then:
ollama pull deepseek-ai/DeepSeek-V3.1
ollama run deepseek-ai/DeepSeek-V3.1 &
- Python トークナイザーを使用して思考プロンプトを作成します。
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
msgs = [
{"role":"system","content":"You are a helpful assistant."},
{"role":"user","content":"Plan a multi-step strategy to prototype a mobile app in 2 weeks."}
]
prompt = tokenizer.apply_chat_template(msgs, thinking=True, add_generation_prompt=True)
import requests
resp = requests.post("http://localhost:11434/api/generate", json={
"model": "deepseek-ai/DeepSeek-V3.1",
"prompt": prompt,
"max_tokens": 400
})
print(resp.json())
- モデルがツール呼び出しをツール呼び出し形式で返す場合は、JSON を解析してツールを実行し、モデル カード テンプレートに従って結果を次のメッセージに挿入します。
展開パスはどのように選択すればよいですか?
- 実験への最速のパスが必要な場合: つかいます オラマ そして、Hugging Faceモデルカードの例。Ollamaは多くのインフラの詳細を隠蔽し、ローカルHTTP APIを提供します。
- 低コスト/より高い携帯性が必要な場合: コミュニティを利用する GGUF量子化 アーティファクトと実行
llama.cpporllama-server量子化によりディスクとメモリが節約されますが、ワークロードの精度がテストされます。 - エージェントまたはツールを構築する場合: モデルカードの ツールコール および エージェント テンプレートを正確に実行し、ツールの出力をモデルのコンテキストに再編成します。
スタートガイド
CometAPIは、OpenAIのGPTシリーズ、GoogleのGemini、AnthropicのClaude、Midjourney、Sunoなど、主要プロバイダーの500以上のAIモデルを、開発者にとって使いやすい単一のインターフェースに統合する統合APIプラットフォームです。一貫した認証、リクエストフォーマット、レスポンス処理を提供することで、CometAPIはAI機能をアプリケーションに統合することを劇的に簡素化します。チャットボット、画像ジェネレーター、音楽作曲ツール、データドリブン分析パイプラインなど、どのようなアプリケーションを構築する場合でも、CometAPIを利用することで、反復処理を高速化し、コストを抑え、ベンダーに依存しない環境を実現できます。同時に、AIエコシステム全体の最新のブレークスルーを活用できます。
開発者はアクセスできる ディープシークV3.1 CometAPIを通じて、記事の公開日時点での最新モデルのバージョンが掲載されています。まずは、モデルの機能について調べてみましょう。 プレイグラウンド そして相談する APIガイド 詳細な手順についてはこちらをご覧ください。アクセスする前に、CometAPIにログインし、APIキーを取得していることを確認してください。 コメットAPI 統合を支援するために、公式価格よりもはるかに低い価格を提供します。
結論
DeepSeek-V3.1は、実用的なハイブリッド推論哲学(XNUMXつのチェックポイントとテンプレート化された思考行動)を導入し、チャットテンプレートとツール要件を遵守すれば、思考連鎖型推論とエージェントツールの使用を容易に実験できます。まずはHugging FaceモデルカードとDeepSeekのリリースノートを参照し、ローカルランタイム(シンプルさを重視したOllamaなど)を選択してください。 llama.cpp 制御用)、そして実用的なローカル展開のために量子化されたビルドをテストします。



