なんか最近GPTが流行っているようです。
おじさんも自分のマシンでGPTを動かしたくなってきました。
ということで、C++で動くGPUがいらないGPTを探してみました。
https://github.com/ggerganov/ggml/tree/master/examples/gpt-j
GPTってソースとってくれば10分くらいでマシンが作れるんですね。
これ本当に動くの?
スクラッチで書かれていて、*.cのファイル3個しかないし。
フル版だと72Gバイトのメモリと学習済みデータがいるらしい。
スモール版だと12Gバイトで動くらしい。
学習済みデータも置いてあるし。なんと親切な。
ちょーお手軽じゃん。
とりあえずAndroid版とM1-Mac版とIntel-Mac版とVisualC++版がビルドできた。
-----------------------
yomeinoMac-mini:jni yomei$
yomeinoMac-mini:jni yomei$ ./test -m ggml-model-gpt-j-6B.bin -p "Who are you ?"
main: seed = 1678930370
gptj_model_load: loading model from 'ggml-model-gpt-j-6B.bin' - please wait ...
gptj_model_load: n_vocab = 50400
gptj_model_load: n_ctx = 2048
gptj_model_load: n_embd = 4096
gptj_model_load: n_head = 16
gptj_model_load: n_layer = 28
gptj_model_load: n_rot = 64
gptj_model_load: f16 = 1
gptj_model_load: ggml ctx size = 13334.86 MB
gptj_model_load: memory_size = 1792.00 MB, n_mem = 57344
gptj_model_load: ................................... done
gptj_model_load: model size = 11542.79 MB / num tensors = 285
main: number of tokens in prompt = 4
Who are you ?
I am a professional web developer who lives on the north of England. I have an affinity for Linux, Open Source Software, and general geekery. I am currently learning Ruby
....
-----------------------
Intel Macで動かしたら、すげー動く!。
僕のマシンだと解答が出始めるのに10分くらいかかります。
あんた、Rubyを勉強しているね。偉いねー。
行列の掛け算を数十回するだけでなぜか会話ができてしまう。
これ手軽にデバッグできるから、AttentionとかTransformerの動きを勉強するのに最適だね。