話題のDeepSeekを活用してみたいけど、生成AIサービスは「情報漏えいなどが心配」と思う人も多いのではないだろうか。そのような場合は、手元のWindows 10/11上でDeepSeekを実行すればよい。ChatGPTライクなユーザーインタフェースを持つ「Jan」を使えば、簡単にDeepSeekが利用可能だ。その使い方を紹介しよう。
対象:Jan+DeepSeek-R1(Windows 10/11)
中国のスタートアップ「DeepSeek(ディープシーク)」が開発した大規模言語モデル(LLM:Large Language Model)「DeepSeek-R1」が話題になっている。ChatGPTなどの競合モデルに比べて低コストで開発された上、性能も高いといわれていることから世界中に衝撃を与えている。
試しにダミーデータの住所50件を使って「以下の住所を都道府県、市区町村(政令指定都市は市区)、それ以下の住所に分けて、CSV形式で出力して」という指示を実行してみた。DeepSeek-R1は、ChatGPT(GPT-4o)やMicrosoft Copilotと同等の速度で回答を出力してくれた。
ただ、DeepSeek-R1に関しては、中国政府へのデータ流出のリスクやプライバシー保護の点で問題があるなどとして懸念の声もある。またDeepSeek-R1に限らず、AI(人工知能)チャットに入力した情報が、LLMの学習に利用されてしまう可能性があることから、大事な情報は入力しない方がよいとされている。
こうした懸念があるのであれば、手元のWindows 10/11上でLLM(大規模言語モデル)を実行する「ローカルLLM」を利用すればよい(Webサイトで公開されているAIチャットと同じではないが)。Tech TIPS「生成AIサービスに個人情報をアップロードしたくない!! Windowsローカルで大規模言語モデル(LLM)を利用する」「ChatGPTライクなUIのローカルLLMを構築できるGPT4Allとは?」では、ローカルLLMの実行ツール(推論フレームワーク)である「Ollama」と「GPT4All」を使う方法を紹介した。
幸いなことにDeepSeek-R1は、MITライセンスの下でオープンソースで公開されており、既に有志や研究機関などによってOllamaやGPT4Allでも利用可能なAIモデルが公開されている。
本Tech TIPSでは、ローカルLLMの実行ツール「Jan」を使い、DeepSeek-R1をLightblueが日本語で追加学習した「DeepSeek-R1-Distill-Qwen-7B-Japanese」を実行する方法を紹介しよう。ただ、「DeepSeek-R1-Distill-Qwen-7B-Japanese」は、Janで実行可能なGGUF形式では公開されていないので、これをmomonga氏がGGUFに変換したものを実行する。
実行ツールの「Jan」は、GNU Affero GPLv3(AGPLv3)ライセンスで提供されており、商用利用も無料だ。まず、Windows 10/11にJanをインストールしよう。
Webブラウザで「https://jan.ai/」を開き、中央にある[Download for Windows]ボタンをクリックする。インストーラーの「jan-win-x64-<バージョン番号>.exe」(原稿執筆時点のバージョンは「0.5.14」)がダウンロードできるので、これを実行してJanをインストールする。
Janがインストールできると、初期画面が表示される。ここで「Help Us Improve Jan(Janの改善にご協力ください)」というダイアログが表示される。Janを改善するために匿名データの収集をお願いするものだ。改善に協力する場合は、[Allow]ボタン、しない場合は[Deny]ボタンをクリックする。
このダイアログを閉じると、MetaのAIモデル「Llama 3.2」のダウンロードを求める画面になるが、このモデルは日本語向けではないのでダウンロードしないようにする。
これでJanのインストールは完了だ。目的のAIモデル「DeepSeek-R1-Distill-Qwen-7B-Japanese」を読み込ませてみよう。
Janが準備できたら、画面左下の[歯車(Settings)]アイコンをクリックして、「Settings」画面を開く。左ペインにメニューが表示されるので、ここの[My Models]を選択すると、Janがデフォルトで対応しているAIモデルの選択画面が表示される。DeepSeek-R1は、この一覧にはないので、上部にある入力ボックスにHugging Faceで配布されている以下のAIモデル名かHugging FaceのURLを入力する。
「mmnga/lightblue-DeepSeek-R1-Distill-Qwen-7B-Japanese-gguf(以下、DeepSeek-R1-Japanese)」で配布されているAIモデルの一覧が表示される。幾つかのAIモデルが表示されるが、これはパラメーターサイズの大きさが異なるAIモデルとなっている。AIが学習によって調整する数値「パラメーター」を最適化することで精度が向上できるため、同じAIモデルなら一般にパラメーターサイズが大きいほど高い性能を発揮するとされている。一方でAIモデルのファイルサイズが大きくなり、回答が出力されるまで時間がかかる傾向にある。
DeepSeek-R1-Japaneseでは、最も容量の大きな「Q8_0」でも7.54GBなので、これをダウンロードすることにする。「Available Versions」欄をスクロールして、一番下の「Q8_0」の[Download]ボタンをクリックすれば、DeepSeek-R1-Japaneseのダウンロードが開始される。ダウンロードが完了すると、[Use]ボタンに変わるので、これをクリックするとAIモデルの読み込みが完了し、DeepSeek-R1-Japaneseが利用可能になる。
DeepSeek-R1-Japaneseが使えるようになったので、早速、何か指示を与えてみよう。ChatGPTと同様、画面したの入力ボックスに指示を入力、[Enter]キーを押せばよい。
試しに「テストデータ・ジェネレータ」で生成した50件の住所を都道府県、市区町村(政令指定都市は市区)、それ以下の住所に分ける処理をしてみよう。
入力ボックスに「以下の住所を都道府県、市区町村(政令指定都市は市区)、それ以下の住所に分けて、CSV形式で出力して」と入力後、[Shift]+[Enter]キーで改行を入力、「#住所」と入力して以下に住所が続くことを示す。さらに[Shift]+[Enter]キーで改行を入力してから、生成した50件の住所のみをコピーして貼り付け後、[Enter]キーで送信する。
DeepSeek-R1では、思考過程が<think></think>タグで出力され、その後に回答を返してくる。その過程に沿って、回答の生成を試すようだ。
PCの性能にも依ると思うが、Core i7-1360Pを搭載するIntel NUC 13 Proの場合、最初の出力が得られるまで2分ほどかかった後、回答(think内)がループしてしまい、いくら待っても最終出力を得ることができなかった。どうもプロセッサリソースが足りないと、ループしやすいようだ。
そこで「Q8_0」ではなく、もう少しパラメーターサイズの小さい「IQ2_M」(4.36GB)を使ってみた。回答が出力されるまでの時間は短くなったものの、やはり回答に中国語(簡体字)が含まれたり、回答がループしたりしてしまい、意味のある回答は得られなかった。別のパラメーターサイズを使ったり、異なる処理だったりすると状況は変わるかもしれない。
他の指示も試したが、Lightblueが日本語の追加学習をしているとはいえ、まだ十分でないようだ。さらに日本語で追加学習をしたAIモデルができると、結果は改善されるのではないだろうか。
Janを便利に使う設定などについて幾つか紹介しよう。
Janのデフォルトでは、指示に添付ファイルを含められない。添付ファイルを可能にするには、[歯車(Settings)]アイコンをクリックし、「Settings」画面を開き、左メニューで[Advanced Settings]を選択、右ペインで「Experimental Mode(実験モード)」のスイッチを「オン」にする。[吹き出し(Thread)]アイコンをクリックすると、指示が入力できる「Thread」画面に戻る。
入力ボックスを見ると、[クリップ]アイコンが表示されるが、このままではファイルは添付できない。ツールバーの[サイドパネル]アイコンをクリックして、サイドパネルを開き、[Tools]タブの「Retrival」のスイッチを「オン」にする。これで添付ファイルが可能になる。
ファイルを添付したい場合は、入力ボックスにファイルをドラッグ&ドロップすればよい。ただし、原稿執筆時点の最新バージョン「0.5.14」では、PDFファイルのみ添付が可能で、テキストファイルなどその他のファイル形式はサポートしていない。また、AIモデルによってはPDFファイルをうまく読み取れないようで、正しい回答が得られないことも多かった(故に「Experimental Mode」なのだろう)。
Janでは、AIモデルのパラメーターの変更も可能だ。
画面右上部のツールバーにある[サイドパネル]アイコンをクリックするか、入力ボックス下部に表示されているAIモデル名の右側にある設定を開くアイコンをクリックすると、右側にサイドパネルが開く。
ここの[Model]タブを開き、「Inference Settings」や「Engine Settings」を展開すると、AIモデルの各種パラメーターが変更できる。
また、前述の「Experimental Mode」のスイッチを「オン」にすると、このサイドパネルに[Tools]タブが追加表示される。そこで前述の[Retrieval]のスイッチを「オン」にすると、「Top K」の値も調整可能となる。Top Kは、生成AIが出力の際に、次の単語や文字を選択する方法を変更するものだ。Top Kの値が小さいと生成されるテキストの一貫性が高くなる一方、同じようなパターンが繰り返されやすくなる。値が大きいと、一貫性が減り、創造的で予測不可能なテキストが生成される。
ただ、パラメーターを変更すると、おかしな出力になってしまうこともあるので注意してほしい。
AIモデルを変更したり、不要になったAIモデルを削除したりするには、[歯車(Settings)]アイコンをクリックし、「Settings」画面を開き、左メニューで[My Models]を選択、「My Models」画面を開く。
ここの「Llama.cpp (Cortex)」欄を展開すると、読み込んだAIモデルの一覧が表示されるので、削除したいAIモデルの一番右側にある[︙]アイコンをクリックし、[Delete Model]を選択すればよい。このとき、GGUFファイルも削除されてしまうので注意してほしい。
別のAIモデルを追加する場合は、まず「My Models」画面の上部にある入力ボックスにHugging Faceで配布されている以下のAIモデル名を入力する。配布されているAIモデルの一覧が表示されるので、このうち使いたいAIモデルの[Download]ボタンをクリックすればよい。新規にAIモデルを追加する場合と同じ手順だ。ダウンロード完了後、[Use]ボタンをクリックすると、追加したAIモデルに切り替わる。
読み込み済みの別のAIモデルに戻したい場合は、「Thread」画面の入力ボックス下部に表示されているAIモデル名をクリックすると、読み込み済みのAIモデル一覧が表示されるので、ここで使いたいAIモデル名を選択すればよい。
最適なAIモデルは、用途やPCの性能などによっても異なるので、実際に試してみるしかない。Janでは、Hugging Faceで公開されているGGUFファイルが簡単に読み込めるので、いろいろと試してみて、自分に合ったものを探してほしい。なお、AIモデルにもライセンスがあり、商用利用が制限されているものもあるので、利用前に確認してほしい。
Copyright© Digital Advantage Corp. All Rights Reserved.