広告枠を募集中 ご相談ください

OllamaとLM Studioを用いてDeepSeekモデルをローカル環境でオフライン実行・推論する方法

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

機密性の高いソースコードを取り扱うソフトウェアエンジニアや、社外秘データやプライベートな情報を保護したいユーザーにとって、外部のクラウドAPIへプロンプトやコンテキストを送信することはデータ漏洩やコンプライアンス違反のリスクを伴います。オープンソースのDeepSeekモデルをローカルマシンで直接実行することにより、完全なデータ主権(ゼロネットワーク通信、トークン従量課金の排除、外部サーバー障害への完全な耐性)を確保できます。

OllamaおよびLM Studioを活用することで、コンシューマー向けPC環境でもDeepSeekの推論モデルやコーディングモデルを完全ローカルで動かすことが可能です。モデルの重みファイルをダウンロードまたはサイドロードした後は、インターネット接続を完全に遮断した状態(エアギャップ環境)でも問題なく推論処理が行えます。本ガイドでは、適切なモデルサイズの選択、オフライン稼働の検証手順、OpenAI互換のローカルAPIサーバー立ち上げ手順、およびDeepSeek公式が推奨する推論パラメータについて詳しく解説します。


1. ハードウェア仕様に応じた適切なDeepSeekモデルの選定

DeepSeek-R1シリーズには、6710億パラメータ(671B)を誇るオリジナルのMoE(Mixture-of-Experts)モデルに加え、Qwen 2.5およびLlama 3をベースに蒸留された6つの高密度(Dense)モデルが用意されています。フルサイズの671BモデルはマルチGPUクラスタや512GBメモリを搭載したワークステーション(Mac Studio等)が必要ですが、蒸留版モデルは一般的なノートPCやデスクトップPCで快適に動作します。

また、コーディングに特化したモデルとしては、DeepSeek-Coder-V2(16B MoE)も開発用マシンに適した選択肢です。

モデル名ベースアーキテクチャダウンロード容量(Q4量子化)必要メモリ容量(VRAM / RAM)推奨動作環境
DeepSeek-R1-Distill-Qwen-1.5BQwen 2.5 Math約 1.1 GB4 GB メモリ軽量ノートPC;CPU単体推論;エッジデバイス
DeepSeek-R1-Distill-Qwen-7BQwen 2.5 Math約 4.7 GB8 GB VRAM または 16 GB RAM一般的なノートPC;8GB GPU(RTX 3060/4060);Apple Silicon Mac
DeepSeek-R1-Distill-Llama-8BLlama 3.1約 5.2 GB8 GB VRAM または 16 GB RAMコードレビューや論理的思考タスクに優れた定番サイズ
DeepSeek-R1-Distill-Qwen-14BQwen 2.5約 9.0 GB12–16 GB VRAM または 24 GB RAMミドルハイクラスGPU(RTX 4070/4080);16GB/24GB 統合メモリMac
DeepSeek-R1-Distill-Qwen-32BQwen 2.5約 20 GB24 GB VRAM または 32–64 GB RAMハイエンドGPU(RTX 3090/4090);36GB+ Mac;推論性能と負荷のベストバランス
DeepSeek-R1-Distill-Llama-70BLlama 3.3約 43 GB24GB GPU×2 または 64–96 GB RAMマルチGPU搭載PC;Mac Studio(64GB–128GB)
DeepSeek-R1(フルサイズ 671B MoE)DeepSeek-V3 Base約 404 GB400 GB+ VRAM / 専用サーバー群エンタープライズサーバー;80GB GPU×8基構成;Mac Studio 512GB

ソフトウェア開発や日常的な問題解決においては、DeepSeek-R1-Distill-Qwen-14B または DeepSeek-R1-Distill-Qwen-32B が性能とリソース要求のバランスに最も優れています。


2. OllamaによるDeepSeekのローカル展開と実行

Ollamaは、バックグラウンドデーモンやコマンドライン自動化、IDE拡張機能との連携に最適な軽量ランタイムです。

ステップ1:Ollamaのインストール

