見出し画像

iPhoneの端末内に生成AI OpenELMを実装する

iPhoneの端末内に生成AI OpenELMを実装する

iPhoneの実機で動かすテストはHugging Faceからコード
を取得すればできる。

Hugging Faceのcorenet-communityでCoreML形式に変換済みのモデルが公開された
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)を転送する。

クラウドを介さないで学習データをiphone内に持つのでスピードが速くなりSiriを賢くできる。
保存していないデータはAppleクラウドLLMから拾うハイブリッドが考えられる。

どんなことができるか想像してみた
1)iPadでfireflyの機能を実現
2)iPhoneのカメラを向けると映画のテキストを読み自動翻訳
3)iPhoneのカメラを向けるとみたものが説明できる
4)同時通訳
5)学校の宿題を答えてくれる

OpenELMは、Appleが公開した最新の小型言語モデルです。
主な特徴は以下の通りです:
270M、450M、1.1B、3Bという4つのサイズのモデルが公開されています。
非常に軽量なので、実行コストが低く、iPhoneでも動作できます。
Appleは、OpenELMをAppleデバイス上でローカルに実行させるための「MLXライブラリへの変換コード」も公開しています。これを使うことで、iPhoneやMac上でモデルを実行できます。
OpenELMは、apple-sample-code-lisenceのもとで提供されており、商用利用、改変、再配布が許可されています。ただし、ライセンス通知を含める等の特定の制限があります。
OpenELMはトークナイザーにLlama 2のものを使用しているため、Llama 2のモデルへのアクセス許可が必要になります。
OpenELM-3B-InstructとPhi-3-mini-4k-instructは、ほぼ同規模のモデルですが、どちらのほうが優れた回答をするかは不明です。
Appleは、OpenELMの「広範なリリースは、オープンな研究コミュニティを支援し、発展させることが目的」としています。

論文は、AppleのMachine Learning Researchが、arXivで発表されています。

論文の概要は以下の通りです:

OpenELMは、レイヤーごとのスケーリングを用いて、変換モデルの各レイヤーに効率的にパラメータを割り当てることで、精度を向上させている。
約10億パラメータのパラメータで、OpenELMはOLMoと比較して2.36%の精度向上を示し、同時に2倍少ない事前学習トークンを必要としている。
OpenELMのリリースには、学習ログ、複数のチェックポイント、事前学習設定を含む、一般公開されているデータセットでの言語モデルの学習と評価のための完全なフレームワークが含まれている。
Appleデバイス上での推論と微調整のために、モデルをMLXライブラリに変換するコードもリリースされている。

この記事が気に入ったらサポートをしてみませんか?