低遅延AI基盤としての劔"Tsurugi"の活用

AIの本番運用の課題

AIのPoCを実施してみて、効果がありそうなレポートを得られますが、本格的に運用を検討すると、いくつかの問題に行き当たり、本格的な活用に至らないことが多くなっています。大きく分けると以下の2つの問題に集約されます。

・AIの実行環境の運用の問題
・エッジコンピューティングの限界

運用の問題については、3つの問題があります。

● 可用性の問題
エッジからファイルでデータが送られてくるものを、現状ではファイルのままデータを取り扱っていくことが前提となっています。本格的な運用になった場合、ファイルベースでの仕組みではシステムダウン時にリカバリ等の対応が難しくなります。

● 運用への移行コストの問題
PoCはコストの面からクラウドでの実施が多くなる傾向がありますが、本番になった場合、データの秘匿などを考えるとクラウドではないオンプレミスの環境が求められます。クラウドの開発環境や実行環境を独自で構築するのは、それなりにコストがかかってしまいます。

● 推論組み込みの維持コストの問題
PoCの間は、ある程度制限的にデータを取り扱うことができますが、本番での運用では、新しいデータが次々にやってきて、推論・学習が高頻度で実行されるようになります。圧倒的に増えるデータ量に対して、適応した環境を準備するためにはそれなりのコストがかかります。

これらの運用側のコストを、エッジ側に持っていくことで、運用の問題を解消しようという動きもありますが、これも限界がありそうです。

サーバ側の運用負荷を解消するために、エッジ側の高機能化を進めようとすると、エッジ側の機器のコストが高くなります。それを大量に準備してIoTのような環境を作ろうとすると大幅なコスト高になります。

これまで、数千円〜数万円の機器の価格が、十数万円になってしまうこともあり、それをエッジ側に大量に配置することは現実的ではありません。

低遅環境のAI実行環境を劔"Tsurugi"で実現する

これらの運用の課題と、エッジ側にかかるコストを抑えるために、劔"Tsurugi"を活用した特徴量ストアと実行プラットフォームを利用します。

これは、エッジ側に処理を寄せようとする最近の方式ではなく、サーバサイドに処理を寄せる、この場合は劔"Tsurugi"を含めた実行環境に処理を任せます。

これにより、データの入力の高負荷になる処理をさばききり、可用性を確保しながら開発コストも抑え、エッジ側も従来の発生した情報をサーバ側に送る端末として利用することで、最低限の機能を持ったものを準備すればよいだけになるため、設備のコストも抑えられます。

具体的には、劔"Tsurugi"を活用した下図のような、
特徴量ストア・実行プラットフォームを、推論環境として利用することで実現します。

この推論環境は、劔"Tsurugi"の特徴である、以下の点を応用したものです。

  • インメモリー・コアで分散する処理を実行するので、処理が高速である
  • ロックを取らずに、バッチ実行中にオンライン処理を行っても劣化を抑えて処理を実行できる

この特徴を利用して、劔"Tsurugi"を利用した取り回しのよい特徴量ストアを実現することができます。IoTのエッジの機器から送られる画像データ・点群データ・ストリーム情報といったものや、大量に発生する取引のログなどが、待ち時間がほとんどなく、テーブルに書き込まれていきます。

そのデータを、書き込みと同時に適切な形に整えていき、出来上がったものを同サーバのCPUやGPUサーバに転送して推論処理を実行する、という流れです。
(※GPUサーバへの転送は、2024年8月時点では開発中です)

劔"Tsurugi"をこの環境で利用するメリットは、以下のとおりです。

  • データの入出力と特徴量操作
    劔"Tsurugi"の特性から、送られてくるエッジからの情報やログは、高速にテーブルに登録(書き込み)されていきます。さらに、劔"Tsurugi"はロックフリーなデータベースなので、その登録と同時にデータのクレンジングや加工(特徴量の操作)を実行し、推論に必要なデータを整えていくことができます。
    これらの実装は、劔"Tsurugi"はデータベースであるため、SQLで実装を行うことができます。工程によって実装方法やプログラムを作り分ける必要がなく、既存のデータベースの技術で開発を進めることができます。

  • 高可用性の確保と運用の簡素化
    劔"Tsurugi"はデータベースです。監視や障害対策等は、通常のデータベースと同じように準備すれば十分に対応可能です。
    また、既存の運用監視ツールをそのまま利用することも可能です。AIの開発や運用の環境では、MLOps向けの運用監視等を検討することも必要になりますが、そういったものは必要ありません。

  • Containerでの開発が可能
    劔"Tsurugi"では、IPC接続でそのままContainerに接続できます。
    「固有の開発環境」を変更しないで、劔"Tsurugi"での開発を行うことが可能になります。

  • 開発の低コスト化
    この環境を構築できると、エッジ側とサーバ側の役割と責任が明確に分かれます。
    エッジには、明確にデータを送ってもらうだけとなり、機能を絞ることができ、その以降の処理はすべて劔"Tsurugi"のあるサーバ側に寄せることができます。
    また、劔"Tsurugi"のデータベースサーバとネットワークが用意できれば、複雑な処理環境を用意せず、エッジ側も機能を限定的にすることで、従来の機械学習の実行環境よりもコストを下げることができます。

これをもっと発展させると、エッジの近くの拠点(向上・店舗・移動拠点など)に劔"Tsurugi"を利用した推論サーバを配置し、拠点単位で低遅延推論を実施した結果を、学習 の拠点となるクラウドのサーバに連携するような環境も構成できます。

劔"Tsurugi"の推論サーバも含めてエッジ側に寄せることで、より高速な推論を実現し、M2M(Machine-to-MachineMachine-to-Machine)のAIの実現に近づけることができます。


劔"Tsurugi"に関する問い合わせや、劔"Tsurugi"を利用したPoCや共同実証、サポート・サービスのご相談は、こちらのフォームからお問い合わせください。

> 劔"Tsurugi" お問い合わせフォーム