Appleが新たに発表したオープンソースのLLM(大規模言語モデル)、「OpenELM」が注目を集めています。
iPhoneやiPadなどのスマホやタブレットでも動作する軽量モデルとして発表されました。OpenELMの特徴や使い方、他の言語モデルとの違いを詳しく解説します。
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
OpenELMとは
OpenELMは、Appleが2024年4月に公開したオープンソースのLLMです。この言語モデルの最大の特徴は、スマホやタブレットの小型デバイスでも効率的に動作するよう設計されている点です。
AppleのMachine Learning Research(MLR)チームによって開発されました。GPT-3.5のような大規模モデルと比較して、はるかに少ないトークン数で学習されています。
リソースの限られたデバイスでも高性能な自然言語処理が可能となり、AIアプリケーションの新たな可能性として注目されています。
OpenELMの特徴
OpenELMは、軽量で効率的な設計が特徴的です。以下にその主な特徴を詳しく見ていきましょう。
軽量で効率的な言語モデル
OpenELMには、270M、450M、1.1B、3Bの4つのサイズモデルが用意されています。
最小の270Mモデルは、わずか270百万のパラメータで構成されており、スマホやタブレットなどの小型デバイスでも十分な性能です。最大の3Bモデルでも30億パラメータにとどまり、従来の大規模モデルと比べて非常に軽量なことが特徴。
限られたリソースでも、高度な自然言語処理タスクを実行できます。
iPhoneなど小型端末でも活用できる
OpenELMの最大の特徴は、iPhoneやiPadなどのスマホやタブレットでも効率的に動作する点です。
従来の大規模言語モデルは、高性能なサーバーやクラウド環境での実行が前提でした。しかし、OpenELMは小型デバイスのCPUやGPUでも十分な性能を発揮できるとしています。
オフラインでの使用や、プライバシー保護が重要なアプリケーションにも適したLLMといえるでしょう。
(現在はまだ公式アプリはリリースされておらず、Macでのみ使用ができます。)
CoreNetでトレーニングされたモデル
OpenELMは、Appleが独自に開発した「CoreNet」というライブラリデータを使用してトレーニングされています。
CoreNetは、様々な分野の知識を含む高品質なデータセットです。この高品質なデータセットにより、OpenELMは幅広い話題に対応できる汎用性の高いモデルとなっています。
CoreNetの使用により、バイアスの少ない公平な回答生成も実現できるとしています。
MLXライブラリに変換できる
OpenELMは、Appleが開発した機械学習フレームワーク「MLX」に変換することができます。
MLXは、Appleのシリコンチップに最適化されたライブラリです。iPhoneやMacなどのAppleデバイスでOpenELMを高速に動作させることが可能です。
開発者は、MLXを使用してOpenELMを自社のアプリケーションに簡単に統合できます。
layer-wise scalingを適用している
OpenELMは、「layer-wise scaling」という技術を採用しています。
これは、モデルの各層のパラメータ数を調整することで、全体的な性能を維持しながらモデルサイズを最適化する手法です。
この技術により、OpenELMは小さなモデルサイズでも高い性能を実現することを可能にしています。スマホのようなリソースが限られた環境でも、効率的に動作できる理由の一つなんです。
OpenELMと他の言語モデルとの違い
OpenELMは、GPT-3.5やClaude3などの主要な大規模言語モデル(LLM)と比べると、いくつかの重要な違いがあります。
以下に、各言語の主な特徴を比較表でまとめます。
特徴 | OpenELM | GPT-3.5 | Claude3 |
モデルサイズ | 最大3B | 175B | 100B以上(推定) |
動作環境 | スマホフォンでも動作 | サーバー/クラウド | サーバー/クラウド |
特化分野 | Appleデバイス | 汎用 | 汎用 |
学習データ | Corenet | 広範なウェブデータ | 広範なウェブデータ |
処理速度 | 高速(オンデバイス) | クラウド依存 | クラウド依存 |
コスト | 低(オンデバイス) | API利用料 | API利用料 |
OpenELMの最大の特徴は、その軽量性です。最大でも30億パラメータにとどまり、GPT-3.5やClaude3と比べて非常にコンパクトで、スマートフォンでも動作可能です。
また、Appleデバイスに最適化されており、iPhoneやMacで高速処理が可能です。
先ほども紹介しましたが、学習データにはApple独自のCorenetを使用し、特定分野での精度が高い可能性があります。
小型デバイスで直接処理できるため、レイテンシーが低く、クラウド利用コストも不要となります。
OpenELMの使い方
OpenELMを利用するための基本的なセットアップ手順を解説します。必要なツールや環境設定について説明します。
基本的なセットアップ
まずは基本的なセットアップから行います。
1. 必要な環境の準備
まずは、必要な環境を準備しましょう。現在、iPhoneやiPadで使用するにはswift-transformersやhuggingface/swift-chatのビルドに入れて使う必要があります。ここでは、MacのPCでのセットアップ方法を紹介します。
- Macコンピューター(できればApple Siliconモデル)
- macOSの最新バージョン
- Python 3.8以上をインストール
- pip(Pythonパッケージマネージャ)を最新版に更新
2. 依存ライブラリのインストール
pipでライブラリをインストールします。
3. GitHubからOpenELMリポジトリをクローン
現在、OpenELMはGitHubで公開されています。GitHubよりリポジトリをクローンしましょう。
cd ml-openelm
Hugging Faceアクセストークンを取得
セットアップが完了したら、Hugging Faceからアクセストークンを取得しましょう。
- Hugging Faceのウェブサイトにアクセス
- アカウントを作成またはログイン
- 設定ページからアクセストークンを生成
- 生成されたトークンを安全な場所に保存
Llama 2の使用申請
続いて、Llama 2の使用申請を行います。OpenELMは、トークナイザーにllama2を使っています。アクセス申請が承認されない場合、エラーになるので注意しましょう。
- Meta AI Researchにアクセス
- Llama 2のライセンス申請フォームに記入
- 承認を待つ(通常、数十分~1日以内)
OpenELMのインストール
初期設定や申請が完了したら、OpenELMのインストールを行います。
pip を使用してOpenELMをインストール
インストールの確認
質問をしてみる
インストールが完了したら、質問をしてみましょう。
python generate_openelm.py –model apple/OpenELM-270M-Instruct –hf_access_token <your access token> –prompt ‘hello, what your name?’ –generate_kwargs repetition_penalty=1.2
現在は英語のみ利用可能なようで、日本語での質問に対しては応答ができないか、的外れな応答をしてしまいます。
今後OpenELMはどのように発展していくのか
Appleは、OpenELMの継続的な改善と機能拡張を計画しています。今後予想される発展方向性としては、以下のような点が挙げられます。
- モデルサイズの最適化
- 多言語対応の強化
- 特定タスクに特化したファインチューニング
- Apple製品との深い統合
- 開発者ツールの拡充
AppleはOpenELMのさらなる軽量化と多言語対応を進め、音声認識や画像理解など特定用途向けの最適化も行う見込みです。
iOSやmacOSへの統合でシステム全体のAI機能強化が期待され、開発環境の整備も進むでしょう。
OpenELMは、プライバシー重視のモバイルAI標準として注目を集めると予想されます。
まとめ:OpenELMはiPhoneでも動く軽量でオープンな言語モデル
OpenELMは、Appleが開発した軽量かつ高性能な言語モデルです。iPhoneやiPadなどの小型デバイスでも効率的に動作する画期的なAI技術です。
オープンソースで提供されているため、開発者は自由にカスタマイズや改良を行うことができます。特に、プライバシー保護が重要な場面や、オフライン環境での使用に適しています。
今後、AIアプリケーション開発の新たな可能性を開くOpenELM。その活用にはAI技術への深い理解と適切な実装が必要です。
高度なAI機能を備えたWebアプリケーションの開発を検討している場合は、専門知識と豊富な経験を持つ開発パートナーとの協力をおすすめします。
もし、開発会社の選定に迷った場合は、実績豊富な株式会社Jiteraに一度ご相談ください。