rinnaのYouri 7Bで8GB GPUでもLLM翻訳ができるかも

rinnaからLlama 2 7Bに日本語を追加学習させたYouri 7Bが公開されました。
rinna、Llama 2の日本語継続事前学習モデル「Youri 7B」を公開|rinna株式会社

このうち、Youri 7B Instructionが指示に応じた返答をするモデルになっています。このモデルを使って「この英文を日本語に翻訳して」などというと、和訳ができるわけです。
さらに、AutoGPTQを使った4bit量子化モデルも用意されているので、これを使うと8GBメモリくらいで日英翻訳ができそうです。

ということで、gradioでUIを作ってみました。

ソースはこちら。
https://gist.github.com/kishida/66b4e456e9e14362eb3d339f19815477

メモリは9GBを超えているけど、起動前後で4GBくらいを消費しているので、6GBくらいの余裕があれば動きそう。返答も10秒弱でした。

CNNのこちらの記事の冒頭を和訳するとこんな感じ。

7Bモデルをそのまま動かすと、GPUメモリ15.5GBつかっていて、生成に2分近くかかりました。

メモリを見ると終了時に12GBくらい解放されているので、2割くらいCPUで動いているんじゃないかと思います。

20GBあればいけるのかな。

load_in_8bitにすれば12GBメモリに載って、25秒くらいで返ってきました。

たまにハズレで間違った翻訳が出てくることがあるので、翻訳完全自動化には使えないですが、なかなかいい感じです。翻訳専用ではなく、他にも用途があることを考えると、このメモリ容量とスピードでちゃんと動くのはいいですね。