Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CloudRunとGeminiを利用して、松尾芭蕉ぼっとを作ってみた

Avatar for yuyama137 yuyama137
December 30, 2024
26

 CloudRunとGeminiを利用して、松尾芭蕉ぼっとを作ってみた

Avatar for yuyama137

yuyama137

December 30, 2024
Tweet

Transcript

  1. モチベーション
 ・GCPにそろそろ入門したい
 
 ・LLMもしっかり勉強したい
  → 特にRAGってよく聞くが
    使ったことないな。。。
 RAGを使って気分に合った季語を使い、 


    俳句を作ってみよう! 
 ・文系大学院生の友人と温泉に行った時の話
 
 ・竹藪の中を散歩している時に
  急に俳句を読み始めた
  ・かっこいい!!
 
 ・ただ俳句のセンスなど私にはなく、
  挫折をしていた。。。
 3
  2. アーキテクチャ
 Users Cloud Run Developer (Me) Artifact Registry Vertex AI

    push
 deploy
 rag
 gemini-1.5-pro-002 
 ranking api
 6
  3. RAGを使用し、気分に合った季語で俳句生成
 季節:秋 / 気分:とても寒い。暖房はまだつけたくない。
 RAG
 VectorSearch 
 ReRanking 
 Generation

    
 季語:冷ややか / 俳句:冷ややかや 暖房はまだ 待つべきか 
 気分に合う季語一覧を取得 
 一覧を元に適切な
 季語に絞り込む
 それぞれの季語を使用し、俳句 を生成
 季語DB
 ・火恋し
 ・肌寒
 ・冷ややか
 ・そぞろ寒
  …
  (20語)
 秋 / とても寒い
 RankingAPI
 ・冷ややか
 ・冬隣
 ・温め酒
  …
  (5語)
 松尾芭蕉になりきって、
 「冷ややか」を使って俳句を詠 んでください(的な)
 7
  4. 補足 : RAG/ReRankingとは
 RAG
 ReRanking
 一般的な生成AIの課題
 
 ・学習していないことは回答できない 
 


    ・嘘をつく(ハルシネーションを起こす) 
  ことがある。
 一度検索する過程を挟み、その結果を元に生成AIが 回答することで、上記問題を解決。 
 この仕組みをRAG*と呼ぶ。
 *Retrieval Augmented Generation(検索拡張生成) 
 app
 検索
 生成
 ・RAGの検索機能を改善させる
  方法の一つ
 
 ・ベクトル検索等で抽出された候補 
  に対してLLMを適用再度ランクづけ 
 
 ・候補の中からより最適な季語を選択す る ことが可能になる
 検索結果
 8
  5. 工夫 : コーパスに使用するデータを精査
 情報量をあえて落とす
 ルールベースと組み合わせる
 ・来歴や例句等、解説以外の様々な情報が存在
 
 ・当初は全ての情報をベクトル化し、
  コーパスを作成していた 


    
 ・解説の割合が低くなり、検索の精度が低下
 解説のみをベクトル化、さらに 
 季語ごとにチャンク分割し精度向上 
 ・当初、季節の情報も合わせて検索し、 
  全てをRAGに任せることを想定
 
 ・ベクトル検索はおろか、再ランクづけの際も 
  季節を誤る事象が多発。
 季節ごとに検索インデックスを分け、 
 季節違いの誤りを排除 
 (=全てをLLMに投げると良いわけではない) 
 9
  6. まとめ
 まだまだじゃの〜
 ・俳句はそれっぽい、RAGを使えた、GCPも触れたし個人的に満足 
 
 ・芭蕉度は20 くらい?
  ・5・7・5にならないパターンもある 
  ・安易な解説する


     ・同じような俳句が出てくる等課題は山積 
 
 ・LLM(プロンプト)の精度向上はかなり難しい(らしい)
  ・いい悪いの基準はなく、 人の手によって評価される
  ・人の手で評価 → 改善 → …といった サイクルを実行する方法を模索 するのも楽しそう。
    ・いわゆるLLMOps..?
 
 ・もちろんGoogleCloudも勉強します! 
 10