モデルと GPU レイヤー数の選択 - Zuntan03/EasyNovelAssistant GitHub Wiki
- 初期設定は VRAM 4GB でも動作するモデルと GPU レイヤー数なので、動作が遅くなっています。
- GPU レイヤーはモデルを数十層に分けて、何層分を高速な VRAM に置くかを指定する値です。
モデルの全層を VRAM に置くと、動作が数倍速くなります。 - モデルのサイズが大きいとより高度な推論になりますが、動作速度が遅くなり、 VRAM の消費量も増えます。
- GPU レイヤーはモデルを数十層に分けて、何層分を高速な VRAM に置くかを指定する値です。
- GPU の VRAM 容量にあったモデルと GPU レイヤー数を設定することで、より高度なモデルが数倍高速に動作します。
- 私は RTX 3060 12GB 環境で
LightChatAssistant-2x7B-IQ4_XS-C8K-L33
と音声読み上げを併用しています。- 小説利用で
Vecteus-v1-IQ4_XS-C4K-L33
をより好まれる方もいます。
- 小説利用で
- VRAM 8GB 環境だと
Vecteus-v1-IQ4_XS-C4K-L33
で音声読み上げと併用できそうです。 - VRAM 8GB 未満の環境なら
Vecteus-v1-IQ4_XS
でコンテキストサイズ上限や GPU レイヤー数を減らしてください。
- 私は RTX 3060 12GB 環境で
VRAM 利用状況の確認
- Windows のタスクバーを右クリックして、
タスクマネージャー
を起動します。 パフォーマンス
タブでNVIDIA Geforce
の GPU を選択します。専用 GPU メモリ
のVRAM 使用量 / VRAM 容量
を確認します。- VRAM 残量 (容量 - 使用量) が 1GB を切るぐらいのモデルと GPU レイヤー数を設定するのが目的です。
- 新しいモデルサーバーを立ち上げるために、立ち上げ済みのモデルサーバーを閉じます。
メニューの モデル
から、モデルと GPU レイヤー数 L(数値)
を選びます。
VRAM に収まらない場合は以下のようなメッセージが表示されますので、より小さいモデルや低い GPU レイヤー数を指定してください。
Could not load text model: \EasyNovelAssistant\KoboldCpp\LightChatAssistant-TypeB-2x7B_iq4xs_imatrix.gguf
続行するには何かキーを押してください . . .
また、動作はするが明らかに遅い(1~2秒に 1文字しか出力されない、など)場合も、GPU レイヤー数を減らしてみてください。
速度の参考値
RAM 16GB, Geforce GTX 1660 Ti (VRAM 3.3GB / 6.0GB), Ryzen 5 3600X で3.5 tokens/sec (T/s)
です。
Geforce RTX 3060 12GB なら13.5 T/s
です。
- VRAM 4GB は
Vecteus-v1-IQ4_XS
のL16
~L20
を選びます。 - VRAM 6GB は
Vecteus-v1-IQ4_XS
のL33
を選びます。 - VRAM 8GB は
LightChatAssistant-TypeB-2x7B-IQ4_XS
のL10
~L14
を選びます。- もしくは
Vecteus-v1-IQ4_XS
のL33
を選びます。
- もしくは
- VRAM 12GB は
LightChatAssistant-TypeB-2x7B-IQ4_XS
のL20
~L25
を選びます。- 設定を詰めた手元の Geforce 3600 12GB 環境では、後述の bat で
L27
にしています。- 画面表示やアプリ描画を、オンボード GPU に任せて VRAM を空けます。
Win + Ctrl + Shift + B
でグラフィックスドライバをリセットできます(おまじない)。
- もしくは
Vecteus-v1-IQ4_XS
のL33
を選びます。
- 設定を詰めた手元の Geforce 3600 12GB 環境では、後述の bat で
- VRAM 16GB 以上は
LightChatAssistant-TypeB-2x7B-IQ4_XS
のL33
や、より大きなLightChatAssistant-4x7B-IQ4_XS
で可能な範囲のレイヤー数を指定します。- 量子化レベルは
IQ4_XS
が今の安牌っぽいです。 - より規模の大きいモデルを選ぶよりも、すべての GPU レイヤーを VRAM に載せたほうが満足度が高くなりがちです。
- 量子化レベルは
モデル
メニューの コンテキストサイズ上限
を引き上げると、より長い文章の入力と生成を扱えますが、GPU レイヤー数に応じて消費 VRAM が増えます。
GPU レイヤーを減らして VRAM 消費を抑えると、EasySdxlWebUi の forge による画像生成と同時に利用できます。
文章と画像の生成待ち時間を、交互に生成物を確認することで解消できます。
生成文章の状況に合わせた画像生成用のプロンプト生成も、探りがいのある分野です。
RAM 64GB, VRAM 12GB 以上の環境で巨大な CommandR 系のモデルを L4
など立ち上げ、寝る前や外出前に仕込んでおくのもアリです。
が、放置する価値のあるプロンプトかを確認しておかないと、起きたときや帰ったときにがっかりすることになります。
RAM 64GB だと超カツカツですが、CommandR+ の IQ4_XS
が L4
で動いた実績 があります(が、64GB ではカツカツすぎて色々工夫が必要です)。