Built with BigQuery: Google Cloud と Snorkel AI を使用してデータ中心の AI 開発を加速
Google Cloud Japan Team
※この投稿は米国時間 2023 年 1 月 18 日に、Google Cloud blog に投稿されたものの抄訳です。
Deloitte が毎年実施している「State of AI in the Enterprise(グローバル AI 活用企業動向調査)」によると、ビジネス リーダーの 94% が、今後 5 年間の組織の成功には AI が不可欠だと回答しています。また、この調査では、AI 主導で有意義なビジネス成果をうまく出せていない組織が 29% 増えていることも明らかになっています。この問題の要因の一部は、組織全体で広く使われているさまざまな形式の既存データを活用する能力にあります。たとえば、企業の情報資産の最大 80% は、テキスト、PDF、メール、ウェブページのような非構造化形式で組織全体に分散しています。これには、契約書、患者のカルテ、チャットの記録、EHR / CRM のテキスト フィールドのメモといった形式で埋め込まれた貴重な分析情報も含まれます。ビジネス リーダーの中には、非構造化データの価値に気づいていない人や、活用方法をよく理解していない人がいるため、この豊富な非構造化データが活用されていないことが少なくありません。
課題: 非構造化データをより迅速に活用する必要性
さまざまな場所にあるさまざまなファイル形式のデータにアクセスし、そのデータを AI で使えるよう運用することは、一般的に手作業が多く、時間と費用のかかる面倒なプロセスです。機械学習(ML)モデルのトレーニングに適したデータセットを構築するため、ファイルに個別にラベルを付けることは、当然時間がかかります。また、人的ミスや不整合もデータ品質を低下させ、ML モデルのパフォーマンスに悪影響を与えることにつながります。
多くの場合、企業データの分析には、アナリスト、臨床医、弁護士など、特定分野の専門家の専門知識が必要です。金融サービスや医療など、規制の厳しい業界では、プライバシーに関する規制や基準、およびその他のアクセス制限があり、非構造化データを使用する際に生じる課題も相対的に大きくなります。
ソリューションのアプローチ
Snorkel AI は Google Cloud と連携して、構造化されていない元データを実用的な AI 活用モデルのトレーニングに使用できる形式に変換し、情報分析や意思決定に利用できるよう組織を支援します。BigQuery や Vertex AI などの Google Cloud サービスと、プログラムでデータのキュレーションと準備を行う Snorkel AI の Data-Centric(データ中心)の AI プラットフォームを組み合わせることにより、組織は AI 開発を 10~100 倍に加速できます[1]。BigQuery に保存されている非構造化データの価値を活用し、そのデータを ML トレーニングに使えるようにすることで、企業は AI モデルのトレーニングにあらゆる種類のデータを取り入れることができます。
ML トレーニング ワークロードの新たな準備方法を可能にする、Snorkel AI のデータ中心のアプローチ
Snorkel AI は、ML モデルの教師あり学習のデータ準備に必要とされる、手動でラベル付けした膨大な量のトレーニング データセット(AI 開発のためのデータを準備する際に大きな障害のひとつ)に対応しています。Snorkel AI は、新しいデータ中心 AI プラットフォームである Snorkel Flow に実装された、プログラムによるラベル付け手法を使うことで、このボトルネックを克服しています。
ビジネス ロジックを活用し、ラベル生成手段に基盤モデルを使用することにより、データ サイエンスチームと ML チームは、Snorkel Flow のラベル付け関数により、さまざまなソース(専門家のナレッジやヒューリスティックをエンコードする際に不適切にラベル付けされたデータセットも含む)を使用してプログラムによるデータのラベル付けを行うことができます。Snorkel Flow では、このような複数のデータソースやナレッジソースを活用して、大量の非構造化データに一括してラベル付けを行うことができます。
データ サイエンティストだけでなく、ML のライフサイクルに関わる ML エンジニアなどのユーザーも、Snorkel Flow を活用することにより、統合エラー分析やモデル誘導型フィードバック メカニズムを使用してトレーニング データの品質とモデルのパフォーマンスを迅速に向上させ、より精度の高い AI アプリケーションを開発することができます。
Snorkel Flow 内のデータ中心 AI ワークフローは、以下のように動作します。
データ サイエンティスト、ML エンジニア、対象分野の専門家が、ラベル付け関数を作成し、数分から数時間で大量のデータにプログラムでラベルを付けます。
ラベル付け関数を作成する際、Snorkel Flow により、プラットフォーム内でモデルのトレーニングに使用される、確率的なラベル付きデータセットが生成されます。
次に、データ サイエンティストは、ガイド付きエラー分析を使って、モデルのパフォーマンスが低い部分を分析します。その後、よりターゲットを絞った適切なラベル付けの割り当てを促進できるギャップを探します。言い換えると、データ サイエンティストとその他のユーザーは、モデルが特に間違っている場所や、特定の価値の高い例、一般的に識別できないデータクラスに対して、具体的に手を加えます。
次に、ユーザーは社内の専門家と協力して、これらのギャップに対する作業を繰り返します。必要に応じてラベル付け関数を改善、追加し、さらに多くのデータにラベルを付けて、再び分析用のモデルに読み込ませます。
ユーザーは、モデルをデプロイして本番環境のデータスライスをモニタリングした後も、これを繰り返します。
この繰り返しの結果、多くの場合、AI アプリケーションにおける指標の改善点は、モデル中心の AI と手作業でラベル付けしたデータの場合と比べて桁違いに多くなります。
ソリューションの詳細
Google Cloud に保存されたデータへの統合アクセス
プログラムでの非構造化データのラベル付けによってトレーニング データのキュレーションと準備の障害がなくなったため、データ サイエンティストは Google のエンドツーエンドの BigQuery ML や Vertex AI プラットフォームを最大限に活用し、分析や AI アプリケーションの開発を迅速に進められるようになりました。Google Cloud のユーザーは、Google Kubernetes Engine(GKE)を使って Snorkel Flow を Google Cloud インフラストラクチャに簡単にデプロイし、BigQuery や Google Cloud Storage(GCS)などの Google Cloud データサービスから非構造化、半構造化、構造化データを利用することができます。データソースと統合については、下の図をご覧ください。
BigQuery は、データドリブンな組織のニーズに対応するために構築された、サーバーレスで費用対効果に優れたクロスクラウド分析データ ウェアハウスです。BigQuery は、クラウド間のサイロを解消し、構造化、半構造化、非構造化のすべてのデータを単一の安全なリポジトリで一元管理できるようにします。BigQuery の非構造化データ管理サポートには、非構造化データを保護、管理、共有する機能が組み込まれています。


