「Text generation web UI」のインストール方法と使い方!大規模言語モデルを自分のPCで手軽に動かそう

Text generation web UI 導入・使い方まとめ その他のAI

今回は大規模言語モデル(LLM)に関する話題で、タイトルの通り

大規模言語モデルを手軽に扱えるWeb UI「Text generation web UI」の導入方法と使い方

を丁寧にご紹介するという内容になっています。

大規模言語モデルというとChatGPTに使われている「GPT-4」が有名ですが、そのほかにも様々な企業・団体が開発に着手しており色々なモデルが存在します。ただ基本的にこの手のモデルはWebサービスの形で提供されているものが多く、自分のPCで動かすというイメージはあまりないと思います。

しかし調べてみるとLLMを手軽に扱える「Text generation web UI」という無料ツールがあったので今回使ってみることにしました。

ここではこのツールについて

  • ツール概要
  • インストール方法
  • 使い方

をなるべくわかりやすく書いていきますね。

Text generation web UIとは?

公式ページ

GitHub - oobabooga/text-generation-webui: A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, Pythia, OPT, and GALACTICA.
A gradio web UI for running Large Language Models like LLaMA, llama.cpp, GPT-J, Pythia, OPT, and GALACTICA. - GitHub - o...

Text generation web UIについて

「Text generation web UI」は、oobabooga氏による大規模言語モデル用の無料のWeb UIです。大規模言語モデルはそのままだと扱い方が面倒なのですが、このツールを使えばブラウザ経由で簡単にモデルを扱うことができて非常に便利です。

ちなみにWeb UIというと画像生成AI用のStable Diffusion web UIが有名ですが、今回ご紹介するText generation web UIは「LLM界のStable Diffusion web UI」を目指して開発されたツールのようです。

動作に必要なPCスペックについて

さてText generation web UIを使って大規模言語モデルを動かすには一定以上のPCスペックが必要です。一般的に大規模言語モデルなどのAIを快適に動かすには特にグラフィックボードの性能が必要となります。

具体的には、使用するLLMのサイズにもよるのですが

  • NVIDIA製のグラフィックボードであること
  • かつ、VRAM(=ビデオメモリ)容量がなるべく多い(できれば10GB以上

のが望ましいです。

なおText generation web UIはWindowsの場合NVIDIA製のグラボでのみ動作するのでその点はご注意ください。AMD製のグラボをお使いの方はNVIDIAに乗り換えるなどしましょう。

ちなみに参考情報として、画像生成AIの場合のグラフィックボードの選び方を下記の記事で詳しく解説しているのでご興味があればそちらも併せてご覧ください(選び方の基本はLLMの場合も同じです)。

Stable Diffusion用のグラフィックボードの選び方!美少女イラストを快適に生成しよう
今回も画像生成AIに関する話題で、タイトルの通り Stable Diffusionを快適に動かすためのグラフィックボードの選び方 をご紹介するという内容になっています。 画像生成AIの代表格ともいえるStable Diffusionを動かす...

インストール方法

ではここからText generation web UIの導入方法や使い方についてご説明していきます。まずインストール方法については非常に簡単で

圧縮ファイルをダウンロード・展開してバッチファイルをクリックするだけ

となっています。それでも一応具体的な手順を書いておきますね。

手順1:簡単インストーラーのダウンロード

最初に簡単インストーラーをダウンロードしましょう。先ほどの公式ページを少しスクロールすると「Installation」と書かれたセクションがあり、ダウンロード用リンクがあるのでご自身のOSに合わせたものをダウンロードしてください。

簡単インストーラーのダウンロード方法

手順2:圧縮ファイルを展開し、中身の「start」を実行する

次に先ほどの圧縮ファイルを任意の場所に展開します。このあと、展開したフォルダに色々なファイルがダウンロードされることになり、モデルファイルなしの素の状態でも15GB程度の容量を食うので十分な空き容量のあるストレージに展開してください。

準備ができたら展開したフォルダの中にある「start」と書かれたバッチファイルを実行しましょう(例:Windows版なら「start_windows.bat」)。すると黒い画面が出て必要なファイルのダウンロードやインストール処理が始まります。

途中、「どのグラフィックボードを使っていますか?」という質問が出て処理が止まるので、Windowsの場合は必ずAの「NVIDIA」を選択してください(つまり「A」と入力してEnterを押せばOK)。

グラフィックボードの種類の選択

あとはおまかせで自動的に処理が進みます。お使いの環境にもよりますが色々なファイルをダウンロードしたりインストールしたりするので数十分はかかります。気長に待ちましょう。

無事インストールが完了すると、黒い画面に

Running on local URL: http://127.0.0.1:7860

というURLが出ます。Ctrlを押しながらこのURLをクリックするとブラウザが起動し、Text generation web UIの画面が表示されます。

Text generation web UIの画面

Text generation web UIの使い方

お次はいよいよText generation web UIの具体的な使い方についてご説明していきます。

モデルのダウンロード・導入方法

まず、先ほどまでの手順でweb UI本体のインストールは完了したのですが、まだモデルを何も導入していないのでそのままでは動きません。そこでモデルをダウンロードして使えるようにしましょう。

モデルはHugging FaceというAIモデルの共有サイトにあることが多いです。ここではサンプルとして、サイバーエージェント社が開発した日本語LLMの「OpenCALM」の一番小さいモデル(open-calm-small)を導入して使ってみることにします。

cyberagent/open-calm-small at main
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

モデルは手動でダウンロードすることもできます。ただしText generation web UIには自動ダウンロード機能が付いていますのでそれを使うと簡単です。やり方は画面左上の「Model」タブ→「Download custom model or LoRA」の入力欄に

cyberagent/open-calm-small

と記入して(要するに「HuggingFaceの投稿者名/モデル名」という形式で記入すればOK)Downloadボタンを押してください。

モデルのダウンロード方法

ダウンロードが完了したら、モデル画面左上の「Model」ドロップダウンの右にある水色のリロードボタンを押してください。するとドロップダウンに新しいモデルの項目が出現するので、それを選択して「Load」ボタンを押しましょう。

モデルの選択とロード

これでモデルの導入が完了し、モデルを動かすための準備ができました。

日本語でのチャットのやり方

Text generation web UIでLLMとのチャットを行うには、まず左上の「Session」タブでModeを「Chat」モードにして再起動する必要があります。

チャットモードへの切り替え

次に、このままだと英語の回答が混じってしまう可能性があるのでInstruction Templateの編集を行います。「Chat settings」→「Instruction Template」と進み、テンプレートを「None」、その下の項目をすべて空欄にしてください。

Instruction Templateの編集

これでようやくLLMを利用した日本語チャットができるようになったので早速試してみましょう。やり方は簡単で、「Text generation」タブの「Input」欄に適当な文章を入れて下の「Generate」ボタンを押すだけです。回答はチャット形式で生成されます。

試しに下記のような質問をしたところ、何やらそれっぽいけどメチャクチャな回答が返ってきました。

OpenCALMへの質問例と回答例

さすがにモデルのパラメータ数が少ないせいか回答の精度はよくありません(ChatGPTのようなものを期待しているとガッカリすると思います)。それでも国産のLLMなだけあって、きちんと日本語で答えが返ってくることは確認できました。

おわりに

以上、大規模言語モデルを手軽に扱える「Text generation web UI」のインストール方法や使い方をご紹介しました。

大規模言語モデルはChatGPTなど優秀なWebサービスがあるのでローカルで動かす必要性は薄いかもしれませんが、研究対象としてはとても面白いと思うので物好きな方はぜひ試してみてください。

この記事が何かしら参考になれば幸いです。