何かと話題のDeepSeekをMacのローカル環境で実行してみた！

最近、AI界隈で「DeepSeek」という名前をよく耳にするようになりました。  
なんでも「OpenAI」のo1に匹敵する性能を、比較的手頃なハードウェアで再現できる」と評判になったかと思えば、  
OpenAIやAnthropicのデータを利用していたのでは？ というニュースも飛び込んできて、良くも悪くも「今、最もホットな存在」といえるかもしれません。

しかもDeepSeekはオープンソースでMITライセンス。  
ライセンス上、派生モデルも登場しており、今後どのような展開になるのか非常に楽しみです。

今回は、そんなDeepSeekを**Macのローカル環境**で動かす手順を解説していきます。  
いわゆる「Distilled Models」を使えば、Macのローカル環境でも快適に動作させることが可能です。  
それでは早速見ていきましょう！

---

## DeepSeek R1とは何か

DeepSeek R1は、約650GBを超える超巨大な大規模言語モデル（LLM）です。  
最大の特徴は、 **「小型モデルへの知識蒸留（ディスティレーション）」** を積極的に行っている点です。  
「Distilled Models」と呼ばれる派生モデルは6種類も用意されており、元のR1を教師モデルとして、MetaやAlibabaなど他社の小型モデルを再学習したものが公開されています。

| R1の派生モデル                   | 元となったモデル             | サイズ（Ollama配布版） |
|:---------------------------------|:----------------------------|:------------------------|
| DeepSeek-R1-Distill-Qwen-1.5B    | Qwen2.5-Math-1.5B           | 1.1GB                   |
| DeepSeek-R1-Distill-Qwen-7B      | Qwen2.5-Math-7B             | 4.7GB                   |
| DeepSeek-R1-Distill-Llama-8B     | Llama-3.1-8B                | 4.9GB                   |
| DeepSeek-R1-Distill-Qwen-14B     | Qwen2.5-14B                 | 9GB                     |
| DeepSeek-R1-Distill-Qwen-32B     | Qwen2.5-32B                 | 20GB                    |
| DeepSeek-R1-Distill-Llama-70B    | Llama-3.3-70B-Instruct      | 43GB                    |

これらのモデルは、元のモデルに比べるとかなり小型化されています。  
蒸留（ディスティレーション）を通じてモデルを“圧縮”することで、推論の速度を向上させ、一般的なPCやiPhone等のスマートフォンでも動作可能なレベルに調整されています。

---

## 驚異のパフォーマンス：小型でも特定タスクでGPT-4oを超える？

DeepSeekのテクニカルペーパーによると、Distilled Modelsのベンチマークテストでは、  
**「8Bパラメータのモデルでさえ、特定のタスクにおいてGPT-4o（昨年5月時点のバージョン）を上回る」**  
という結果が出ています。

ただし、これは数学やコード生成といった**特定のタスク**に特化したトレーニングを行った場合の話です。  
総合的な文章生成や知識カバー率では、依然としてGPT-4oやClaude、o1などのフロンティアモデルのほうが優れています。  
つまり、 **「タスクによってはローカルモデルでも十分な性能を発揮する」** というのがポイントです。

企業での利用を考えた場合、以下のようなメリットがあるでしょう。

- **自社の機密データを扱える**（クラウドへの送信リスクを回避）  
- **特定ドメインに特化したAIを構築できる**  
- **GPUリソースを投資する価値がある**（ランニングコスト削減）  

---

## DeepSeekをローカルで動かす準備

