OSS Vizier:Google社内で使われている人工知能チューニングツールが公開(1/2)

アプリケーション

1.OSS Vizier:Google社内で使われている人工知能チューニングツールが公開(1/2)まとめ

・Google VizierはGoogle製品内の人工知能のハイパーパラメータを最適化するために使われてきた非公開システム
・そのGoogle VizierがOSS VizierとしてオープンソースのPythonパッケージとして公開されて誰でも使用できるようになった
・OSS Vizierは分散方式で規模を拡大した実験を管理、及び最適化する機能とAutoML研究者のための機能を含んでいる

2.OSS Vizierとは?

以下、ai.googleblog.comより「Open Source Vizier: Towards reliable and flexible hyperparameter and blackbox optimization」の意訳です。元記事は2023年2月2日、 Xingyou (Richard) SongさんとChansoo Leeさんによる投稿です。

人工知能は起動時にパラーメーターを幾つか渡す必要があります。
ご存知ない方は、例えば、画像生成AI起動用のツールであるAUTOMATIC1111InvokeAIの画面を見て頂きたいのですが、プロンプト以外にも、VAEは何を使うか?サンプラーは?何ステップ動かす?等々、(ほとんどがディフォルトのままで問題ないとは言え)色々と選択や入力ができるようになっています。

これらの設定はハイパーパラメータと言い、ハイパーパラメータのチューニング次第で人工知能の性能は大きく変わる事があるので、kaggleなどの機械学習競技会や少しの性能の違いが大きな違いを生む大規模システムでは、技術者が腕を競い合う世界です。

チューニングの際には総当り的に最適なパラーメーターの組み合わせを調べるツールなどが使われる事もあり、今回、紹介するVizierもそういったハイパーパラメータ探索ツールの一つです。

ただし、Vizierは過去のgoogle AI blogでも名前だけはチラチラと出てきていましたが、主にGoogle社内で使われている内製ツールであり、一般公開はされていませんでした。それがこの度、オープンソースとして公開されたとの事で、ハイパーパラメータのチューニングに悩んでいる人の中には今日にでも試してみたいと感じる方も多いのではないでしょうか。

アイキャッチ画像はstable diffusionのカスタムモデルによる生成で、Vizierとは「イスラーム王朝(特にオスマントルコ帝国)における「宰相」「大臣」などを意味するアラビア語」との事で、そこから連想して生成したイラスト

Google Vizierは、Google全体の目的関数とハイパーパラメータに対するブラックボックス最適化(勾配情報などモデル内部の情報を使わずに行う最適化)用のシステムであり、Googleの最大の研究活動のいくつかにサービスを提供し、幅広い製品(例えば、Google 検索、Google 広告、YouTube)を最適化してきました。

研究分野では、ユーザーと対話する言語モデルの応答遅延の短縮コンピュータ・アーキテクチャの設計ハードウェアの高速化タンパク質発見の支援ロボット工学の強化だけでなく、ユーザーがニューラルアーキテクチャを検索し、強化学習アルゴリズムを進化させるための信頼できるバックエンドインターフェースを提供してきました。

何千人ものユーザーの重要なシステムを最適化し、何百万もの機械学習モデルをチューニングするという規模で運用するために、Google Vizierは、強力な耐障害性を維持しつつ、多様な用例とワークフローをサポートするという設計上の重要な課題を解決しました。

本日、Google VizierをベースにしたスタンドアロンPythonパッケージであるオープンソースのOSS Vizier(Open Source Software Vizier)を、AutoML Conference 2022で公開されたシステムホワイトペーパーと共に発表します。

OSS Vizierは、主に2つの目的で設計されています。
(1)ユーザーのために信頼性の高い分散方式で規模を拡大した実験を管理、及び最適化
(2)自動機械学習(AutoML)研究者のためのアルゴリズム開発とベンチマーク

システム設計

OSS Vizierは、複数のクライアントからブラックボックス化された目的、または関数の最適化というサービスをサーバーが提供する形式で動作します。

主なワークフローは、クライアントがリモートプロシージャコール(RPC)を送り、提案(クライアントのブラックボックス関数への入力案)を求めます。そこからサービスがワーカーを起動し、アルゴリズム(Pythiaポリシー)を起動し、次の提案を計算します。この提案はクライアントによって評価され、対応する目的値と測定値を形成し、サービスに送り返されます。このパイプラインを複数回繰り返すことで、チューニングの軌跡が形成されていきます。

C++やRustなど、ほとんどのプログラミング言語と互換性のあり、利用可能な場所が多いgRPCライブラリの使用により、最大限の柔軟性とカスタマイズが可能となり、ユーザーは独自のカスタムクライアントやデフォルトのPythonインターフェース以外のアルゴリズムも記述できるようになりました。プロセス全体がSQLデータストアに保存されるため、クラッシュ後のスムーズな復旧が保証され、使用パターンをOptFormerやHyperBOなどのメタ学習やマルチタスク転移学習法の研究のための貴重なデータセットとして保存することが可能です。


分散パイプラインでは、複数のクライアントがそれぞれ提案リクエストをService APIに送り、Service APIはPythiaを用いてクライアント向けの提案を生成します。クライアントはこれらの提案を評価し、計測結果を返します。全てのトランザクションは保存され、耐障害性(fault-tolerance)を実現しています。

3.OSS Vizier:Google社内で使われている人工知能チューニングツールが公開(1/2)関連リンク

1)ai.googleblog.com
Open Source Vizier: Towards reliable and flexible hyperparameter and blackbox optimization

2)github.com
google/vizier

3)oss-vizier.readthedocs.io
OSS Vizier Documentation

タイトルとURLをコピーしました