19日に更新してた

アフィリエイトはないよ

GTX1060 6G にて FlexGen と text-generation-webui で opt-1.3b を動かした話

最近話題の ChatGPT を超えるとか言われている FlexGen。

いろいろと検索してみたら、こちらのサイトで FlexGen の windows でのインストールや使用法について詳しく書かれておりました。

economylife.net

まぁ、win11、i7、memory 32G、GTX1060 6G ではお話にならないはずなのですが、動いたら儲けもので opt-1.3b のベンチマークを上記サイトに従ってやってみたら、以下のような感じでベンチマークが出る。

model size: 2.443 GB	cache size: 0.398 GB	hidden size (p): 0.008 GB
peak gpu mem: 3.240 GB	projected: False
prefill latency: 2.654 s	prefill throughput: 771.604 token/s
decode latency: 2.384 s	decode throughput: 52.003 token/s
total latency: 5.039 s	total throughput: 25.403 token/s
model size: 2.443 GB	cache size: 0.398 GB	hidden size (p): 0.008 GB
peak gpu mem: 3.240 GB	projected: False
prefill latency: 2.663 s	prefill throughput: 769.197 token/s
decode latency: 2.363 s	decode throughput: 52.468 token/s
total latency: 5.026 s	total throughput: 25.468 token/s

じゃ、どこのサイトでも試しているチャットを動かしてみようとしたら、上記のページには動かしたよって書いてある chatbot.py がダウンロードしたファイルの中に入ってない。
公式に行ってみたら、なんで消したのかと言い合っているのでそういうものらしいと諦めて、FlexGen をアンインストールの後、オススメされていた text-generation-webui を公式サイトを参照してインストールする。

github.com

Installation option 2 に書かれている通りに

  1. windows 用をダウンロードして展開
  2. install.bat をクリックしてインストール
  3. download-model.batをクリックしてから opt-1.3b を選んで学習ファイルをダウンロード

してから、その後、サイトにあるように

github.com

text-generation-webui のフォルダに移動して

python convert-to-flexgen.py models/opt-1.3b/

を実行してファイルを変換してから、元のフォルダに戻って、start-webui.bat をクリックして起動。表示される local url に接続します。

Starting the web UI...
Warning: chat mode currently becomes somewhat slower with text streaming on.
Consider starting the web UI with the --no-stream option.

Loading the extension "gallery"... Ok.
Loading opt-1.3b...
Auto-assiging --gpu-memory 5 for your GPU to try to prevent out-of-memory errors.
You can manually set other values.
Loaded the model in 5.09 seconds.
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

と出て、一応動いているらしいことがわかります。

text-generation-webui はこんな感じ、使うところだけ撮ってみました。

サクサク動きます。お返事もすぐ帰ってくる感じです。こちらの英語が最大のネックです。

動いたことに気を良くして、opt-2.7b も opt-6.7b も動かしてみたけれど text-generation-webui なら動いています。ベンチマークは両方とも当然のようにメモリーが足りなくて動きませんでしたから、上の起動時の表記にあるメモリー使用量調整を自動でつけてくれる恩恵ですね。
速度的には opt-2.7b だとチャットできる感じですが、opt-6.7bだと text-generation-webui 起動に1分位かかり、動き始めるとなんとかチャットができる感じでしょうか。質問内容やタイミングによってはかなり時間がかかります。

むこうは英語しか通じない & こちらは英語がヘボいの相乗効果で聞いている内容がショボかっただろうけれども、GPU の使用率は opt-6.7b で一瞬最大100%位、それ以外だと最大80%程度でなんとかなっていましたので、使用率は想像より高くなかったです。タスクマネージャーの GPU のコピー1が結構動いていたので割とまともに動いているんだろうな & 学習ファイルが大きくなると遅くなるけど饒舌になって賢くなる感じなので、GPUモリーがないと実用上お話にならないを体感しました。

日本語の単語は知っているみたいですが、日本語の会話にはならないです。opt-1.3b でこんな感じで opt-2.7 も opt-6.7 も似た感じ。


ロースペックな GPU で動かした話はあまりなかったのでネタとして。