お使いのOSに応じたインストーラーを入手します:

ステップ2:モデルのダウンロードと起動

インターネット接続状態で、対象のDeepSeekモデルを指定して起動します:

# 8Bモデルの対話セッションを起動
ollama run deepseek-r1:8b

# より高精度な14Bや32Bモデルを動かす場合
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b

Ollamaは自動的にGPUアクセラレーション(NVIDIA CUDA、Apple Metal、AMD ROCm)を検出し、最適なVRAM領域を割り当てて対話プロンプトを開きます。

ステップ3:完全オフライン動作の確認

推論中に通信が一切発生しないことを確認する手順:

  1. PCのWi-Fiを無効化するか、LANケーブルを抜いてオフラインにします。
  2. 新しいターミナルを開き、コマンドを実行します:
    ollama run deepseek-r1:8b
    

モデルデータはローカルストレージ(Linux/macOSは ~/.ollama/models、Windowsは %USERPROFILE%\.ollama\models)にキャッシュされているため、ネットワークが遮断されていても高速に応答が生成されます。

ステップ4:エアギャップ(隔離ネットワーク)環境への移行

外部ネットワークに接続できない高セキュリティ環境にモデルを配備する場合:

  1. ネット接続可能な作業用PCで ollama pull deepseek-r1:14b を実行します。
  2. OLLAMA_MODELS で指定されたフォルダ(または既定の ~/.ollama/models)を確認します。
  3. 暗号化された外部ストレージに該当ディレクトリをコピーします。
  4. 隔離マシンの対応するディレクトリに配置し、ollama list で認識されていることを確認します。

ステップ5:コンテキストウィンドウ(文脈長)の調整

Ollamaの標準コンテキスト長は4096トークンです。長いソースコードを解析する場合は拡張します:

ステップ6:ローカルAPIの呼び出しとスクリプト連携

Ollamaはポート 11434 でネイティブREST APIおよびOpenAI互換エンドポイントを提供します。

cURLによる推論リクエスト例

curl http://localhost:11434/api/chat -d '{
  "model": "deepseek-r1:8b",
  "messages": [
    {"role": "user", "content": "Go言語でスレッドセーフなインメモリキャッシュを実装してください。"}
  ],
  "stream": false
}'

Python公式SDKによる呼び出し例

from ollama import chat

response = chat(
    model="deepseek-r1:8b",
    messages=[
        {
            "role": "user",
            "content": "Pythonで並行処理を行う際のGILの影響と、それを回避する設計手法を解説してください。",
        }
    ],
    options={
        "temperature": 0.6,
    },
)

print(response.message.content)

VS CodeやJetBrainsなどのIDE環境では、Continue.devやAiderなどのプラグインのエンドポイントを http://localhost:11434/v1 に設定することで、完全ローカルなAIアシスタント機能を実現できます。


3. LM StudioによるDeepSeekのローカル展開と実行

LM Studioは、直感的なGUI、視覚的なGPUレイヤーオフロードスライダー、およびワンクリックで起動できるローカルサーバー機能を備えています。

ステップ1:LM Studioのインストール

macOS(Apple Silicon M1〜M4)、Windows(x64 / Snapdragon ARM)、またはLinux(AppImage)向けのインストーラーを公式サイトから取得し、セットアップを行います。

ステップ2:DeepSeekモデルの検索と取得

  1. 左側サイドバーの Discover(虫眼鏡アイコン)をクリックします。
  2. 検索バーに deepseek-r1 または deepseek-coder と入力します。
  3. コミュニティが提供する各種GGUF量子化版(Q4_K_M、Q5_K_M、Q8_0など)が表示されます。
  4. 画面に表示されるメモリ消費目安を確認し、ハードウェアに適した形式を選択して Download を押します。

ステップ3:オフライン環境でのGGUF手動インポート(サイドロード)

インターネットに接続できない端末の場合:

  1. 別のPCでHugging Faceから該当する .gguf ファイルをダウンロードします。
  2. LM Studioの My Models(フォルダアイコン)タブを開きます。
  3. ダウンロードした .gguf ファイルを画面に直接ドラッグ&ドロップするか、~/.cache/lm-studio/models に配置します。
  4. アプリケーションが自動的にモデル構造を認識して登録します。

