ドキュメント

Core MLアプリのサイズの縮小

App Bundle内でCore MLモデルが使用するストレージを減らします。

最新の英語ドキュメント

Reducing the Size of Your Core ML App


概要

Core MLを使い始める一番簡単な方法は、機械学習モデルをアプリにバンドルすることです。モデルが高度になってくると、サイズが大きくなり、かなりのストレージ容量を占める場合があります。ニューラルネットワークベースのモデルの場合は、重みパラメータに低精度表現を使ってフットプリントを小さくすることを検討します。モデルが低精度を使えないニューラルネットワークの場合や、さらにアプリのサイズを小さくする必要がある場合は、アプリにモデルをバンドルするのではなく、ユーザーのデバイス上でモデルをダウンロードしコンパイルする機能を追加します。

低精度モデルへの変換

Core ML Tools(英語)では、ニューラルネットワークモデルの浮動小数点の重みを単精度から半精度(表現に使用されるビット数が32から16に減ります)、または1〜8ビットの低精度の値に変換するユーティリティを利用できます。これらのユーティリティの使い方について詳しくは、Core ML Toolsによるニューラルネットワークの量子化のドキュメント(英語)をご参照ください。

モデルのダウンロードとコンパイル

アプリのサイズを小さくする別の方法として、アプリがユーザーのデバイス上にモデルをダウンロードし、バックグラウンドでコンパイルするようにできます。たとえば、ユーザーが、アプリでサポートされるモデルのサブセットだけを使用する場合、利用可能なすべてのモデルをアプリにバンドルする必要はありません。その代わりに、ユーザーの動作に基づいて後でモデルをダウンロードできます。詳しくは「デバイスでのモデルのダウンロードとコンパイル」をご参照ください。