10倍少ないRAMでローカルAIを動かす新エンジンが登場!(Cactus)

BBetter Stack
Computing/SoftwareConsumer ElectronicsCell Phones

Transcript

00:00:00こちらはCactusです。モバイルやエッジデバイスを
00:00:06第一級市民として扱うよう設計された、低遅延の推論エンジンです。通常、
00:00:12エッジデバイスでAIモデルを動かそうとすると、動作が重く、バッテリーを消費し、
00:00:18モバイルOSのメモリマネージャーに強制終了されがちです。しかし、Cactusは
00:00:23NPUの制約や限られたRAMに特化して構築されているため、この問題を解決します。
00:00:28そこで今日は、Cactusの仕組みを見ていき、エッジデバイスで性能をテストしてみます。
00:00:34それでは本題に入りましょう。ローカルAIの最大のボトルネックは、実は計算能力ではなく
00:00:44メモリのオーバーヘッドです。標準的なモバイルデバイスでは、OSが
00:00:50RAMの使用量が急増したアプリを非常にアグレッシブに強制終了します。しかし、Cactusは
00:00:57ゼロコピーのメモリマッピングを使用することで、これを解決します。すべてをRAMに読み込む
00:01:02従来の方法とは異なり、Cactusはストレージからモデルの重みを直接マッピングします。
00:01:08必要な時にだけ特定のテンソルをアクティブな計算サイクルに引き込む、ゼロコピーシステムです。
00:01:13OSにアプリをシャットダウンされるリスクなしに、大型モデルの推論能力を活用できます。そして
00:01:19これを実現するために、彼らは従来のGGUF形式から移行し、
00:01:24エッジデバイスでこのマッピングを有効にする独自の「.CACT」形式を採用しています。しかし、
00:01:31本当に重い処理を行うのは、NPU(ニューラル・プロセッシング・ユニット)です。ほとんどの
00:01:37ローカルエンジンがデフォルトでGPUを使用するのに対し、CactusはNPUファーストで構築されています。
00:01:43Apple、Qualcomm、MediaTekなどの最新チップを見ると、どれもニューラルネットワーク専用の
00:01:50専用シリコンを搭載しています。Cactusはこれらのユニットと直接通信し、
00:01:55推論を遅らせる通常の変換レイヤーをバイパスします。そして実際に、
00:02:00これらの行列乗算ユニットを最大限に活用できるよう、特定のモデルを最適化しています。
00:02:07Cactusのダッシュボードに行くと、ダウンロード可能なNPU最適化モデルの一覧が表示されます。また、
00:02:12Cactusのもう一つの優れた機能として、ハイブリッドルーターがあります。現実問題として、
00:02:18エッジデバイス上のローカルモデルは、どんなに最適化されていても、いずれ推論能力の限界に達します。
00:02:23そこでハイブリッドルーターの出番です。高速だけど限界のあるローカルモデルと、
00:02:29賢いけれどコストがかかるクラウドモデルの二者択一を迫るのではなく、Cactusは両方を扱い、切り替えることができます。
00:02:35これは確信度ベースのルーティングシステムを使用しています。簡単な質問であれば、
00:02:40高速でプライベート、かつコストがかからないため、NPU上で処理が完結します。しかし、
00:02:45タスクが複雑すぎたり、大規模なコンテキストウィンドウが必要だとローカルモデルが判断した場合、
00:02:51その特定のリクエストをクラウド上の最先端モデルに自動的に引き渡します。コードはそのままで、
00:02:57エンジンがバックグラウンドでフェイルオーバーを処理してくれます。そのため、複雑な処理が発生しても
00:03:03ユーザー体験を損なうことなくコストを低く抑えられる、本番環境に対応した方法と言えます。
00:03:08能書きはこれくらいにして、実際に自分で試してみたいと思います。彼らのランディングページには
00:03:13エッジデバイス上で約100ミリ秒の遅延でリアルタイム文字起こしができるデモが掲載されています。
00:03:19そこで、私は彼らの「Swift Cactus」パッケージを使って、簡単なSwiftアプリを感覚で書いてみました。
00:03:25これは、ローカルでは彼らの「Parakeet」音声モデルを使い、クラウドではGeminiモデルを使って
00:03:30リアルタイム文字起こしを実行するものです。では、試してみましょう。ご覧のように、
00:03:36ローカルではライブストリーミングで平均約260ミリ秒の遅延となっています。ちなみに、
00:03:44これを動かしているのは古いiPhoneモデルの「12 Pro」です。これほど古いモデルで
00:03:50エッジでのこのパフォーマンスは、かなり良いのではないかと思います。そして、クラウドに切り替えると、
00:03:55Cactusはクラウド側の選択肢としてGemini 2.5 Flashに切り替えます。どういうわけか、
00:04:01クラウド側には同じParakeetモデルが用意されていなかったため、Geminiを使わざるを得ませんでした。
00:04:06こちらを見ると、3秒のバッチ文字起こしで平均約2,000ミリ秒かかっています。
00:04:12データサーバーとの往復が発生するため、これは予想通りだと思います。しかし
00:04:17現実的には、ほとんどの場合はエッジ側での文字起こしを使うことになるでしょう。ただ、
00:04:23クラウドの選択肢は、重い画像解析や、その他のより負荷の高いタスクに有用です。
00:04:27というわけで、皆さん、これが一言で言えばCactusエンジンです。彼らはここで
00:04:33本当に興味深いことに取り組んでいると思います。カスタムのNPUフレンドリーなアーキテクチャによる
00:04:37エッジ最適化の考え方が気に入っています。また、あらゆる種類のマルチモーダルタスク向けに、
00:04:43非常に多くのSDKとモデルを提供している点も素晴らしいです。この製品が今後どのように
00:04:50進化していくのか、とても興味があります。間違いなく今後の進捗をチェックしていきたいと思います。
00:04:54ところで、皆さんはCactusについてどう思いますか? 試したことはありますか? ぜひ
00:04:59下のコメント欄で教えてください。そして皆さん、こういった解説動画がお好きなら、
00:05:03動画の下にある高評価ボタンをぜひ押してください。チャンネル登録もお忘れなく。
00:05:08Better StackのAndrisでした。それではまた次の動画でお会いしましょう。
00:05:13バイバイ。

