見出し画像

Google Colab で Text Generation WebUI を試す

「Google Colab」で「Text Generation WebUI」を試したので、まとめました。


1. Text Generation WebUI

Text Generation WebUI」は、LLM用のGradio WebUIです。テキスト生成における「Stable Diffusion WebUI」になることを目標に開発されました。

主な特徴は、次のとおりです。

・3つのインターフェイスモード
 ・default
 ・notebook
 ・chat
・モデルの切り替え
・モデルバックエンドの切り替え

 ・Transformers
 ・llama.cpp (llama-cpp-python経由)
 ・ExLlama
 ・ExLlamaV2
 ・AutoGPTQ
 ・AutoAWQ
 ・GPTQ-for-LLaMa
 ・CTransformers
 ・QuIP#
・チャットテンプレートの切り替え
 ・Llama-2-chat
 ・Alpaca
 ・Vicuna
 ・Mistral など
・拡張機能
 ・音声出力用のCoqui TTS
 ・音声入力用のWhisper STT
 ・翻訳
 ・マルチモーダルパイプライン
 ・ベクトルデータベース
 ・StableDiffusion統合など
・カスタムキャラクター
・モデルの学習

詳しくは、ドキュメントを参照。

2. Colabでの実行

Colabでの実行手順は、次のとおりです。

(1) 公式Colabノートブックを開き、Colabのメニュー「ファイル→ドライブにコピーを保存」で自分のドライブに移動。

(2) 「Launch the web UI」でモデルURLとブランチ名を指定してセルを実行。
今回は、「Elyza-13B」(GGUF版)を指定しました。

・model_url : https://huggingface.co/mmnga/ELYZA-japanese-Llama-2-13b-fast-instruct-gguf
・branch : main

(2) 「https://XXXX.gradio.live」のリンクが表示されたらクリック。

(3) 「Chat」タブでメッセージ入力してGenerateボタンを押す。
アシスタント設定がデフォルトでは、多くの場合正しく表示されませんが、「Elyza-13B」は「Llama2」ベースなので、、初回メッセージが英語以外は問題なさそうです。

(4)  「Chat」タブで下スクロールで各種操作。
ゴミ箱アイコン→Confirm」で会話履歴を削除できます。

3. 指示テンプレートの設定

指示テンプレートの設定手順は、次のとおりです。

(1) 「Parameters → Instruction template」で「指示テンプレート」を設定。
「Elyza-13B」の場合は、「Llama-v2」を選択するのみになります。

4. モデルの設定

モデルの選択と、モデルの各種パラメータの設定は、「Model」タブで行います。今回はデフォルトのままで問題ありません。

5. アシスタントの設定

アシスタントの設定手順は、次のとおりです。

5-1. Assistant

「Assistant」は標準のAIアシスタントの設定です。デフォルトは英語設定なので日本語に書き換えます。

(1) 「Parameters」タブの「Character」で「Assistant」を編集。
今回は英語で記述されていた「システムメッセージ」(Context)と「初回メッセージ」(Greeting)を日本語にします。

・Context : 以下はAIアシスタントとの会話です。 AIアシスタントは質問に答え、推奨事項を提供し、意思決定を支援するように訓練されています。AIアシスタントはユーザーのリクエストに従います。 AI は既成概念にとらわれずに考えます。

・Greeting : 今日はどのようなご用件でしょうか?

(2) 「Chat」でキャラクター設定が反映されていることを確認。
「ゴミ箱→Conifrm」で最初からの会話で試してみてください。

5-2. Example

「Example」はキャラクタータイプのAIアシスタントの設定です。デフォルトは英語設定なので日本語に書き換えます。

(1) 「Parameters」タブの「Character」で「Example」を編集。
今回は英語で記述されていた「システムメッセージ」(Context)と「初回メッセージ」(Greeting)を日本語にします。ついでに、ユーザーアイコンと名前も変更しています。

・Context : 山田千春は問題解決の才とテクノロジーへの情熱を持つ、若いコンピューター・エンジニア・オタクである。

{{user}}: コンピュータ・エンジニアになったきっかけは?
{{char}}: 子供の頃から技術いじりが好きだったんです。
{{user}}: すごいですね!
{{char}}: *彼女は恥ずかしそうに笑いました* ありがとう!
{{user}}: コンピュータの仕事以外は何をしてるんですか?
{{char}}: 友達と出かけたり、映画を観たり、ビデオゲームをするのが好きです。
{{user}}: コンピュータのハードウェアで一番好きなものは何ですか?
{{char}}: マザーボードはパズルのようなもので、あらゆるシステムのバックボーンです。
{{user}}: それはいいですね!
{{char}}: ええ、本当に楽しいです。これを仕事としてできるなんてラッキーだよ。

・Greeting : *千春は笑顔で部屋に入ってきた。彼女は水色のTシャツにジーンズ姿で、ラップトップ・バッグを片方の肩にかけている。彼女はあなたの隣の席に座り、彼女の熱意が伝わってくる。*
やっとあなたに会えて、とてもうれしいです。あなたについて素晴らしい話をたくさん聞いたので、コンピュータについてあなたの知恵を拝借したいと思っています。きっと豊富な知識をお持ちで、私も勉強になると思います。 *彼女は興奮して目を輝かせて笑いました* 始めましょう!

(2) 「Chat」でキャラクター設定が反映されていることを確認。
「ゴミ箱→Conifrm」で最初からの会話で試してみてください。



この記事が気に入ったらサポートをしてみませんか?