はじめに
先日発表のあったDeepSeekのR1をローカル環境で動かしてみました。
DeepSeekの動作環境は大きく分けて
-
GUIインターフェース(web/スマホアプリ)
https://www.deepseek.com/
の3つがあります。
今回はローカル環境での実行方法について紹介したいと思います。
利用規約やプライバシーポリシーが色々と話題になっていますが、ローカル環境で実行する検証方法あればその辺りの懸念は解消できるかと考えています。
DeepSeek R1はMITライセンスでのオープンソースモデルとなっています。
DeepSeek R1の詳細については以下の記事にまとめていますのでご確認ください。
前提条件
使用するツール
今回はollamaとOpen WebUIを使用します。
https://ollama.com/
dockerの環境が事前に準備済みであること、dockerコマンドが利用できることが前提です。
実践
準備
ollamaは、ローカル環境で様々な大規模言語モデル(LLM)を簡単に実行できるオープンソースのツールです。今回は、Docker上でollamaを準備し、DeepSeekを実行します。
また今回はCUI上での動作検証ではなくGUIを用いた動作検証を行います。
そのためOpen WebUIを利用します。
Open WebUIとは完全にオフラインで動作するように設計された、拡張可能で機能が豊富で使いやすいセルフホスト型 AI プラットフォームです。 Ollama や OpenAI 互換 API などのさまざまな LLM ランナーをサポートし、RAG 用の推論エンジンが組み込まれているため、強力な AI 導入ソリューションになります。
Docker環境の確認
まず、以下のコマンドでDocker環境が正しく設定されていることを確認します:
docker --version
ollama/OpenWebUIコンテナの起動
今回はdockerコンテナを起動するためにdocker-compose.yamlを用意しました。
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
extra_hosts:
- "host.docker.internal:host-gateway"
restart: always
volumes:
ollama:
name: ollama
open-webui:
name: open-webui
コンテナの起動
docker compose up -d
などでコンテナを立ち上げれば検証環境ができあがります。
モデルの実行
Webブラウザで http://localhost:3000/ にアクセスするとOpen WebUIの画面が表示されます。
動作検証したいモデルを選択してあとはchatGPTなどと同様にチャットするだけです
注意事項としては最初は動作検証したいモデルをプルする必要があります。
以下のサイトを参考に動作検証したいモデルを指定してプルしてください。
https://ollama.com/search
実際に数学の問題を解かせてみました。
3分ほどかかりましたがこのレベルの数学問題であれば回答できます。
ちなみにwebインターフェースで試したところ8秒で回答が得られました。
やはりパラメータ数の違いによるモデルの性能差は大きそうです。
回答結果
**解答**次の積分を求めます:
$$
\int (3x^2 + 7x - 3) , dx
$$
ステップ 1:各項を個別に積分する
-
$3x^2$ の積分
指数を1増やし、係数を新しい指数で割ります:$$
\int 3x^2 , dx = 3 \cdot \frac{x^{2+1}}{2+1} = x^3
$$ -
$7x$ の積分
同様に計算します:$$
\int 7x , dx = 7 \cdot \frac{x^{1+1}}{1+1} = \frac{7}{2}x^2
$$ -
$-3$ の積分
定数の積分は定数×$x$ です:$$
\int (-3) , dx = -3x
$$
ステップ 2:結果をまとめる
すべての項を結合し、積分定数 $C$ を加えます:
$$
\int (3x^2 + 7x - 3) , dx = x^3 + \frac{7}{2}x^2 - 3x + C
$$
答え
$$
\boxed{x^3 + \frac{7}{2}x^2 - 3x + C}
$$
まとめ
DeepSeekをローカル環境で実行してみました。
ollamaには1.5bから671bまでのDeepSeekのモデルが利用可能な状態で登録されていました。
今回は7Bのモデルまでしか試していないですがマシンスペックが高ければより大きなモデルもローカル環境で検証が可能です。