なぜ、ほとんどの企業のAI投資は失敗に終わるのか

2021-09-15

最近の人工知能(AI)の広まりを受け、企業の幹部は、AIがビジネスを根本から変える可能性があると考えるようになりました(PwCの2019年のCEO意識調査では、85%のCEOがそのように回答しています)。バックオフィスのプロセスの自動化から顧客満足度の向上まで、企業がAIの活用を検討できる分野は至るところにあります。コロナ禍の現在、従来のビジネスやオペレーション業務が継続できなくなったことの穴埋めとして、AIテクノロジーの採用が進められています。

企業がAIテクノロジーの導入に熱心な姿勢を示しているにもかかわらず、PwCが支援しているカーネギーメロン大学のDigital Transformation and Innovation Center(デジタル変革・革新センター)と共同で実施したAnalytics Maturity Model(アナリティクス成熟度モデル/AMM)調査によると、対象企業の76%は、AIに投資してもほとんど採算が取れていないという状況が判明しました。また、AIへの取り組みを全社的に導入している企業はわずか6%でした。

これほどAIが盛り上がっている中で、なぜ多くの企業のAIへの投資は失敗に終わるのでしょうか。

現実的には、多くの企業が考えている、あるいは準備しているより、AIの本格活用ははるかに難しいのです。AIに期待通りの価値を発揮させるには、これまでとはやり方を変えてスピーディーに対応する必要があります。

AIモデルは従来のソフトウェアではない

企業はAIの動的な性質を考慮せず、既存のスキルセットを有する人材や従来のソフトウェア開発向けのプロセスに依存しています。多くの企業は、これまでとは異なるアプローチでの努力と投資をしなければリターンを得られないでしょう。また、AIを効果的に監視するためのガバナンス構造を整備する必要もあります。

AIは、一連の規則によって明示的にプログラムされるのではなく、与えられたデータに基づいて学習するという帰納的推論を行います。これにより、AIアプリケーションはより複雑な決定ができますが、一方で決定論的に設計されたシステムを複雑なものにしてしまいます。AIが導くのは「確率」であって、「確実性」ではありません。加えて、全てのシステムがそういったAIの性質を取り扱えるように設定されているわけではないのです。

AIにフィットしたアジャイルアプローチを適用する

企業が犯しがちなミスは、ソフトウェア開発に適したアジャイルアプローチを使ってAIモデルを作成・展開してしまうことです。こうしたアプローチでは迅速かつ独立した形で開発に取り組めるよう、大規模なプロジェクトを小さなコンポーネントに分割し、建物をフロアごとに建設していくように反復的かつ安定したリリースを行います。

しかしAIは、建物というより科学実験に近いものです。実験主導型で、独立したコンポーネントから構築するだけでなく、データ処理からモデル開発、最終的にはモニタリングまで、モデル開発のライフサイクル全体を繰り返す必要があります。これらのプロセスは互いにフィードバックし合うので、モデルが完全に「完成」することはありません。

図 インタラクティブ(反復的)モデル開発

したがって、チームがAIの構築・展開を成功させるためには、アジャイル開発の厳格なプロセスを、AI開発に合う適切な形に調整することが求められます。スクラムマスターや、その他のアジャイルのスペシャリストは、AIとソフトウェアの違いを理解し、AI開発という名の「実験」に必要な反復プロセスを確立するためのトレーニングを受けなければなりません。

適切な人材の獲得

AIに専門的なスキルセットが必要であることは周知の事実で、データサイエンティストはどの企業でも引く手あまたの人材となっています。しかし、AIを活用するために必要なのは、モデルを構築するデータサイエンティストや機能要件を管理するプロダクトオーナーだけではありません。

AIを再利用可能かつ安定したプロセスに拡張し、事業で信頼できるものにする「機械学習エンジニア」という新たな役割の重要性が高まってきています。機械学習エンジニアは展開後のモデルのパフォーマンスを管理する専門技術者として、運用の持続的安定性と継続性に最終的な責任を負うモデル運用(MLOps)のプロフェッショナルです。

