BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース GoogleがIoT AI用の新たなCoral APIをリリース

GoogleがIoT AI用の新たなCoral APIをリリース

原文(投稿日:2020/12/08)へのリンク

Googleは同社のCoral AIツールキット用のAPIとツールを新たにリリースした。C++とPythonのSDKが機能的に同等になり、メモリ使用効率が向上した他、レーニング済モデルが追加され、モデルパイプラインが一般向け提供(GA)になった。

CoralのプロダクトマネージャであるCarlos Mendoça氏がTensorFlow Blogで、今回のリリースの概要について説明している。新APIはTensorFlow Liteインタプリタオブジェクトを公開し、一般的なマシンラーニング(ML)推論タスク用のユーティリティメソッドも合わせて提供する。また、事前トレーニングされたオブジェクト検出モデルの新ファミリーであるMobileDetsモデル"garden"に加わった。トレーニング済モデルをデバイス上でファインチューニングするための変更も含まれている。そして最後に、モデルパイプライン --- 大規模モデルを複数デバイスに分割して分散推論を可能にする機能 --- のベータ提供が完了し、一般提供(GA)版となった。Mendonça氏によれば、今回のリリースでチームが目標としたのは、次のようなものだ。

APIをリファクタしてモジュール性、再利用性、パフォーマンスを向上すると同時に、不要なAPI抽象化を排除し、開発者が習熟しているネイティブなTensorFlow Lite APIをより表面に見せること。

MLモデルのトレーニングには相当量の計算リソースに加えて、GPU(Graphic Processing Unit)TPU(Tensor-Processing Unit)といった特殊なハードウェアが必要となることも多いため、クラウド上で実行されるケースが少なくない。一方で、多くのIoT(Internet of Things)アプリケーションにとって、クラウドは推論 --- イメージ内のオブジェクト検出のような、トレーニング済モデルを実行時に使用する処理 --- を行う手段としては適切でない場合が多いのだ。プライバシの懸念やネットワークの遅延、ネットワークの信頼性が低いあるいは利用不可能な場合を考慮すると、ローカルないしエッジデバイス上で推論できることが望ましい。

これらのエッジデバイスは、計算や電力に関わるリソースが制限されていることが多く、結果として推論に時間を要するため、低電力の推論アクセラレータの提供が始められている。GoogleのCoralプラットフォームはそのひとつで、カスタムASICであるEdge TPUをベースにする。TensorFlow Liteを基盤としたソフトウェアSDKも含まれている。開発者は、TensorFlowを使ってクラウド内でトレーニングしたモデルをTensorFlow Liteにエクスポートし、Edge TPU Compilerでコンパイルして、Coralアクセラレータをそな得たエッジデバイスにデプロイする、という方法が可能になる。モデルが最終層でのトレーニングをサポートするように設計されていれば、デバイス上でのファインチューニングもサポートされる。

最新のCoralソフトウェアアップデートでは、従来のSDKがリファクタされて、新たにC++ライブラリのlibcoralとPythonパッケージのPyCoralという2つのライブラリになった。いずれのライブラリもTensorFlow Lite APIをラップして、一度のコールでTensorFlowインタプリタをセットアップしたり、モデル出力の処理を支援したりするユーティリティメソッドを提供している。デバイスラベルやモデルパイプラインなど、マルチアクセラレータシステムのサポートも改善された。モデルパイプラインは、大規模モデルを複数のアクセラレータに分割することで、実行時パフォーマンスを向上するものだ。新リリースにはプロファイリングを基盤としたパーティションアルゴリズムが含まれており、実行時の遅延を監視することによってパーティションを最適化する。

Coralプラットフォームの不足点のひとつは、TensorFlow Lite、特に8bit整数に量子化されたモデルにサポート対象が限定されていることだ。他のハードウェア製造企業は、複数のモデルソースをサポートする同クラスのアクセラレータソリューションを提供している。例えばLGのAIoTボードにはTensorFlow LiteとCaffe両方をサポートするLG Neural Engineが含まれている。またNVIDIAのJetsonボードは、コンテナ化アプローチを使って複数のフレームワークをサポートする。

新しいlibcoralPyCoraライブラリのソースコードはGitHubで公開されている。
 

この記事に星をつける

おすすめ度
スタイル

BT