ローカル LLM を動かす
2023/12/22

Google Colab は、GPU が無料で使えるので LLM を動かしてる記事をよく見ます。

特に最近は、 text-generation-webui というツールを使って、コードを書かずに LLM のダウンロードから、細かいパラメータ設定なども UI で行って chat を動かす記事が定番の1つのようです。

私も使ってみました。

Google Colab は、使ってないとインスタンスがダウンするので、text-generation-webui の Clob 用のノートブックには、 動かし続けることを目的とした音楽プレーヤーがついていて、それを再生することで、連続使用の状態を維持できるようになってました。 無料枠でそれをするのはモラルに反しないのだろうか?と思いながらも、お試しで、GPUインスタンス(T4 GPU)を選択して、 音楽プレーヤーを再生して連続使用状態にしてみたところ、GPUのインスタンスは、無料枠が短いようで、1日も持たずに、 1カ月分の無料枠を使い果たしました。

有料版は、Colab Pro が月額 1,179 円 で 100 コンピューティングユニットが使えて、Colab Pro+ が月額 5,767 円で 500 ユニットが使えるとなっています。 他にも、Colab Enterprize とかもあります。

コンピューティングユニットの上限を超えると、追加のチャージが必要で、1回のチャージが100ユニット単位です。
T4 GPU は、100ユニット=51時間です。
1日8H、20日稼働で 160H、多少の残業も加えると、毎日の勤務時間中に常時起動しておくような使い方だと、Colab Pro+ が適したプランとなります。
1年だと、5,767 * 12 = 69,204円 です。
なお、100ユニット=51時間 は、T4 GPU の場合で、V100 は 18.5時間、A100 は7.5時間 しか使えません。

T4 と V100 で codellama 13b を使ってみましたが、レスポンス性能は、同じようなものだったので、ひとまず、わざわざ、V100 や A100 を選択する必要はなさそうでした。 ひょっとすると、長いプロンプトを使ったりすると、レスポンス性能に違いが出てくるのかもしれないですが、そこまでは使い込んでいません。

codellama 13b は、オリジナルのモデルは、16G では動かないので、 llama.cpp でGPUのVRAMとCPUを併用するやり方で動かしました。 llama.cpp には、http server の機能もあるので、ひょっとすると、複数人で同時利用もできるのかもしれませんが、これも試していません。

NVIDIA の 16G メモリ以上のグラボの PC を自作すると、4、50万は、かかりそうなので、Colab Pro+ の方がリーズナブルかな・・・。
eGPU という外付け GPU もあるようなので、社内に小さい LLM サーバーが欲しい気もします。
社内に LLM サーバーがあったら、 CodeLlama を動かして、ChatGPT が禁止されているプロジェクトで、使えるようにして、 Open Interpreter などでコード作成を実行してみたい・・・、けど、すでにやってる人たちの記事を読むと、やっぱり GPT-4 じゃないと仕事には使えそうにないです。
だから、社内 LLM サーバーは、まだ早いかな・・・。

と思ってたら、ファインチューニング向けモデル「Mistral 7B Fine-Tune Optimized」が登場、特定タスクにおいてGPT-4を超える性能を発揮という記事を見て、ローカルで LLM を動かしてみたくなってきました。

7B は、ローカル LLM の中でも、一番小さい部類のモデルだけど、それでも、GPT-4 を超えることがあるとしたら、すごく使ってみたいです。

まずは、Google Colab で試してみてから考えようっと。

最近の記事タグ

\(^▽^*) 私たちと一緒に働いてみませんか? (*^▽^)/

少しでも興味をお持ちいただけたら、お気軽に、お問い合わせください。

採用応募受付へ

(採用応募じゃなく、ただ、会ってみたいという方も、大歓迎です。)