ステップ4:ハードウェア最適化とGPUレイヤーオフロードの設定

  1. AI Chat タブを開きます。
  2. 画面上部の Select a model to load をクリックし、追加したDeepSeekモデルを選択します。
  3. 右側の Inference Parameters パネルで調整します:
    • GPU Offload: スライダーを操作して、GPU VRAMにロードするレイヤー数を設定します。VRAMに余裕があれば最大値(Max)にし、容量が限られている場合は一部のレイヤーのみをGPUに割り当て、残りをシステムRAM(CPU)に分担させます。
    • Context Length: 必要に応じてコンテキスト長の長さを調整します。

ステップ5:OpenAI互換ローカルサーバーの起動

LM StudioをローカルAPIサーバーとして稼働させる手順:

  1. 左側の Developer(コード括弧アイコン)をクリックします。
  2. Start Server スイッチをオンにします。
  3. デフォルトで http://localhost:1234/v1 でリクエストを受け付けます。

OpenAI Python SDKによるローカル連携例

from openai import OpenAI

# 外部通信を行わないローカルLM Studioサーバーへ接続
client = OpenAI(
    base_url="http://localhost:1234/v1",
    api_key="lm-studio",  # デフォルトでは認証不要のため任意の文字列を指定
)

completion = client.chat.completions.create(
    model="deepseek-r1-distill-qwen-14b",
    messages=[
        {
            "role": "user",
            "content": "以下のSQLテーブル構造におけるインデックスのボトルネックを診断してください:\nCREATE TABLE events (id BIGINT, user_id INT, payload TEXT, created_at TIMESTAMP);",
        }
    ],
    temperature=0.6,
)

print(completion.choices[0].message.content)

4. DeepSeek-R1の推奨推論設定と思考トークン(Thinkタグ)の制御

DeepSeek-R1特有の推論機構を最大限に引き出すために、以下のパラメータ設定を遵守することが推奨されます:

1. Temperature(温度係数)を0.6前後に設定する

DeepSeek公式チームは、サンプリング温度を 0.5〜0.7 の範囲(公式ベンチマークの推奨値は 0.6)に設定することを推奨しています。温度が高すぎると幻覚や同じフレーズの堂々巡りが発生しやすく、逆に0に近づけすぎると思考プロセスの探索能力が損なわれます。

2. 複雑なSystem Promptを避ける

一般的な対話モデルとは異なり、DeepSeek-R1はプロンプトの指示内容をUserメッセージ内に直接記述する形式に最適化されて学習されています。過度に入り組んだSystem Promptを与えると、論理展開の質が低下したり無限ループに陥る恐れがあります。役割設定や制約条件はすべてUserプロンプト内に含めることが推奨されます。

3. <think> 思考チェーンタグの扱い

DeepSeek-R1は最終回答を出力する前に、<think>...</think> タグ内で段階的な思考プロセスを展開します。


5. OllamaとLM Studioの比較および選定基準

比較項目OllamaLM Studio
基本インターフェースCLIターミナル;バックグラウンドデーモンデスクトップGUIアプリケーション
主な対象ユーザーバックエンドエンジニア;CI/CD自動化;CUI愛好者プライバシー重視の研究者;Prompt検証担当者;GUI利用者
ハードウェア配分調整自動判別;ModelfileやCLIオプションで設定視覚的なスライダーでGPUオフロード層数を微調整可能
GGUF手動インポートModelfile FROM ./file.gguf を作成して登録ウィンドウ内へ直接ドラッグ&ドロップするだけで完了
標準サーバーURLhttp://localhost:11434http://localhost:1234/v1
ドキュメントRAG機能Open WebUIなどの外部ツールとの併用が必要アプリ単体でローカル文書のドラッグ&検索に対応
開発ツール連携Continue、Aider、Claude Code等とネイティブ連携OpenAI互換エンドポイント経由で各ツールから接続可能

選定の結論:


参考文献