📚

iPhoneでapple/OpenELMを動かす

2024/05/05に公開

Hugging Faceで公開されているapple/OpenELMはMacやLinuxで評価する場合はapple/corenetでトレーニングされたモデルの重みをpythonからtransformersやMLXに変換されたモデル[1]で推論すればいいのですが、iPhoneの実機で動かす場合はMLX Swift[2]から読み込むための調整をする必要がありました

しかし先日Hugging Face上のcorenet-communityでCoreML形式に変換済みのモデルが公開されたので[3]swift-transformershuggingface/swift-chatのビルドに入れて手軽に試すことができます

https://huggingface.co/posts/pcuenq/949530140359936

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アプリの中から設定して読み込みます

※英語は問題ありませんが、日本語を送信したところ応答がなくなりました

脚注
  1. MLX port of OpenELM https://github.com/apple/corenet/tree/main/mlx_examples/open_elm ↩︎

  2. MLX SwiftでMeta Llama 3を動かす https://zenn.dev/laiso/articles/808a2fa6c49a41 ↩︎

  3. OpenELM Core ML https://huggingface.co/collections/corenet-community/openelm-core-ml-6630c6b19268a5d878cfd194 ↩︎

Discussion