Tips/GenerativeAI/Text Generation Web UI

Last-modified: Fri, 23 Feb 2024 21:01:47 JST (115d)
Top > Tips > GenerativeAI > Text Generation Web UI

概要

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

導入方法

インストール

  • dockerリポジトリのclone
    git clone https://github.com/oobabooga/text-generation-webui.git
  • インストール
    実行環境のOSに対応した以下のスクリプトを実行
    OSインストールスクリプト
    Linuxstart_linux.sh
    Windowsstart_windows.bat
    MacOSstart_macos.sh
    WSLstart_wsl.bat
  • 環境設定
    実行環境に合わせて選択
    • GPUの選択
      実行環境に合わせたGPUを選択する.
      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で良い
      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 にアクセスする

実行

次回実行時よりOSに合わせたstartコマンドを実行する。以下はWindowsでの例

start_windows.bat <option>
  • オプション
    使いそうなオプション
    分類option概要
    アクセラレーション--diskモデルがGPUとCPUの組み合わせに対して大きすぎる場合、残りのレイヤーをディスク上に退避する
    --load-in-8bitモデルを8bit精度で読み込む
    省メモリになるが生成精度は落ちる
    --bf16モデルを16bit精度で読み込む
    NVIDIA Ampare GPU(RTX30世代以降)が必要
    省メモリになるが生成精度は落ちる
    --no-cacheテキスト生成中のキャッシュを無効化する
    わずかにVRAM消費を抑えるが速度が低下する
    --trust-remote-code一部のモデルの利用に必要
    Gradio--listenLAN内からWebUIにアクセスできるようにする
    --listen-port <PORT>サーバーが使用するPORT番号を指定する
    StableDiffusionWebUIと共存させる場合は、被らないようにPORT番号の変更が必要

環境設定

  • モデルの読込
    1. Hugging Faceで Text Generation を検索しインストールしたいモデルを探す
    2. インストールしたいモデルのURLをコピー
    3. Modelタブ-> Download model or LoRA のテキストボックス内にURLを張り付けて下のDownloadボタンを押す
    4. Modelタブ-> Model で使用したいモデルを指定して Load ボタンを押す
  • モデル設定の変更
    指示がある場合は、Hugging Faceのモデルのページを参照しながらモデルの設定を変更
  • パラメータ設定
    デフォルトでは英語での会話形式が設定されているため、日本語での会話形式を追加する
    1. Parametersタブ-> Characterタブ -> チャットでのキャラクタ設定を日本語で追加する
    2. 設定例
      パラメータ設定内容
      Your nameユーザー:
      Character's nameアシスタント:
      Context以下は 「アシスタント」と呼ばれるAIと「ユーザー」と呼ばれる人間の会話です。
      アシスタントは、ユーザーの質問に対して知的、誠実、丁寧に回答します。
      1. Sessionタブ-> "Save UI defaults to settings.yaml" で設定を保存する

用語

用語概要
LLMLarge Language Models(大規模言語モデル)
TTSText To Speech(音声合成)
STTSpeech To Text(音声文字起こし)

参照リンク