Google Cloudの生成AIで遊んでみた

# はじめに
2023/8/29から3日間の日程でアメリカ・サンフランシスコで行われた「[Google Cloud Next'23](https://cloud.withgoogle.com/next)」に現地参加してきました。新サービスや新機能に関する内容、そしてセッションのほとんどが生成AIというほど生成AIに関する情報が盛りだくさんというイベントでした。Google Cloud Nextについてここでは深く触れませんので、詳細が気になる方は以下の記事をご参照ください。

https://cloud.google.com/blog/topics/google-cloud-next/next-23-recap-day-1/?hl=en

https://cloud.google.com/blog/topics/google-cloud-next/next-23-recap-day-2/?hl=en

https://cloud.google.com/blog/topics/google-cloud-next/next-2023-wrap-up?hl=en

そこで、本記事ではVertex AIの生成AIを使ってその使用感について共有したいと思います。今後、Google Cloud Nextでプレビューとなった「[Duet AI in Google Cloud](https://cloud.google.com/blog/products/ai-machine-learning/duet-ai-in-google-cloud-preview?hl=en)」およびGAとなった「[Duet AI in Google Workspace](https://cloud.google.com/blog/products/ai-machine-learning/duet-ai-in-google-cloud-preview?hl=en)」についてもその使用感について共有しようと思います。これら2つを使うと、データさえあれば分析や可視化、資料化までAIに任せることが出来るのでかなり業務効率化につながるのではないかと思っています。

# もくじ
- Vertex AI
- 試したこと
- まとめ

# Vertex AI
Vertex AIは、MLのモデルをより迅速かつ簡単に構築、デプロイ、スケーリングするために役立つ、エンドツーエンドのMLプラットフォームです。どんな機能があるかは[公式ドキュメント](https://cloud.google.com/vertex-ai?hl=ja)を参照ください。今回はVertex AIの生成AIである[Generative AI Studio](https://cloud.google.com/generative-ai-studio?hl=ja)を触ってみました。

# 試したこと
今回はオーソドックスに生成AIに質問することと連想ゲームをさせることを試してみました。
## Vertex AI studioに質問
まずは、どう解答してくるのか試してみました。
Google CloudコンソールでVertex AIを選択後、左のペインから「Generative AI Studio」の言語を選択します。
![0003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/1982241c-f6dc-eedf-09c4-a98b00bcbd79.png)
一番左の「独自のプロンプトの設計とテスト」内にある「テキストプロンプト」を押下します。  
既定のモデルは「test-bison@001」ですが、今回は最新の「test-bison(latest)」を選択しました。
![0004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/0ddac61a-5852-0d93-ee99-1d18691c76eb.png)


試しに、「こんにちは」とプロンプトに入力すると、下のスクリーンショットのようにレスポンスが来ました。
![0005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/4b4e58f4-418a-b5af-ae07-dab7bc555e96.png)

Google Cloudについても聞いてみたところ、良い感じに回答が返ってきました。
![0025.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/fd7bb540-28c8-7efa-ecdc-535ef96bdebd.png)

コンソールの右側にパラメータがあり、以下のパラメータを変更することが可能です。難しいことが書いてありますが、デフォルトでも十分に使用できますので、特に変更したいパラメータがなければデフォルトで良いと思います。このほかに安全フィルタもあり、センシティブな内容がアウトプットされないように設定することも出来ます。
- 温度  
トークン選択におけるランダム性の度合い。1に近い程ランダムなトークンが選ばれる。
- トークンの上限  
1つのプロンプトから出力されるテキストの最大値。
- トップK  
出力されたトークンのうち次に用いるトークン数。出力されたトークンのうち、確率が高い上位について設定した数字分を次のトークンとして使用。
- トップP  
出力されたトークンのうち次のトークンに用いるトークン数。設定された数字と等しくなるまで、出力されたトークンのうち最も確率が高いものを順に足していく。
- 最大レスポンス  
プロンプトごとに生成されるモデルレスポンスの最大数。

温度について、1に近いほどランダムな回答が得られるということで、明日の天気 (9月) について温度を0にした時と、1にした時で回答を比較してみました。

温度を0にした場合
![0017.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/bc97ec0f-958d-c09a-566b-a743f946c3d9.png)
温度を1にした場合
![0018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/4c30c5d4-a1c9-3923-1367-d9ed5724d03e.png)


温度を1にすると天気予報がかなりでたらめであることが分かります。これ以外に、「要約してください」とお願いしてもトークンの上限により途中で回答が終わってしまうこともあり温度を上げ過ぎると回答がいい加減になることが分かりました。突拍子もない回答が欲しい時には有用かもしれません。

## Generative AI studioとゲーム
次はAIに「マジカルバナナ」という連想ゲームをさせてみました。  
上の画面から右上の「構造化」のボタンを押下するとできます。シンプルに「マジカルバナナをしてください」と言ってもやってくれなかったので、最初の4ワードほどはこちらで入力して4ワード目をインプットとして見ました。
![0023.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/bcc083a0-2f82-f325-df9d-19bb26fdae40.png)

AIからは以下の回答が得られました。
![0024.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3559206/f0ed35c5-d55c-022b-0861-a8ed8fd71cf5.png)

ちなみに、これは一回で出たのではなく、ExamplesのワードやContextの文章を少しずつ変えてなんとか出ました。学習させるのが大変でしたが、今回の例のように連想ゲームもAIができるようになったということで感動しました。

# まとめ
今回はGoogle Cloudの生成AIを触ってみました。個人的に、回答内容はChatGPTなどと比較してもそん色ないと思います。実際にGoogle Cloudを使いながら、生成AIを使うとなると「Duet AI in Google Cloud」を使うことになると思いますが、AIモデルのチューニングができるので他の生成AIより使い易いのかなという感触です。他にも色んな機能があるのでまたの機会に試してみます。