ChatGPTやMicrosoft Copilotなどの生成AIサービスは「情報漏えいなどが心配」と感じているのならば、手元のWindows 10/11上でLLM(大規模言語モデル)を実行すればよい。ChatGPTライクなユーザーインタフェースを持つ「GPT4All」を使えば、簡単にLLMが利用可能だ。その使い方を紹介しよう。
対象:GPT4All(Windows 10/11)
ChatGPTやMicrosoft Copilot、PerplexityなどのLLM(大規模言語モデル)/生成AIサービスを利用すると、これまで面倒だった作業が簡単にできることがある。ただ、こうした生成AIサービスは、入力データがインターネット上のどこかのサイトにアップロードされることは避けられず、どうしても情報漏えいなどのセキュリティ面で不安がある。
そんな心配がある場合、手元のWindows 10/11上でLLM(大規模言語モデル)を実行する「ローカルLLM」を利用するとよい。Tech TIPS「生成AIサービスに個人情報をアップロードしたくない!! Windowsローカルで大規模言語モデル(LLM)を利用する」では、ローカルLLMの実行ツール(推論フレームワーク)である「Ollama」を使う方法を紹介した。
ただ、「Ollama」はWindowsターミナル上で実行するため、必ずしも使いやすいユーザーインタフェース(UI)にはなっていない。できれば、ChatGPTやMicrosoft CopilotのようなUIだと、使いやすいと感じるのではないだろうか。
ChatGPTライクなUIを提供するローカルLLMの実行ツールも、「LM Studio(商用利用にはライセンス契約が必要)」や「Jan(無料で商用利用可能)」、「GPT4All(無料で商用利用可能)」など幾つか提供されている。ここでは商用利用も可能で比較的使いやすい「GPT4All」を取り上げ、ChatGPTライクなローカルLLM環境を構築する方法を紹介しよう。
まずGPT4Allをインストールしよう。以下のリンクをクリックし、Nomicの「GPT4All」ページを開き、[Download for Windows]ボタンをクリックして、インストーラー「gpt4all-installer-win64.exe」をダウンロードする。
gpt4all-installer-win64.exeを実行すると、インストールウィザードが起動するので、指示に従って、[次へ]ボタンで進めていけばよい。インストール先のフォルダ程度しか設定項目がないので悩むことはないだろう。最後、[インストール]ボタンをクリックすると、GPT4Allのインストールが開始される。「GPT4Allウィザードを完了しています」と表示されたら、[完了]ボタンをクリックする。
デスクトップに[GPT4All]アイコンが作られているはずなので、これをダブルクリックすると、GPT4Allが起動する。
もし、ここで「MSVCP140.DLL」のように「MS」から始まるDLLが見つからない、というエラーが発生する場合は、Microsoftの「サポートされている最新の Visual C++ 再頒布可能パッケージのダウンロード」から、Visual C++再頒布可能パッケージ(vc_redist.*.exe)をダウンロードしてインストールしてみよう。その後で、GPT4Allを起動できるか試してほしい。
GPT4Allを初めて起動するとリリースノートや2つの許可に回答する画面が表示される。「Opt-in to anonymous usage analytics used to improve GPT4AII」は、GPT4AIIを改善するために使用される匿名利用分析を許可するかどうか、「Opt-in to anonymous sharing of chats to the GPT4AlI Datalake」はGPT4AlIのデータレイクへチャットを匿名で共有することを許可するかどうかである。セキュリティが気になるのであれば、どちらも「No」を選択しておくのが無難だろう。
2つの設問にある「Yes」もしくは「No」を選択すると、画面が閉じて、「Welcome to GPT4All」画面が表示されるはずだ。
GPT4Allのインストールが完了したら、GPT4All上で実行するLLMのモデルの保存先を設定しておこう。デフォルトでは、[%LOCALAPPDATA%\nomic.ai\GP4All]フォルダの下にモデルが保存される。モデルは小さなものでも1GB程度、大きなものだと40GB近くのファイルサイズがある(日本語に対応したモデルは3.5GB程度が多いようだ)。ストレージ容量が足りなくなってしまうようならば、別のドライブに設定を変えるなどしておくとよい。
モデルの保存先は、画面の左メニューで[Settings]を選択し、「Download Path」欄で変更できる。また、この画面では利用するCPUスレッドの数やシステムトレイに常駐させるかどうかなどの設定も可能だ。
[Home]タブを選択して「Welcome to GPT4All」画面に戻って[Find Models]ボタンをクリックするか、[Models]タブを選択して[+ Add Model]ボタンをクリックすると、画面が「Explore Models」に切り替わる。[GPT4All]タブでは、GPT4All向けに比較的のファイルサイズや使用メモリ容量が抑えられたモデルが選択できる。また、[HuggingFace]タブをクリックすると、GPT4AllがHugging Face(多数の学習済みモデルやデータセットが公開/配布されているサイト)で公開されているモデルの中からGPT4Allが選んだものが検索できる(検索結果を見ると、Hugging Faceで公開されている全てのモデルが検索できる機能ではないようだ)。
[GPT4All]タブでは日本語向けのモデルは提供されていないので、[HuggingFace]タブで「Japanese」や「Elyza」などで検索して日本語に対応したモデルを探すとよい。
なお、モデルの中にはライセンスの購入が必要であったり、商用利用に制限があったりするものもある。利用するモデルのライセンスも確認するようにしよう。
Elyzaの「Llama-3-ELYZA-JP-8B」をGGUFフォーマットに変換した「mmnga/Llama-3-ELYZA-JP-8B-gguf」あたりが無難なようだ。Llama-3-ELYZA-JP-8B-ggufは、Metaがオープンソースとして提供しているLLM「Llama 3」をベースに、ELYZAが日本語で追加学習したものだ。「Llama 3ライセンス」で提供されており、月間ユーザーが7億人を超えない限り、無料で商用利用も可能だ。
「Explore Models」画面で検索して、使いたいモデルが見つかったら、[Download]ボタンをクリックする。モデルのファイルサイズによってはダウンロードに時間がかかるので注意してほしい。
ダウンロードとGPT4Allへの読み込みが完了したら、[Download]ボタンが赤い[Remove]ボタンに変わる。GPT4Allでは、複数のモデルを登録しておき、モデルを切り替えて使うことも可能だ。
モデルの追加ができたらローカルLLMを実行する準備は完了である。左メニューで[Chats]タブを選択して、チャットの入力画面を開こう。
画面上部にある「Choose a model...」をクリックして、モデル名をクリックする。複数追加している場合は、複数のモデル名が表示されるので使いたいモデルを選択する。
画面下部にある入力ボックスにプロンプトを入力して、[Enter]キーを押せばよい。
ファイルを添付したい場合は、まず入力ボックスの左端にある[クリップ]アイコンをクリックすると、[Single File]というメニューが表示される。これを選択すると、ファイル選択ダイアログ([Please choose a file]ダイアログ)が表示されるので、添付したいファイルを選択する。
日本語で書いたメールの下書きを英語に翻訳してほしい場合などは、テキストファイルを添付して、「テキストファイルを英訳して」と指示すれば、英訳してくれる。ただし、長い文章ではエラーになってしまうようなので注意してほしい。
出力された回答にマウスホバーすると、回答の下に[Redo]アイコンと[Copy]アイコンが表示される。[Redo]アイコンをクリックすると、再出力が実行される。途中で回答が止まってしまったような場合に使うとよい。また、[Copy]アイコンをクリックすると、回答がコピーできる。
原稿執筆時点のGPT4All(バージョン3.6.1)では、改行がうまく処理できないようで、回答に改行が入らない状態で表示されてしまう。そのため、回答が読みにくいのが難点だ。コピーした回答には改行が入っているので、表示処理の問題のようだ。
試しにモデルとして「mmnga/Llama-3-ELYZA-JP-8B-gguf」を追加して、Tech TIPS「生成AIサービスに個人情報をアップロードしたくない!! Windowsローカルで大規模言語モデル(LLM)を利用する」でも試した「名前」を「姓 名」という形に分ける処理を実行させてみた。GPT4Allではファイルが添付できるので、ここでは名前の一覧をテキストファイルにして添付している。
結果はOllama+Llama-3-ELYZA-JP-8B-GGUFと同様に「姓 名」の形で正しく出力できた。ただし、前述の通り、GPT4Allでは改行されないので出力結果はかなり読みにくいものとなってしまった。それでも、回答をコピーして、「メモ帳」アプリに貼り付けると、正しい出力が得られていることが分かった。
このようにGPT4Allは、若干不具合を感じるものの、手軽にローカルLLMを始められるプラットフォームとなっている。使い方もChatGPTライクなので、ChatGPTを使ったことがあれば、それほど迷わずに使いこなせるだろう。
Copyright© Digital Advantage Corp. All Rights Reserved.