NEWS

WWDC24:Apple プラットフォームでの機械学習の詳細

※本サイトは、アフィリエイト広告および広告による収益を得て運営しています。購入により売上の一部が本サイトに還元されることがあります。

Apple プラットフォームでの機械学習の詳細

Apple プラットフォームでの機械学習の詳細

Appleが、WWDC24において「Apple プラットフォームでの機械学習の詳細」を公開しています。

Appleのオンデバイス機械学習チームのAnil Katti氏は、AppleのOSやアプリケーションの多くの革新的な機能の根底には、高度な機械学習とAIモデルがあります。空間コンピューティングのためのジェスチャー認識、画像キャプチャのポートレートモード、健康のためのECGと心拍数のモニタリング。これらの機能はすべて機械学習とAIによって実現されており、これらの機能を支えるモデルはすべてデバイス上で動作すると説明しています。


ライティングツール

ライティングツール

今年のリリースでは「Apple Intelligence」がアプリやシステム全体の新機能をパワーアップさせ、エキサイティングな進化をもたらします。

これらの多くは、「Writing Tools」のようなアプリケーションの中で利用できます。ライティングツールは、文章をトーンや明瞭さのために書き直したり、間違いがないか校正したり、重要なポイントを要約したりすることで、ユーザーのコミュニケーションをより効果的にサポートします。

テキストはApple Intelligenceの新しい言語機能を使って処理され、あなたのアプリがすでに使っているシステムテキストやウェブビューとシームレスに統合されます。


Image Playground

Image Playground

次に「Image Playground」です。Image Playgroundを使えば、画像作成機能をアプリに簡単に組み込むことができます。モデルを訓練したり、安全なガードレールを設計する必要はありません。

わずか数行のコードで、ユーザーが画像を作成し埋め込むためのUIをあらかじめ用意することができます。さらに、モデルはデバイス上でローカルに実行されるため、ユーザーはコストを気にすることなく、好きなだけ画像を作成することができます。


Create ML

Create ML

Create MLアプリに加えて、基盤となるCreate MLおよびCreate MLコンポーネントフレームワークは、すべてのプラットフォームでアプリケーション内からモデルをトレーニングする機能を提供します。

今年の新機能として、Create MLアプリにオブジェクト追跡テンプレートが追加され、visionOS上の空間的な経験のアンカーとなる参照オブジェクトをトレーニングできるようになりました。

また、新しい時系列分類および予測コンポーネントがフレームワークで利用可能になり、アプリ内で統合できます。


デバイス上でのモデルの実行

デバイス上でのモデルの実行

次に、デバイス上でのモデルの実行について説明します。これは、例えば、微調整して最適化した拡散モデルをアプリで使用したい場合や、Hugging Faceのようなオープンソースコミュニティからダウンロードした大規模な言語モデルを実行したい場合など、少し高度なユースケースのためのものです。

WhisperStable DiffusionMistralなど、当社のデバイスでさまざまなモデルを実行できます。モデルをあなたのアプリで実行できるようにするには、2、3のステップが必要です。


トレーニングライブラリ

トレーニングライブラリ

次に、デプロイのためにモデルをCore ML形式に変換します。このフェーズでは、精度を維持しながら優れたパフォーマンスを達成するために、モデルの表現とパラメータを最適化します。 最後に、準備したモデルをロードして実行するために、アップルのフレームワークと統合するコードを記述します。

PyTorchTensorFlowJAXMLXなどのトレーニングライブラリを使って高性能モデルをアーキテクトし、トレーニングするために、AppleのシリコンとMacのユニファイドメモリアーキテクチャをフルに活用することができます。これらはすべて、Apple GPU上での効率的なトレーニングのためにMetalを使用しています。


Core ML Tools

Core ML Tools

次に、準備フェーズについて説明します。このフェーズでは、Core ML Toolsを使ってわずかなステップで学習済みモデルをCore ML形式に変換します。どのPyTorchモデルからでも始めることができます。

その後、Core ML Toolsを使ってCore ML形式に変換します。この時点で、Core ML Toolsのモデル最適化ツールキットの多くの圧縮テクニックを使って、Appleハードウェア用にモデルを最適化することもできます。

今年のCore ML Toolsの最新の機能強化では、新しいモデル圧縮技術、モデル内の状態を表現する機能、変換器固有の操作、モデルに複数の関数を保持させる方法などが導入されました。


Core ML

Core ML

モデルの変換と最適化が完了したら、次のステップはモデルの統合です。

ここで、モデルをロードして推論を実行するために、OSフレームワークとのインターフェイスとなるコードを記述します。

Core MLは、Appleのデバイスにモデルをデプロイするためのゲートウェイであり、何千ものアプリで使用され、ユーザーに素晴らしい体験を提供しています!Xcodeとの統合により開発ワークフローを簡素化しながら、優れたユーザーエクスペリエンスに不可欠なパフォーマンスを提供します。Core MLは、ハードウェアを最大限に活用するために、CPU、GPU、Neural Engineにわたってモデルを自動的にセグメント化します。


Core ML

Core ML

Core MLはデバイス上にモデルをデプロイするための最適なフレームワークですが、機械学習タスクの実行をより細かく制御する必要があるシナリオもあるでしょう。例えば、アプリケーションに負荷の高いグラフィックス・ワークロードがある場合、MetalのMPS Graphを使えば、MLタスクを他のワークロードとシーケンス化し、GPU利用率を最適化できます。また、CPUでリアルタイム信号処理を実行する場合、AccelerateのBNNS Graph APIは、MLタスクのレイテンシとメモリ管理を厳密に制御します。

これらのフレームワークはCore MLの基盤の一部を形成しており、直接アクセスすることもできます。

MPS GraphはMetal Performance Shadersの上に構築されており、Core MLのモデルをロードしたり、Metalを使用してプログラムで計算グラフを構築、コンパイル、実行したりすることができます。

次にBNNS Graphです。BNNS Graphは、CPU上で機械学習モデルを最適に実行するためのAccelerateフレームワークの新しいAPIです。BNNS Graphは、旧来のBNNSカーネルベースのAPIに比べてパフォーマンスが大幅に向上しています。Core MLモデルで動作し、CPU上でリアルタイムかつレイテンシーを考慮した推論が可能で、メモリ割り当てを厳密に制御できる。

オーディオ処理や同様のユースケースに最適です。


MLX

MLX

MLXは、Appleの機械学習研究者が他の研究者のために設計したものです。研究者がAppleシリコン上で新しいアイデアを探求するために、使い慣れた拡張可能なAPIを備えています。

MLXは、CPUとGPUにまたがる効率的な操作を可能にする統一メモリモデルの上に構築されており、MLXでの探索はPython、C++、Swiftで行うことができる。MLXのGitHubページで詳細を確認し、オープンソースコミュニティに貢献しよう。

オープンソースコミュニティに最近追加されたのは、研究者やエンジニアのために設計された強力なニューラルネットワークツールキットであるCoreNetです。この汎用性の高いフレームワークにより、標準的なものから新しいアーキテクチャまで、幅広いモデルをトレーニングし、多様なタスクに取り組むためにそれらをスケールアップまたはスケールダウンすることができます。

また、CoreNetの一部としてOpenELMもリリースしました。OpenELMは、オープンな学習・推論フレームワークを備えた効率的な言語モデルファミリーです。このモデルはすでにオープンソースコミュニティによってMLXやCoreML形式に変換され、Appleのデバイスで動作するようになっています。



関連記事

この記事のハッシュタグ から関連する記事を表示しています。

新着記事