Vicuna-13Bは,28GBのVRAMがあれば動くとのこと.GPU分散も可能で,16GBのグラフィックボード2台積んでいると動くということ.

Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90%* ChatGPT Quality

GitHub - lm-sys/FastChat: The release repo for "Vicuna: An Open Chatbot Impressing GPT-4"

TUTクラスタには,計算サーバの各ノードにNVIDIA Tesla V100 16G x2が積んであるので,つまりLLMsが手元で動かせそうじゃん!となった.そのレポート.

Unhandled Exception

TLDR(AI generated)

このドキュメントは、TUTクラスタでVicuna-13Bを実行する方法について説明しています。先に、モデルをダウンロードしたり、必要なライブラリをインストールしたりするための前提条件を紹介しています。その後、インタラクティブジョブでの対話的な実行方法と、バッチジョブでの実行方法を説明しています。バッチ処理では、Snakemakeを使用して、Vicuna-13Bモデルを使用して複数のテキストを要約するルールを実行する方法について説明しています。ルールは、各テキストを異なる種類の要約にまとめるために、様々な変化を加えるスクリプトを使用します。要約は、outディレクトリに保存されます。さらに、各ルールの実行に必要なリソースを自動的に管理するSnakemakeプロファイルを使用する方法を説明しています。

具体的なコマンドの説明は、以下の通りです。

前準備(モデルの用意)

<aside> ‼️ (2023/06/28追記:vicunaのv1.3から,従来とは異なりモデルウェイトが全て公開されている.そのため,fschatリポジトリの記述を要参照.)

</aside>

ここに書いてある手順をなぞれば良いが,詰まったところをいくつかピックアップ.

GitHub - lm-sys/FastChat: The release repo for "Vicuna: An Open Chatbot Impressing GPT-4"

fschatが動かない

Vicuna-13Bを動かすためのプログラムはfschatパッケージとしてpipで提供されている.Install手順をよく読むとわかるが,huggingface/transformersの最新mainブランチバージョンが必要.しかも,当該リポジトリは活発に開発されていて更新が早いので,時々conflictが起きる.

バージョンを指定すれば動くことがあるので,例えばこんな感じのパッケージ指定をする.

pip install fschat
pip install git+https://github.com/huggingface/transformers@15641892985b1d77acc74c9065c332cd7c3f7d7f

ただし,おそらく2023/04/07現在の[email protected](latest)なら,huggingface/transformers@HEADでも動くはず.[email protected]と,その当時のhuggingface/transformers@1670be4bdec19d5a8893f943bf78a8d9b3dc8911がdependency conflictで動かなかった.

CPU RAMが60GB必要

Vicuna-13Bは,LLaMA-13Bのweightsにパッチを当てる形で頒布されている.このパッチを当てる作業に60GBのRAMが必要.TUTクラスタを使えば余裕だね!僕は手元の128GB RAMマシンを使いました.

(2023/06/28追記:この作業は不要になった)

TUTクラスタ上での準備