BigQuery ML と Looker を使って機械学習モデルをビジネス ユーザーに説明する
Google Cloud Japan Team
※この投稿は米国時間 2022 年 1 月 25 日に、Google Cloud blog に投稿されたものの抄訳です。
業務プロセス変革の手段として AI に目を向ける組織が増えるなか、AI モデルの急速な浸透に伴って Explainable AI(説明可能な AI)に対するニーズも高まっています。AI を説明することで、モデルがどのような過程で、またどのような根拠で予測を導き出したかを理解しやすくなります。たとえば、金融機関において、AI モデルを使って不正なクレジット カード取引を自動検出したいとします。その場合、正確性の高いモデルを作ることが最初のステップですが、正確であるだけでは不十分です。AI モデルがなぜそのような予測を行ったのか、銀行や規制当局に対して説明が求められることがよくあります。AI は取引額に基づいて不正と判断したのでしょうか?それとも、カード所有者の性別でしょうか?または、支出履歴でしょうか?Explainable AI は、こうした質問に答えられるようにすることで、公正なビジネス プラクティスの促進、規制要件への対応、偏見や差別の防止を実現します。
Google Cloud での Explainable AI 実装は簡単になってきており、導入例も増えています。データ サイエンティストは Google Cloud の Vertex AI を使って、極めて複雑なディープ ラーニング モデルでも、予測結果に寄与した因子を把握できます。では、一般的なデータ分析業務で、Explainable AI を利用することはできるのでしょうか。
この投稿では、データ アナリストが Explainable AI を活用する方法を紹介します。具体的には、BigQuery ML で SQL を使ってモデルを作成し、さらに Looker の「What-If シナリオ ダッシュボード」を使って、これらのモデルの予測について関係者や該当分野の専門家に説明する、というところまでを見ていきます。
BigQuery ML で SQL を使って不正行為検出モデルを構築する
BigQuery 機械学習(BQML)では、SQL のみを使用してさまざまな機械学習モデルを作成することが可能です。BQML は、データ サイエンスをアナリストにとって利用しやすいものにしてくれるだけでなく、データを移動させることなくモデルのトレーニングや予測ができるのが特徴で、データ ガバナンスや MLOps に関するさまざまな課題を解決します。
以下の例では、リテールバンクが所有するデータセット(クレジット カード取引、カード所有者、販売者に関する情報)を使用します。まず、クエリを使って、モデル トレーニング データ(取引額、販売者と顧客自宅の距離、取引時刻)を生成します。BigQuery では地理空間関数がサポートされているため、SQL のみを使ってこのデータ生成を行えます。
サンプル データセットは一般公開されており、クエリから利用できます。プロジェクト内に retail_banking という名前のデータセットを作成し、結果の ML データセットおよびモデルを保存してください。
モデル トレーニング データセットを準備する BigQuery SQL の例
トレーニング データを作成し終わったら、簡潔なクエリで回帰モデルを適用し、処理が不正かどうかを予測します。BQML には、デフォルトでロバストなモデルが用意され、各種オプションでモデルの動作を指定することもできます。また、モデルの適用の指標や、トレーニング ログなどの詳細情報も出力されます。
モデルの構築
BigQuery ML では、xgboost やディープ ニューラル ネットワークなどのモデルも使用できます。これらの手法で作成したモデルも、説明可能です。
BQML の Explainable AI
BQML では、モデルのトレーニングや検査だけでなく、Explainable AI の機能も簡単に利用できます。そのためには、架空の取引を入力して、モデルの予測や説明を確認します。
たとえば、次のクエリは、取引額、距離、時間がそれぞれ異なる 3 つの架空の取引を作成しています。このモデルでは、額が大きく、かつ、時間帯が深夜である 1 つ目の取引が不正であると予測されます。
BQML の Explainable AI のクエリと結果
Looker で「What-If シナリオ ダッシュボード」を作成する
BQML を使えばさまざまなことができますが、ビジネス分野の専門家や重役など、技術者でない関係者に対しても Explainable AI で説明できると、さらに効果的です。こうした人たちが、モデルの説明について専門家ならではの視点から的確に解釈、検証してくれることもよくあります。Explainable AI にインターフェースを付け加えれば、説得力が増して導入へと導きやすくなり、AI への取り組みが成果へと結びつく可能性が高まります。
BQML の Explainable AI を関係者に提示する際に便利なのが Looker です。Looker とは、BigQuery と緻密に統合された最新の BI ツールおよびデータ プラットフォームです。アナリストはこの Looker を使って、独自のセマンティック モデルのもと、ダッシュボードやデータ エクスペリエンスを作成、制御することが可能です。この例では、セマンティック モデルを使用して BQML SQL 文をパラメータ化し、ダッシュボードを作成しています。いったんダッシュボードを作成すれば、エンドユーザーはコードを記述しなくてもダッシュボード フィルタを使って取引の詳細を入力したり、予測およびモデルの説明を確認したりできるようになります。
Looker の Explainable AI ダッシュボード
Looker のセマンティック モデルにおける BQML 予測
以下は、「What-If シナリオ ダッシュボード」を作成する LookML の例です。まず、ユーザーが自由に値を入力できるパラメータを定義します。次に、ユーザーが入力したパラメータを用いて、サブクエリで ML.EXPLAIN_PREDICT を使って派生テーブルを作成しています。実際に使用しているデータセット、トレーニング済みモデル、ユーザーが入力するパラメータに応じて、例を適宜書き換えてください。Looker Marketplace にある BQML Looker ブロックから、BigQuery ML と Looker を組み合わせて使用する際のエンドツーエンド ガイドを参照することもできます。
従来、モデルの解釈はデータ サイエンス チームの独占領域でした。ビジネスサイドの関係者と協働するには多大な労力を要し、カスタム データ サイエンス アプリケーションの開発が必要な場合もありました。Looker と BigQuery ML という組み合わせは SQL アナリストにとって強力な武器となり、ビジネス コラボレーションの実現につなげることができます。
次のステップ
短いクエリを記述するだけで、BigQuery ML と Explainable AI を使い始めることができます。データ サイエンスにおける Looker の活用方法や、Looker Marketplace BQML ブロックを使って手軽に利用を開始する方法、Vertex AI と Looker プラットフォームでの AI を活用したデータ エクスペリエンスの可能性についても、どうぞお読みください。
- Google Cloud カスタマー エンジニア Sean Lopp