ディープラーニングをはじめAIを用いたサービス/システムの開発が増えている。AIを用いた開発では、AIフレームワークを使いこなしながら、大量のデータを高速に処理する必要がある。それを実現するAIエンジニアは、高い技術力だけではなく、活用までを考えられるスキルが求められている。

 ディープラーニングを活用した小売り店舗向けのデータ分析SaaSを提供するABEJA。同社の河崎敏弥氏が今取り組んでいるのは、AIを活用するためのPaaS「ABEJA Platform Open」の開発だ。今年末の提供に向け、ベータ版の検証段階にきている。このPaaSは、IoTベンダーやコンサルティング会社などAI専門ではないパートナー企業がAIを活用したデータ分析システムを開発する基盤となるものだ。

 このサービスは、河崎氏率いる10人の開発チームで実装した。チームは、設計と開発をスクラムで繰り返し実施する。河崎氏は、大量データの高速処理と高可用性を、クラウド上で実現する設計を担う。同時に、スクラムマスターの役割もこなす。

 AIシステムでは、AIを活用するための「学習」「推論」のフェーズにおける処理と、AIへ大量データを入力するためのデータストア設計が重要だ。学習フェーズでの入力データは、例えば100万枚の画像や100万レコードの文章データなどに上る。これらを、クラウド上にあるGPUマシンを並列に置き、効率的に処理できるようにしている。単体マシンの性能が上がったとはいえ、短時間で学習を繰り返すために、並列処理やGPU/CPUクラスター管理の高度なノウハウが必要になる。

 また、数ペタバイト以上のデータを扱う場合、データストアも効率的に設計しないとデータ処理が出来ない。そのためAIエンジニアは、データ送受信を最適化するアーキテクチャーの設計も必要になる。

 並列で高速実行が必要なのは、分析の精度を高めるために、何度もモデルをチューニングする必要があり、PDCAサイクルを回しながら、モデルを改善していくからだ。