llama 3 をローカルで動かしたい
しかし、8bモデルでは性能が不足しているし、70bはハイパーパラメータが大きすぎてローカルで動かす場合遅すぎる
こう考える人も多いと思います。
先日、llama3の70bを枝刈りして42bまで圧縮したモデルがhuggingfaceに公開されました。
そこでこちらのモデルをtext generation webuiを利用してGPU推論をしてみました。
llama3 42 bの概要
使用マシン:私の自宅に存在するデスクトップPC
Windows10 home
intel core i5-13400
DRAM DDR4 32gb
GPU NVIDIA RTX 4090 24gb
GPUに予算を全振りしたこのAI用PCですが、昨今では様々なファイルをvramではなくdramにキャッシュするため
RAM32GBでは厳しく感じています。
セットアップ
Text generation webuiのインストール
こちらのリポジトリのread meに従ってインストールしました。
モデルのダウンロード
こちらのURLに公開されている量子化モデルをダウンロードし、使用しました。
今回はLlama3-42b.Q4_K_Mと Llama3-42b.Q3_K_Mをダウンロードしました。
GPU推論 してみる
Q4_K_Mは最大で42/48レイヤーをロードすることが出来きました。
一部cpuで推論したため、推論速度は1.7 token/s ほどと
64gbのRAMでCommandrを推論した場合の速度と大して変わらない速度でした。
32gbのdramだとかなりギリギリな印象(ngl=42)
Q3_K_Mは全てのレイヤーをGPUに載せても共有メモリにはみ出さずに推論することが出来ました。 (ngl=48)
また、推論速度も平均6.63token/s とq4のモデルと比べて大きく向上させることが出来ました。
推論結果
GPT4 turboにて生成した英訳問題を使用して簡易的な出力の確認を行いました。
以下はGPT4によって生成された問題です。
結構うまく翻訳出来ている気がします。
総括
Llama3は日本語でのトレーニングが殆ど行われていないため、日本語→英語のタスクは非常に得意ですが、和訳問題は苦手としている印象を強く受けました。
また、日本語でpromptを入力しても英語で返答するなどの例が多数見受けられました。
gpt3.5を超えるモデルでも32gbのramと24gbのvramで推論できるということが分かりました。
ローカルで動かすことが出来る高性能なモデルは様々なプロダクトに応用できそうだなと思いました。