DeepSeekのDistilled ModelsをMac上で動作させるには、[Ollama](https://github.com/jmorganca/ollama)を使用します。  
Ollamaは、コマンド一発で主要なオープンソースモデルをダウンロードし、そのままターミナル上でチャットを開始できる便利なツールです。

### Ollamaのインストール

https://ollama.com/

1. **Ollamaの公式サイト**からアプリをダウンロード（Mac, Windows, Linux対応）
![スクリーンショット 2025-01-31 22.13.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2841127/478b581b-c87a-aa28-40e4-3372d9dcb728.png)
2. インストーラーを起動し、「Next」を押してセットアップを進める
![スクリーンショット 2025-01-31 22.17.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2841127/a0d7071b-8d02-86a6-4c4d-3230b517679f.png)

3. 「コマンドラインツールをインストールするか？」と聞かれるのでOKを選択（管理者権限が必要）  
![スクリーンショット 2025-01-31 22.18.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2841127/2d3758de-305d-5586-082a-fc5a43f001e5.png)

これで、Macならターミナル、WindowsならPowerShellなどで`ollama`コマンドが使えるようになります。
![スクリーンショット 2025-01-31 22.20.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2841127/3bd366d1-cbb2-e46b-2a2b-718a2a09d612.png)

初回の実行時はモデルDLの為に少し時間がかかります。
ollama3.2は2GB程のモデルになります。

![スクリーンショット 2025-01-31 22.24.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2841127/c1a78378-f27a-2a82-92be-958dcc5c1fd3.png)

普段ChatGPTとか使っているとollama3.2は結構アホだと感じてしまいますが、これがローカルでしかも無料で動くのだから非常に素晴らしい事です。

ollamaを終了する時は**Control+D**です

### DeepSeek R1モデルのダウンロード

https://ollama.com/library/deepseek-r1


Ollamaの公式モデル一覧に**DeepSeek R1のDistilled Models**が登録されているため、そこから欲しいモデルを選びます。  

モデルの比較一覧は以下です。
|モデル名|パラメータ数|特徴|
|------------------------------------|-------------|-----|
| DeepSeek-R1-Distill-Qwen-1.5B      | 約 1.5B     | - 小型モデルなので軽量で扱いやすく、比較的小さいメモリ環境でも推論が可能。<br>- 初期の実験モデルとして、アプリなどへの組み込みを想定。|
| DeepSeek-R1-Distill-Qwen-7B        | 約 7B       | - 1.5B よりも性能面が向上。<br>- バッチサイズを大きくするなど扱いやすいサイズ感で、一定以上の推論性能が期待できる。                  |
| DeepSeek-R1-Distill-Llama-8B       | 約 8B       | - Llama 系列ベースの 8B モデル。<br>- Llama 系モデルの活発なコミュニティと、DeepSeek-R1 の高い推論性能を継承。                         |
| DeepSeek-R1-Distill-Qwen-14B       | 約 14B      | - 数学や論理推論の難易度が高いタスクにも強く、より複雑な自然言語処理タスクにも対応しやすい。                                         |
| DeepSeek-R1-Distill-Qwen-32B       | 約 32B      | - 更なる性能向上を目指したモデル。<br>- 実運用でより大規模なデータセットを扱う場面でも活躍が期待される。                              |
| DeepSeek-R1-Distill-Llama-70B      | 約 70B      | - Llama 70B ベース。<br>- 大規模モデルであり、より高い推論性能や知識量が期待される。                                                |

今回はM4ProのMBPなので「DeepSeek-R1-Distill-Qwen-14B（約9GB）」を試してみます。

```bash
ollama run deepseek-r1:14b
```

このコマンドをターミナルで実行するだけ！
初回はモデルが未ダウンロードなので、自動的にダウンロードが始まり、その後チャットモードに移行します。

---
実行可能なモデルの一覧を見るときは以下のコマンドで見る事が出来ます。
```bash
ollama list
```

そして不要なモデルを削除する時は以下で削除可能です。
```bash
ollama remove deepseek-r1:14b
```
## DeepSeekをローカルで動かすメリット

### 1. 機密情報を安心して取り扱える
ChatGPT初めWebサービス版はプロンプトデータがサーバに保存され、学習等に利用させる可能性があります。
又は機密データ等は組織のセキュリティポリシーでAI等の利用は禁止されていると思いますが、ローカル環境の場合だと安心して使用する事が可能です！これがローカルの最大のメリットですよね！

### 2. モデルカスタマイズの自由度が高い
オープンソースかつローカル環境なので、特定ドメインに最適化したチューニングや、プライベートデータの取り込みが容易です。ローカルデータを参照させて回答出来るのは非常に良いですよね！

### 3. ランニングコストを抑えやすい
一度GPU環境を整えれば、クラウドの使用料を気にせず推論を実行できます。
購入したMac以外にお金が一切かからない！これもメリットの塊！

要はローカル環境のAIは最強なんですよ！

---

## まとめ

- **DeepSeek R1はMITライセンスの大規模言語モデル**  
- **Distilled Modelsを活用すればMacでも十分な性能を発揮**  
- **特定タスクではGPT-4oを超える場合もある**  
- **ローカルでの運用は機密データ管理やカスタマイズ性でメリットが大きい**  

今後、さらに高性能なモデルが登場すれば、「誰でも気軽にGPT-4oクラスのAIをローカルで扱える」時代が来るかもしれません。  
興味のある方は、是非OllamaでDeepSeekを試してみてください！

## おまけ
![ollama.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2841127/434fedaa-a09e-9ef7-b4f0-8b311dec756a.jpeg)

私のMBPでは32Bモデルの動作も可能でした。
容量は20GB程で、動かすとメモリ48GBフルで使ってしまいます。
動作は軽快でCPUはそれほど使わないようです。
最大の70Bは動かせそうにないですね。。。。
M4MAXでメモリフルであれば余裕で動くだろうし性能として十分実用的なんじゃないかと予想します。（欲しいなぁ！）