更新日:2019/11/01

    実世界の事象をデータ化しながら活用するフィジタルデータセントリックコンピューティング
    深層学習の推論処理を大幅に効率化する「ひかりディープラーニング®推論基盤」―― 企業活動での競争力の源泉に資するR&D技術を
    NTTソフトウェアイノベーションセンタ

    羽室 大介(はむろ だいすけ)/飯田 浩二(いいだ こうじ)/宇佐美 潔忠(うさみ きよただ)/由良 俊介(ゆら しゅんすけ)/江田 毅晴(えだ たけはる)/坂本 啓(さかもと あきら)/外山 将司(とやま まさし)/三上 啓太(みかみ けいた)/井上 規昭(いのうえ のりあき)/中山 隆二(なかやま りゅうじ)/榎本 昇平(えのもと しょうへい)/佐々木 琢(ささき たく)/史  旭(し きょく)/廣川 裕(ひろかわ ゆたか)/稲家 克郎(いなや かつお)

    いよいよ深層学習技術が社会的な課題解決に使われる時代がやってきた

    2012年のジェフリー・ヒントン教授らのグループによる画像認識コンテストILSVRC(ImageNet Large Scale Visual Recognition Challenge)での圧勝から、まもなく8年が経ちます。今ではさまざまな深層学習技術に関する研究が世界中で行われています。
    深層学習技術に関するニュース等を振り返ると、当時はトライアルやPoC(Proof of Concept)に関する話題が中心でしたが、今年は、深層学習技術で社会課題を解決した話題もよく見かけるようになってきました。ディスラプティブ(破壊的)な技術である深層学習技術が、研究者だけのものではなく、実際の社会課題を解決する技術になってきた、ということです(1)
    人の眼の代わりとなるような画像認識でのユースケースから始まりましたが、音声認識、言語処理のユースケースも多数出てくるようになり、もはや深層学習は当たり前のように使われるようになってきました。

    社会的課題の解決を加速させるために必要なこと

    NTTソフトウェアイノベーションセンタ(SIC)では、2015年より深層学習技術を用いた映像解析技術の研究を開始し、NTTの事業会社の皆様と一緒にサービスとして市場に投入し、多数のフィードバックを受けながら研究を進めてきました。競合他社に先駆け、2017年に商用サービスを提供開始したNTTコミュニケーションズの「Takumi Eyes」(2)では、監視カメラサービスを再定義し、事件が発生してから何が起きたのかを確認して警察に提出する素材であった監視カメラ映像をリアルタイムで解析できる監視カメラサービスにつくり上げることができました。
    当たり前ですが、「リアルタイムに映像を解析できる」ことにより、実際に解決できる社会的な課題(≒効果的なユースケース)が大幅に増えることとなりました。
    実例としては、商業施設・オフィスビルでの監視カメラ業務を一例とするセキュリティ業務は当然のことながら、来たるべき高齢者社会で大きな課題の1つとなる徘徊老人・行方不明者の検索(3)などのトライアルが施行されました。

    リアルタイムで映像を解析可能にするために必要な技術

    オフライン処理が普通であった監視カメラサービスを「リアルタイム」をキーワードに再定義できた理由は、以下の重要技術を実現したからです。

    深層学習推論処理の効率化技術

    1. 推論タスク高密化技術
      複数の推論タスクをGPUに一括転送するとともに、推論*1後の後処理を並列化する最密充填処理方式や、複数のデータストリームを一括処理することでGPUメモリを削減するストリームマージ方式など、さまざまな効率化により推論タスクを高密度に多重化して、タスク当りのコストを低減します。本技術は特許申請中の技術です。
    2. 推論向け軽量フィルタ技術
      映像を一例とするストリーム型データは、例えば人物が映っていないなど、すべてを解析する必要のないケースも多いのですが、それを考慮せずに処理すると、解析する必要のない映像のために、コンピューティングリソースを占有してしまう課題があります。推論モデルに応じて解析の要否のみを判定する軽量フィルタを適用することで、解析が必要な対象の個所のみを推論処理の対象とし、処理コストを低減します。
    3. サーバ・エッジでの処理分散技術
      エッジデバイス、サーバ機器などデバイスの役割を意識せずに、サーバとエッジを連携させた処理を同一のクエリ言語で記述可能です。例えば軽量フィルタ技術と組み合わせれば、非力なエッジデバイスで簡易な解析を行い、詳細な解析のみサーバで行うことで、これらをサーバのみで実現する場合に比べてネットワークコストや設備コストを削減することが可能です。同時に、エッジでの前処理により、外部サーバにアップロードできない秘匿性の高い情報を保護することも可能です(図1)。
    4. ヘテロデバイス対応深層学習モデル最適化技術
      複数の推論アクセラレータデバイス(CPU、GPU等)用に実行環境を用意しストリーム処理エンジンから呼び出すことで、各デバイスの性能を最大限活用したモデルをデプロイすることができます。
      併せて、学習コンパイラ(NVIDIA TensorRT™やIntel OpenVINO™)を組み込み、モデル圧縮や低精度化といった個別の最適化を行うことで、収容率を向上させることができます。
    5. 推論のマイクロサービス化
      推論処理のみを行う専用のプロセスを、別サーバに推論マイクロサービスとして構築することができます。サーバ・エッジで処理分散技術との組合せにより、非力なエッジデバイスから計算コストの大きな推論処理を切り離すことが可能となるとともに、多数の推論タスクが集中する推論マイクロサービス側で推論タスク高密化技術を適用することが可能となります。
      上記の技術を複数組み合わせることにより、10倍以上の高収容化と、リアルタイムでの映像解析を可能にしました。
    • *1推論:深層学習技術を活用したデータ分析処理のこと。使い方によって、推論手段、推論環境、推論クラウドなどの使い方をします。
    図1 サーバ・エッジでの分散が有効なユースケース例
    図1 サーバ・エッジでの分散が有効なユースケース例

    深層学習全盛時代に向けてサービス化を実現し、ビジネスをスケールさせるために

    商用サービスを成り立たせるためには、お客さま目線でサービスを提供することで得られる対価と、支払うコストが見合うこと(≒費用対効果)が必須です。深層学習技術を用いたサービスでお客さまが得られるメリットがどんなにすごいものでも、推論のインフラコストだけで1億円必要になると言われてしまうと、なかなか導入の意思決定を一般の企業が行うことは難しくなってしまいます。つまり、実行環境(=推論環境)のインフラを安価に構築、利用できることが大事になるのです。そこで登場するのが、先ほど紹介したリアルタイム処理を実現した技術です。リアルタイム化を実現するための技術を、推論環境を効率良く…

    ■参考文献

    1. (1)https://aishinbun.com/clm/20190330/2018/
    2. (2)https://www.ntt.com/about-us/press-releases/news/article/2017/0712.html
    3. (3)https://www.slideshare.net/hironojumpei/ss-78291832

    関連するコンテンツ