最新MLOps(機械学習基盤)とベストプラクティスの実践とは ――Yamato DX Night #3レポート
アーカイブ動画
登壇者プロフィール
DataRobot Japan CEO 柴田 暁氏
ヤマトホールディングス株式会社
執行役員 データ戦略担当 中林 紀彦氏
モデル作成はしていても本番運用されていないのが現状
最初に登壇したのは、DataRobot Japan CEOの柴田暁氏だ。同社が開発するプラットフォームを導入している企業は、エンタープライズ企業を中心にグローバルで1000社以上。ヤマトホールディングスなどの物流のほか、金融、小売、製造などあらゆる企業のAI活用をサポートしている。そんな柴田氏は、参加者に次のような問いを投げかけた。
「これまでに作成した機械学習モデルの数ならびに、作成したモデルが実際にビジネスで運用されている数を教えてください」
回答は以下の通り、作成経験においては1-10が最も多かったが、1001以上ものモデル作成経験を持つ参加者もいた。
一方、本番運用されている数になると、0が約7割を占めるまでに激減している。
機械学習モデルを安定稼働させるには様々な人が携わるため、いかに優秀なデータサイエンティストでも実際の運用ならびに継続は難しく、実現には「組織力」が必要だと柴田氏は回答結果について見解を示した。
「機械学習モデルが実際に本番運用されるまでには、大きく11のステップがあります。開発サイドが行うデータの準備やモデル作成においては、経験を積むことで慣れてきました。しかし問題なのは、後半のプロセス、デプロイした後の流れ、他のシステムとの連携や予測データの導入、検証といったビジネスサイドでの適用です。つまり、作成したモデルの本番運用を成功させるには、技術力だけでは足りないのです」
柴田氏は失敗事例も紹介した。一つは、構築したモデルをIT部署にデプロイしようと打診したところ、コストやスケジュールの関係から難しいと指摘され、そのまま時間の経過とともに頓挫した例だ。
もう一つは飲食店向けに在庫の調整が簡便になる需要予測モデルを作成し、UIまで作り現場サイドに提案した例である。そのような調整が行えてこそ一人前の人材だとの理由で、却下されたという。
また、現場サイドの課題だけでなく、開発側の問題も指摘した。
「私自身がデータサイエンティストだったのでよく分かるのですが、データサイエンティストの多くは、コードを書いたらそれで仕事が終わりだと思っています。しかし実際には作成したモデルをデプロイし、精度の再構築などを行いながら、言ってみればモデルを育てていく必要があります。つまり、そこまで考えられる人材の育成が必要なのです。」
そしてこのような機械学習プロジェクトの課題を解決するために、同社のプラットフォームが存在していると説明する。特にデプロイ後の運用管理では誰が新しいモデルに置き換えるのかなどの問題も生じるため、人よりもプラットフォームを使った方が簡単で効率的だと補足した。
柴田氏のビジョンは「作成された機械学習モデルすべてが本番運用される世界を実現したい」であり、実現のためにコミュニティを運営している。定期的にMLOpsに関するイベントを開催しており、当日は受講者への参加も促していたので紹介しておく。
データドリブン経営実現のためにMLOpsは重要
続いて登壇したヤマトホールディングスの中林紀彦氏は、ヤマトが掲げる「YAMATO Next100」がまさにその取り組みだと紹介した。
「宅急便が生まれたのは今から40年以上前の1976年です。当時は創業来第二のイノベーションと称され、その後は社会インフラとして成長。現在では年間約18億個もの荷物を運ぶまでに成長しました。
しかし、基本的なビジネスモデルは変わっていません。デジタル化が遅れているところもある。ハード面に関しても老朽化が進むなど、各種課題がありました。そこで新たな改革を行うことで体制を整備し、今後も社会インフラとしてあり続けることで、豊かな社会の実現に貢献したいと考えています。」
ヤマトは300人規模の新たなデジタル組織「YDX(Yamato Digital Transformation Project)」を構築し、実現を目指している。ヤマトグループとしての基本戦略は大きく3つある。「CX(再編)」「DX(転換)」「イノベーション(進化)」だ。
具体的には組織の再編、属人的な経験に依存した経営からデータに基づいたデジタル経営への転換。これまでの内製化方針から協力会社や外部の見識者と協業することにより、エコシステムの確立を目指す進化である。
実際、中林氏がヤマトホールディングスにジョインしたのは2019年の8月であり、入社後は自身の人脈も活用し外部のさまざまな有識者の協力も得ながらプロジェクトを展開している。
ヤマトグループ全体として、これらを実現するための取り組みは大きく2つの領域に分かれる。「事業構造改革」「基盤構造改革」だ。前者では「宅急便のデジタルシフト」「ECエコシステムの確立」「法人向け物流事業の強化」をそれぞれ進める。
宅急便のデジタルシフトでは徹底したデータ分析を行い、AIを活用する。その結果、オペレーション全体の最適化・標準化・コスト削減を実現する。ECエコシステムの確立では、昨今隆盛しているEC事業者に対し新たなサービスを提供する。事業者、利用者、配送事業者と関係者をリアルタイムデジタルデータで結ぶことで、購入から受け取りまでのEC事業のフローすべてにおいて、安全性や利便性をアップ。ECの持続的な成長に寄与していく。
「具体的には『EASY』というサービスになり、すでに運用を開始しています。これまでは自宅もしくは事業所でしか荷物を受け取れなかったのが、車庫や自転車のかご、物置、さらには仕事場近くのお店などさまざまな場所で、今よりもジャストなタイミングで受け取ることができます」
法人向け物流事業の強化では、これまで各部署が個別に行っていた法人顧客への対応を、組織を刷新することで水平連携するように変更。その結果、顧客にはより充実したサービスを提供することが可能になる。
一方、基盤構造改革で行っている施策のひとつ「データドリブン経営への転換」が、まさに本イベントのテーマに該当する。過去数年分の荷量データをもとに、機械学習で回帰モデルを作成。モデルにより数カ月先まで荷量を予測。その予測から、最適な人員や配車を実現する取り組みだ。
「独自で評価関数を作るなど、まさに今取り組んでいる最中です。そして実行するためにはデータ分析サイドとサービスサイドの連携、つまりMLOpsが重要だと捉えており、柴田さんの会社のDataRobotを導入し、進めています」
【パネルディスカッション】MLOpsは持続性が最も重要
ここから「MLOpsとは」「ビジネス・データサイエンス・ITサイドの役割分担は」「具体的にどう実装すればいいのか」といった3つの主要テーマで、2人によるパネルディスカッションが行われた。
柴田:MLOpsとは、機械学習モデルを動かし続けるためのライフサイクル、その管理技術を指します。以前はモデルのデプロイだけでしたが、現在は範囲が広がり、データの前処理や各種自動化なども含まれます。
中林:おっしゃる通りだと思います。たとえば試行錯誤しながら特徴量を作り出す作業や、運用における作業もありますからね。
柴田:開発フローで試行錯誤している段階は、まだMLOpsのタイミングではないと思います。使えるモデルが作られ、まさに御社がそうですが、実際に稼働しているシステムにモデルを実装する。そのタイミングが、MLOpsの始まりだと捉えています。
中林:データは当然アップデートされていきます。精度を保つためにはその新しいデータに即したモデルが必要ですが、その再学習のタイミングをはかるのも重要です。
柴田:精度の向上は一度ではなく何度も行う必要がありますから、MLOpsにおいてはこの継続性は、最も重要だと思っています。
中林:モデルの再構築を人力で何度も行っていてはコストがかかりますから、やはりそこは自動で行いたいですよね。
柴田:システム運用を特定の人物に任せていたために、デプロイ後トラブルがあり止まってしまったが、誰も原因が分からない。このようなケースがありますが、ミッションクリティカルな世界ではありえない話です。 ですからこれまでのPOC的な機械学習からサービスレベルを上げて、システム化する。システム化しないとしても、属人的ではない運用を整備することが重要です。
中林:データサイエンスが得意な人がコードを書くと、どうしても属人的になりがちですからね。
柴田:まさにデータサイエンティストとエンジニアの違いですが、この点こそがMLOpsにおけるひとつの論点であると私は考えています。先ほども話しましたが、サイエンティストは新しい発見など、一度仕事が達成されると終わりだと考えがちですが、エンジニアリングは動き続けることが重要だからです。
中林:作成したモデルのリエンジニアリングも含め、ずっと運用し続けること。そのためにはエラーハンドリングなども含め、試行錯誤することが重要です。
プロジェクトマネジャーを中心にメンバーが一緒に考えることが重要
中林:さらにIT側のメンバーと、MLOpsではさまざまな役割のメンバーが関わってきますから、それぞれが役割を明確にしながらも、ひとつのプロジェクトとして回していく必要があります。
柴田:データサイエンティストとビジネスメンバーが意見交換をする必要もありますから、その橋渡しを行う、上の立場の人も必要です。まさに中林さんはそのようなお立場だと思うのですが、意識されていることはありますか。
中林:プロジェクトを円滑に進めるには、ビジネスサイドとデータサイエンティストがコラボレーションしながらプロジェクトを進めていく必要があります。モデルをIT側に渡してランニングした後、精度が落ちたときにITサイドだけでは対応できず、データサイエンティストが介入する必要があったりするからです。
柴田:ビジネスサイドの課題を、どのようなかたちでデータサイエンティストの問題として展開していくか。逆の言い方をすれば、データサイエンティストはどのような課題を解くべきなのかをビジネスサイドと一緒になって考える。ただ目の前の数式を解いていればいい、というわけではない。橋渡し的な業務は、機械学習モデルのプロジェクトでは必須です。
中林:ですから機械学習モデルプロジェクトのマネジメントは、一般的なITプロジェクトと比べると、育成も含めかなり難しいと考えています。
柴田:人が関わってくると期待値の問題も生じますよね。よく見られるのが、ビジネスサイドの期待というか誤解です。機械学習は当たり外れがあるのが前提ですが、そのことを理解していない、完璧を求めてくるメンバーの存在です。
中林:精度ありきではなく、機械学習モデルを実装することで、現状よりも業務の効率などが少しでもよくなる。このことをビジネスサイドも理解することが重要です。
柴田:いま話し合っている課題は、MLOpsが浸透し、両者が交わることで鮮明になってきたものでもあると思います。そのため最近はIT側のメンバーがMLOpsの教育を受ける機会が増えていますし、最近の旬なテーマかと。御社においてはどうですか。
中林:行っていますよ。ただいきなりレベルの高い内容だと負担が大きいですから、ExcelやBIツールをフックに学習に着手してもらい、慣れてきたり、データを扱うセンスがあると感じた人には、より高度なレベルの機械学習を教える体制を整備しています。
データサイエンティスト以外の人材が活躍していく
中林:具体的にMLOpsはどう実装すればいいのか。DataRobotを例に紹介していただけますか。
柴田:前段階として、DataRobotではモデル開発もサポートしていますので、こちらのフローで最適なモデルを作成します。具体的には予測値と実測値をグラフで表し、その差分が少ないようなモデルを作成していきます。 そうして作成したモデルをデプロイするわけですが、この工程はあっけないほど簡単です。ボタンをひと押しするだけだからです。デプロイ後は監視・運用フェーズに進み、継続的に稼働しているかどうか、対応時間や精度などを監視することができます。
中林:本当にあっさりしていますよね。DataRobotのプラットフォームがない場合には、Pythonでソースコードを書いたりAPIを作ったりと、まさに人力による作業が必要でしたからね。 柴田:デプロイはあっさりしていますが、やはり人の手による作業も必要です。たとえばまさにヤマトさんのように現在稼働しているシステムに連携する場合や、新しいシステムを構築した場合の最初の繋ぎは、人の手で行う必要があるからです。
中林:いま話していて思ったのですが、現段階では既存の仕組みにMLOpsを組み込んでいますが、この作業はなかなか大変です。システムに組み込むのか、それともAPI連携にするのかといった課題があるからです。そのため今後は、そもそも機械学習ならびにMLOpsを組み込むことを事前に想定しておけば、かなりの効率化になるのではないかと。
柴田:AI、MLOpsまわりはまだまだ新しい領域ですから、実ビジネスで利用した際に課題が出てくるのは当然ですし、実際、多々あります。しかしその課題を解決するのが、やりがいでもあります。詳しい人はいますが、正解がないフェーズとも言えるでしょう。チャレンジングなマインドを持っている人には、とても魅力ある世界だと思いますよ。
中林:それはデータサイエンティストに限らず、インフラエンジニアやビジネスサイドの人材にも当てはまると。
柴田:これまでAIというとデータサイエンティストがモデルを作るのが中心でしたが、これからのフェーズではエンジニアやITサイドの人たちも輝くフィールドになっていくと私は考えています。
オンラインイベント参加者の質問に答える「Q&A」
Q.MLOpsのプラットフォームを使えば、データ入力だけでAIが自動的に学習・推論・分析を行ってくれるのか。
柴田:ノーでもあり、イエスでもあります。というのも最初の段階、どのデータを使うのか、前処理はどうするのかといったフローでは、人が試行錯誤を繰り返す必要があるからです。一方で同プロセス以降は、データを入力するだけ自動的に動くのでイエスです。
中林:柴田さん的にはDataRobotを使えば全部できる、と回答したいのではありせんか(笑)。
柴田:確かに、とりあえずやってくれるという意味では全部できるとも言えます。ただ精度を高めようと思ったらデータの入れ替えが発生しますし、特徴量の作成は現場のことをよく知る人の知見が必要です。 今後、MLOpsのプラットフォームの広まりにより、少しずつ人が介在する領域は減っていくでしょう。しかし、最初のプロセスから人はいなくならないと思います。
Q.紹介したMLOpsのアーキテクチャ(DataRobot)は、需要予測、スマホアプリにおけるユーザの動向調査、ECサイトの市場動向調査など、多様な目的に使えるか。また修正の有無はどうか。
柴田:機械学習が解ける問題の種類に課題をマッピングする必要がありますが、機械学習化されたモデルをデプロイする上では、どの目的に対してもDataRobotは使えます。
中林:MLOps環境の大きなフレームとしては変わりません。それぞれでアーキテクチャ的に大きなサイエンスを作る必要はありません。
Q.継続費用が発生する○○Opsを顧客は嫌がる傾向にあるのでは。
中林:Pythonのコードを書く方が、コストがかかると思います。
柴田:そもそも機械学習モデルの運用は、コストがかかるもの。ましてや止まらない、継続性の高いシステムを作るのですからコストではなく、より簡便にAIをビジネスに活用できることがポイントだと思います。
Q.これまでスクラッチ開発でMLOpsらしい仕組みを構築していた企業が、DataRobotのような共通プラットフォームを使うようになるか。またAmazonなどの企業が同様のプラットフォームを提供していくのか。
柴田:どちらもイエスです。先に紹介したように、私が目指しているのはすべてのモデルが本番運用される世界だからです。実際、オープンソースのフレームワークなども出てきていますから、次々と新しいプラットフォームが登場するでしょう。
中林:私もイエスだと思います。機械学習モデルをビジネスで使うのが一般化していくからです。ですからこの先はいかにしてAIを使いこなすかが、ポイントだと思います。実際Azureではすでに提供されていますし、他のクラウドベンダーもこれから確実に発表してくるでしょう。
Q. DataRobotのMLOpsはDataRobot以外で作られたモデルも管理可能か。
柴田:可能です。
中林:汎用的なプラットフォームが必要。ヤマトホールディングスでもDataRobot以外のプラットフォームの導入も検討しています。
Q.実際、ヤマトでは開発と現場のギャップはあるか。また対応はどうか。
中林:現場の運用ルールが大事だと考えています。機械学習モデルを使うよりもこれまでの経験が勝っている人がいる一方で、経験が乏しい人は導入した方がいいからです。ビジネスサイドとしては結果がすべてです。人、AIとこだわることなく、人もMLOpsの一部と捉え、両者のハイブリッド的なオペレーションを目指しています。
Q.MLOpsで一番むずかしいことは?
中林:実際、DataRobot以外で行っている施策も多く、そちらの領域での自動化も進めるなど、先に説明したようにまだこれからの領域なので問題は多々あります。
柴田:一番むずかしいと思っているのは、倫理的な問題です。AIが出したモデルが本当に正しいのか。その是非は、人が決めるしかないからです。自動運転が事故を起こした際に誰が責任を取るのかとの問題と似ていると思います。