Gemini for Google Cloud 101
はじめに
こんにちは、クラウドエース第一開発部に所属しているドーリです。
今回は、Gemini for Google Cloud の基礎について、Gemini を初めて使う方向けの内容をお届けします。Gemini の基礎、使い方等について詳しく知りたい方、是非最後までお読みください!
Google Cloud とは
Google Cloud は、Google が提供するクラウドコンピューティングサービスの総称です。
これには、インフラ管理、データベース、機械学習、アプリケーション開発など、多岐にわたるサービスが含まれています。
クラウドコンピューティングの強みは、インターネットを通じてデータの保存や処理を行うことで、ユーザーが自分でインフラを管理する必要がなく、効率的にプロジェクトを進められる点です。特に Google Cloud は、高度なセキュリティ機能とグローバルなネットワークを備えているため、企業からスタートアップまで幅広く利用されています。
Gemini とは何か
Gemini は、Google が提供する新世代の AI モデルです。
以前は「Duet AI」として知られていましたが、現在は Gemini として独立したサービスとしても、Google Cloud の様々なサービスと統合されています。
Gemini は、従来の AI とは異なり、マルチモーダル(複数のデータ形式を同時に処理できる)機能や、高度な言語理解能力、深い Google Cloud との統合を特徴としています。
Google のベストプラクティスによって学習されているため、精度の高い結果を出せると言われています。
他の AI とはどう違う?
AI ソリューションが増えている中で、プロジェクトに最適な AI を選ぶことが重要です。ここでは、Google DeepMind が開発した Google Cloud の Gemini の特徴を紹介します。Gemini は高度に統合されたスケーラブルな AI 体験を提供し、他の AI モデルと比べていくつかの際立つ特徴を持っています。
-
高度なマルチモーダル機能
Gemini はテキストと画像を同時に処理でき、複雑なタスクで優れた性能を発揮します。 -
Google Cloud との深い統合
BigQuery、Vertex AI、Looker などのツールと統合され、企業は AI アプリケーションを容易に構築・展開・スケーリングできます。 -
責任ある AI
公平性、透明性、セキュリティを重視し、企業は規制に対応しつつ信頼性を維持できます。 -
強力な言語理解と生成能力
Google の言語モデルを継承し、自然言語処理に優れ、人間らしいテキスト生成や文書要約、複雑な会話に対応します。 -
企業ニーズに合わせたカスタマイズ性能
業界固有のアプリケーションに適応可能で、企業は独自データでモデルを最適化できます。
Gemini for Google Cloud の使い方
Gemini for Google Cloud を活用する方法として、現在は IDE(統合開発環境)と Google Cloud Console がサポートされています。
ここからは、それぞれの使い方やセットアップの方法について説明します。
なお、Gemini をサポートしている IDE についてはこちらのページをご覧ください。
本記事では、Visual Studio Code(VSCode)を用いて解説します。
VSCode と Gemini でできること
VSCode などの IDE では、拡張機能をインストールすることで Gemini を利用できるようになります。
Gemini を使って、開発をサポートするための様々な機能を IDE 上から直接利用できます。
- 技術的な質問に対するチャットでの対話
- 効率的なコーディングのサポート
- コードの理解と最適化の提案
実際に活用しているイメージとして、こちらの公式動画を参考にしてください:
Google Cloud Console と Gemini でできること
Cloud Console 上から、直接 Gemini の機能を呼び出す事が可能です。
公式ドキュメントなどを事前に学習済みで、BigQuery などの主要なプロダクトに統合されているので、Gemini と対話しながら効率的に作業を進めることができます。
- Cloud Console 上から技術的な質問に対するチャットでの対話
- BigQuery などのクラウド上のリソース情報に基づいた知見の提供・トラブルシューティング
- Security Command Center と連携してコンプライアンスやセキュリティに関する情報の把握
セットアップ方法
Visual Studio Code
-
Visual Studio Code の拡張機能タブを開きます。(Ctrl + Shift + X または Cmd + Shift + X でも開けます)
-
「Gemini」を検索し、Google Cloud 公式の『Gemini Code Assist + Google Cloud Code』をクリックし、インストールボタンを押します。
-
インストール後、Gemini の拡張機能の画面を開き、Google アカウントにサインインのボタンを押し、ブラウザで開かれるページからサインインします。
VSCode 上で、Gemini は左にあるメニュー、または右下のアイコンからもアクセスできます。 -
Google Cloud Console で、選択したい Google Cloud プロジェクトで Gemini for Google Cloud API が有効になっていることを確認します。
-
VSCode で Gemini に戻り、Google Cloud プロジェクトを選択します。
以上のステップで接続が完了し、コード補完やコード生成などの機能が利用できるようになります!
Cloud Console
-
Google Cloud Console を開いて、上のメニューから Gemini のアイコンをクリックします。
-
Gemini の API を有効化します。
-
Start Chatting のボタンを押すと、会話ができるようになります。
チャットを開始すると、質問の例も表示されます。
自然言語チャット(対話)
チャットで実際に聞けること
ここでは、Gemini for Google Cloud を使って Google Cloud サービスに関する質問や疑問等自然言語チャットに通して質問する使い方を解説します。
公式ドキュメントの内容を基に、実際にどのような質問ができるのか、またその際に効果的なプロンプトの作り方について解説します。もちろん、下記の例以外の使い方もたくさんあると思うので、知りたいことがある際に試してみるのはおすすめです。
例えば、データの分析をしたいが、BigQueryが適切かどうか分からない状態だとします。BigQuery でどのような分析が出るのか、具体的にどのように操作すれば分析できるのかというアドバイスをもらうこともできます。
-
情報収集に関する質問
「BigQuery はどのようにデータ分析に役立ちますか?」
→ パフォーマンスやスケーラビリティの強みについて説明し、ユースケースを提案します。 -
設定や運用
「Cloud Functions で HTTP トリガーを構成する方法を教えてください」
→ HTTP トリガー用の設定例やサンプルコードを提供します。 -
技術的な設計やアーキテクチャのアドバイス
「マイクロサービスアーキテクチャで、Cloud Run と Cloud Functions を使用してサービス間通信を実現する設計を教えてください。セキュリティを重視し、Cloud IAM を活用したアクセス制御を含めたいです。」
→ Cloud Run と Cloud Functions の適切な役割分担を示し、サービスアカウントを活用した IAM 設定の具体例を提示するとともに、HTTPS を用いた通信保護やトークンベース認証の実装方法を提案します。
実例
プロダクション環境で Google Kubernetes Engine (GKE) を使用している企業が、リソースの無駄遣いを抑えたい要望があり、予算を見直すことにします。
Geminiを活用し、コストを抑える方法を確認します。
プロンプト
もし、一般的な答えを得たい場合:
「GKE のコスト最適化の方法を教えてください。」
のような指示の仕方もできます。
しかし、現在使っているリソースの詳細を伝えると、コスト削減のためにできることは特定しやすくなります。
「現在、プロダクション環境で GKE を利用しています。以下のリソース構成で動作しています:
1. 3 つのノードプール(GPU 対応ノードと標準ノードを含む)。
2. n1-standard-4 と n1-highmem-8 の VM を利用。
3. オートスケーリングが一部無効化されている。
コスト削減を目指しており、特に未使用リソースの削減と適切なインスタンスの選択に焦点を当てています。
また、Cloud Billing を使用していますが、コストの内訳をさらに明確に可視化したいです。
この環境での具体的な最適化案を教えてください。」
Gemini の回答例
上記のプロンプトによって、いくつかの解決策が提案されます:
-
一般的なコスト削減方法
一般的な最適化は、GKE 環境全体で有効なベストプラクティスに基づいているものです。ノードタイプやリソース割り当ての適正化、オートスケーリングの活用など、あらゆる環境に応用できる戦略を中心としています。また、コンテナイメージのサイズを最小限に抑えるといった効率化策や、GKE Autopilot を利用してスケーリングを自動化する方法も含まれます。このアプローチは知識を深めるためには良いですが、特定の問題を解決したい場合は本番環境の詳細を伝えるのがおすすめです。 -
リソースによる具体的な削減方法
環境に沿った回答が出力されるため、問題解決をしたい場合に適切なアプローチです。回答としていくつかのやり方が提案され、例えば現在のノードプール構成やワークロードの種類に基づいて、GPU ノードの効率化や適切なインスタンスタイプの選択を行うことが挙げられます。また、Cloud Billing を利用して、コストの詳細を可視化し、無駄なリソースの特定や削減に役立てる方法も手案されます。
Gemini でサポートされている言語
Console 上の Gemini で現在サポートされている言語は多くあり、その中には日本語も含まれています。しかし、まだ開発中のため、一部のプロンプトで "Sorry, I can only respond to English questions right now." のようなメッセージが表示され、日本語には対応していないというエラーが発生する場合があります。
下記、現時点(2024 年 11 月)で使えるワークアラウンドを紹介します。
日本語に現時点で使えるエラー解決方法
エラーが発生した場合、日本語でプロンプトを書き、一部を英語の言葉に入れ替えるのがおすすめします。チャットでの入力を一つの言語に縛られず、AI が別の言語の言葉を混ぜても理解できる仕組みです。
日本語の文に英語の言葉が入っていることによって、AI が両方の言語からの知識を引っ張り出せるようになり、エラーを防ぐことができると思います。
日本語の文章に英語の言葉を入れた場合:
上記のエラーが発生した際には、ぜひこの方法を試してみてください。
サービスの種類と機能について
プロンプトや指示の方法は Google Cloud のサービスによって異なります。そのため、以下に Gemini for Google Cloud の代表的な 10 個のサービスとそのプロンプトの一般的な例を紹介します。また、良いプロンプトの書き方についてこちらのドキュメントを参照できます。
1. Gemini Code Assist
AI によるコード アシスタンス
Gemini を使用することで、コードの生成や説明、自分で書いたコードの修正やデバッグが可能です。また、コードを書いている途中でも自動補完してくれます。
対応しているプログラミング言語の幅が広く、プログラミング言語間の変換も可能です。
開発者がコードの記述、デバッグ、最適化をより迅速かつ効率的に行えるよう支援します。コード補完を提案し、コードを生成し、既存のコードをリファクタリングする手助けも行います。
プロンプトの例:
コード生成と補完: 各種プログラミング言語のコードスニペットを生成または補完
"Cloud Storage バケットからデータを取得する JavaScript コードを補完してください。"
"Complete this JavaScript code to fetch data from a Cloud Storage bucket."
コード要約: コードスニペットの目的や機能を要約
"この Python 関数が何をするのか要約してください。"
"Summarize what this Python function does."
2. Gemini Cloud Assist
Google Cloud の利用をサポートするガイダンスやインサイトを提供します。Google Cloud の製品やサービス、ベストプラクティスに関する質問に答えたり、問題解決を支援したりします。
コンソールの難しい操作や設定についても AI が質問に答えてサポートしてくれるため、初心者でも簡単に利用できます。
プロンプトの例:
Google Cloud の製品、サービス、関連技術に関する情報
" Cloud Run と App Engine の主な違いは何ですか?"
"What are the key differences between Cloud Run and App Engine?"
タスクやタスクセットの実行方法をサポート
"特定のアクセス制御を持つ Cloud Storage バケットを作成するにはどうすればよいですか?"
"How do I create a Cloud Storage bucket with specific access controls?"
3. Gemini in BigQuery
BigQuery の利用体験を向上させるために設計されています。データの分析、可視化、理解をサポートし、SQL クエリを生成、データ変換を提案し、データに関するインサイトを提供してくれます。
プロンプトの例:
SQL クエリ生成: BigQuery 用の SQL クエリ作成を支援
"各顧客の平均注文額を計算するSQL クエリを書いてください。"
"Write an SQL query to calculate the average order amount per customer."
データ可視化: BigQuery データを用いた可視化作成を支援
"地域別の注文数を示す棒グラフを作成してください。"
"Create a bar chart showing the number of orders by region."
4. Gemini in Databases
データベースの設計やパフォーマンスチューニング、移行タスクのサポートを通じて、データベース管理の最適化を支援します。
プロンプトの例:
データベース最適化: パフォーマンスと効率性の最適化方法を支援
"このSQLクエリの実行速度を改善する方法は?"
"How can I improve the execution speed of this SQL query?"
データベースセキュリティ: データベースのセキュリティ対策を支援
"Cloud SQL インスタンスの推奨セキュリティ設定は何ですか?"
"What are the recommended security settings for a Cloud SQL instance?"
5. Gemini in Looker
Looker の利用体験を強化します。LookML コードの作成、データ探索、可視化の作成をサポートし、LookML 構文の提案や可視化の生成、データインサイトをまとめてくれます。
プロンプトの例:
LookML コード生成: Looker でのデータ分析・可視化のための LookML コード作成を支援
"BigQuery から顧客の人口統計データを表示する LookML ビューを作成してください。"
"Create a LookML view to display customer demographics from BigQuery."
データ探索と分析: Looker でのデータ探索と分析をサポート
"前四半期で最も売上が高い製品トップ10は何ですか?"
"What are the top 10 products with the highest sales in the last quarter?"
6. Gemini in Firebase
Firebase アプリの開発、リリース、スケールを迅速化します。コード生成やデバッグ、パフォーマンス最適化に関する情報ももらえます。
プロンプトの例:
アプリケーション開発: Firebase アプリケーションの構築とデプロイを支援
"プッシュ通知を送信するFirebase関数を作成するにはどうすればよいですか?"
"How do I create a Firebase function to send push notifications?"
アプリケーションの最適化: パフォーマンスとスケーラビリティのための Firebase アプリケーションの最適化を支援
"Firebase データベースのパフォーマンスを向上させるにはどうすればよいですか?"
"How can I improve the performance of my Firebase database?"
7. Gemini in Security Command Center
セキュリティデータの分析、潜在的な脅威の特定、セキュリティ体制の向上を支援します。セキュリティ脆弱性の洞察を提供し、セキュリティのベストプラクティスを提案し、インシデント対応のアドバイスも教えてくれます。
プロンプトの例:
セキュリティ脆弱性の分析: セキュリティリスクの特定と理解を支援
"この Cloud Storage バケットに設定されたアクセス制御の潜在的な問題点を特定してください。"
"Identify potential issues with the access controls set for this Cloud Storage bucket."
セキュリティインシデント対応: インシデントへの対応手順をサポート
"不正アクセスの兆候を検出した場合の対処法は?"
"What should I do if I detect signs of unauthorized access?"
8. Gemini for Vertex AI
Vertex AI 上での機械学習モデルの構築、展開、管理を支援します。モデルのトレーニング、評価、最適化と説明可能性の向上にも役に立ちます。
プロンプトの例:
モデルのトレーニングとデプロイ: 機械学習モデルのトレーニングおよびデプロイを支援
"Vertex AI を使用してテキスト分類モデルをトレーニングするにはどうすればよいですか?"
"How do I train a text classification model using Vertex AI?"
モデルの説明可能性: モデルが予測を行う仕組みについての洞察を提供
"このモデルがレビューに対してポジティブな感情を予測した理由を説明してください。"
"Explain why this model predicted a positive sentiment for this review."
9. Gemini for Google Workspace
Google Workspace の利用体験を向上させます。ドキュメント作成、メールの作成、タスク管理などの作業を支援し、より良い文書作成、効果的なメール作成、効率的なタスク管理を可能にします。
プロンプトの例:
ドキュメント作成と編集: ドキュメント、スプレッドシート、プレゼンテーションの作成と編集を支援
"この会議議事録の要約を書いてください。"
"Write a summary of this meeting minutes document."
タスク管理: タスクやプロジェクトの管理を支援
"今後のマーケティングキャンペーンのタスクリストを作成してください。"
"Create a task list for the upcoming marketing campaign."
10. Gemini in Google SecOps
Google Cloud のセキュリティ体制の管理を支援します。セキュリティ脅威、脆弱性、ベストプラクティスに関するインサイトを提供し、セキュリティタスクの自動化、セキュリティポリシーの適用、インシデント対応について教えてくらます。
プロンプトの例:
セキュリティ脅威分析: セキュリティ脅威やインシデントの分析を支援
"このセキュリティログを分析し、潜在的な脅威を特定してください。"
"Analyze this security log and identify potential threats."
脆弱性評価: セキュリティ脆弱性の特定と理解を支援
"この Cloud Storage バケットに関連する潜在的なセキュリティリスクは何ですか?"
"What are the potential security risks associated with this Cloud Storage bucket?"
上記の中で、
- Gemini in Firebase
- Gemini in Security Command Center
- Gemini in BigQuery
- Gemini in Looker
- Gemini in Databases
一部のサービスは Gemini Code Assist の有料サービスに含まれているため、利用するにはサブスクリプションを購入する必要があります。
ユースケースと例
Google Cloud の新しい AI サービス、Gemini は、開発者、データサイエンティスト、そしてビジネスリーダーにとっても、便利な機能が揃っています。
Gemini の特徴を使ったユースケースで、いくつかの例を集めました。
カスタマーエクスペリエンスの向上:
課題
- カスタマーサポートチームに問い合わせが集中し、対応が遅れる。
- 顧客ごとに異なるニーズに対応するパーソナライズが不足している。
解決策
- Vertex AI Agent Builder を活用して、AI による多言語対応のカスタマイズチャットボットを迅速に構築。
- ボットは過去の顧客データを分析し、ユーザーごとに最適な回答を提案。
- Vertex AI の自然言語処理を利用し、問い合わせの意図を正確に理解して迅速に解決策を提示。
- 効率化によってサポートコストを削減しつつ、顧客満足度を向上。
創造的プロセスの効率化:
課題
- マーケティングキャンペーンに必要なビジュアルやコンテンツの制作に多くの時間がかかる。
- 複数チーム間でのフィードバックループが非効率。
解決策
- Gemini for Google Workspace を利用し、AI がマーケティング用の画像やテキストを瞬時に生成。
- Vertex AI Vision を活用し、ブランドガイドラインに基づいたクリエイティブ素材を自動生成。
- チームが AI 生成コンテンツを即時レビューできる環境を整備し、制作サイクルを短縮。
社員教育とスキル開発の革新:
課題
- 社員研修やスキルアップの教材作成にコストがかかる。
- グローバル展開の企業において、多言語対応の教材開発が課題。
解決策
- Vertex AI Studio を活用して、複数言語対応のeラーニング教材を自動生成。
- Generative AI Search を使い、業界の最新トレンドやベストプラクティスを瞬時に取り入れた教材を作成。
- Gemini AI を導入し、各社員のスキルセットや学習進捗に基づいたパーソナライズ学習プランを作成し、教育効果を最大化。
上記以上に、Google の AI を活用できるエリアがたくさんあります。
Gemini は、まだ開発段階にあるため、今後さらに多くのユースケースが生まれてくるでしょう。
安全性とリスク
Gemini for Google Cloud を使用する上で、安全性に対する懸念を持つ人もいるでしょう。
ここでは、Geminiが提供する安全対策と、使用時に気をつけるべきリスクについて説明します。
- ユーザーが入力したプロンプトが学習に利用されることはありません。
- また、プロンプトは安全に管理され、攻撃者に対しても暗号化されます。
Gemini は、大規模言語モデル(LLM)に属するモデルです。LLM は汎用性が高く、様々なタスクをこなせる一方で、トレーニングされたデータの範囲外のプロンプトに対して無関係または不正確な応答が生成される可能性もあります。
このような制限事項にはいくつかの種類があります。これを知ることによって、間違っている情報が特定しやすくなり、改善しやすくなります。
-
エッジケース
エッジケースは、トレーニングデータにほとんど含まれていない、珍しい状況や例外的なケースのことです。結果的に、モデルが内容を誤解し、間違った結果を出すことがあります。
-
出力結果の確認:
AI の出力が不自然だったり、疑わしい場合はそのまま信用せず、自分で確認や検証を行うことが大切です。 -
複数の情報源を参照:
AI が提示する結果が不明確な場合、他の信頼できる情報源も確認し、正しい判断を下すようにしましょう。
-
ハルシネーション
AI の「ハルシネーション」とは、事実とは異なる情報を生成する現象です。
Gemini モデルでも、実際の知識や正確な理解が不足することがあり、その結果、誤った内容や存在しないウェブページのリンクを提示することがあるので、注意が必要です。
-
プロンプトを具体的にする:
曖昧な質問や指示を避け、明確で具体的なプロンプトを作成することで、より正確な回答を得やすくなります。 -
モデルの出力を検証する:
出力された内容を信頼せず、他の信頼できる情報源で事実確認を行いましょう。特に、リンクや数値情報などは必ず確認が必要です。 -
簡単な質問から始める:
複雑な質問よりも、まず基本的で簡単な質問から始め、徐々に詳しく聞いていくことで、誤りを減らすことができます。
-
データ品質とチューニング
AI は、入力されるプロンプトの質や正確さに大きく影響されます。もし誤ったプロンプトを入力すると、バイアスや正確でない返答が返される可能性があります。
-
プロンプトを明確にする:
曖昧な言い方を避け、具体的で正確な言葉を使って質問や指示を入力します。
AI に聞きたいことを伝える上でプロンプトを生成してもらうと、AI にとって分かりやすいプロンプトを書けるようになります。 -
バイアスに注意する:
偏った情報や個人的な意見に基づいたプロンプトを避け、公平で中立的な表現を心がけます。 -
プロンプトを簡潔にする:
長すぎる、または複雑すぎるプロンプトは避け、シンプルで分かりやすい文章にまとめます。 -
テストを繰り返す:
出力された結果を元にプロンプトを少しずつ調整し、より良い結果が得られるように工夫します。
-
バイアス増幅
言語モデルが学習データにあるバイアスの増幅、特定のグループに対する不公平な扱いが悪化することがあるので、注意です。 -
言語の品質
Gemini for Google Cloud は多言語対応が優れているとされていますが、ほとんどの評価はアメリカ英語で行われています。
言語モデルの性能は、ユーザーの使用言語によってサービスの質が異なることがあります。特に、一部の言語や方言では、学習データが少ないため、うまく文章を作れないことがあります。そのため、英語以外の言語や英語の方言では、結果が異なる場合があります。 -
ドメインに関する限定された専門知識
Gemini モデルは Google Cloud でトレーニングされていますが、専門的なトピックや技術的な内容については、十分な知識がないため、表面的な情報や不正確な回答になることがあります。
Google Cloud Console で Gemini を使う場合、Gemini は特定の環境を現在理解できないため、「最近 VM を作成した日時」などの質問には答えられません。
しかし、状況によっては特定の情報を提供することで、状況に応じた回答を得ることができます。たとえば、Error Reporting ページの「トラブルシューティングの提案」ボタンをクリックした場合です。
料金について
Gemini Code Assist には、Standard 版と Enterprise 版の 2 つのエディションがあります。
両エディションとも、AI を活用したコード補完や生成、チャット機能を提供し、開発者の生産性を向上させます。
しかし、Enterprise 版では、Standard 版の機能に加えて以下の特徴があります。
コードのカスタマイズ: プライベートなコードリポジトリを活用することで、高品質でカスタマイズされたレスポンスが得られ、自社のコードベースに最適化された支援が可能になります。
Gemini in BigQuery: AI の力でエンドツーエンドのデータ分析ライフサイクルを加速します。
Gemini in Apigee: 新規および既存の API の設計、作成、運用を迅速化します。
Gemini in Application Integration: AI によって自動化プロセスを強化します。
Gemini の料金や特徴の詳細についてはこのページをご覧ください。
Gemini のライセンス種別 | ライセンス料(月額) | ライセンス料(12 か月契約) |
---|---|---|
Gemini Code Assist Standard | $22.80(ユーザーあたり) | $19(ユーザーあたり) |
Gemini Code Assist Enterprise | $54(ユーザーあたり) | $45(ユーザーあたり) |
まとめ
Gemini で仕事の効率を上げることができますが、AI が提供する情報が間違っている場合もあるため、自分で情報を確認した上で使いましょう。
また、Gemini はスケーラビリティ、セキュリティ、データプライバシーの管理に優れており、Google Cloud の既存インフラストラクチャとの統合が容易です。
これにより、ユーザーは大規模なデータ分析や機械学習モデルのトレーニングを迅速に行うことができ、業界を問わず、ビジネスの成長を加速させることが可能となります。
さらに、Google の強力な AI リソースを活用し、リアルタイムでの意思決定支援やカスタマーサービスの向上を実現します。
Gemini for Google Cloud についてもっと深く学びたい方には、下記のコースがおすすめです。
Discussion