
この記事は下記の方におすすめ
- 5days GenAI Intensive Courseに興味がある方
- Kaggleに参加されている方
- 生成AIに興味がある方
はじめに(5days Gen AI Intensive Course with Google 2025を受講して)
Googleの5days GenAI Intensive Course 2o25に参加しました。
5days Gen AI Intensive Course with Googleとは?
開催期間:2025年3月31日(木)から2025年4月4日(金)の5日間
概要:このコースは5日間でプロンプトエンジニアリングからMLOpsまで、Generative AIの幅広い分野を網羅的に学べる貴重な機会でした。
サンプルコードがKaggle Notebookで提供され、毎日YouTubeのライブストリームやPodCastが配信されます。
テキストチャットはDiscordを使って行われました。
Kaggleで実践!5日間の生成AI集中講座 day1からday5まで
まずはGoogle 5days Intensive Courseの概要を説明します。
5days GenAI Intensive Courseの内容
- Day1:プロンプティング
- Day2:Document Q&A&RAG、エンベディングと類似スコア、エンベディングの分類
- Day3:Gemini APIによる関数呼び出し、LangGraphを使ったエージェントの構築
- Day4:4日目 - カスタムモデルの微調整、グーグル検索のグラウンディング
- Day5:これまでの振り返り、生成AIのMLOps
Kaggleのサンプルコードが1つまたは2つ毎日送信され、そのコードを実行しながら学習を進めていきます。
YouTubeLiveStreamやPodcastが配信され、それぞの話題についての配信がありました。
以下、Day1からDay5まで簡単に説明します。
Day 1: 基盤モデルとプロンプトエンジニアリング
WhitePaperと呼ばれるPDFが配布され、そのPDFには大規模言語モデル (LLM) の進化の歴史と、その基盤となるTransformerアーキテクチャなど背景が書かれています。
このWhitePaper PDFとは別にKaggke Notebookのサンプルコードが配布されます。このNotebookを進めていく形となります。
Day1のサンプルコードでは、プロンプトエンジニアリングの重要性やその効果的なテクニック、また各種パラメータ(TemperatureやTop-K、Top-P)が生成結果に与える影響についても説明しています。
プロンプトテクニックとしては、ゼロショット(Zero-shot)プロンプティング、フューショット(Few-shot)プロンプティング、Chain of Thoughtプロンプティングなどが紹介されていました。
プロンプティングメモ
- ゼロショットプロンプティング:事前知識なしでタスクを依頼。
- フューショットプロンプティング:いくつか例を示してからタスクを依頼。
- Chain of Thoughtプロンプティング:答えにいたるまでの思考プロセスも一緒に説明するよう依頼。
Day 2: 埋め込みとベクトルデータベース
Day2では埋め込み (Embeddings) の概念と、テキストデータを数値ベクトルとして表現する方法が紹介されています。
文章をベクトルデータベース化し、テキストデータを類似度の高い情報を抽出しています。類似度を可視化するため、ヒートマップで類似度を表示するなどもサンプルコードに含まれています。
また、Kerasでニュース記事をカテゴリ分類するコードも提供されています。
AG (Retrieval-Augmented Generation) の基本的な考え方に触れ、後の推薦システム構築への基礎を築きました。
Day2のサンプルコード
- RAGとのドキュメントQ&A
- エンベディングと類似スコア
- Kerasでエンベディング分類
Day 3: 生成AIエージェント
Day3では、生成AIエージェントの概念と、自律的にタスクを実行するAIシステムの構築について紹介されています。
LangGraphなどのツールを用いて、複数のLLMや外部ツールを連携させる方法が紹介されています。
関数呼び出し (Function Calling) の機能を利用することで、LLMが外部APIやデータベースと連携し、より複雑なタスクを実行できることを理解しました。
この辺りから難しくなり、サンプルコードを実行するだけでは理解するのが難しくなってきます。理解度がまだまだなので、Day3は継続して学習予定です。
Day3のサンプルコード
- Gemini APIによる関数呼び出し
- LangGraphを使ったエージェント構築
Day 4: ドメイン固有LLM
Day4では特定のドメインやタスクに特化したLLMの重要性と、その構築手法について学びました。
ファインチューニングの概念と、既存モデルを特定のデータセットで再学習させることで、性能を向上させる方法や、Google Searchと連携することで、モデルが最新情報に基づいて回答を生成するグラウンディングなどのテクニックが紹介されていました。
今後、AIエージェントが主流になっていくなか、こういった特化型LLM構築は必要性が求めらえると考えているので、特化型LLMはMCPなども学んでいきたいと思います。
Day4のサンプルコード
- カスタムモデルの微調整
- Google検索のグランディング
Day 5: これまでの振り返り、WhitePaperで生成AIのMLOps紹介
Day5はサンプルコードはなく、これまでの振り返りです。
WhitePaperやYouTubeで、MLOps (Machine Learning Operations) の考え方をGenerative AIの分野に応用し、モデルの開発からデプロイ、運用までのライフサイクル全体を効率化する方法を学びました。
Vertex AIのツール群が、Gen AIアプリケーションの構築と運用をどのように支援するかについて概要を把握しました。
5 days GenAI Intensive Course with Googleの課題:キャップストーンプロジェクト
キャップストーンプロジェクトでは、5days GenAI Intensive Course with Googleで学んだことから、自由にシステムを構築して提出するという課題でした。
YouTubeでキャップストーンプロジェクトの解説もしてみました
キャップストーンプロジェクトの課題
キャップストーンプロジェクトのテーマは海外のKaggleユーザーからも人気のある日本のマンガ推薦システムを作りました。
全てのマンガからではなく、自分がお気に入りのマンガの中からユーザーの好みに合ったマンガを提案するシステムを作ってみました。
テーマ選定の理由
- 5日間で得た知識(特に埋め込みとRAG)を実践的に活用したいと考えたため。
- 大規模なベクトルデータベースを構築する時間的制約を考慮し、ローカルのDataFrameで実現可能な範囲でMVP(Minimum Viable Product)を構築することを目指したため。
- 日本のマンガを広くしてもらいたいため
活用したGenerative AIの機能と実装
埋め込み (Embedding)
ローカルデータフレーム に格納した漫画のタイトルやあらすじなどのテキスト情報を、Gemini API (または類似のモデル) を用いてベクトル化しました。
マンガの情報はAniList APIから情報を取得し、データフレームに格納しています。
また、ユーザーの好きな漫画やキーワードなどの入力に基づいて、同様に埋め込みベクトルを生成することを計画していました。
(課題までにユーザーの入力から埋め込みベクトル生成まで間に合いませんでした)
類似度計算
自分がお気に入りの漫画のあらすじをベクトル化してコサイン類似度 を算出し、類似度の高い漫画を特定しました。【例】Dragon BallとOne Pieceのあらすじは似ているなど。
scikit-learn などのライブラリの利用しています。
推薦生成 (RAG:
類似度計算で上位となった漫画のタイトル、あらすじ、ジャンル などの情報をプロンプトに含め、Gemini API を通じて推薦文を生成する Retrieval-Augmented Generation (RAG) の構成の実装を想定していました。
Few-shot prompting や JSON出力 などのプロンプト設計も検討したっかったですが、ローカルのデータフレーム構築に時間がかかり、プロンプティングの試行錯誤に時間が取れませんでした。
工夫した点と苦労した点
大規模なデータセットを利用する代わりに、AniList APIから情報収集し、ローカルデータフレームで扱いやすいサイズに調整しました。
その流れで、大規模なベクトルデータベース(ChromaDB、FAISS)の代わりに、pandas のデータフレームと scikit-learn の類似度計算を利用することで、軽量な類似度計算を実行しました。
限られたAPI利用: AniList APIは無料で取得できるので、AniList APIから取得したデータを前処理・補完して利用しました。
キャップストーンプロジェクトで使用した技術スタック
-
メモ
- Python
- Pandas、NumPy
- Gemini API
- scikit-learn (類似度計算)
- AniList API
5days GenAI Intensive Course with Google 2025を通して得られた成果と今後の展望
Kaggleのローカル環境 でも、埋め込みと類似度計算、そしてRAG の基本的な流れを実装できました。
しかし、5日間で学ぶには非常に多くの知識が必要で(サンプルコードは少ないですが、求められる知識がたくさんあり、その都度調べていた形でした。
また、英語ということで言語として理解するまでがまだ時間がかかり、とくにYouTubeのLiveStreamやPodCastの情報は効率的に得ることができませんでした。
今後の展望として、より大規模なデータセットの利用やStreamlit や Gradio を用いた簡単なUIの構築を試したいと思います。
ココがおすすめ
生成AIのプロンプトテクニックから始まり、テキストエンベディング、RAGやエージェントの構築、特定LLMなどかなり幅広い分野の技術がサンプルコード付きで学べたこと
ココに注意
自分自身が英語が苦手なこともあり、リスニングやテキストチャットに苦労したこと
学習効率アップ!情報整理に役立ったNotebookLMの活用術
今回、末尾のSpecial Thanksでも紹介している「こっしー」さんに、Notebook LMを教えていただきました。
NotebookLMの概要
NotebookLMは、ソースとしてPDFファイルやテキストファイル、音声ファイルのアップロードのほか、Googleドライブとの連携やWebサイトのリンクも追加できます。
ソースに追加された資料の中身を情報源として使います。
また、ソースの引用元も提示してくれるので、どの資料から回答したのかファクトチェックにも役立ちます。
NotebookLMはこんな方におすすめ
- ライターやコンテンツ制作者: 情報収集や記事構成、下書き作成の効率化に。
- ビジネスパーソン: 会議の議事録、契約書、市場調査レポートなどの内容把握や分析に。
- 研究者や学生: 論文や参考文献を大量に読み、レポートを作成する際に。
5-days Gen AI Intensive Course with Google2025 まとめ
Kaggle Notebook境下 でも、Generative AIの基本的な機能を組み合わせることで、実用的なMVPを作成できることを実感しました。
また、普段はあまり使うことのないAPIも使い、情報収集からプロンプトテクニックまで様々な技術や知識を学ぶことができました。
NotebookLMという便利ツールを知れたことも大きかったです。
今回の経験を通じて、生成AIの可能性と、今後のさらなる学習への意欲が高まりました。今後、同様の課題に取り組む読者に向けて、スモールスタートの重要性や、既存の技術との組み合わせ の有効性などを共有します。
Special Thanks
今回の5days Gen AI Intensive Course with Google参加にあたって開催していただいた方々、マナビDXアラムナイで交流してくださった、こっしーさん、マックさん、steelpipeさん、imacocoさん、NGUSさん、kubotaさん、色々情報共有いただきありがとうございました。
慣れないKaggle、慣れない英語、慣れない生成AIで色々大変でしたが、これから生成AIを学んでいく良いキッカケとなりました。
また機会があればぜひ一緒にKaggleに挑戦しましょう!