🐨
llama.cppを使ってiPhone上でLLM動かしてみた
iPhone上でLLMを動かすには?
ここ最近モバイル開発に関わり出したので、iPhone上でLLMを動かす方法を調べてみました。
方法としてはMLX、CoreML、llama.cppがあるそうです。
llama.cppはサンプルプロジェクトもあるそうなので、今回はllama.cppを使って試してみます。
llama.cppを使ってみることに
1. プロジェクトをローカルにクローン
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
2. Xcodeでビルド
プロジェクト内の「examples」→「llama.swiftui」内にサンプルコードがあります。
llama.swiftuiフォルダ内にある「llama.swiftui.xcodeproj」をXcode上で立ち上げます。
ビルド先の端末は「iPhone15」にします。
Teamを設定して、ビルドを実行。
立ち上がりました。
3. モデルをローカルにダウンロード
「View Models」を選択
今回は「Phi-2.7B」をダウンロードすることにします
クリックするとスクショのようにダウンロードが始まります。
ダウンロードが成功しました。
これで動かすことができます。
検証
英語で質問
「What is the capital of United States?」
日本語でアメリカの首都は何?と聞いてみます。
ワシントンD.Cと返ってきました。
ただ、なぜか問題形式での出力。
日本語で質問
日本語はまだまだのようです。
最後に
llama.cppを使ったら簡単にiPhone上でLLMを動かすことができました。
今後はOpenELMも使えるようになるのかな?
Discussion