iPhoneでapple/OpenELMを動かす
Hugging Faceで公開されているapple/OpenELMはMacやLinuxで評価する場合はapple/corenetでトレーニングされたモデルの重みをpythonからtransformersやMLXに変換されたモデル[1]で推論すればいいのですが、iPhoneの実機で動かす場合はMLX Swift[2]から読み込むための調整をする必要がありました
しかし先日Hugging Face上のcorenet-communityでCoreML形式に変換済みのモデルが公開されたので[3]、swift-transformersやhuggingface/swift-chatのビルドに入れて手軽に試すことができます
git clone https://huggingface.co/corenet-community/coreml-OpenELM-270M
git clone https://github.com/huggingface/swift-chat
swift-chatを起動したら端末にmlpackageファイル(OpenELM-270M-128-float32.mlpackage)を転送します
シミュレータの場合ドラッグアンドドロップ、実機の場合はAirDropで転送できます
このモデルをswift-chatアプリの中から設定して読み込みます
※英語は問題ありませんが、日本語を送信したところ応答がなくなりました
-
MLX port of OpenELM https://github.com/apple/corenet/tree/main/mlx_examples/open_elm ↩︎
-
MLX SwiftでMeta Llama 3を動かす https://zenn.dev/laiso/articles/808a2fa6c49a41 ↩︎
-
OpenELM Core ML https://huggingface.co/collections/corenet-community/openelm-core-ml-6630c6b19268a5d878cfd194 ↩︎
Discussion