🦁

AI Agent Hackathon with Google Cloudに参加するための事前調査:2日目

2024/12/23に公開

まずはGoogle Cloudのアカウント作成

少しでも安くをポリシーに、今回のハッカソン用のGoogleアカウントを作成

そのあと、google cloudのコンソールからプロジェクトを作成、$300の無料枠を利用する設定をしてから各種チュートリアルの確認をしていきます。

昔は$300というと大体3万円分くらいかぁ。。。と思っていたのですが、ドル高のおかげで随分と無料枠が使えるのはありがたいと思いました

現在ですと¥45,438が無料として使えるのでとにかくでかい!

そして、もしもクレジットを大幅に使ってしまうことのないように予算アラートを設定

これでお金を払うことになっても多少の保険は効く、、はず

Vertex AIのチュートリアルを追う

この時、google cloudに関するツールのインストール、利用しているマシンでのアカウント認証などは全くしていないまっさらな状態なので、変にアカウントが混じるという心配はしなくても大丈夫なのが安心できます

最近むしゃくしゃしてマシンを工場出荷状態に戻したのはハッカソンに参加するための布石だったのか?と疑いたくなるレベルでナイスタイミングでした

過去記事:
https://zenn.dev/tkwbr999/articles/78d263be71f4dc

チュートリアルにあるものを順に追ってみることにしましたが結果でいえば「生成 AI の概要」を読むだけで一旦OKだと思います。読み込んでいくと次にやることはGemini APIではなく、Vertex AI Studioのクイックチュートリアルの方がいいと思ったからです。

以下に読了していった感じをまとめていきます。

チュートリアル1:「生成 AI の概要」

まずはこちらから
https://cloud.google.com/vertex-ai/generative-ai/docs/learn/overview?hl=ja

こちらは手を動かすではなくて読むものでした。

つまらないことかもしれませんが、googleのアカウント管理でデフォルトに設定されているアカウントでリンク先を開くのですがチュートリアルを進めるためのアカウントは別で、その別アカウントに切り替えることがなぜかできなく数分苦戦したのち諦めました。。

MLからモデルの出力までのイメージをしながら、各種用語とその動作内容を消化するように読んでいくのですが何気なくの理解ではなくしっかりとした理解を得ようとすると何言ってんだ?みたいな気持ちになることが多く、たった1ページの説明でもかなり勉強になると感じます。

このページに登場する用語は以後も共通語として使われる気がするので必要に応じて用語をググったりしています。

理解したこと

生成AIモデルが動作に関する主語となる

モデルがタスクを実行する

モデルをチューニングすることで新しいタスクにも対応できる

モデルにデータを与えラーニングすることで知能(?)を獲得する

データにグラウンディングさせることでモデルの出力の精度と信頼性を高める

モデルからの出力の安全性のため有害なコンテンツをブロックする

プロンプト->レスポンス、プロンプトとはリクエストと置き換えられる気がする

AIの場面で登場するレスポンシブルは責任・信頼の意味で、レスポンシブ(素早い)とは違う

期待した出力を得るためのプロンプトは原則と戦略の上での試行錯誤

モダリティ別に使えるAPIが異なるが、テキストだけ想定の僕の場合はgemini APIだけでよさそう

model gardenというAIのショウケースがあるのでここから探す
https://cloud.google.com/vertex-ai/docs/start/explore-models?hl=ja

複雑なプロンプトを回避し費用を安くできるのがモデルチューニング

チューニング結果を効果測定。MLOpsなツールがある。

データを取得する先に応じて3つ大別

  • グラウンディング:独自のデータやウェブ検索、自社リソースもしくは集合知ってこと?
  • RAG: 外部の情報源(ドキュメントやデータベースなど)、所有者が他社のデータソース
  • 関数呼び出し: 外部APIとやり取りして、リアルタイム情報を取得。一般公開APIなどへのリクエスト

調べた用語

  • ML: machine learningの略。意味はそのまま機械学習
  • LLM: large language modelsの略。意味はそのまま大規模言語モデル
  • モダリティ: AIの話題では画像、音、テキストといった情報の種類のこと。modality。
  • グラウンディング: モデルの出力を検証可能な情報源に紐付ける仕組み。grounding。
  • レスポンシブル:「責任ある」「信頼できる」という意味。responsible。
  • MLOps: 機械学習モデルをビジネス適用するために必要な開発~分析~運用を効率化するための手法。機械学習(ML)と運用(Operations)を組み合わせ。
  • 検索拡張生成(RAG): 欲しい情報を検索して抽出し、その内容をもとに生成AIに回答を生成させる。Retrieval-Augmented Generationの略。
  • ハルシネーション: 人工知能(AI)が事実に基づかない情報や、存在しない情報を生成する現象。

余談・感想など

モデルのトレーニングについてこちらのページを参考にさせていただきました。

https://engage-ai.co/ja/AIモデルトレーニングとは/

トレーニングデータの収集が必要になるらしく、データ収集においてスクレイピングという話題も出てきているため、自分が楽したいと安直に思い作成しPCを破壊仕掛けたあのコードを生み出す知見がもしかしたら今後のAIモデルのラーニングの作業に役に立つと思うのと、ここでもハッカソンに参加するための布石だったのか?と思いたくなってしまいました。運命かな?

https://zenn.dev/tkwbr999/articles/020eaf848c17cb

あと、プロンプト設計の重要さが身に染みました。「原則と戦略の上での試行錯誤」つまり知識がある上での粘っこい対応が必要ということですよね。。。プロンプトエンジニアの存在意義を見直すという点でもいい機会に出会った気がします。

VertexAIで提供されるプロンプトを受け取りレスポンスを返すまでのフローを確認すると、生成AIでの注意すべきポイントがプロンプト・レスポンスの双方でレスポンシブルな観点が必要だということがわかりました。

モデルの作成やチューニングにはまだ知識が足りないと実感できます。

ラーニングについてもまだふわふわした理解で、ラーニングとグラウンディングするデータの違いはなんだ?みたいな気持ちになってます。

次回からはVertex API Studioのクイックチュートリアルを進めていこうと思います。

Discussion