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