Tips/GenerativeAI/Text Generation Web UI の変更点

Top > Tips > GenerativeAI > Text Generation Web UI

#contents
----
* 概要 [#z67a5e7e]
- ChatGPTなどのChatAIをローカル実行できる
- 最新の機能/拡張なども積極的に取り込まれている
- Stable Diffusion WebUIに似せた画面構成になっている

* 導入方法 [#t916e929]
** インストール [#f8b8d3c2]
- dockerリポジトリのclone
#geshi(bat){{
git clone https://github.com/oobabooga/text-generation-webui.git
}}
- インストール
実行環境のOSに対応した以下のスクリプトを実行
|OS|インストールスクリプト|h
|Linux|start_linux.sh|
|Windows|start_windows.bat|
|MacOS|start_macos.sh|
|WSL|start_wsl.bat|

- 環境設定
実行環境に合わせて選択
-- GPUの選択
実行環境に合わせたGPUを選択する.
#geshi(bat){{
What is your GPU?

A) NVIDIA
B) AMD (Linux/MacOS only. Requires ROCm SDK 5.6 on Linux)
C) Apple M Series
D) Intel Arc (IPEX)
N) None (I want to run models in CPU mode)
}}
-- CUDAの選択
CUDAのバージョンを選択する.基本はNで良い
#geshi(bat){{
Do you want to use CUDA 11.8 instead of 12.1? Only choose this option if your GPU is very old (Kepler or older).
For RTX and GTX series GPUs, say "N". If unsure, say "N".
}}
-- アクセス
インストール完了後 http://localhost:7860 にアクセスする
** 実行 [#hc7e743e]
次回実行時よりOSに合わせたstartコマンドを実行する。以下はWindowsでの例
#geshi(bash){{
start_windows.bat <option>
}}

- オプション
使いそうなオプション
|分類|option|概要|h
|アクセラレーション|--disk|モデルがGPUとCPUの組み合わせに対して大きすぎる場合、残りのレイヤーをディスク上に退避する|
|~|--load-in-8bit|モデルを8bit精度で読み込む&br;省メモリになるが生成精度は落ちる|
|~|--bf16|モデルを16bit精度で読み込む&br;NVIDIA Ampare GPU(RTX30世代以降)が必要&br;省メモリになるが生成精度は落ちる|
|~|--no-cache|テキスト生成中のキャッシュを無効化する&br;わずかにVRAM消費を抑えるが速度が低下する|
|~|--trust-remote-code|一部のモデルの利用に必要|
|Gradio|--listen|LAN内からWebUIにアクセスできるようにする|
|~|--listen-port <PORT>|サーバーが使用するPORT番号を指定する&br;StableDiffusionWebUIと共存させる場合は、被らないようにPORT番号の変更が必要|
** 環境設定 [#y0182984]
- モデルの読込
++ Hugging Faceで Text Generation を検索しインストールしたいモデルを探す
++ インストールしたいモデルのURLをコピー
++ Modelタブ-> Download model or LoRA のテキストボックス内にURLを張り付けて下のDownloadボタンを押す
++ Modelタブ-> Model で使用したいモデルを指定して Load ボタンを押す
-- 代表的なモデル
|モデル名|開発者|日本語|概要|解説|h
|[[CALM2(CyberAgentLM2)>https://huggingface.co/cyberagent/calm2-7b]]|サイバーエージェント|o||[[!>https://note.com/it_navi/n/n35e5fac2b3d3]]|
|[[ELYZA-Llama2>https://huggingface.co/elyza/ELYZA-japanese-Llama-2-7b-fast-instruct]]|東大/松尾研|o|||
|[[OpenChat>https://huggingface.co/openchat/openchat-3.5-1210]]|中国/清華大学|x||[[!>https://gigazine.net/news/20231126-openchat/]][[!>https://weel.co.jp/media/openchat-3.5]]|
|[[Phind>https://www.phind.com/blog/introducing-phind-70b]]|x|||
|[[Phind>https://www.phind.com/blog/introducing-phind-70b]]||x|||
- モデル設定の変更
指示がある場合は、Hugging Faceのモデルのページを参照しながらモデルの設定を変更
- パラメータ設定
デフォルトでは英語での会話形式が設定されているため、日本語での会話形式を追加する
++ Parametersタブ-> Characterタブ -> チャットでのキャラクタ設定を日本語で追加する
++ 設定例
|パラメータ|設定内容|h
|Your name|ユーザー:|
|Character's name|アシスタント:|
|Context|以下は 「アシスタント」と呼ばれるAIと「ユーザー」と呼ばれる人間の会話です。&br;アシスタントは、ユーザーの質問に対して知的、誠実、丁寧に回答します。|
+++ Sessionタブ-> "Save UI defaults to settings.yaml" で設定を保存する

- 参考リンク
--[[Hugging Face/Text Generation Models>https://huggingface.co/models?pipeline_tag=text-generation&sort=downloads]]
** 用語 [#m745a501]
|用語|概要|h
|LLM|Large Language Models(大規模言語モデル)|
|TTS|Text To Speech(音声合成)|
|STT|Speech To Text(音声文字起こし)|
** 参照リンク [#dfab70e5]
- [[text-generation-webui>https://github.com/oobabooga/text-generation-webui]] -  本家
-- [[text-generation-webui-extensions>https://github.com/oobabooga/text-generation-webui-extensions]] - 拡張機能一覧
- [[“PCで自宅ChatGPT”がかなり手軽に! GUIで簡単導入でき日本語もOKの「Text generation web UI」>https://internet.watch.impress.co.jp/docs/column/shimizu/1510290.html]]
- [[text-generation-webui の 設定項目まとめ >https://note.com/npaka/n/n8e49aeba6a55]]

- [[text-generation-webui で Rinna・OpenCALM・RWKV を試す>https://note.com/npaka/n/n5d25ea4227df]]
- [[Text generation web UI の起動時コマンドを指定する【Windows用】>https://qiita.com/average35/items/180843524520f5321298]]
- [[Text Generation WebUI とおしゃべりする設定の覚え書き>https://note.com/lucas_san/n/n3762b2fcf5da]] - TTS拡張で音声再生させる