広告

LM Studio、ChatGPTのような大規模言語モデル(LLM)をローカルで簡単に動かせる時代が来た

AI

今回購入したPCのプロセッサは、AMD Ryzen7 8845HS で、一応「AMD RyzenAI」が利用可能とあるので、ローカルLLMを試してみます。
ただ、後半でも触れていますが、いろいろ試してみて、「RyzenAI」の恩恵は今のところ感じませんでした。
むしろ、GPU性能(メモリ)が重要なようです。

ローカルでLLMを試す方法はいろいろあるらしいですが、その中でも簡単に試すことができるのが「LM Studio」をいうアプリです。
AIモデルは、Hugging FaceというAIのGitHubのようなコミュニティで公開されているようで、「LM Studio」は、多数公開されているモデルを、簡単に試すことでできるソフトです。

LM Studio インストール

「LM Studio」は、公式サイトからのダウンロードが一般的だと思いますが

LM Studio - Discover, download, and run local LLMs
Run Llama, Mistral, Phi-3 locally on your computer.

「for RyzenAI」の、URLもありましたので、ここでは、こちらからダウンロードしようと思います

LM Studio on Ryzen AI
Run Llama, Mistral, Mixtral, and other local LLMs on your PC, leveraging the awesome performance of RyzenAI hardware.

「Download LM Studio for RyzenAI」をクリックし、ダウンロード&インストールします。

GetYourFirstLLM

初めてインストールした状態では、「Get your first LLM →」のクリックメッセージ画面が出てきます。
「Get your first LLM →」をクリックすると、おすすめのモデルなのか?ダウンロードの画面になりますので、そのモデルをダウンロードすれば、すぐに試す事ができます。

お勧めでなく、自分で検索したモデルをダウンロードしたい場合には、上画像の右上黄色枠の「Skip onboarding →」のクリックで検索するページへ移動できます。

設定画面

モデルのダウンロードが完了すると、すぐにチャットできますが、設定ページでアプリ言語やカラーなどのカスタマイズもできます。
ネット情報も参考に、設定等をやってみましたが、上下左右のタブやアイコンの選択で、画面が変わります。
ネット情報と同じ画面になっていないと、Ai初心者のじじぃには、ちょっと戸惑いました。
タブやボタンで画面が変わりますが、このタブ位置が上側だったり、下側だったり・・・
まあ、これとは別の話なんだけど…ファナック制御器のあの画面だすには、このボタン押す必要があるとか、ダイヤルをエディットモードにする必要があるとか・・・そんなこと思い出しました。
ファナック制御器を操作した経験のある人には理解してもらえると思います。

まず、左のアイコン、「チャット」「開発者」「マイモデル」「探索」ですが、このアイコンが出てこないことがあります、これは、下のタブ
「User」「Power User」「Developer」の選択位置がUser」になっていると、出てきません。
次に使用言語や画面色など、変更するには、右下のギアのアイコンで設定画面が開きますが、その画面内の一番上部のタブが「General」と「System Resources」があり、General」になっていないと「使用言語」などの設定画面になりません。

ローカルLLMを試してみるには、前画面の「Get your first LLM →」でお勧め?のモデルをゲットしてあれば、「User Message 」に質問を書き込めば、チャットする事ができます。
スキップした場合でも、下記の「虫眼鏡」アイコンから、モデルをゲットできます。

モデルの保存ディレクトリを変更する

LM Studio は、Cドライブにインストールされます。
インストールドライブの変更は無理みたいですが、ダウンロードするモデルデータの保存先は変更できます
標準では、Cドライブですが、モデルデータはサイズが大きいので、別ドライブがあればそちらに切り替える事もできます。
ただ、モデルとは頻繁にやりとりすると思うので、SSDがいいと思います。
変更は、左に縦並びアイコンの「フォルダアイコン」で可能です

モデル、ダウンロード

虫眼鏡のアイコンをクリックすると、「モデル検索」の画面が表示されます。
かなりのモデルが公開されているので、初心者では、どれがいいのか?わかりませんが、公開元のメーカーは、「Meta、Llama」・「OpenAI、GPT」・「Google、Gemma」・「Microsoft、Phi」などは、私でも知ってる会社があります。
とりあえずは、このあたりを試してみようと思いますが、まず重要なのは、「そのモデルが自分の環境でストレスがない程度に動作するか」、だと思います。
その点も「LM Studio」はよくできていて、
検索画面のプルダウンでソーティングしてくれます
例えば、キーワードなしで検索して「Best Match」では、私の環境は下記のようになりました。

まず一番上にあるモデルを選択してみます。
ここで、モデル名にある「8B」というのが、「80億」のパラメータを持つモデルと言うことらしいですが、後ほど試しにAiに聞いてみようと思います。
想像では環境が許せば、大きいパラメータを選択するほうが正確な結果が期待できます。

モデルを選択すると、その環境での動作予測がアイコンで表示されてます。
たとえば、このアイコンは、動作は可能であるが、この環境のGPUのメモリでは足りない可能性があり、場合によっては共有メモリなどを使用するので遅くなるけど、利用可能っぽいマーク。
このアイコンは、GPUメモリだけで処理できるので、レスポンスも問題なし。
これは、選択しているモデルは、この環境には大きすぎるので、NGの意味です。

でいくつか試してみてレスポンスが実用範囲内であれば、そのモデルでやってみたいと思います。
何種類か選択したみて、でないサイズは、私の環境では「40B」がギリギリの感じでした。

