LiteRT モデルをビルドする

このページでは、LiteRT モデル形式に変換することを目的として TensorFlow モデルを構築するためのガイダンスについて説明します。LiteRT で使用する ML モデルは、元々 TensorFlow コア ライブラリとツールを使用して構築およびトレーニングされています。TensorFlow コアでモデルを構築したら、LiteRT モデルと呼ばれる、より小さく効率的な ML モデル形式に変換できます。

変換するモデルがすでにある場合は、モデルの変換の概要ページでモデルの変換に関するガイダンスをご覧ください。

モデルの構築

特定のユースケース用のカスタムモデルを構築する場合は、TensorFlow モデルの開発とトレーニングから始めるか、既存のモデルを拡張する必要があります。

モデル設計の制約

モデル開発プロセスを開始する前に、LiteRT モデルの制約を把握し、これらの制約を考慮してモデルを構築する必要があります。

  • コンピューティング能力の制限 - 複数の CPU、大容量のメモリ、GPU や TPU などの専用プロセッサを備えたフル装備のサーバーと比較して、モバイル デバイスやエッジ デバイスははるかに制限されています。コンピューティング能力と専用ハードウェアの互換性は向上していますが、効果的に処理できるモデルとデータはまだ比較的限られています。
  • モデルのサイズ - データ前処理ロジックやモデル内のレイヤ数など、モデルの全体的な複雑さが増すと、モデルのインメモリ サイズが増加します。大規模なモデルは、許容できないほど遅く実行されるか、モバイル デバイスやエッジ デバイスの利用可能なメモリに収まらない可能性があります。
  • データのサイズ - ML モデルで効果的に処理できる入力データのサイズは、モバイル デバイスやエッジ デバイスでは制限されます。言語ライブラリ、画像ライブラリ、動画クリップ ライブラリなどの大規模なデータ ライブラリを使用するモデルは、これらのデバイスに収まらない可能性があり、デバイス外のストレージとアクセス ソリューションが必要になる場合があります。
  • サポートされている TensorFlow オペレーション - LiteRT ランタイム環境は、通常の TensorFlow モデルと比較して、ML モデル オペレーションのサブセットをサポートしています。LiteRT で使用するモデルを開発する際は、LiteRT ランタイム環境の機能に対するモデルの互換性を追跡する必要があります。

LiteRT 用の互換性のある高性能モデルを効果的に構築する方法については、パフォーマンスに関するベスト プラクティスをご覧ください。

モデルの開発

LiteRT モデルを構築するには、まず TensorFlow コア ライブラリを使用してモデルを構築する必要があります。TensorFlow コア ライブラリは、ML モデルの構築、トレーニング、デプロイを行うための API を提供する低レベルのライブラリです。

TFLite ビルドのワークフロー

TensorFlow には、これを行うための 2 つの方法があります。独自のカスタムモデルコードを開発することも、TensorFlow Model Garden で利用可能なモデル実装から始めることもできます。

Model Garden

TensorFlow Model Garden には、ビジョンと自然言語処理(NLP)のための最先端の機械学習(ML)モデルの実装が多数用意されています。また、標準データセットでこれらのモデルをすばやく構成して実行できるワークフロー ツールもあります。Model Garden の機械学習モデルには完全なコードが含まれているため、独自のデータセットを使用してテスト、トレーニング、再トレーニングを行うことができます。

Model Garden は、よく知られているモデルのパフォーマンスのベンチマーク、最近リリースされた研究結果の検証、既存のモデルの拡張など、ML の目標達成に役立ちます。

カスタムモデル

ユースケースが Model Garden のモデルでサポートされていない場合は、Keras などの高レベル ライブラリを使用してカスタム トレーニング コードを開発できます。TensorFlow の基礎を学習するには、TensorFlow ガイドをご覧ください。例を始めるには、TensorFlow チュートリアルの概要をご覧ください。この概要には、初心者からエキスパート レベルのチュートリアルへのポインタが含まれています。

モデルの評価

モデルを開発したら、そのパフォーマンスを評価し、エンドユーザーのデバイスでテストする必要があります。TensorFlow には、これを行うためのいくつかの方法が用意されています。

  • TensorBoard は、ML ワークフロー中に必要な測定と可視化を行うためのツールです。損失や精度などのテスト指標の追跡、モデルグラフの可視化、下位次元スペースへのエンベディングの投影などを行うことができます。
  • Android ベンチマーク アプリや iOS ベンチマーク アプリなど、サポートされている各プラットフォームでベンチマーク ツールを利用できます。これらのツールを使用して、重要なパフォーマンス指標の統計値を測定し、計算します。

モデルの最適化

TensorFlow Lite モデルに固有のリソースの制約により、モデルの最適化は、モデルのパフォーマンスを維持し、使用するコンピューティング リソースを削減するのに役立ちます。通常、ML モデルのパフォーマンスは、推論のサイズと速度と精度のバランスで決まります。LiteRT は現在、量子化、プルーニング、クラスタリングによる最適化をサポートしています。これらの手法の詳細については、モデルの最適化をご覧ください。TensorFlow には、これらの手法を実装する API を提供するモデル最適化ツールキットも用意されています。

次のステップ