2025年のAndroid端末での画像生成
Duration AIチームは、Samsung Galaxy S25+でPrismMLのBonsai画像モデルを実行し、NPUを介して512×512の画像生成を約2分で達成しました。多くの課題を克服し、AndroidでのオンデバイスAI画像生成に関する貴重な知見を提供しています。
Duration AIチームは、2025年のSamsung Galaxy S25+上で、完全に端末内で画像を生成するデモンストレーションに成功しました。これは、2020年のiPhoneで同様の機能を実現した後のAndroid版です。チームはPrismMLのBonsai画像モデル(1ビット拡散トランスフォーマー)を、端末のHexagon NPU上で実行し、512×512ピクセルの画像を約2分で生成しました。
しかし、この成果への道のりはiOS版よりもはるかに困難でした。iOSには成熟したCore MLやMLXフレームワークがあるのに対し、Androidでは選択肢が限られています。NNAPIはLiteRTに置き換えられたものの、まだ未成熟です。また、異なるAndroid端末ファミリーは異なるハードウェア(CPU、GPU、NPU)を搭載しており、それぞれに固有のツールチェーンが必要です。チームはまずCPUを試しましたが、stable-diffusion.cppの改良版を使用しても、1ステップあたり約2分かかり、全体で8~9分を要しました。次にGPUを試み、256×256の画像生成には成功しましたが、512×512への拡張時にクラッシュが頻発しました。最終的にNPUが唯一の実用的な経路となりました。
モデルをNPUにデプロイするには、NPU用の重みの拡張、fp16オーバーフローの処理、Qualcomm SDKのバージョン依存の問題など、多くの課題を克服する必要がありました。最終成果物は、ケーブルで接続されたPCからトリガーする生成パイプラインであり、完全なアプリには至りませんでした。画像品質はiPhone版よりやや劣りますが(NPUが低精度の整数演算を使用するため)、生成時間はほぼ同じ(約140秒)です。注目すべき点として、NPU上ではモデルが1ビットではなくなるため、デプロイ可能なバンドルサイズは10.7 GB(iPhone版は3.7 GB)に、ピークメモリは約5 GB(iPhone版は3 GB)になりました。また、連続生成時のサーマルスロットリングや、テキストエンコーダーとVAEがCPU上で動作していることなどの課題も残っています。
完全なAndroidアプリの開発には至らなかったものの、Duration AIはコードをオープンソース化し、この作業が他の開発者にとって有益な出発点となることを期待しています。GPUのクラッシュ問題を解決できる人がいれば、さらなる性能向上が可能かもしれません。全体として、このプロジェクトはAndroidデバイスでのAI画像生成の可能性を示すと同時に、エコシステムの断片化という課題を浮き彫りにしています。