コンテンツに移動
データ分析

Palo Alto Networks による BigQuery ML を活用したリソース分類の自動化

2024年3月27日
Google Cloud Japan Team

Try Gemini 1.5 Pro

Google's most advanced multimodal model in Vertex AI

Try it

※この投稿は米国時間 2024 年 3 月 21 日に、Google Cloud blog に投稿されたものの抄訳です。

Palo Alto Networks の使命は、お客様によるセキュアなデジタル トランスフォーメーションを実現することです。合併や買収を経て、Palo Alto Networks は多くのエンジニアリング チームを擁する巨大かつ分散型の組織へと成長しました。それらのチームは、世界的に有名な当社のプロダクトの開発を行っており、17 万を超えるプロジェクトを Google Cloud 上に保有しています。これらのプロジェクトは、それぞれ個別のリソース階層と命名規則を持っています。

Cloud Center of Excellence チームは、組織の主要なクラウド運用の統括を行っています。私たちは、急激に成長し続ける複雑なブラウンフィールドの管理を引き継ぎました。チームのミッションは、成長の費用対効果を高め、クラウドの健全性を維持するとともに、安全性を確保しつつ Palo Alto Networks のプロダクト エンジニアリング チームが最大限の能力を発揮できるようにすることです。

業務の出発点としてまずプロジェクトが属するチーム、コストセンター、環境を特定する必要がありますが、そこで問題に直面しました。3 年前に大規模な自動ラベル付けの作業に着手し、95% 以上のプロジェクトについて、チーム、オーナー、コストセンター、環境のタグ付けを行いましたが、残りの 5% についてはタグ付けが困難であることがわかりました。そこで、ML を活用することで、業務の負担を軽減し、効率的な運用を実現しようと考えました。ここでは、BigQuery の組み込みの ML 機能である BigQuery ML を使ってこの目標を達成した経緯を説明します。

ML のプロトタイピングに要する時間を 2 週間から 2 時間に短縮

プロジェクトの数が非常に多く、さまざまな命名規則が存在していたことから、各クラウド プロジェクトのオーナー、環境、コストセンターを特定するのは大変な作業でした。間違ったチームに割り当てられたプロジェクトや、チームへの割り当てがされていないプロジェクトなど、誤ってラベル付けされたプロジェクトを見つけることも珍しくありませんでした。このことが、各チームによるクラウド リソースの使用量を把握することを難しくしていました。

ダッシュボードやレポートでチームオーナーを正しく割り当てるには、財務チームのメンバーが何百ものプロジェクトを手動で仕分け、オーナーの可能性があるユーザーに連絡をとる必要がありましたが、このプロセスを完了するには数週間かかりました。調査しても結論が出なかった場合、そのプロジェクトには「未確定」のマークが付けられました。「未確定」のプロジェクトが増えてきたら、費用が高いプロジェクトについてのみ調査を行い、費用の低いプロジェクトについては正しいオーナーのラベル付けを行うことなく放置していました。

プロジェクトの所有権に関する問題が浮上した場合は、プロジェクト名やパス内のキーワードから、プロジェクトとチームを結びつけるための手がかりを探しました。キーワードからチームを探す作業は直感に従って行われていたため、同じことを ML で再現できるとわかっていました。そこで、この手動プロセスの自動化に取り掛かりました。

当初は、ML に Scikit-learn を利用し、Python ライブラリを使ってゼロからコードを書いていましたが、この方法では、実行可能なモデルを構築して予測アルゴリズムのエンドツーエンド トレーニングを開始するまでに 2 週間近く必要でした。このモデルは良い結果を出しましたが、小さいプロトタイプのため、実際に取り込みが必要な量のデータを処理することはできませんでした。

当時、Palo Alto Networks はすでに BigQuery を広範囲で利用していたため、プロジェクトに関連するデータに容易にアクセスすることができました。Google Cloud チームは、BigQuery ML を利用してプロジェクトのプロトタイプを作成する方法への転換をすすめてくれましたが、これはまったく理に適った提案でした。BigQuery ML を利用したところ、プロジェクト全体のプロトタイピングが数時間で完了しました。昼から夕方までの時間で、99.9% の精度を備えたモデルを構築し、実行可能な状態にすることができたのです。数百のプロジェクトでテストを行ったところ、毎回正しいラベル予測を取得することができました。

デベロッパーの生産性向上と AI の民主化

