Duet AI の開発秘話: Google Cloud で利用できるAI 搭載コラボレーター
Google Cloud Japan Team
※この投稿は米国時間 2023 年 10 月 3 日に、Google Cloud blog に投稿されたものの抄訳です。
Google は、今年 8 月に開催された Google Cloud Next イベントにおいて、Google Cloud の Duet AI のプレビュー版を発表しました。Duet AI は、生成 AI の力を組み込むことで、さまざまな Google Cloud ユーザーの方がより多くの作業をより迅速に行えるよう支援します。この発表以来、世界中のユーザーから多くの関心が寄せられています。Google Cloud の Duet AI プレビュー版を多くのお客様にご利用いただいていることを鑑み、Duet AI がどのように構築されたかについて、その舞台裏をご紹介したいと思います。特に、Duet AI を支える基盤モデルをどのようにカスタマイズし、Google Cloud ユーザーへのサービスを向上させているのかに焦点を当てます。
Google Cloud の Duet AI を支える基盤モデル
Google Cloud の Duet AI は、複数の AI 基盤モデルを活用して、さまざまなユースケースをサポートします。これには、アプリケーション開発、オペレーション、データ分析と可視化、データベース管理と移行、サイバーセキュリティなどが含まれます。
Google Cloud の Duet AI を支える多くの基盤モデルの中には、Codey と呼ばれる Google のコーディングに関連した基盤モデル ファミリーがあります。Codey は Google の次世代言語モデルに基づいて構築されており、高品質のソースコードとドキュメントからなる膨大なデータセットでトレーニングされているため、プログラミング言語のニュアンスを理解して、より正確かつ効率的にコードを生成できます。Codey は、Go、Google Standard SQL、Java、JavaScript、Python、Typescript を含む 20 以上のコーディング言語をサポートしています。これによりさまざまなコーディング タスクを可能にし、コードの補完、生成、チャットを通じて、デベロッパーの作業スピードの向上とスキルギャップの解消に貢献します。
Google Cloud でのアプリケーション開発用に Codey を最適化
デベロッパーにさらに優れたサポートを提供し、Google Cloud のテクノロジーやツールを使用してアプリケーションを開発する際のコーディング関連作業をより効率的かつ効果的に支援するために、Google Cloud 上の Duet AI を構築する際、Codey をさらに最適化しました。この取り組みは、他のソフトウェア開発タスクのパフォーマンスや品質を犠牲にすることなく行われました。その方法をご紹介しましょう。
通常、特定の分野(ドメイン)のユースケースに対応するために Codey のような基盤モデルをカスタマイズするには、複数のステージが必要になります。各ステージの詳細は組織のリソースやアプリケーションのニーズによって異なりますが、基盤モデル アプリケーションのライフサイクルは概ね以下のようになります。
- データの取り込みと準備: ドメイン トレーニング データの収集とサニタイズ
- ドメインの事前トレーニング: 基盤モデルをファインチューニングすることでドメインの知識を取り込む
- 指示チューニング: レスポンスのスタイルや形式をドメインに合わせてチューニングする
- オフライン評価: 自動評価と人間による評価に基づいて最適なモデルを選択する
統合: サービス構成、モニタリング、ガードレールなど、LLM アプリケーションの他の構成要素とモデルを統合する


基盤モデル アプリケーションのライフサイクル
それでは、基盤モデルの最適化ライフサイクルをどのように進めたかを中心に、各ステップを詳しく見てみましょう。これにより、Google Cloud の特定のユースケース向けに Duet AI を強化しました。
- データの取り込みと準備 - Google Cloud のドキュメントやサンプルコードなど、Google Cloud の開発に関連する Google Cloud データソースからトレーニング データを収集して準備します。このプロセスの一環として、トレーニング データが均一で高品質であることを確認します。
- ドメインの事前トレーニング - データの品質を確認したら、Google Cloud 固有のトレーニング データを使用して Codey モデルをファインチューニングします。このステップにより、モデルが持つ一般的な自然言語とコーディングの能力の一部を保持したまま、ドメインの知識がモデルに適切に統合されます。このドメイン事前トレーニングの内容の具体的な構成は通常、モデル候補をさまざまな構成でトレーニングしてからそれらを比較評価するという方法で、経験的に決定されます。
- 指示チューニング - このトレーニング ステップは、ドメイン固有のタスクにおけるモデルのパフォーマンス向上のために使用されます。モデルのレスポンスを、スタイル、形式、安全性の点で、望ましいレスポンスと可能な限り近づけます。そのためには、品質が高い小規模なデータセットが必要です。これらのデータセットは、Google Cloud の専門的なテクニカル ライターによって、ドメイン固有のタスクごとにキュレート、記述、書き換えが行われます。タスクの例としては、クライアント ライブラリ用の Google Cloud コードの生成、トラブルシューティング QA、SQL クエリ生成などがあります。
- オフライン評価 - モデル候補はトレーニングの各ステージの後に評価されます。これには、自動ベンチマーク(コード生成、質問応答など)と人間による評価の組み合わせを使用します。人間による評価では、Google Cloud のエキスパートが評価者となり、慎重に吟味された評価セットを使用してモデルのレスポンスを評価します。評価セットでは、想定されるユーザーの質問の種類やサブドメインを幅広くカバーしています。正しさ、冗長さ、スタイル、安全性などを評価基準として定め、これらの基準に沿ってレスポンスの質を包括的に評価します。その評価結果をまとめたうえで最良のモデルを選択し、ギャップや回帰に対処するためにトレーニング コーパスに調整を加えます。
- 統合 - 最適なモデルを選択したら、そのモデルを基盤モデル アプリケーションの他の構成要素と統合する必要があります。これには、サービス構成(デコーディング パラメータ、量子化など)、後処理(マルチターン チャットにおけるコンテキストや履歴の保持など)、テレメトリー(モニタリングやオンライン評価用)、責任ある AI ガードレール(有害性チェックなど)といったコンポーネントが含まれます。これで必要なものがすべて揃い、アプリケーションの準備が整います。
最初のデータ取り込みのステージから最後の統合のステージまで、基盤モデル アプリケーションのライフサイクル全体を通して、Google Cloud に特化したコンテンツと専門家の知見によってモデルを最適化しています。こうして、Duet AI が Google Cloud デベロッパーにとってより有用なものとなります。さらに、Google Cloud コンソール以外にも、Cloud Code、BigQuery などのさまざまな Google Cloud プロダクトの UI に Duet AI を直接組み込むことで、よりシームレスなユーザー エクスペリエンスを実現しています。
お試しください
Google の最先端の基盤モデルの力を活用し、デベロッパーの生産性にフォーカスすることにより、Duet AI は新たなレベルの効率、革新、成長を引き出すことができます。Duet AI の詳細をこちらでご覧になり、プレビュー版にお申し込みください。
-Google Labs、シニア ソフトウェア エンジニア Aroma Mahendru
-スタッフ デベロッパー アドボケイト Priyanka Vergadia



