DeepSeek を Ollama で設定する:デプロイガイド complet
DeepSeekは、コード生成(Coder)と段階的な推論(R1)という、大きく異なる二つのニーズに対応します。このガイドでは、OllamaでDeepSeekを適切に設定する方法を解説します。適切なバリエーションを選び、温度とコンテキストウィンドウを調整し、使用するVRAMの容量内に収め、複数のリクエストを並列に処理する方法を紹介します。目標は、パラメータの設定で試行錯誤することなく、安定した高速な推論を実現することです。
#DeepSeek を Ollama で設定する理由は何か
Ollamaは、重みのダウンロード、GPUとCPUへの処理の振り分け、ローカルAPIの管理を代行します。http://localhost:11434で待ち受けるサーバーと、DeepSeekのどのバリエーションでも起動できる単一のコマンドが利用できます。その他の設定――温度、コンテキストサイズ、メモリ――は、いくつかのパラメータで調整します。設定に振り回されるよりも、その意味を理解しておくことをお勧めします。
適切な設定で結果は大きく変わります。DeepSeek R1を不適切なtemperature設定で実行すると、ループに陥ったり、推論を途中で打ち切ったりします。DeepSeek Coderは、コンテキストが短すぎるとファイルの半分を忘れてしまいます。このガイドの目的は、こうした設定を一度きちんと決め、以後迷わずに使えるようにすることです。
#DeepSeek Coder vs Chat vs R1:どれをインストールするか
お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 生涯アップデート
3つのファミリーが Ollama ライブラリ内で DeepSeek という名前で共存しています。用途が異なるため、設定方法は同じではありません。
- deepseek-coder
- コードに特化:コード補完、関数生成、リファクタリング。小型サイズ(1.3B、6.7B、33B)で利用できます。エディタに接続してローカルで自動補完を行うのに最適です。
- deepseek-v3 / deepseek-llm (Chat)
- 汎用の対話モデルです。思考の連鎖を表示せず、直接回答します。フランス語でも英語でも使える、多用途のアシスタント向けです。
- deepseek-r1
- 推論モデル:回答する前に思考の連鎖(<think>タグ)を展開します。数学、論理、複数ステップの問題に優れています。ローカル環境に収まるよう、1.5B / 7B / 8B / 14B / 32B / 70Bの蒸留版が用意されています。
選び方はシンプルです。入力しながらコードを補完したいならCoder、会話するアシスタントならChat/V3、考える必要のある問題ならR1です。3つともインストールして構いません。Ollamaでは、それぞれを共存させて保存できます。
#動作要件とモデルサイズ別のVRAM容量
Ollamaがインストールされ、サービスが稼働している必要があります。Ollama上のDeepSeekモデルのデフォルト量子化はQ4_K_Mで、ほとんどのグラフィックカードで品質とメモリ使用量の最適なバランスが得られます。以下はQ4で必要となるVRAMの目安で、重みのみの値です。コンテキスト用に、さらに1〜2 GBを見込んでください。
- 1.5B~3B(R1の蒸留モデル)
- ≈ 2 GB · 専用GPUがなくても動作し、RTX 3060 12 GBなら余裕で動かせます。
- 7B – 8B
- 約5 GB · RTX 3060 12 GB、RTX 4070 12 GB。日常利用にちょうどよいバランスです。
- 14B
- 約9 GB · RTX 4070 12 GBでは余裕が少なく、RTX 4080 16 GBなら余裕があります。
- 32B / 33B (Coder)
- ≈19GB · RTX 4090 24GB、または24〜48GBの統合メモリMac
- 70B
- 約40 GB・24 GBのGPU 2基、またはMac M4 Pro 48 GB以上。
#DeepSeekをインストールして起動する
- 01Ollama が実行されていることを確認サービスが起動している必要があります。`ollama --version`でインストールを確認できます。サーバーはポート11434で待ち受けます。
- 02モデルをダウンロード`ollama pull` でモデルの種類とサイズを選んでください。コロン(:)の後のタグでサイズが決まります(例::7b、:14b、:32b)。タグを指定しなければ、Ollamaはデフォルトのサイズを使用します。
- 03セッションを開始`ollama run` がモデルを必要に応じてダウンロードし、インタラクティブなプロンプトを起動します。/bye を入力して終了してください。
- 04APIをテストする同じモデルがすぐにローカルREST API経由で利用できるようになり、そのAPIをOpen WebUIやエディター、自分のスクリプトに接続できます。
#温度とコンテキストウィンドウを調整
品質に最も大きく影響する2つのパラメータは、温度(創造性と決定性のバランス)とnum_ctx(コンテキストウィンドウのサイズ)です。Ollamaのデフォルト値は必ずしも最適ではなく、特にR1ではその傾向があります。
- temperature (R1)
- 0.5 から 0.7 まで。DeepSeek は R1 に対して約 0.6 を推奨します。あまり低すぎると推論が停止し、あまり高すぎると散漫になります。推論モデルでは 0 は避けてください。
- temperature (コーダー)
- 0.1から0.3まで。コードの場合は再現性と決定性が求められ、創造性は不要です。
- num_ctx
- トークン単位のコンテキストサイズです。デフォルトは4096であることが多いです。長いファイルや長い推論の連鎖を扱う場合は、8192または16384に増やしてください。ただし、VRAMの使用量も増えます。
- top_p
- 0.95程度。ほとんどの場合はそのままにしておき、まずtemperatureを調整してください。
- repeat_penalty
- デフォルト値は1.1です。R1が思考の連鎖の中で同じ内容を繰り返す場合に役立ちます。
#Modelfileで設定を固定
セッションのたびにパラメータを設定するのは面倒です。Modelfileを使うと、設定とシステムプロンプトを組み込んだ、名前付きの派生モデルを作成できます。すぐに使えるモデルができ、ほかのモデルと同じように呼び出せます。
同じ方法はR1にも使えます。temperature 0.6とnum_ctx 16384を設定したModelfileを使えば、起動のたびに設定を気にすることなく、調整済みの推論モデルを利用できます。
#VRAMおよびメモリの最適化
モデルがVRAMの容量を超えると、Ollamaは余剰のレイヤーをCPUに配置します。すると、トークン/秒の処理速度は急激に低下します。フルGPUでの処理を維持するための三つの対策があります。
- 量子化のビット数を下げる
- デフォルトはQ4_K_Mです。そのまま使ってください。すでに適切なバランスが取れています。VRAMに十分な余裕があり、品質をもう一段高めたい場合にのみ、Q5_K_MまたはQ8_0に変更してください。
- 適切なサイズを選択する
- 全体をGPUで動かす14Bモデルは、VRAMに収まらず一部をCPUにオフロードする32Bモデルより、速度も使い勝手も優れています。全体がVRAMに収まる中で、最も大きいモデルを選びましょう。
- num_ctxをマスターする
- KVキャッシュはコンテキストの大きさに応じて増加します。適切なコンテキスト(8192)を設定することで、モデルの重みにスペースを確保できます。
- 使用後にモデルをメモリから解放する
- OLLAMA_KEEP_ALIVEは、最後のリクエスト後にモデルをメモリに保持する時間を設定します。モデルを切り替える際にGPUをより早く解放するには、この値を下げてください。
#並列実行と並行処理
Ollama は複数のリクエストを同時に処理し、複数のモデルを同時にロードしたままにできます。共有アシスタントや、CoderとR1を同時に実行する場合に便利です。この動作は2つの環境変数で制御されます。
- OLLAMA_NUM_PARALLEL
- 同じモデルが並列で処理するリクエストの数です。各リクエストはそれぞれコンテキスト領域を使うため、その分のVRAMを消費します。グラフィックカードに応じて、2、4と慎重に増やしてください。
- OLLAMA_MAX_LOADED_MODELS
- 同時にメモリに保持する異なるモデルの数です。VRAM に余裕があれば、2 に設定して Coder と R1 を両方とも読み込み済みの状態に保ってください。
#一般的なトラブルシューティング
- R1が<think>内でループし続ける
- 温度が低すぎるか、repeat_penaltyが指定されていません。temperatureを0.6まで上げ、repeat_penalty 1.1を追加してください。
- 生成速度が非常に遅い
- モデルの一部がCPU側にオフロードされています。`ollama ps`を確認してください。PROCESSORが100% GPUでない場合は、モデルサイズ、量子化のビット数、またはnum_ctxを小さくしてください。
- 応答が切り詰められている
- num_predict(生成するトークン数の上限)が低すぎるか、コンテキストがいっぱいになっています。num_ctxを増やし、num_predictは無制限(-1)にしてください。
- コードと一緒に推論タグが出力される
- コードを書くためにR1を使っています。思考の連鎖を出力しないdeepseek-coderに切り替えてください。
#さらに詳しく
DeepSeekの設定と調整が済んだら、次のステップは、R1をさらに深く理解し、利用するバリエーションを細かく調整し、グラフィックスカードに応じて量子化の方式を選ぶことです。
- Ollama で DeepSeek R1 をインストール
- 推論モデルに特化したガイドで、蒸留版と思考の連鎖を扱い、設定だけにとどまらず理解を深められます。
- Ollama Modelfile でモデルをカスタマイズする
- テンプレート、システムプロンプト、パラメータの仕組み — ここで紹介したバリエーションを体系的に運用するためのものです。
- 量子化の選択(Q4、Q5、Q8、FP16)
- GPU に収まる範囲でできるだけ大きな DeepSeek モデルを使うために、品質と VRAM 使用量のトレードオフを理解する。
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。