BigQuery ML をデプロイすることで、すぐに利用できるさまざまなモデルをライブラリから取得することができました。これらのモデルを使用してテストを行い、最終的にプロジェクトに最適なモデルとしてブーストツリー モデルを選定しました。Python と Scikit-learn を利用していた頃は、テストのためにさまざまなアルゴリズムのトレーニングを行い、十分な精度が得られないということがわかるまでに毎回最長 3 時間かかっていました。BigQuery ML では、この試行錯誤のプロセスを短時間で繰り返すことが可能になります。キーワードを置き換えて 1 時間トレーニングを行うだけで、新しいモデルを試すことができます。

また、デベロッパーがプロジェクトに費やす時間も大幅に削減できました。以前のイテレーションでは、300 行を超える Python コードを書く必要がありました。BigQuery では 10 行の SQL コードで同じ処理が可能なため、コードの可読性、わかりやすさ、保守性が向上しました。

このことは AI の民主化を実現しました。こうしたプロジェクトには ML と Python に関する深い知識が必要だったため、当初は経験豊富な同僚にプロトタイピングを担当してもらっていました。300 行にわたる ML の Python コードを読むのは時間がかかり、その内容を説明するのはさらに時間がかかる作業であるため、チームの他のメンバーが手動で同じことを行うことは不可能でした。

一方、BigQuery ML では、5 分もあれば一連のコードを読んでそれについて説明することが可能です。各アルゴリズムが理論上行っていることについてほんの少し理解するだけで、チームの誰もがコードの内容を理解し、変更することができます。BigQuery ML は、何年にもわたる ML のトレーニングを受けた経験のない人でも、簡単にプロトタイピングを行うことを可能にします。

可視性の向上と 99.9% の精度を保証するソリューション

現在、このラベル予測プロジェクトは Palo Alto Networks の全クラウド オペレーション チームのバックエンド インフラストラクチャをサポートしています。このラベル予測プロジェクトを使って各プロジェクトが属するチームを特定し、誤ったラベル付けがされたプロジェクトを選別することで、財務チームはクラウド費用を詳細に把握することができます。新しいラベル付けシステムにより、クラウド プロジェクトに関する正確かつ信頼性の高い情報を最小限の手作業で入手できます。

現時点で、このソリューションは任意のプロジェクトが属するチーム、コストセンター、環境を 99.9% の精度で予測することができます。BigQuery ML はさらに多くの可能性を秘めています。BigQuery ML によって短時間で作業を処理できることを確認し、その有用性を実感した私たちは、より多くのチームやユースケースに適用範囲を拡大することを計画しています。

たとえば、プロジェクトに関する詳細な情報を必要とする財務運用チームや情報セキュリティ チーム向けのサービスとして、このモデルを実装することを検討しています。まだマッピングされていないプロジェクトでデータ侵害や不審な操作が発生した場合、このモデルを使って対象のプロジェクトのオーナーを即座に確認することができます。全プロジェクトの 95~98% はマッピング済みですが、最も脅威となるのは、わずかに残された未マッピングのプロジェクトです。誰も責任者を知らないプロジェクトで問題が起こったとしたら、どうやって問題を修正すればよいでしょうか?この課題を解決してくれるのが BigQuery ML なのです。

生成 AI の今後への期待

BigQuery と生成 AI を組み合わせることで、技術者でないユーザーが自然言語を使ってビジネス上の質問に対する答えを得られるようにする、というプロジェクトも現在進行中です。現在、従業員と従業員が所属するチーム、チームが所有するプロジェクト、チームが使用しているクラウド リソースについて理解し、BigQuery に格納されたデータレイクから関連する費用や資産の情報や最適化に関する情報を提供する財務オペレーション用の手引きを作成しています。

これまで、そうした種類の情報を検索するには BigQuery のどこでどのようなクエリを作成すればよいかを知っている必要がありました。この手引きにより、SQL に関する知識がなくても、重役からインターンに至るあらゆる人が簡単な英語で質問すれば適切な回答を得られるようになります。自然言語のプロンプトを使ってクエリを作成し、複数の BigQuery テーブルから取得したデータを組み合わせてコンテキスト化された回答を得ることを可能にする生成 AI は、情報へのアクセスを民主化します。このプロジェクトのアルファ版は公開済みであり、すでに良い結果が出ています。このソリューションを当社が利用するすべての財務運用ツールに組み込むことができる日を楽しみにしています。

-Palo Alto Networks、クラウド アーキテクチャ担当エンジニアリング ディレクター Gunjan Patel 氏

投稿先