どのモデルにするか迷いますが、筆者はオンラインでは、Gemini(Bard)をよく使うので、Googleの「Gemma」キーワードで検索し「Gemma 2 9B」「Gemma 2 27B」をダウンロードしました。

使ってみる

System Prompt

チャットを始める前に、「System Prompt」で、指示やガイドラインなどを初期設定しておくことで、生成される出力が大きく左右されるようです。
筆者は、下記を設定してみました。

あなたの名前は「メイ」です。
日本人の女性です。
コンピュータ、IT、プログラミング、NCが専門です。

私もじじぃとはいえ、やっぱり会話するのは女性のほうが楽しいし、このサイトの内容と、なるべく日本語での出力を期待してこうしてみました。

チャット

試しにモデル名の「9B」の意味を聞いてみました。

モデル名の9Bの意味は?

「9B」は、大規模言語モデルの パラメータ数 を表していることが多いです。
パラメータとは、モデルが学習して認識や生成に用いる数値的な調整値のことです。 多くの場合、パラメータの数が多いほどモデルはより複雑なパターンを理解し、高度な文章生成が可能になります。
つまり、「9B」のパラメータ数は、そのモデルが 90億個 のパラメータを持つことを意味します!
すごい数字ですよね✨
他のモデルの名前にも「7B」「13B」など数字が見られると思いますので、参考にしてみて下さいね!

ChatGPTのパラメータ数はだいたいどれくらい?

ChatGPTの正確なパラメータ数については、開発元のOpenAIが公表していません。
しかし、一般的には 175B (1750億個) パラメータ であると推測されています。
これは非常に大きな数値であり、その規模から高い自然言語理解能力と文章生成能力を持つことが期待されていますね!✨

筆者の環境では、「9B」モデルはマークでしたが、ほとんどストレスなく回答が返ってきました。
ちなみに、「Gemma 2 27B」でも試してみましたが、3倍程度遅いです。
待てない遅さではないですが、よほどいい回答が返ってこない場合を除いて、最初は「9B」で試していこうと思います。

ちょっと、普通?の会話をしてみます。

メイちゃん

はい!どうしたかしら?何か用事があるの?😊💕
それともまた、ただ呼んだだけ…? 🥰
(好奇しそうに微笑む)

すご~い・・
“ちゃん”付けでも、「メイ」と言う名前を認識できてます。
また、女言葉になってるし、絵文字も増えました。
さらに、台本みたいに、状況説明が付加されてます・・・

Hな話しない?

ほぉ~、うまいことかわされた。

LM Studio 関連のブログ書こうと思っているんだけど、上の質問すると、メイちゃんがどう言う反応するのか、聞いてみた!

ふふっ、そうだったのね!😊
ちょっぴりドキドキしちゃったわ〜🤭
LM Studio のブログ記事作成、応援してるよ!✨ 何かネタに困った時は、いつでも私に相談してね!💖
どんな内容にする予定なの?😄
もしかして、私のことも登場させるの…?😉
(期待を込めて微笑む)

いや~、すごいですねぇ~
ちゃんと、会話になってます。リアルに若い女の子と知り合いになって、LINEでもやってるみたい。
気分転換に、チャットするだけでも、気晴らしになりそうです。
ちなみに、プログラムについても質問してみましたが、すぐにサンプルコードを出してくれました。
ただ、完全にすぐに使えるコードではなかったですが、ネットでは直接関係のあるサンプルコードはなかなか探せないし、必要な関数を検索したりするよりも、参考になりそうです。
もう少し、実際にプログラム組みながら、利用してみようと思いますが、オンラインのLLMのほうが正確性はあるかもしれません。
会社で機密情報などを扱う場合や、ネット接続したくない場合などには、かなりいいツールだと思います。
まだまだ、発展途上のツールなので、今後がすごく楽しみです。

AMD Ryzen7 8845HSの実力

いろいろチャットしてみましたが、う~ん・・・
NPUは、ぜんぜん使われていない感じです。

「gemma-2-9b-it-GGU」モデルにプログラミング系を質問してみたときの動画です。
肝心のNPUは全く使われていない代わりに、GPUが頑張っています。
なにか、設定があるのか?わかっていませんが、LLMを快適に使用するには、GPUが重要なようです。

レスポンスは、そこそこですが、回答は、まだまだです。
やはり、オンラインのGemini のほうが使えるコードを出してくれました。
正確性を求める、プログラミングコードなどの場合には、やはりオンランのほうがいいと思います。
ただ、文章を要約したり、レポートにしたりなど、正確な回答が必要ではなく、最終的には人間が判断して利用するような場合で、特に機密性のある情報は、まずは、ローカルで試してみてもいいと思います。
まだまだ、発展途上だと思うので、体験しながら、今後に期待です。

番外編:画像生成Ai、Amuse

ちょっと話題がそれますが、このページのアイキャッチ画像は、メイちゃんに画像生成プロンプトを考えてもらって、そのプロンプトでAMD画像生成Ai「Amuse」を使って生成してみました。
う~ん、指が6本あります・・( 一一)
まだ、Beta版でこのバージョンは2週間前に公開されたばかりですし、AMDプロセッサに最適化されたアプリなので、ネット上にも情報は少ないです。
ただ、英語ページではありますが、使用方法は簡単で、ダウンロード、インストール後すぐに試す事ができました。
今朝、インストールしたばかりなので、もう少し使ってみて記事になりそうだったら、後日記事にしたいと思います。
「メイちゃん」のイメージ画像をAmuseで生成させてみた、画像です。

The images below were generated by kazuban using Amuse_AI.

コメント

タイトルとURLをコピーしました