【ローカルLLM】Runpodで65Bモデルを動かす
LLamaベースのローカルLLMは、パラメータ数に応じて7B/13B/30B(33B)/65Bの4つのクラスがある。
65B(650億パラメータ)モデルを動かす場合、4ビット量子化しても40GBほどのGPUが必要。最近、AI動画生成を試す目的でクラウドGPUに課金したので、ついでに65Bのモデルも動かしてみた。
使ったのはRunpodというクラウドサービス。StableDiffusionユーザーで使っている人が時々いてるらしく、利用手順は例えばこちらの記事に詳しい。
Google ColabのようにJupyter Notebookを実行する形で使える。
Colab Proとの違いは、月額課金ではなく時間あたりで支払い、レンタルできるGPUの種類が多い、など。プリペイドで最初に10ドルの課金が必要。
なお料金体系は、Secure Cloud(Runpodの自前リソース)とCommunity Cloud(外部提供のリソース)で分かれており、Community Cloudのほうが安い。さらにレンタル方式はOn-DemandとSpot Podに分かれる(GPUによってはOn-Demandのみ)。Spot Podは提供者の都合で切断されるリスクがあり、その分安い。
Guanaco 65Bを試す
今回はGuanacoの65Bモデル(GPTQ量子化)を試した。
とりあえずCommunity CloudからRTX A6000(48GB VRAM)x1をSpot Podで借りる。そのままだとディスク容量が足りず40GBに増量。なお価格は変動するが、今回は計0.351ドル/hrだった。
![](https://assets.st-note.com/img/1688184856747-21MOJ9VyxR.png?width=1200)
せっかくなので、65Bだと、33Bや13Bと比べてどれくらい賢いのかを簡単に検証することに。
こちらの論文から、MT-Benchというマルチターンのベンチマークのサンプルを拾ってきて、Guanacoの13B、33B、65B(いずれもGPTQの4bit量子化)で比べた。そのまま使うと出力が長くなりすぎるうえ、計算問題に関してはGuanacoには難しすぎたので、プロンプトは調整した。
感想
今回のプロンプトと各モデルの出力の例は、長くなるので下記に張り付けた。あくまで簡単に試しただけだが、「大した違いは無いな」という感想をもった。
大きいモデルでは出力テキストが長く丁寧な傾向があり、回答がより饒舌だった。クリエイティブ・ライティングならば65Bモデルが最も優れてそうな印象がある。
一方で、指示内容に対する的確な回答という意味では、サイズの優位性がみえなかった。Llama系のモデルが苦手な算数に関しても、13Bと65Bの間に違いは認められない(65Bモデルでも「3-2+1=」が正しく答えられず)。
そもそも65Bクラスはトレーニングコストが高いせいか、このクラスをカバーしている派生モデルが少ない状況。最近はMicrosoftのOrca 13Bやphi-1(1.3B)の話題もあり、より小型で質の良いモデルに注目が移っている感がある。
Runpodについて。当然Google Colabほどの手軽さはなく、慣れない人間には扱いづらい面があった。高性能GPUを集中的に使うような用途に向いている。恒常的にクラウドリソースを使うなら普通にColab Proに課金するほうがいいと思う。