ABEJAでは、SaaS型のパッケージサービスとして、小売・流通業向けに店舗解析サービス「ABEJA Insight for Retail」を提供しています。
今回は、その概要や実際のビジネスへの適用などについて、以下のお2人にお話をうかがいました。
執行役員:菊池佑太氏
ABEJA Platform事業部 Leader:石川尊教氏
ABEJAが展開するサービスと特徴
−ABEJAとはどういう会社でどういったサービスを提供しているのでしょうか?
菊池:ABEJAは、創業7年目の会社で、従業員は約60名ほどです。
AIを扱っている会社ですが、会社の大きな事業としては、大きく2つあります。
1つは、特定業界の特定課題に対して、AIをうまくSaaS型のパッケージにした「ABEJA Insight」事業です。
現在は、主に小売流通業向けにAIを活用した店舗解析サービス「ABEJA Insight for Retail」を提供しています。従来、店内に訪れた来店客の情報が可視化できおらず、小売流通業では、人員配置や店内の商品レイアウトの変更や販促施策の改善を勘と経験だけで行う他ありませんでした。
我々のサービスを導入いただくことで、今まで捉えることのできなかった来店客の情報を可視化し、 勘と経験だけでなく客観的なデータの裏付けを行いながら、効果的に店舗改善ができるようになります。具体的には、店舗にネットワークカメラなどのIoTデバイスを設置させていただきます。
そのデバイスで取得したデータをDL(Deep Learning)などの技術を活用して解析し、来店客数、年齢性別推定、立ち寄り分析、リピート推定、導線分析などのデータを管理画面上で提供しています。
最終的には、解析したデータを店舗の方々にデータとして見ていただきたいので、管理画面も我々で内製化しています。来店客の情報を解析することで、男女の比率や年齢構成などを時系列のデータとして捉えることができます。
また、POSデータを連携いただければ、我々のサービスを利用して取得した来店客の情報を照らし合わせることで、全来店客数に対して、何人が購入に至ったかという買上率が、管理画面上からわかるようになります。
それ以外にも、天気の情報や、外部のデータプロバイダから提供いただいたデータと組み合わせることも進めています。
晴れか雨かによって来店客の数が大きく変わっているのであれば、店舗における特性値として確認ができます。
さらに、従業員の配置や数の調整、効果的なチラシの配布実施など店舗の販促施策にも活用できます。
この他、管理画面では、店舗でどういう施策を講じたかを登録することができるため、講じた施策が来店客数の増減にどう跳ね返ってきたかも一元管理できます。
2つ目の事業としては、PaaS型のAI開発運用基盤である「ABEJA Platform」を提供しています。「ABEJA Platform」では、AIモデル開発にかかるデータの取得、蓄積、学習、デプロイ、推論・再学習というプロセス省力化するインフラを提供することが、大きな軸になっています。
下記の図をご覧ください。ABEJA Platformで提供する工程を図にしたものです。AIに必要なものは、予測モデルを作ること。予測モデルを作るには、必ず人間が関わるプロセスがあります。 その人間が関わるプロセスをいかに省力化できるかが、我々が提供する「ABEJA Platform」の価値となります。
下記の図の5つの玉が1つのプロセスとお考えください。これらのプロセスを1回回すだけではなくて、ひたすら何回もくるくる回数を重ねて回していく必要があります。 AIのモデルを1回作ったとしても、それで完成ではありません。 AIのモデルも初期段階では、赤ちゃんみたいなもので、そこから人間と同じように成長していく曲線を作らないといけません。 その結果、AIもどんどん賢くなっていきます。
そこで、データを追加して賢くしていくプロセスもあれば、AIの中身であるアルゴリズムを変えて、チューニングで賢くしていくプロセスもあります。
この取得、蓄積、学習、デプロイ、推論・再学習5つの状態をPDCAのサイクルと同じようにいかに早く回していけるかが、短期的に精度を上げる1つのポイントになります。 ここの簡略化を行うためのプラットフォームを作っています。
ABEJA PlatformはAPIを経由して、活用いただくことも可能です。
たとえば、我々が実際にAIのモデルを作り、お客様にモデルを提供させていただく場合、外部のシステムから接続することがあります。このときに、特定の認証キーを発行して、Web APIを呼び出してもらうシステムもABEJA Platform上で用意しています。
他にも、お客様が、写真に写っている車や建物を自動的に判別させる、いわゆる物体認識と呼ばれるAIのモデルを作りたいとします。 その場合は、たとえば、ABEJA Platform上に実装させているAIモデルをAPIと接続して、画像をアップロードしていただき、 その結果のレスポンスとして、判別した結果をテキストとしてお返しするといった利用も可能です。
−たとえば、画像の自動判別などでは、AIに特別のチューニングなどを施しているのでしょうか?
菊池:チューニングは特別なものになっています。その理由ですが、一般的な汎用型モデルでは、ビジネスに対する実活用では精度がでないケースが多いためです。我々も、画像認識をするアルゴリズムを開発する際、ベースとなるモデルがあり、それをチューニングして作っていきます。
現状のDLの世界では、ベースのモデルはオープンソースとして公開されています。 ですので、いかにベースのモデルをカスタマイズして精度を上げていくか、スペシフィックなデータに対応し、課題に対し適応していけるかがデータサイエンティストの腕の見せ所だと思います。
お客様が開発したモデルは、最終的にABEJA Platformを運用基盤として使っていただいています。その運用基盤上のモデルを呼び出すためにWebAPIで、エンドポイントとモデルを紐づけて、簡易的にモデルが実行できるようにしています。
石川:事業によって異なるのですが、最初にご紹介した小売流通向けの店舗解析サービスABEJA Insight for Retailで行っているリピート分析では、論文を読んだ上で、フルスクラッチで組んだモデルを使っています。
−AmazonのSageMaker(セージメーカー)というシステムがあります。違いはなんでしょうか?
菊池:彼らは、先ほどの5つのプロセスの中の1部に特化しているんです。 具体的には学習のプロセスに対し、クラウドの環境を使いながらうまく回しています。一方で、我々は学習のプロセス以外にも守備範囲を広く提供しています。
実際の作業では、データの取得・蓄積や、データに意味付けをするアノテーションと呼ばれる泥臭い作業があります。 その部分のシステムを自動化していくのは、難しいのが現状です。どうしても人の力に頼ってしまいます。
我々は一気通貫でAIシステムに必要なサービスを人的なサポート含めてご提供しています。たとえば、物体認識も、いきなり自動化できるわけではありません。
実際に画像のなかに何が写っているか、AIに覚えさせるためのデータ作り、一般的には、アノテーションと呼ばれるプロセスが必要です。
ABEJA Platformでは、アノテーションを省力化する仕組みを持っており、2018年9月より単体利用できるツールとしても提供しています。
アノテーションをいかにスケーラブルな人的リソースを確保しながら行うことが重要です。現在は、BPO会社と連携し、BPO会社側にセキュアなセンターを持ってもらっています。そこで、アノテーションを専門とするメンバーに待機してもらい、彼らにタスクを依頼し、アノテーションをしてもらっています。
しかし、ただ量をこなしていればいいわけではなく、作業の質が非常に重要になります。
アノテーションのデータがそのままAIの入力データとなります。教科書がまちがっていたら、学習するほうもまちがえてしまうように、教科書となるアノテーションされたデータも高い品質が求められます。なので、我々は教科書自体の質を担保するために、アノテーションの作業者ごとの正解率などのマネージメントも行っています。 正解率が低いのであれば、データを破棄することもできますし、その方々を教育するというプロセスに回すこともできます。
−データ作りがまさにキモであると。
菊池:そうですね、データ作りは本当にキモになります。ここのプロセスは絶対に外すことはできません。 最終的には人間がチェックしています。将来的には、データを自動的に作成するところまでいく可能性もありますが、現状では、人間が細かくチェックしていって、ちゃんと正確なデータをAIに覚えさせる必要があります。
製造業へのアプローチ
−小売流通業以外の応用例はありますでしょうか?
菊池:小売流通業に留まらず、製造業やインフラ業、物流業など応用先は様々で、事例としてもあらゆる業界で使っていただいています。 また、データの種類としては、動画や画像を扱うケースが多く、全体の8割くらいが、動画・画像の解析になります。
弊社は、どちらかといえば、リアルな世界をターゲットにサービス提供していました。 中でも、製造業では、故障予知や異常品の検品作業の自動化の引き合いが非常に多いです。たとえば、異常品検知を行う場合には、異常品の画像データをいただき、アノテーションツールを使って、お客様に画像に意味づけしていただきます。
異常品は熟練者でなければ判別が難しいことが多いためです。具体的には、特定のパーツのどこに、傷が写っているとか、影が映っているといったことを1つ1つラベル付けする作業していただきます。
こうして、異常品のデータを貯めていきます。そして、蓄積したデータをもとにしてモデルを開発し、運用に回していきます。
学習したモデルはWeb APIを経由して、つまりクラウド上で実行することができるほか、外部からも参照することができます。
また、作ったモデルを他のエッジIoTと呼ばれるものに転送することもできます。 転送先のほうでリアルタイムに、異常品を検知するには、ビデオカメラなどのIoTデバイスと接続し、撮影した画像をエッジIoTデバイス側で処理することで、よりリアルタイムに判別が可能になります。
−世間一般のAIへの意識や期待と御社の実際の業務とで、ギャップのようなものは存在するでしょうか?
菊池:ありますね、そして、だいぶ苦労します。
我々がモデル開発も行う場合の対応ですが、現状、多くの企業が「AIを導入すること」が目的になってしまっているケースが多いので、我々はまず、解決すべき課題特定から地道にプロセスを踏んで提案しています。 課題を特定し、その課題がAIを活用することが、解決のための最短の方法であるケースに絞って対応をしています。
また、AIのモデル開発といっても様々なアプローチの方法があり、試行錯誤することになります。 先ほどの製造業の異常検知の事例では、単純にアノテーションをして、データを貯めていきましょうという方法もあります。 世間の一般的なトレンドから考えれば、半々のデータでやる教師学習のほうが精度を出しやすいです。
ところが、異常なデータというのは、そもそも異常の発生率がかなり低いので、異常を発生させてデータを集めるために時間がかかってしまいます。そうなるとモデル開発が遅れてしまいます。
開発を遅らせないためにも、異常品データを集めるという前段階の工数を短縮するための、アルゴリズムを検討するなどのトライも行っています。例えば、正常なデータはものすごく多い、異常なデータ少ないという状態状態においても、精度のでる仕組みの研究・開発を進めています。
実運用として、ビジネスに使える状態にするために、まだまだ我々の努力できるポイントは多いと考えています。
−実際の開発やサポート体制はどのようになっているのでしょうか?
石川:進め方は事業によって異なる部分もありますが、大きく開発体制は3つあります。小売流通業界向けの「ABEJA Insight for Retail」事業部とAI開発運用基盤「ABEJA Platform」事業部、またDL関連の研究開発をするLabです。 ただ役割上3つに分かれつつも、お互いに協力しあっています。
例えば、ABEJA Platform事業部としては、リサーチャーの人間や、データサイエンティストやエンジニアの人間が使いやすいようにやっていきたいので、Labのメンバーに意見を聞いたりしながら開発をしています。私たちABEJA Platform事業部の開発メンバーはAI(ML/DL)を開発運用するための基盤を、日々開発しています。
あとは、ABEJA Platformをいかに事業に活かすかというところで事例であったり、ドメインとする業界にどう当てはめるかといったことをビジネスメンバーにも聞き取りを行っています。具体的な開発では、現在は最大10人くらいのチームで関わっています。 コアでやっているのは5、6人です。クォータごとの目標や今回、ここに注力したいといったテーマを決めて、そこから落としていったタスクをカンバン方式で管理しています。
そして、次にやるべきことや修正などを決めていきます。誰が何を担当するということは明確には決まっていません。全員が、ほとんどのことに関われるようになっています。そして、詳しい人もいますので、わからないことがあれば、詳しい人に聞くという形で進めています。
−AIエンジニアと一般のエンジニアの違いはありますでしょうか?
石川:だいぶ違うと思います。
たとえば、ABEJA Platform事業部ですと、Webエンジニアであったり、インフラ系の基盤開発・運用をやっていた人が多いです。完全にMLやDLをやっていましたという人は比較的少ないです。MLやDL分野を専門にする、いわゆるAIエンジニアは、Labや実際に自分たちがモデルを開発しているABEJA Insight for Retail事業部などに多いです。
ABEJA Platform事業部の私たちは、間接的に支援をするほうですので、インフラを構築することに長けている人が多いです。で、両者の何が違うかというと、開発の方法から多くのことが違います。Web業界は、けっこう歴史が長いです。私が始めた10、20年前ですと、HTMLやJavaScriptを覚えたといった状況で、今のMLをやっている環境と同じようなものでした。
特に方法論も確立しておらず、コードの管理をどうするかといわればZIPで固めてという状況でした。
そこから、段々、ソースコードの管理をしようといったことになり、チームが5人、10人と増えていったときに、どうやって効率良く動かすかといった方法論が提唱され始めました。あとは、日本であれば、トヨタ方式があり、効率化していきました。 Web業界であるとか、その前身のパッケージSIerでは、方法論など規律がしっかりしている人が多かったです。
私たちもコードレビューを通したうえで、ある程度役割を分担して、プロセスを回していこうとか、リリースをこうやってサイクル回そうねといったことは身に付いています。一方、AI(ML/DL)の業界は新しいので、 DevOps的な感覚が不足していることは感じています。
全然、悪い意味ではなく、むしろどんどん発展している業界でもあります。発展の度合いに比べて、現場の整理がついていない面があります。そのあたりを解決したいので、ABEJA Platformを作っています。AI(ML/DL)でもDevOps的な発想を入れていかないと、個人の属人的な要素が増して、情報がAI(ML/DL)業界全体に共有されていきません。 そんな理由もあり、ABEJA Platformを作っているという部分もあります。
菊池:AIエンジニアは、一般的に幅広く捉えられていると思います。もうちょっと分解していくと、データをうまく整形していくエンジニアもいれば、何かしら予測モデルを作っていくエンジニアもいます。さらに、最先端の手法をリサーチしていくエンジニアもいます。共通しているのは、データに向き合う点です。
データから、何か新しい価値を見出そうとする共通目標は変わらないと思います。ビッグデータをうまく解析して、有意な情報をみつけていくあたりです。
こういったプロセスを自分でうまくPDCAを回せるような方々が、AIエンジニアとして活躍しています。それ以外のエンジニアの方々は、データに対する価値よりも、システムをいかに安定的に動かすかが目標です。向き合っている対象がデータなのかシステムなのかといった違いがあるかと思います。
データやモデルの所有権をめぐって
−御社の製品を利用するにあたって、制限や注意点といったものはありますでしょうか?
菊池:今、私たちのモデルをWeb APIで提供するにあたり、お客様ごとに認証キーを発行しています。ある意味、プライベートな状態としてモデルを提供しています。今後の戦略として、まったく異なる提供方法として、パブリックな環境でモデルを公開し、パブリックに利用していただく形態も検討しています。
しかし、現状は、お客様に特化したモデルを作り、提供するケースが大半です。利用としては、すごく制限の強い状態となっています。
そのときに考えなければいけないのは、データの所有権の問題です。説明が難しいのですが、ABEJA Platformを使っていただく場合、いくつか制限を課しています。もちろん契約の段階でいろいろと調整はさせていただいていますが、我々の基本スタンスとしては、日本の著作権法上の解釈に従って、生のデータに関してはお客様のもの、また作成したモデルやモデルを作成する際に加工されたデータは弊社に帰属するようになっています。
しかし、それがお客様の視点からでは、契約のネックになってしまうこともあります。中には、すべてのデータやモデルも自社の所有権を主張される場合もあります。そうなってしまうと、我々のビジネスの幅がシュリンクしてしまいます。 そのため、基本スタンスとして、まずは、お客様に上述の内容をお伝えしてはいます。そこからお互いに交渉を重ねていっています。
我々も何かしら販売していますし、お客様自身も自分たちが作ったモデルをSaaS型のパッケージとして、横展開していくといった利用方法もあります。
もし、お客様側が、そういった考えを持たれているのであれば、共同所有という形態を提案させていただいています。すべてをお客様のもとに帰属させるというのは、難しい面があります。そこで、共同所有という形態でどこまで調整できるかが課題となります。
このあたりは、国としても、ガイドラインを策定している最中で、実際の現状に追い付いていないという状況も多々あるかと思います。国としてもどのように訴えていくか、かなりあいまいな状況です。
−予想もしなかったような使われ方はありましたでしょうか?
石川:あまりおもしろくなく、あとでカットになるかもしれませんが(笑)、あります。古い体質の会社さんで使われた事例になります。いまでもセキュリティ上、インターネット接続禁止といった対応をしている会社があります。
こちらの会社でも、ネットワークの使用はかなり制限があり、共有フォルダなどがありませんでした。しかし、弊社のプラットフォームを使うことになったので、一般的なネットワーク環境を整えました。
そこで、本来はAIを学習するためのデータを上げるところに、ドキュメント類をアップするようになりました。具体的には、マニュアルの管理やアノテーションの方法などのドキュメント管理をしていました。つまり、データストレージとして、使っていたんですね。ある意味、予想外でした(笑)。
−プラットフォームの普及やパブリック化で、そういった期待も少なからず存在するのではないでしょうか。
石川:はい、どこまでカバーするかが問題になると思います。
できるだけ使われる方が楽になるようにしたいです。たとえば、APIで公開するといっても、現状、APIをデプロイして、サーバーを管理して運用していかなければなりません。
資産としても、割と手間がかかります。そのあたりをちゃんと肩代わりしていくようにしています。少なくとも、そこで困っているお客様は助かると思います。
今後について
−今後、どのようなユーザー層に利用してもらいたいでしょうか?
菊池:今後のAIのプラットフォーマーとしてのABEJA Platformの立ち位置ですが、プラットフォーマーであるからにはスケールビジネスを描きたいと考えています。世間には、スケールビジネスを描くための我々の武器となるようなものを持っているお客様がいます。直近の戦略としては、パートナーシップを強めていこうとしています。
パートナーシップといっても様々あります。たとえば、SIer企業のAI部門があって、我々のABEJA Platformを自身で使っていただいて、作ったAIのモデルをエンドカスタマーに届けることもあります。
また、ABEJA Platformは、社内でのみ使うものではなくパブリックにも公開しています。お客様自身やパートナー企業の方々が、自分たちで直接我々のプラットフォームを使えたら、先ほどの5つのプロセスを自社でぐるぐる回して、自身の産業にAIを実装させることが可能になります。
そして、いかにABEJA Platformを活用して、ビジネスを創出し、パッケージ化したモデルをエンドカスタマーに拡販させ、お客様のビジネスを加速させることができるかが、我々のポイントになります。
我々1社60人の小さな規模で、必死で拡販していっても厳しいものがありますので、パートナーシップを組むのであれば、エンドカスタマーをたくさん抱えておられる方と手を組みたいと思っています。短期的には、そこが目標になります。
今後、AIのモデルもパッケージングが進んでいき、SaaS型モデルで可能な一覧ができつつあります。一覧があることで、うまく説明ができるようになり、販売でレバリッジが効くような状況が多くなると思います。 そういった状況を一早く作りたいです。そのためのパートナーシップを強固なものにしていくといったことを取り組みとして考えています。
−他には、どういったことを考えておられますでしょうか。
菊池:当然、事業を行っている会社ですので、短期的にはキャッシュを重ねていかないといけません。しかし、そもそもABEJAのプロダクト思想は、長期的なところに視点があたっています。3年から5年くらいで、うまくキャッシュができるような仕組みを目指しています。
先ほどの製造業における異常品検知の例ですが、現状、汎用型のAIモデルの提供はできていません。現場では、異常を対象とするデータが異なる、異常の定義自体も異なります。さらに運用構成自体も違ってきますので、それぞれの問題に対して個別のAIモデルを作っていかなければなりません。
となると、人が張り付いていく必要があります。まだまだ、人月ビジネスから抜けきれません。ただ、私の考え方としては、3年から5年かかったとしても、製造業のなかの個別モデルを、もう少し汎用的なモデルとして作ることができるかと思っています。
そのためには、今からも製造業のお客様に張り付いていく必要があります。異常品の検知を自動化したいというニーズを考えるためにも、汎用的な仕組みを作っていくプロセスが必要と思います。また、お客様が実際にやりたいことは、今は、異常品の検知に焦点が当たっていますが、そこだけがポイントではないと思っています。
異常品の検知をひたすらやり続けていくと、新しいパーツができたときに、どうやって学習させるのかという問題が発生します。サッカーに例えますと、ゴールキーパーがひたすらきわどいシュートを必死になって防いでいるような状況です。優れたゴールキーパーでもいつかは疲弊し、ゴールを許してしまうでしょう。最終ラインでゴールキーパーだけが防いでいては勝てません。ディフェンダーやミッドフィルダーも含め、もっと前で守備をすればよいのです。
これを製造業のプロセスで考えてみます。最終的に異常品が発生するということは、必ず前段階で問題が発生しているはずです。その問題が発生している原因を突き止めていく、もしくは、問題が発生していること自体を検知し、そこをうまくアジェスト(微調整)していく仕組みを作る必要があると思います。
普段と違う状態、何かしら異常が発生しているから、異常品が発生しているのです。ですので、普段とは違う状態を検知する仕組みを作り、異常であるプロセスがわかった段階で、前段階にフィードバックを与える仕組みを作る必要があると思います。
そうしない限り、一生、異常品の検知を行い、よいプロセスとして回っていかないと思います。
短期的には、異常品の検知を個別モデルとしてやっています。しかし、我々のツールの可能性はそこではありません。運用しているプロセス全体の最適化を考えたときに、問題が発生しているポイントに対しても取り組むべきだと考えています。そして、フィードバックを与えて、問題が発生しないような状況として、プロセスが回るようにすれば、まさにオートメーション化といえるでしょう。
こういった領域にトライしていくことこそ、長期的にみれば、ABEJAのレバレッジポイントになると思います。短期的には、人が張り付いていかなければならないビジネスだとしても、長期的にはもっとスケールが効くようなところを、今、目指しています。
石川:プラットフォームをやるからには、その上でビジネスになるものをやりたいと考えています。今はまだ提供をはじめたばかりですが、ABEJA Platformを中心としたエコシステムもきちんと広げていきたいです。デベロッパーの方々もそうですし、さらにその上でビジネスができるようにしたいです。
私自身が、もともと前職でプラットフォームを作っていました。そこで、いろいろな人がビジネスを創出し、お金を稼いでいました。自身の会社も儲かり、みんなが幸せになれるのが、プラットフォームかなと思います。ABEJA Platformも、そのようなエコシステムに育てていきたいです。
同じようなAIプラットフォームも今後も出てくると思いますが、それはおそらく「AIのシステムが作れます」とは言っても、ビジネスを意識したモノではなく、自分たちでがんばってくださいねという状況だと思います。
我々は、年数はかかるかもしれませんが、プラットフォームをやるからには、スケールメリットを活かして、ABEJA Platform上で、お客様のビジネスもちゃんと加速できるものにしていきたいです。