Snorkel Flow + Google Cloud BigQuery
Snorkel Flow プラットフォームは BigQuery とネイティブに統合し、AI 開発の効率化と簡素化を実現します。
データ サイエンティストは数回のクリックで、統合された BigQuery コネクタを使用して、関連データを即座に BigQuery から Snorkel Flow に直接取り込むことができます。
その後は、Snorkel Flow のデータ中心 AI ワークフローを使用し、データにプログラムでラベルを付け、複雑で高度に可変的なデータに対する高品質のトレーニング セットを迅速に生成できます。Snorkel Flow には、非構造化テキスト、ネイティブ PDF、豊富な書式付きドキュメント、HTML データ、会話テキストなどから情報を分類して抽出するテンプレートが用意されています。
新たにラベル付けされたデータセットは、カスタムの ML モデルのトレーニングや、事前に構築されたモデルの微調整に使用できます。
ラベル付けされたデータは、構造化データとして BigQuery 環境に読み込み直すことができます。


実社会へのインパクト
米国の大手銀行、医療機関、保険会社、およびその他の Fortune 500 企業は、Snorkel Flow を使用して、10-K 形式の年次報告書、臨床試験プロトコル、技術マニュアル、レントロール、法的契約書など、複雑なドキュメントから情報を抽出しています。たとえば、長年 Google Cloud を利用している Fortune 500 のある通信事業者は、Snorkel Flow を使用して、暗号化されたネットワーク データフローを主要なアプリケーション カテゴリに分類しています。この通信事業者は、Snorkel Flow の包括的なデータ探索ツールとエラー分析ツールを使用して、わずか数時間で 20 万個のラベルをトレーニングし、社内のグラウンド トゥルース基準値と比較して 25% 高い精度を実現しました。
Google と Snorkel AI は、Google の社内利用のための Snorkel 研究プロジェクトに共同で取り組んでいます。Google は Snorkel のコア テクノロジーの初期バージョンを利用して、コンテンツ、プロダクト、イベントの分類のためにデータのラベル付けに取り組みました。これは、ラベルのバリエーションの急増により手作業のラベル付けでは対応できなかったものです。Google は Snorkel を利用して、何千もの例の手作業でのラベル付けを含む 6 か月にわたるプロセスをわずか 30 分に凝縮し、コンテンツ分類モデルを構築して、平均 52% のパフォーマンス向上を実現しました [2, 3, 4]。
組み合わせればもっと便利: Snorkel AI + Google Cloud
Google Cloud と Snorkel AI を組み合わせることにより、Fortune 500 企業、連邦政府機関、AI イノベーターなどが、非構造化データを運用化し、最も重要な課題を解決する AI アプリケーションを構築して高速化できるようになりました。
詳しくは、Snorkel AI ML の専門家による、皆様のユースケースに合わせたカスタム デモをご予約いただくか、以下の最近のプレゼンテーションをご覧ください。
手作業でのラベル付けの苦痛をなくすことで実現する、AI 開発の高速化。Google Cloud BigQuery Innovation イベント内で Snorkel AI 共同創設者の Henry Ehernberg 氏が講演。
企業における責任あるジェネレーティブ AI モデルの導入の成果と妥協点。Snorkel の Foundation Model Summit で、Google Cloud パートナー エンジニアリング担当ディレクターの Ali Arsanjani 博士が講演。
[1] Snorkel AI によると、顧客実績では手作業でのラベル付けと比べて 45 倍、52%、98% および類似の改善を実現: https://snorkel.ai/case-studies/
[2] Google による Snorkel のコア テクノロジー活用の事例紹介: https://snorkel.ai/google-content-classification-models-case-study/
[3] Harnessing Organizational Knowledge for Machine Learning(機械学習に対する組織のナレッジの活用): https://ai.googleblog.com/2019/03/harnessing-organizational-knowledge-for.html
[4] Snorkel DryBell: A Case Study in Deploying Weak Supervision at Industrial Scale(弱監視を産業規模で展開するためのケーススタディ): https://arxiv.org/abs/1812.00417
- Google、クラウド パートナー エンジニアリング担当ディレクター Ali Arsanjani 博士- Snorkel.ai、マーケティング担当バイス プレジデント Devang Sachdev 氏