Apple発のオープンLLM「OpenELM」とは?使い方や他の言語モデルとの違いを解説

Appleが新たに発表したオープンソースのLLM(大規模言語モデル)、「OpenELM」が注目を集めています。

iPhoneやiPadなどのスマホやタブレットでも動作する軽量モデルとして発表されました。OpenELMの特徴や使い方、他の言語モデルとの違いを詳しく解説します。

Nao Yanagisawa
監修者 Jitera代表取締役 柳澤 直

2014年 大学在学中にソフトウェア開発企業を設立

2016年 新卒でリクルートに入社 SUUMOの開発担当

2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発

2024年 「Forbes 30 Under 30 Asia 2024」に選出

アバター画像
執筆者 toshi_writer

小中規模プロジェクトを中心にSEやコンサルとして活動。クラウド導入やスタートアップ、新規事業開拓の支援も経験しました。

\エキスパートが回答!/
この記事に関する質問はこちら
記事に関するご質問以外にも、システム開発の依頼やAIの導入相談なども受け付けております。

    会社名必須
    必須
    必須
    Eメール必須
    電話番号必須
    ご依頼内容必須

    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の使用により、バイアスの少ない公平な回答生成も実現できるとしています。

    CorenetのGitHubページはこちら

    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でライブラリをインストールします。

    pip install torch transformers

    3. GitHubからOpenELMリポジトリをクローン

    現在、OpenELMはGitHubで公開されています。GitHubよりリポジトリをクローンしましょう。

    git clone https://huggingface.co/apple/OpenELM-270M-Instruct
    cd ml-openelm

    Hugging Faceアクセストークンを取得

    セットアップが完了したら、Hugging Faceからアクセストークンを取得しましょう。

    1. Hugging Faceのウェブサイトにアクセス
    2. アカウントを作成またはログイン
    3. 設定ページからアクセストークンを生成
    4. 生成されたトークンを安全な場所に保存

    Llama 2の使用申請

    続いて、Llama 2の使用申請を行います。OpenELMは、トークナイザーにllama2を使っています。アクセス申請が承認されない場合、エラーになるので注意しましょう。

    1. Meta AI Researchにアクセス
    2. Llama 2のライセンス申請フォームに記入
    3. 承認を待つ(通常、数十分~1日以内)

    OpenELMのインストール

    初期設定や申請が完了したら、OpenELMのインストールを行います。

    pip を使用してOpenELMをインストール

    pip install openelm

    インストールの確認

    python -c “import openelm; print(openelm.__version__)”

    質問をしてみる

    インストールが完了したら、質問をしてみましょう。

    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の継続的な改善と機能拡張を計画しています。今後予想される発展方向性としては、以下のような点が挙げられます。

    1. モデルサイズの最適化
    2. 多言語対応の強化
    3. 特定タスクに特化したファインチューニング
    4. Apple製品との深い統合
    5. 開発者ツールの拡充

    AppleはOpenELMのさらなる軽量化と多言語対応を進め、音声認識や画像理解など特定用途向けの最適化も行う見込みです。

    iOSやmacOSへの統合でシステム全体のAI機能強化が期待され、開発環境の整備も進むでしょう。

    OpenELMは、プライバシー重視のモバイルAI標準として注目を集めると予想されます。

    まとめ:OpenELMはiPhoneでも動く軽量でオープンな言語モデル

    OpenELMは、Appleが開発した軽量かつ高性能な言語モデルです。iPhoneやiPadなどの小型デバイスでも効率的に動作する画期的なAI技術です。

    オープンソースで提供されているため、開発者は自由にカスタマイズや改良を行うことができます。特に、プライバシー保護が重要な場面や、オフライン環境での使用に適しています。

    今後、AIアプリケーション開発の新たな可能性を開くOpenELM。その活用にはAI技術への深い理解と適切な実装が必要です。

    高度なAI機能を備えたWebアプリケーションの開発を検討している場合は、専門知識と豊富な経験を持つ開発パートナーとの協力をおすすめします。

    もし、開発会社の選定に迷った場合は、実績豊富な株式会社Jiteraに一度ご相談ください。

    株式会社Jiteraへ問い合わせる

    コスト削減も課題解決も同時に実現

    「JITERA」で迅速
    ソフトウェア開発

    開発を相談する
    おすすめの記事

    その他のカテゴリー

    email-img
    メルマガ登録
    JITERA社内で話題になった生成AIトレンドをいち早くお届けします。
    Thank you!

    Jiteraのメールマガジン登録が完了しました。