画像認識対応モデルのLLaVAで、おうちでも設計画像からコードが生成できるようになりました。
LLaVAを使っておうちのパソコンでも画像からコード生成 - きしだのHatena
llama.cppが対応したことでMacでも動かしやすくなりました。
https://github.com/ggerganov/llama.cpp/tree/master/examples/llava
llama.cppは生成AIをc/cppで動かそうというプロジェクトですね。
https://github.com/ggerganov/llama.cpp
Macで動かす手順も簡単。
cloneして、
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
makeするだけ
make
動かすには、モデルを自分でコンバートするかコンバート済みのものをダウンロードする必要があります。
https://huggingface.co/mys/ggml_llava-v1.5-7b
https://huggingface.co/mys/ggml_llava-v1.5-13b
filesにあるファイルをダウンロードしてどこかに置いておきます。必要なのはggmo-model-....ggufのうちひとつとmmprojj-....ggufです。
今回は13Bのggml-model-q4-k.ggufとmmproj-model-f16.ggufをmodels/llava1.5-13Bというフォルダにダウンロードしました。
あとはllava
という実行ファイルができてるので呼び出すだけ。-m
と--mmproj
にダウンロードしたモデルファイルを、--image
に画像を、-p
にプロンプトを指定します。
./llava -m models/llava1.5-13B/ggml-model-q4_k.gguf --mmproj models/llava1.5-13B/mmproj-model-f16.gguf --image images/network.png -p 'write docker compose file'
そうするとこんな感じで動きます。なんかPyTorch版よりも思い込みが強い感じですね。
Macで画像対応モデルのLLaVAをllama.cpp版で動かしたところ。
— きしだൠ(K1S) (@kis) 2023年10月17日
読み込みの待ち時間は実際には40秒くらいあるのを5秒にカットしてるけど、生成はそこそこ速い。 pic.twitter.com/sbSsuHoxgt