ローカルでLLMを動かしてみる。
はじめに
この記事はサステナブルなぴょこりんクラスタアドベントカレンダーのために書きました。
動かすやつ
日本語のやつらを動かします。
- rinna/japanese-gpt-1b
- rinna/japanese-gpt-neox-3.6b
- cyberagent/open-calm-1b
- cyberagent/open-calm-3b
suffixはモデルのパラメタ数ですね。3b, 3.6bのモデルはでかいので今回はfloat16にしてモデルのサイズ削減しています。あと、何となくただ動かすだけじゃ味気ないので、雑にflaskでガワを作りました。
github.com こんな感じで動作します (gif)
もう出オチ感あるんですが、各モデルたちに日常会話しゃべらせまくってみます。 以下プロンプトを食わせました。
僕:なんか日常会話っぽいこと言って りんな:
rinna/japanese-gpt-1b
まぁりんなさんなので(?)、結構親しみやすい感じの雑多な文章が生成される感じで良いですね。 次はモデルが大きくなるのできっともっと知的になるはず。
rinna/japanese-gpt-neox-3.6b
むしろこっちの方が知性が感じられない気がするのは気のせいだろうか。僕が何か間違えた可能性すらある。 気を取り直してCAのやつも見てみましょう。
cyberagent/open-calm-1b
りんなに引っ張られてりなちゃん(誰?)が出てきてしまう。あとハッシュタグっぽいのもあり、結構Twitter寄りっぽい感じがする。
cyberagent/open-calm-3b
日本語は今日見た中では一番自然な気がするんだけどなんだろう、・・・なんか俗物っぽい。
まとめ
ローカルでLLM動かしてしゃべらせてみました。最近はGPT-4とばっかりしゃべってたので、あんまり賢くない言語モデルたちと戯れるのも楽しいですね。本当は stabilityai/japanese-stablelm-instruct-alpha-7b をint8で動かしたりもしたかったんですが、サクッと動かず今回は断念。
あとどうでも良いのですが伺かを思い出したので、もうちょい頑張ってデスクトップマスコット的な何か作りたい気がしてきました。