西川和久の不定期コラム
NVIDIAがローカルで手軽に動せるAIチャット「Chat with RTX」をリリース!その実力は?
2024年2月27日 06:16
NVIDIAは2024年2月14日、唐突にAIチャットの「Chat with RTX」をリリースした。これまでローカルで大規模言語モデル(LLM)を動かすのはちょっと手間がかかっていたが、Chat with RTXは馴染みやすいインストーラとGUIを採用していて、手軽に試せそうだ。さっそく手元のWindows+GeForce RTX 3090(GPU Box接続)で動かしたので、試用レポートをお届けしたい。
NVIDIA Chat with RTXとは?
これまで筆者は何回かローカルマシンでAIチャットを動かす記事を書いてきたが、多くはベースにtext-generation-webuiを使用、+モデルを読み込ませる形だった。
今回NVIDIAがリリースしたのは、これによく似た感じだが、フロントエンドはNVIDIAのWeb UI、バックエンドにモデルが2つ標準で入ってセットの形で配布、setup.exe一発で起動し使える、手間いらずのチャット環境となる。気になるシステム要件は以下の通り。
Chat with RTXの要件 | |
---|---|
プラットフォーム | Windows |
GPU | GeForce RTX 30または40シリーズ、メモリ8GB以上のNVIDIA RTX AmpereもしくはAda世代GPU |
メモリ | 16GB以上 |
OS | Windows 11 |
ドライバ | 535.11以降 |
Windows 11でメモリ16GB以上は、ちょっとしたPCなら今は普通。GeForce RTX 3060(8GB)でも動くので、ローカルなチャットとしてはさほどハードルは高くない印象だ。
特徴としては通常のLLMベースのチャットに加え、PC上のテキスト系ファイルをデータセット(Dataset)に使用可能な点。フォーマットは、テキスト(.txt)、PDF(.pdf)、Word文章(.doc/.docx)、XML(.xml)……と、いろいろなものに対応する。フォルダを指定すれば、上記のファイルが全てデータセットの対象となる。
もう1つはデータセットにYouTubeのURLを指定すると(プレイリストも含む)、その内容に関して答えることも可能だ。
なかなか面白そうなChat for RTX。さっそくインストールしてみたい。
インストールは簡単だが巨大なファイル容量!
インストールは激簡単! あれこれ探してコピーなどする必要はまったくなく、
1. ここの[今すぐダウンロード]でzipファイルをダウンロード
2. zipファイルを展開
3. 中にあるsetup.exeを実行
たったこれだけ。インストールが終わると自動的にhttp://127.0.0.1:9233/でWebブラウザが開き、即使うことができる。
「お! これは楽。試してみよう」と思うだろうが、ワンパケージになっていることもあり、ファイル容量が巨大だ。
まずダウンロードするzipファイルが約35GB。zipを展開すると約38.3GB。そしてsetup.exeを実行したインストール先が約61.7GB。もしzip展開後、zipファイルを消さずに作業を続けると、計約135GBもの容量が必要となる。
この点を除けばサクッと入るので、楽は楽なのだが、256GBや512GBのストレージだと結構厳しいのではないだろうか?
試してみた
Web UIのインターフェイスは上記のようにスッキリまとまっている。左上に「AI model」の選択。ここは「Mistral 7B int4」と「Llama 2 13B int4」の2択。int4とあるのでおそらく4bit量子化版なのだろう。筆者が好きなLlama2がデフォルトであるのは嬉しい限り。
右側は電源ボタンとデータセットの選択。AI Model default / Folder Path / YuTube URLが選択できる。中央はチャットスペース。下に何か入れ[Send]で返事が返ってくる。基本英語だが、日本語で尋ねることもできた。
下3つのボタンは、Regenerate / Undo / Clear。システム設定系の項目はどこにもない。個人的にはLAN上のほかのPCから使えるhost_name="0.0.0.0"やポート変更なども欲しかったところ(社内のLAN上で使うにしても皆が皆GeForce RTX搭載PCは使っていないだろう……という話)。
まずMistral 7B int4とLlama 2 13B int4で同じ質問。「PHPのpdoを使った一連のコードサンプルお願いします」と尋ねてみると、答えは似ているものの(コード自体は合っている)、前者は日本語で返ってきた。当初、日本語で聞いても英語だったのが、何か変わったのだろうか? ただ、画面には出ていないが文字化けすることがある。
VRAM使用量はMistral 7B int4で約7.8GB、Llama 2 13B int4で約11GB。前者であれば8GBクラスのGPUでも動作可能となる。
速度はTensorRT-LLMなど最適化が効いているのか、これまで同環境で触っていたtext-generation-webuiよりかなり速く、一瞬で出てくる感じだ。
ほかにも以前連載で尋ねたような内容を試して見たが概ね同じ感じで結構きちんと答えてくる。ただし相変わらず「日本で二番目に高い山は?」が「富士山」になるもの変わらず(笑)。
ローカルのテキストファイルをデータセットにするには、右側のデータセットでフォルダパスを選び、学習させたいテキストファイルなどが入っているフォルダを指定する。今回ちょっと無謀かも知れないが、2023年筆者が書いた本連載一式が入っているフォルダを指定した=日本語となる。
試しにデータセットを入れた状態で、MINISFORUM XTX 780の仕様を尋ねると、プロセッサやOCuLink、2.5GbE×2、虎のプリント、32GB/1TBなど正解なのだが、なぜか価格が「300,000 yen」となっている。そんな表記はどこにもなく、どこから拾ってきたのか謎。またリファレンスにしているファイル名が別の原稿となっており、ここも謎の部分だ。
おそらく英語だと精度はいいのだろうが、まとまった英文ファイルを持っておらず、日本語で書いた原稿をデータセットにした結果でこれなので、これうまくすれば社内ファイルなどもデータセット化でき、ローカルでLLMを動かす価値も出てくるだろう。
YouTubの内容を尋ねるには、同じく右側のデータセットでYouTube URLにURLをセット、右の[↓]ボタンをクリックすると少し処理が入りReadyとなる。
今回は、ComfyUIについて英語で語っている動画を設定、「ComfyUIの特徴とインストール方法」を尋ねたところ、それっぽい回答がかえってきた。英語だったので、ブラウザ上で日本語へ翻訳。
これはなかなかおもしろい機能で用途としてもいろいろ考えられる。このように、通常のLLMに加え、ローカルにあるテキストやYouTubeの動画をデータセットにできるのは、特に前者は(クラウドへ一式上げない限り)ローカルにしかできない技となる。
気になる点としては“文脈把握”に未対応なことだろうか。文脈把握とは、チャットしている内容を記憶し、後から何かそれについて尋ねてもきちんと答えが返ってくることを指す。たとえば
人: 私はリンゴとバナナが好きです。あなたは?
AI: 適当に答えてくる(オウム返しのパターンが多い)
人: 私は果物で何が好きですか?
と会話をした場合、文脈把握対応だと、リンゴとバナナと答えるが、未対応だと関係ない内容が返ってくる。で、Chat for RTXは後者。未対応なのだ。つまり質問と答えは1回のみで完結。次のターンは続きにはならない。
ほかのLLMでも当初はそうだったが、とっくに対応済みなので、「今どき文脈把握未対応はないだろう的」な感じだ。ただこれはLLM側の問題ではなく、ロジックとしては過去の会話を含めて戻していないだけで、システム側の問題となる。
会話が長くなると膨大な量となるので(最大トークン(token数)にも影響する)、古いものからある程度で消す必要はあるものの、アップデートで対応してほしいところ。
と、ちょうどこの原稿執筆中に興味深い発表があった。
最近筆者はChatGPTではなくGeminiを使うことが多いのだが、そのオープンモデルにあたる「Gemma」にこのChat with RTXがまもなく対応するそうだ。その日がとても楽しみと言えよう。
以上、NVIDIAのChat with RTXのご紹介をした。文脈把握未対応とファイル容量が大きいという問題はあるものの、setup.exe一発でこれだけ動くのは一般向けとしては重要だろう。特に前者はアップデートに期待したいところ。環境がある人は是非試してほしい!