メモリを追加して64GBになったので動かせなかった言語モデルを試した

いろいろと大規模言語モデルを試すと、CPUで動かすときにメモリが足りなくて大きいのが動かせなくて残念な気持ちになっていたのだけど、調べてみるとメモリ32GBは1万円くらいなので、追加して試してみました。
Stable Diffusionはいい感じにメモリが刺さった画像を生成してくれなかったので、実物です。CPUの反対側にもう4枚ささってます。

メモリ追加

今回追加したのは、これを2セットです。

ちなみにマシン構成はこのときのままです。2017/12/16に組んでます。
8コアのPCを組んでベンチマークとったらだいぶ強い - きしだのHatena

8GBx4が45000円くらいだったのが、いまだと12000円くらいで、5年半の歳月~という感じがします。クアッドチャネルなので8GBx4枚にしたけど、16GBx2枚だともっと安くありますね。

1984年に買ってもらったPC(日立MSX MB-H1)が32KB、96年に買ったPCが16MB、2017年が32GBなので、2027年には32TBのメモリ載ってるかな?
初めて買ったWindowsパソコンをバラした - きしだのHatena

ChatRWKV

まずはChatRWKVを。
おうちの8GB VRAM GPUでChatRWKVと会話する - きしだのHatena

6時間待ちで反応も4時間くらい待ちそうだった14Bモデルを試してみます。

途中からがっつりメモリを使いだしますね。

モデルの読み込みがおわると、一旦メモリが解放されます。

そしてプロンプトを読み込んでいるうちにメモリを食いだします。

まあ、なんとか動きました。"Where is the capital of Japan"からが入力したものです。日本語もなんとなくわかってくれているようです。
イタリアにルーブル美術館があるとか言ってるけど、だいたい妥当な返答をしてる感じです。

1単語1秒くらいで出力していますね。CPUで動いているにしては速い。

Cerebras-GPT-6.7B

それではCerebrasを試してみます。
日本語が通る大規模言語モデルCerebras-GPTを動かす - きしだのHatena

前回無理だった6.7Bを。 モデルの読み込みで64GBを超えています。ブラウザとか落とせばよさそうだけど。

モデルの読み込みが終わったら、メモリはある程度解放されて34GBになってます。ブラウザ落とせば32GBに収まりますね。

プロンプトを次のようにして試してみます。

Q:アメリカの首都はどこですか?
A:アメリカの首都はワシントンです。ポトマック川のそばにある小さな都市です。
Q:日本の首都はどこですか?
A:日本の首都は

とりあえず東京と言ってくれました!

590Mは「私の言語でした」と意味が通らない文が。1.3Bだと「アジアではない」と断言。アイスランドらしい・・・

メモリを増やすことで、意味が通ることを言ってくれる程度に賢いモデルを動かすことができるようになりました。
いままでパソコン知らない人に「メモリ増やすとどうなるの?」と言われても答えにくく、「作業机が~」と言っても使う人にどういう影響あるかわかりにくかったのですが、これで「パソコンが賢くなる!」と言えますね。

ついでにRinnaがGPT2を日本語テキストで再学習させたrinna/japanese-gpt2-mediumを使ってみると次のようになります。

途中からアメリカについて語り始めてしまいますが、いちばんちゃんとした出力になってます。やはり日本語専用で学習したモデルがよさそうですね。

そして安定のGPT3

Cerebras 6.7Bもちゃんと英語だと答えれていました。

1.3Bはなんかコード生成はじめたけど。

まとめ

メモリ挿して活用できるアプリがあるのは楽しい!