ドキュメント

Core ML Appのサイズの縮小

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

概要

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

低精度モデルへの変換

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

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

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