SENSY Product Dev Tech Blog

SENSYプロダクト開発チームのTechBlogです。

SENSY プロダクト開発チームの紹介

こんにちは。SENSY プロダクト開発チームPdMの岩間です。

今回はプロダクト開発チームがどのようなプロダクトを開発しているか紹介できればと思います。

開発しているプロダクト

SENSYでは自社サービスとして開発を進めているプロダクトが複数ありますが、プロダクト開発チームでは主にSENSY CLOUDというSaaSを開発しています。

SENSY CLOUDは「お客様からデータを受領し業務課題を解決するAIを提供する」という業務において、ETLから分析、AI構築、精度検証、運用開始までの一連のフローをWEB上で操作・自動化を実現するプロダクトになっています。

図1. AI導入フローにおけるSENSY CLOUDの実施内容

AutoMLなどモデリングを自動で実行するツールでは分析者自身で目的変数や特徴量を設定できますが、SENSY CLOUDでは利用するモデルは業務課題に応じてシステム内にあらかじめ実装してあります。

「お客様からデータを受領し業務課題を解決するAIを提供する」ということを繰り返す中で溜まった知見を標準化し内部に搭載することで、一定以上の精度を達成しつつ人的リソースや作業時間の削減を実現しています。また、これによってユーザーへより安価にスピーディに価値を提供することが可能になっています。

現在搭載されているモデルは需要予測や来店客数予測など主要なソリューションのみですが、将来的には今まで実施されてきた案件で使われたモデルを標準化し追加開発していくことを予定しています。

図2. 実装済みモデルと開発予定モデル

システム処理イメージと利用技術

SENSYではGCPを中心にシステムを構築しておりCLOUDでも多くのサービスを利用しています。

ユーザー側の作業と利用サービスとしては、まず、GCSへデータを配置してもらいLookerStudioに埋め込んだGoogleFormから起動をトリガーします。その後はGCSからBigqueryへデータを流し込みモデリングなどAI構築が実行されます。この時のワークフロー制御はComposerを利用しています。処理状況は都度Slackへ通知されデータ定義の確認や分布、精度などはLookerStudioで確認することができます。フォーマットやNULL制約などデータ定義でおかしなところがあればLookerStudioで確認しデータを修正した上で再度GCS配置から実施するような流れです。データ定義やAIの精度の確認はお客様自身だけでなく、プロダクト開発チームのメンバーでも実施しておりデータ修正の方法や精度改善の提案をしながら実験を繰り返していきます。

図3. 作業主体と処理の流れ

CLOUD導入フロー

CLOUDを利用した案件では以下の流れでプロジェクトが進んでいきます。

  1. データETL
  2. モデル構築
  3. 机上検証
  4. 実証実験
  5. 本番運用

一般的なAIを利用した案件においてもこのようなフローで進められることが多いかと思いますが、CLOUDを利用することで各作業が自動化され人的リソースや作業時間の削減を実現しています。

図4. 図1再掲

データETL

ETLにおいて重要な役割を果たしているのはデータ定義書です。ユーザーによって保有しているデータ定義が異なるので業界や利用モデルに応じてAIが処理しやすいようなデータ定義をまとめています。これによって主キーやデータ型、NOT NULL制約などデータベースを構築する上で必要な要素を決めることができETL作業を属人化させることなくシステムに任せることができています。

基本的にはデータ定義書をユーザーへ提示しこれに従ってデータを抽出、GCSに格納してもらうように依頼しています。

図5. データ定義書の例

モデル構築

モデル構築は「お客様からデータを受領し業務課題を解決するAIを提供する」という案件を繰り返してきた中で標準化された特徴量を持ったモデルをシステムに実装しており、これに従って特徴量作成や学習が実行されます。

ユーザーごとに準備できるデータは異なっているためそのまま処理するとNULLになってしまう特徴量のケアが重要になってきます。また、少ないデータでも十分な精度を出せるようにFineTuning可能なモデルの研究を進めています。

机上検証

ここでは投入されたデータを自動でtrain, validation, testに分割しtestを使って精度を確認します。R2やMAEなど機械学習における評価指標や売上高や機会ロス、廃棄ロスなどKPIを用いたビジネスインパクト、誤差の大きいレコードの分析などをダッシュボード(LookerStudio)によってモデルを評価します。

モデルごとに十分にビジネスインパクトを出せる水準の精度が経験則的に把握できているため、この水準を軸にデータの追加準備を依頼したりプロジェクトの進め方を提案するなどしています。

実証実験

机上検証にて十分な精度が確認できた際には実際にAIの予測値を実業務で活用する実証実験へ進みます。シミュレーションだけでは把握しきれない現実の課題(現場からのフィードバックやシステム上の制約など)や机上検証の精度の再現を確認していきます。

ユーザー側でデータ連携の自動化やAI予測値のシステム連携などを準備しCLOUDでは週次や日次でデータの取り込みや予測を実行していきます。

数ヶ月間にわたって実証実験を進め課題やKPIを評価し精度改善や業務フローの整備などを実施していきます。

本番運用

実証実験にてビジネスインパクトが認められればようやく本番導入です。実業務への適用範囲を広げていき年間を通して活用を進めていきます。

最後に

今回はプロダクト開発チームで開発しているSENSY CLOUDの概要について紹介しました。開発チームではCLOUDの開発だけでなく、搭載モデルの研究や分析、CLOUDを利用した案件の推進、運用保守など様々なことに取り組んでいます。今後はそれらについて書いていければと思います。