[ローカルチャットAI] 何も無い状態からDeepSeek-R1を自分のPCで使うガイド

# はじめに
## DeepSeek-R1とは
![04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795435/7537267c-e669-469b-b019-b8078284d83a.jpeg)

オープンソースの大規模言語モデル（LLM）です。
最新のDeepSeek-R1はOpenAI（Chat GPT）の「o1」と同等程度の性能だそうです。
要するにChat GPTみたいなやつですね。

今回はプライバシー関連で問題視されている、DeepSeek運営の「DeepSeek - AI アシスタント」**ではなく**、ローカルPCでDeepSeek-R1を起動して対話していきます。

賛否両論あるDeepSeekですが、オープンソースであることは素晴らしいと思います。

[deepseek-ai/DeepSeek-R1 - Github](https://github.com/deepseek-ai/DeepSeek-R1 "DeepSeek-R1のGithub")
[DeepSeek - Wikipedia](https://ja.wikipedia.org/wiki/DeepSeek "DeepSeekのWikipedia")




## DeepSeek-R1との対話で使うOllamaとは

**インターネット接続しなくてもオープンソースのAIモデルと対話できる**ソフトウェアです。
**無料でChatGPTのようなAIを使いたい**場合や、**プライバシー、情報漏洩への対策が必要な環境**に適しています。

* **AIモデルのダウンロードと対話インターフェイスの提供**
 冒頭の画像にある通り`ollama run ～～～`で、AIモデルのダウンロード、対話を行うことができます。
本来はAIモデルをダウンロードし、起動及び対話のためにコードを書く必要があります。
　
* **AIモデルの管理**
DeepSeek以外にも、色々なモデルを切り替えて使用可能です。
<dl>
  <dd>
    <ul>
      <li><a href="https://huggingface.co/mmnga/tokyotech-llm-Llama-3.1-Swallow-8B-Instruct-v0.3-gguf" title="Llama 3.1 Swallow">Llama 3.1 Swallow</a>（MetaのLlama 3.1ベースの日本語強化版）</li>
    </ul>
  </dd>
  <dd>
    <ul>
      <li><a href="https://huggingface.co/alfredplpl/gemma-2-2b-jpn-it-gguf" title="Llama 3.1 Swallow">Gemma 2 jpn</a>（GoogleのGemma 2ベースの日本語強化版）</li>
    </ul>
  </dd>
    <dd>
    <ul>
      <li><a href="https://huggingface.co/mmnga/llm-jp-13b-v2.0-gguf" title="Llama 3.1 Swallow">LLM-jp</a>（国立情報学研究所のLLM。他のLLMベースではなくゼロから作っているそうです。）</li>
    </ul>
  </dd>
</dl>
　などなど


* **AIモデルのチューニング**
Model Fileという設定ファイルを書くことで精度を上げるなどが可能です。
モデルによっては書くことが必須な場合もあります。
今回は解説を割愛します。
[Model Fileについてのドキュメント](https://github.com/ollama/ollama/blob/main/docs/modelfile.md "Model Fileについてのドキュメント")

:::note
今回はOllamaを使いましたが、LMstudioもグラフィカルで良さそうです。
:::

## 注意点
Ollamaでの利用にあたり、AIモデルのライセンスを必ずご確認ください。
商用利用禁止、研究目的での利用に制限されているなどの場合があります。

今回使うDeepSeek-R1は、商用利用や改変が可能なMITライセンスとなっています。

## セットアップにあたって
### 所要時間
1時間～
ご利用になるモデルによりますが、DeepSeek-R1やソフトウェアのダウンロードに時間がかかります。

### コマンドプロンプトやPowerShellの起動方法
スーパーハッカーになれるやつです。
`WindowsキーとR`を押して、`cmd`や`PowerShell`と入力し、`Enter`

![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795435/e6213448-7311-4262-913d-8f7e0e095785.jpeg)

コピー&ペーストするときは、右クリックするだけでできます。

### インストールが成功したかの確認について

:::note warn
失敗と嘆く前に**コマンドプロンプトを再起動してください。**
それでもだめならPC再起動
:::
```java:コマンドプロンプトで確認
ollama --version

#インストールが失敗している場合
'ollama' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
```



# 1. 必要な環境を揃える
## まずはお使いのPC環境を確認
`Ctrl`と`Shift`と`Esc`を押して、タスクマネージャーを起動

![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795435/47296071-dc19-4f30-90a0-0e7e1922ff6b.jpeg)

* **NVIDIA**と表示されている場合
追加でソフトをインストールして処理を高速化しましょう。

## Ollama
**[Ollamaインストーラをダウンロード](https://ollama.com/download "Ollamaインストーラのダウンロードサイト")**
表示に従ってインストールしてください。

#### 確認
```java:コマンドプロンプトで確認
ollama --version

#成功
# ollama version is バージョンナンバー
```


## （NVIDIA表示あり） Build Tools for Visual Studio 2022
**[Build Tools for Visual Studio 2022インストーラをダウンロード](https://visualstudio.microsoft.com/ja/downloads/#build-tools-for-visual-studio-2022 "Build Tools for Visual Studio 2022インストーラのダウンロードサイト")**
表示に従ってインストールしてください。

Build Tools for Visual Studio 2022を起動し、**「c++によるデスクトップ開発」を選択**してインストールしてください。

## （NVIDIA表示あり） GPUドライバ (Nvidia APP経由)
**[Nvidia APPインストーラをダウンロード](https://www.nvidia.com/ja-jp/software/nvidia-app/ "Nvidia APPインストーラのダウンロードサイト")**

表示に従ってインストールしてください。
**エクスプレスインストールがおすすめです。**

NVIDIA APPを起動すると色々聞かれるかと思いますが、画面に従っていただいて大丈夫です。
アカウント登録は飛ばしてください。

![タイトルなし.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795435/3468958f-edfb-48ac-a80f-8ea15eaf85a0.jpeg)

`Game Ready ドライバー` もしくは `Studio ドライバー`をインストールしてください。
* Game Ready ドライバー : 主な用途がゲームなどのホビー向け
* Studio ドライバー : 主な用途が動画編集、3D、画像編集などのクリエイション向け

こちらも同様に**エクスプレスインストールがおすすめです。**

#### 確認

```java:コマンドプロンプトで確認
nvidia-smi

#成功
Driver Version: バージョンナンバー　その他いろいろ
```
:::note warn
CUDA Versionは対応している最新のCUDAを指しており、
**CUDAがインストールされていなくても表示されます。**
:::

## （NVIDIA表示あり） CUDA
* **[CUDA Toolkitインストーラをダウンロード（ Windows11 用）](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local "Windows10向けCUDA Toolkitインストーラのダウンロードサイト")**
* **[CUDA Toolkitインストーラをダウンロード（ Windows10 用）](https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local "Windows10向けCUDA Toolkitインストーラのダウンロードサイト")**

表示に従ってインストールしてください。

```java:コマンドプロンプトで確認
nvcc -V

#成功
nvcc: NVIDIA (R) Cuda compiler driver その他いろいろ
```


## （NVIDIA表示あり） NVIDIA cuDNN
**[NVIDIA cuDNNインストーラをダウンロード](https://developer.nvidia.com/cudnn-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local "NVIDIA cuDNNインストーラのダウンロードサイト")**
表示に従ってインストールしてください。


## Python（※ 無くても使えます）
**[Pythonインストーラをダウンロード](https://www.python.org/downloads/ "Pythonインストーラのダウンロードサイト")**

![1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795435/eb1ed07c-c4d5-406a-b036-cc23ce34f83b.jpeg)

:::note warn
`Add python.exe to PATH`にチェックを付け、あとは表示に従ってインストールしてください。
:::
PowerShellでスクリプトの実行を許可
```java:PowerShellで実行　1度行えばOK
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
```

#### 確認
```java:コマンドプロンプトで確認
python --version
pip --version

#成功
Python バージョンナンバー
pip バージョンナンバー from ...
```


# 2. DeepSeek-R1のダウンロードと起動

`ollama run ～～～`で起動します。
まずはモデルをダウンロードするため、気長にお待ちください。
ダウンロードを中断しても大丈夫です。
再度同じコマンドの実行で再開できます。

各コマンドを見ていただくと`◯b`と付いているのに気づくと思います。（例:deepseek-r1:1.5b）
bとはBillion（十億）の略で、それが持つパラメータの数になります。
**パラメータ数が多いほど**、**賢く**、そして**要求されるPC性能が上がります。**


PC性能以上のモデルを選ぶと最悪パソコンが固まりますが、再起動すれば解決するので色々試してみるのが良いと思います。

各モデルの要求PC性能参考
https://ollama.com/library/deepseek-r1/tags
https://apxml.com/posts/gpu-requirements-deepseek-r1

```powershell:コマンドプロンプト どれか1行をお試しください。
#一般的なノートPC向け 日本語での運用は厳しい？
ollama run deepseek-r1:1.5b-qwen-distill-q4_K_M

#そこそこのPC向け
ollama run hf.co/mmnga/lightblue-DeepSeek-R1-Distill-Qwen-7B-Japanese-gguf:Q4_K_M

# ビデオメモリ10GB程度あるPC向け
ollama run hf.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf
# 32Bに挑戦してみたい人向け
ollama run hf.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-32B-Japanese-gguf:IQ4_XS

# RTX4090 またはメモリが豊富なPC向け Q4_K_MやQ5_K_M
ollama run hf.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-32B-Japanese-gguf:Q4_K_M

# 富豪向け
ollama run hf.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-32B-Japanese-gguf:Q8_0
ollama run deepseek-r1:70b
ollama run deepseek-r1:671b
```

7Bは、Lightblue社様がDeepSeekに日本語を追加学習し、mmnga様によってGGUFにしていただいたモデルです。

* [mmnga/lightblue-DeepSeek-R1-Distill-Qwen-7B-Japanese-gguf · Hugging Face](https://huggingface.co/mmnga/lightblue-DeepSeek-R1-Distill-Qwen-7B-Japanese-gguf "mmnga/lightblue-DeepSeek-R1-Distill-Qwen-7B-Japanese-gguf · Hugging Face")

14Bと32Bは、cyberagent社様がDeepSeekに日本語を追加学習し、mmnga様によってGGUFにしていただいたモデルです。
* [mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf · Hugging Face](https://huggingface.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf "mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-14B-Japanese-gguf · Hugging Face")
* [mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-32B-Japanese-gguf · Hugging Face](https://huggingface.co/mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-32B-Japanese-gguf "mmnga/cyberagent-DeepSeek-R1-Distill-Qwen-32B-Japanese-gguf · Hugging Face")

GGUFについて知りたい方はこちらのサイトをご参照ください。

https://techblog.cccmkhd.co.jp/entry/2024/07/23/100000

お疲れ様でした。

## 参考記事


https://note.com/cppp_cpchan/n/n39557f7de6ef

https://qiita.com/KazuhisaFujita/items/194f04f866a059fa7a12