Key Takeaway

Cactusは、ゼロコピーの「.CACT」形式によるメモリマッピングとNPUへの直接アクセスにより、モバイルOSのRAM制限による強制終了を防ぎながら、古いスマートフォン上でも260ミリ秒の低遅延ローカル推論を実現します。

Highlights

  • Cactusは、ストレージからモデルの重みを直接マッピングするゼロコピーシステムにより、アプリがRAM制限で強制終了されるリスクを排除します。

  • 従来のGGUF形式ではなく、エッジデバイスでのメモリマッピングを有効にする専用の「.CACT」形式を採用しています。

  • GPUに依存する多くのローカルエンジンとは異なり、Apple、Qualcomm、MediaTekなどのNPU(ニューラル・プロセッシング・ユニット)と直接通信して変換レイヤーをバイパスします。

  • 簡単な質問はローカルのNPUで処理し、複雑なタスクや大規模なコンテキストが必要な場合はクラウドモデルへ自動で引き渡す確信度ベースのハイブリッドルーターを搭載しています。

  • iPhone 12 Proを使用したParakeet音声モデルによるローカル文字起こしテストにおいて、平均約260ミリ秒の低遅延を記録しています。

Timeline

ローカルAIにおけるメモリボトルの解決とゼロコピーマッピング

  • エッジデバイスにおけるAIモデル実行の最大障壁は、計算能力ではなくメモリのオーバーヘッドです。
  • Cactusはストレージからモデルの重みを直接マッピングするゼロコピーメモリマッピングを採用しています。
  • エッジデバイスでの動作を最適化するために、従来のGGUF形式から独自の「.CACT」形式へ移行しています。

モバイルOSのメモリマネージャーは、RAM使用量が急増したアプリを強制終了する傾向があります。CactusはすべてをRAMに読み込む従来の手法を避け、必要な時に特定のテンソルだけを計算サイクルに引き込みます。この仕組みにより、アプリのシャットダウンリスクなしに大型モデルの推論能力を活用できます。

NPUファーストのアーキテクチャと行列乗算の最適化

  • CactusはGPUの代わりに、シリコン固有のNPU(ニューラル・プロセッシング・ユニット)を最優先で処理に使用します。
  • 推論速度を低下させる原因となる通常の変換レイヤーを完全にバイパスします。
  • 専用ダッシュボードを通じて、各チップの行列乗算ユニットを最大限に活用できるNPU最適化モデルの一覧を提供します。

Apple、Qualcomm、MediaTekなどの最新チップには、ニューラルネットワーク専用のシリコンが搭載されています。Cactusはこれらの専用ユニットと直接通信を行う構造を持っています。これにより、処理効率が向上し、モバイルやエッジデバイスにおける動作の重さやバッテリー消費の問題を解決します。

確信度ベースのハイブリッドルーターによるフェイルオーバー処理

  • ローカルモデルの限界に対応するため、クラウドモデルへ動的に切り替えるハイブリッドルーターを搭載しています。
  • タスクの複雑さやコンテキストウィンドウの大きさに応じて、自動的にリクエストを引き渡す確信度ベースのシステムです。
  • バックグラウンドでの自動フェイルオーバーにより、コードを変更することなく本番環境に対応します。

簡単な質問であれば、高速でプライベートかつ低コストなローカルのNPU上で処理が完結します。一方で、ローカルモデルの能力を超える複雑なタスクを検知した場合は、自動的にクラウド上の最先端モデルへリクエストを転送します。この仕組みがユーザー体験の低下を防ぎ、同時に運用コストを低く抑えます。

iPhone 12 Proによる音声モデルの実機性能テスト

  • Swift Cactusパッケージを使用した実機テストにおいて、ローカルでのリアルタイム文字起こしは平均約260ミリ秒の遅延で動作します。
  • クラウドへの切り替え時はGemini 2.5 Flashを使用し、3秒のバッチ文字起こしで平均約2,000ミリ秒の時間を要します。
  • マルチモーダルタスクに対応する複数のSDKとNPUフレンドリーなアーキテクチャを提供します。

iPhone 12 Proという旧世代のデバイスを使用した場合でも、Parakeet音声モデルによるエッジ側でのライブストリーミングは高いパフォーマンスを示します。クラウド接続時はデータサーバーとの往復が発生するため約2秒の遅延が生じますが、画像解析など負荷の高いタスクではこのクラウド連携が有用です。Cactusはエッジ最適化に加え、多様なSDKによる開発の容易性を備えています。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video