機械学習アプリの実運用におけるデータサイエンスとIT運用のコラボレーション。今まで機械学習は、研究者やデータサイエンティストが扱うものでしたが、近年の技術発展により、より効率的に機械学習モデル駆動型アプリケーションを開発できるようになってきました。機械学習プロジェクトがPoCの壁を越えず、実運用まで至りづらい一つの要因は、データサイエンティストとソフトウェアエンジニアの壁です。機械学習の専門的な学習モデルの精度向上とシステム運用における安定稼働を行う人材は別々のスキルである事が多いと言う課題です。Operations)は、そういった課題をクリアする為に、IT運用チーム主導で機械学習アプリ運用を行えるようにする基盤と取り組みです。変化に強く、拡張性にも優れ、さらに安定的かつ高速でサイクルを回せるシステムが求められています。Learning)は、AIシステム開発/運用の効率化とナレッジの蓄積/活用を行うMLOpsプラットフォームであり、以下の特徴を備えています。工程を繰り返し実行し、目標の精度に達成するモデルを作成するのがデータサイエンティストの職分である。同時に、マンリソース及びマシンリソース共に高コストとなるゾーンであり、この部分の自動化およびマシンリソースの最適化によるコストメリットが大きい。特定の時期には非常に混雑するものの、それ以外の時期にはほとんど使われない社内アプリケーションなどではコスト削減に効果を発揮します。アノテーションの半自動化アノテーションとは、蓄積されたデータに対して、AIに推論させる答えとなるタグを付ける作業の事です。施すタグ付け作業の事を指します。CLは、一定の段階まで人力によるアノテーション作業を実施後はアノテーション自体をAIが実施し誤検出の可能性の高いデータのみを人力により再アノテーションするという半自動化の機能を提供します。特徴量エンジニアリングとは、蓄積されたデータ(かつアノテーション済みのデータ)をより機械が学習しやすい形に加工する作業です。CLでは、特徴量エンジニアリングの代表的な手法やパラメータ設定のベストプラクティス、過去の案件から得られたノウハウをライブラリ化し、任意の組み合わせでパイプライン化の機能を有します。マシンリソースを投入することで、一定範囲内での総当たり処理によるパラメータ等の最適化を行います。これらの機能によって、データサイエンティストの行う作業の約8割を占めると言われている特徴量エンジニアリングの半自動化が行われ、品質のベースライン確保とコスト効率化を実現します。学習の自動化AIにおける学習とは、特徴量エンジニアリングにより作成された教師データの特徴を学習アルゴリズムに学習させることです。学習の工程において大半を占めるのは、学習(計算処理)を行うためのマシンリソースですが、一方でハイパーパラメータチューニングと呼ばれる学習アルゴリズムに応じたパラメータの設定作業を経験のあるデータサイエンティストが担うことになります。ディープラーニングにおいては特に要求されるマシンリソースが高コストとなるためリソース管理の最適化が開発コストの効率化に大きく影響するのが現状です。CLは、一定範囲内で総当たりによるハイパーパラメータチューニングを行う機能や投入すべきマシンリソースの管理を自動化する機能を提供しています。評価の自動化AIにおける評価とは、学習済みモデルの汎化性能(学習させていないデータでも正しい推論が行える性能)を計測することになります。評価指標は目的設定により異なるほか、評価には専門知識が求められるケースも多く、学習するごとにデータサイエンティストによる作業が必要とされるのが現状です。CLは、精度の確認を自動で実行するほか、モデル最適化のための評価指標とは別に、ビジネスインパクトを計測するための評価指標を設定しグラフ化されたレポートを提供します。来店予測モデルの評価指標としてRMSLEを用いる一方で、店舗毎の一日当たりの平均来客数の10%以内に誤差が収まっているデータの割合をプロットしたグラフをレポートとして作成可能となります。通常、データサイエンティストの職分は要求精度に到達する学習済みモデルを作成する工程までですが、一方、システムとはエンドユーザや他システムから呼び出し可能なインタフェースを備えており、かつ正常運用を保証するための監視システムや障害から復旧するための機能を備えている必要があります。AIシステムにおいては時間経過とともにモデルの精度が劣化する場合があり、モデルの精度を上げるために再学習を行う必要が発生します。APIとして自動デプロイ可能な機能を提供します。APIはリソース占有率や利用ログ、システムログを監視するシステムを備えているほか、リソース占有率に応じた自動スケールアウト、デプロイ履歴からのバージョン管理機能を提供する事ができます。Detectionは、ディープラーニングによる当社独自の学習モデルを使った画像解析です。カメラ情報から様々な認識を行っています。現場作業の多い業務のデジタル推進を行っています。NLPは、ディープラーニングを使った当社独自の学習モデルを使った文章解析AIです。リスクマネジメント、スパム文章判定など文章情報から様々な認識を行っています。文章解析を利用する事で、OCRで読み取るテキスト情報から文脈判定により精度向上を行ったり、音声テキスト化において前後文章判定により、正しいテキストに変換し直すと言った、画像AIや音声AIとの組み合わせも行っています。文章解析を詳しく見るAIOpsAIOpsは、システム稼働におけるログデータ(ビッグデータ)と機械学習機能を組み合わせてITオペレーションをサポートするものです。技術者不足が叫ばれている昨今の課題として、稼働中のシステム運用に人手が取られ、攻めのITに技術者を配置できない事が挙げられています。CodeDeploy、Ansible、Terraformを用いて、ブルーグリーンデプロイ、ローリングデプロイ、シンボリックリンクデプロイなどデプロイ自動化ソリューションやイミュータブルインフラストラクチャ構築サービスを提供しています。デプロイ自動化サービスを詳しく見るKubernetes導入支援Kubernetesは、コンテナのスケジューリングとオーケストレーションにおけるデファクトスタンダードとなっており、コンテナアプリのデプロイやスケーリングに関わる作業を自動化する事ができます。当社はDocker上にアプリを開発し、Kubernetesを導入する事で、運用フェーズで煩雑になりがちなコンテナアプリケーションを実行および調整・管理し、予測可能性とスケーラビリティに富むアーキテクチャをご提案しています。FaaSDocker/Kubernetesを利用して、エッジ上で動く機械学習の実行環境を効率よくデリバリーし、複数拠点のエッジデバイスを一括管理・実行を可能とするアーキテクチャを提案しています。これにより、IoT+AIプロジェクトにおいて、細やかなPDCAサイクルを実行し、ビジネス変化に対応できる運用の効率性を上げる事が可能です。