【Radeon】Windows上でChatGPTを動かしてみる
最近ChatGPTのような対話型AIを使う機会が多くあります。
プログラミング中に、ちょっとわからないことを聞いてみると、割といい感じに回答してくれることが多くあり、便利さを実感する今日この頃です。
ただし、仕事で使っている形であり、個人的な用途は厳禁。
となるとローカルで動く環境が欲しいなぁ、と思うのが常です。
ということで、調べてみたら意外と簡単に環境を用意できたので、その方法をメモしておきます。
LLMをローカルで動かす
調べてみると、AMDが公式に手順を公開していました。
手元の環境では、上記手順で問題なく動作しました。
ということで、必要なものをいインストールしていきます。
LM Studioをインストール
LM Studioとは、ローカルでLLMのダウンロード・管理や実行できるアプリになります。
GUIで操作ができるため、コマンドプロンプトの黒い画面を操作したり、ライブラリのビルドにすったもんだすることがありません。
お気軽に使い始めることができるので、とっつきやすい印象です。
上記サイトからインストーラをダウンロード・インストールするだけ。
簡単です。
言語設定を変更する
LM Studioがインストール出来たら、いくつか設定していきます。
必要があれば、Beta版のようですが日本語にも設定可能です。
歯車から設定を開き、App Settingsを開くと言語設定欄があるので
ここから日本語を選択することで変更可能です。
GPUで動作するよう設定する
画面右下の歯車から設定画面を開き「Runtime」をクリック。ROCm llama.cpp(Windows)
とVulkan llama.cpp(Windows)
をインストールしておきます。
インストール出来たら、念のためアプリを再起動しておきましょう。
その後、再度設定を開き「ランタイムの設定」でデフォルトのランタイムを指定しましょう。CPU llma.cpp(Windows)
以外を選択しておけば、GPUで処理させることが可能です。
クリックだけで必要なものをインストールできるのでお手軽ですね。
モデルをインストールする
LLMにはたくさんのモデルが存在しています。
大手企業が開発しているようなものについては、以下のサイト等で紹介されています。
公開されているようなモデルについては、以下のリポジトリにまとめられています。
今回は、以下のモデルをインストールして使ってみます。
LM Studioの設定を開き「Model Search」をクリック。
この画面から、モデルを多く公開しているリポジトリのHugging Faceから検索ができるので、モデル名を入力してインストールできます。
すでに上記モデルはインストール済みなので、参考として他のモデルを選択した時の画面を載せておきます。
以下のようにモデルを選択して、右下にある緑色の「Download」ボタンをクリックします。
モデルによっては10GB以上あったりするので、ストレージ容量にはご注意を。
ダウンロード中は、画面左下のアイコンをクリックすると、現在の進捗や完了までの推定時間等が表示できます。
インストール後、画面上部をクリックすると使うモデルを指定・切り替えできます。
使うモデルを指定すれば準備完了です。
AIと対話してみる
環境は、以下の通り。
メイン画面にて、画面中央の「Create New Chat」か、画面左上の「チャット一覧」の隣にある+ボタンをクリックします。
すると、チャット画面が開くので、AIに聞きたいことを入力してEnter。
すると、以下のようにするするとテキストを生成してくれます。
問題なく動作すれば完了です。
なお、お使いのPCスペックやモデルによっては動かないこともあるのでご注意を。
上記環境にて、SharePointへのファイルアップロードを行うスクリプトを生成させたところ、コード含めて1843文字を生成するのに7秒程度かかりました。
Token数などは以下の通り。
- 91.85 tok/sec
- 649 tokens
- 0.05s to first token
その時のタスクマネージャはこんな感じ。
事前に大きめのモデルを読み込んでいたので、GPUメモリの前半がほぼフルフルに使われていますがお気にせず。
本チャンの処理ではGPU使用率が90%程、GPUメモリが8.7GB使用されていました。
そのほかの設定
モデル指定ボタンの隣にある歯車を押すと、使用するスレッド数等を指定可能です。
裏側で動かすために処理を軽めにしたいときや、ゴリゴリにリソースを食わせて回してみる、など用途に応じて設定してみて下さい。
まとめ
今回は、Ryzen + Radeon環境のWindows上でChatGPTのような対話型AIをローカルで動作させてみました。
割と簡単に動いたのと、それなりの速度で動くので普段使いできそうな印象でした。
今回は、ここまで。
おわり