戦略から計画、エコシステム、開発、導入、運用とモニタリングにわたるAIのライフサイクルでは、データ、AI、周辺ソフトウェアが、ライフサイクル全体を通して統合されていなければなりません。このため、モデルを構築するデータサイエンティストや機能要件を管理するプロダクトオーナーに加えて、上記の役割を担う人材として機械学習エンジニアが必要になります。このような新しいスキルを持つ人材が、一貫して高性能なAIアプリケーションを提供するには、縦割りではなく幅広く協力して業務に取り組むべきでしょう。

大がかりな投資に思えるかもしれませんが、上記3つの必要な職種で適切な人材を雇ったり、有能な従業員をスキルアップして育成し、新たな役割を担わせたりすることは、AIの活用を成功させるためのベストプラクティスの1つです。

技術的コストの見積り不足

AIの主なコスト要因と言うと、単にデータサイエンスの博士号取得者を雇用するのに高額な費用がかかることだと多くの人が考えてしまいます。その結果、モデルの構築とスケールアップに必要になるデータ、インフラ、テクノロジーのコストと要件の見込みが甘くなるケースがよく見られます。

AIに学習をさせるには、大量のラベル付きデータが必要です。データは解決しようとしている問題を代表するものであると同時に、予想されるさまざまな複雑性を含んでいなければなりません。例えば、請求書処理の自動化の場合には、過去にラベルを付けた請求書サンプルが数多く必要になるだけでなく、未知のタイプの請求書についても効果的に予測できるモデルになるよう、サンプルデータの多様性も十分に確保しなければなりません。

データ以外の面でも、AIアプリケーションの構築と実行では(特に大量のデータで学習した複雑なモデルでは)しばしば多大な計算リソースが必要になる場合があります。企業は、構築または展開するアプリケーションのビジネスバリューを正確に見積もるためには、こうした計算リソースにかかるテクノロジーコストを前もって考慮しなければなりません。多くの組織は利益を創出する前にコストが増加し続けるのを容認するわけにいかず、AI活用による利益の創出まで待てずにAI活用推進のイニシアチブを中止しています。

AIの開発・構築と、他の領域でのケイパビリティ構築のどちらがビジネスにとって理にかなっているかを評価するには、AIアプリケーションのビジネスバリューと、効果的な実装に必要となるコストを正確に見積もる必要があります。

求められる「責任あるAI(Responsible AI)」の実現

AIを開発し、活用し始めたからといって、やるべきことがすべて終わったわけではありません。AIの開発後、時間の経過につれてAIモデルがどのように動作するかをモニタリングするメカニズムと、環境の予期せぬ変化に適応できるようモデルを更新するためのメンテナンスプロセスの整備が必要です。

私たちが暮らす世界は静的ではありませんが、変化があっても、AIは自身で調整することができません。例えば、テクノロジー企業が自社の製品に関する情報を消費者に提供するためのチャットボットについて考えてみましょう。その会社が新製品をリリースしても、AIは必ずしも、その製品の内容、機能、顧客へのサポートが求められる場面について知っているとは限りません。チャットボットが新製品のリリースに対応するにはアップデートが必要です。AIのパフォーマンスを継続的にモニタリングすることで、専門チームは必要に応じてAIを維持・更新できます。維持・更新には、AIソリューションが当初のビジネスバリューを実現できなくなった場合、減価償却の判断を下すことも含まれるでしょう。

企業は、モデルを効果的にモニタリングするだけではなく、堅牢(ロバスト)なガバナンスモデルを開発し、モデルが責任あるAIとしての役割を果たし、企業の価値観と一致する形で開発されているかを確認しなければなりません。

ただし、PwCの初期調査によると、AIを活用している企業は競合他社よりも平均で50%も速く収益を伸ばしており、こうした投資は採算が取れていると言えます。

あなたの企業は、AIを活用する準備はできていますか? AI活用への投資価値を高める方法をぜひ見つけましょう。


※このコラムはHarvard Business Reviewに掲載されたPwCのスポンサードコンテンツ(英語)を翻訳したものです。

執筆者

藤川 琢哉

パートナー, PwCコンサルティング合同会社

Email

坂東 航

シニアアソシエイト, PwCコンサルティング合同会社

Email

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}

{{filterContent.facetedTitle}}

{{contentList.dataService.numberHits}} {{contentList.dataService.numberHits == 1 ? 'result' : 'results'}}
{{contentList.loadingText}}