7.3K Views
February 26, 25
スライド概要
日本酒×ローカルLLMの取り組みです。趣味です。
リサーチエンジニア
Sake RAG 日本酒の知識に特化した対話システムは作れるか
自己紹介 広告会社で働くリサーチエンジニア (X account, kaeru-0.5B, @mryo39)
目次 ● ● ● ● ● ● 自己紹介 目的 何を作ったか どう作ったか 作ったものの分析 まとめ 使用したモデル・ライブラリのライセンス ● YomiToku :CC BY-NC-SA 4.0 ● cl-nagoya/ruri-large :Apache-2.0 ● google/gemma-2-2b-it :Gemma
目的 ● 日本酒の知識に特化した質問応答システムの実装と評価 背景 ● ● 社会:生成AI(今回は大規模言語モデル)は急速に発展し続けているが 社会実装の例がまだまだ少ない 個人:研究が盛り上がる一方で、 実応用例を継続して構築・発信できる体制を自分で作って運用したい
疑問 ● ChatGPTやGeminiで良いのでは? → 予算があるならOKだと思います。私には予算がありません! ● NotebookLMで良いのでは? → NotebookLMを単体で使うだけで解決する課題なら良いと思います。 個人的には対話させたり音声を付けたりしたいので制約が強いと感じます。
方針 ● 従量課金型のAPIは使わない ○ お金は気にせず試行錯誤できるものを作る ● 自分のやりたいことに特化したモデルを作る ○ 全てのことはできなくて良い、まずは日本酒の知識に尖らせたい ● 特化したことでできるようになったこと、できなかったことを整理する ○ 次何をするかを決める ○ 細かいことは作ってから考える
何を作ったか ● 日本酒の知識に特化した質問応答システム 質問 システムの回答 イソ酪酸エステル類の香気成分の 特徴を挙げてください。 イソ酪酸エステル類は、杏様青りんご様等の ややオイリーな香気を持つ成分である。 鹿児島6号酵母はどの種類の お酒の製造に用いられることが 多いか、使用用途を一つ挙げてくだ さい。 鹿児島6号酵母は黒糖焼酎製造用として使用されることが多 いです。 薮田式の主な利点は何ですか? 薮田式は、自動圧搾装置による機械化により効率的な上槽 作業が行えるため、大規模仕込の膠に用いられることが多 い。
https://huggingface.co/spaces/ryota39/sake-sonar ● ● ● デモを作りましたが蝸牛のように 低速のため体験が非常に悪い cpu推論がネック 要モデル軽量化 or高速推論の強化
score: 日本酒ベンチマークの回答を RAGASで評価 (評価者ChatGPT4o) 何を作ったか ● 日本酒の知識に特化した質問応答システム 提案手法 ChatGPT4o GPT4o-turbo Gemma + RAG o3-mini gemini-1.5-pro o1 gemini-1.5-flash ※ scoreはRAGASの評価項目の内、回答の正確性・関連性・意味的類似度の平均値から算出
どう作ったか ー 本体 ー ● まず動くものを作る、後で作りこむ ○ 計画はNotionに書いて進捗を可視化
どう作ったか ー 評価 ー ● まず動くものを作る、後で作りこむ ○ 計画はNotionに書いて進捗を可視化
パイプラインの設計と簡易実装 ● ここからpdfをダウンロードできるんか~
パイプラインの設計と簡易実装 ● これでpdfを文字に変換できるんか~ [ https://github.com/kotaro-kinoshita/yomitoku ] クラウドでGPUインスタンスをレンタルして実行 (RunPod T4インスタンス 1台, 5年間分の文献で2~3 時間程度)
パイプラインの設計と簡易実装 ● 文章をAIが扱える”ベクトル”に変換するぞー 例文:ブドウSyrahに含まれる胡椒様香気成分 [ https://huggingface.co/cl-nagoya/ruri-large ] [ https://platform.openai.com/tokenizer ] クラウドでGPUインスタンスをレンタルして実行 (RunPod T4インスタンス 1台, faiss-cpuで検索 するためのvectorstoreを作成)
パイプラインの設計と簡易実装 ● 質問に答えられるAIを見つけてきたぞー ○ 8兆トークン訓練させ、QAにも対応したモデル ○ 小型で高価なPCを必要としない (最近のノートPCで動く) ○ 小型な分ChatGPTやGeminiに賢さは劣る [ https://huggingface.co/google/gemma-2-2b-jpn-it ]
開発の流れ ● 動くことを確認したため、上述した工程を半自動化 📖URLを指定 → PDFを一括ダウンロード 📚フォルダ指定 → テキスト(.md)に一括変換 📦フォルダ指定 → ベクトルDBに変換 📦+🤖ベクトルDB+小型AI → 回答生成
日本酒知識評価用ベンチマークの構築 ● テスト問題をつくるぞー ○ ○ 醸造協会誌5年分の原稿からランダムに選択し 仮の問題を手作業で作成 → 各年10問×5年分=50問作成 学会誌から抜粋する過程の作問時に課題を確認
日本酒知識評価用ベンチマークの構築 ● 比較対象のモデルに解いてもらうぞー ○ RAGモデル vs. フロンティアモデル 📒 Gemma-2-2B-it-jpn + RAG vs. ChatGPT4o o1 / o3-mini gemini-1.5 flash / pro
日本酒知識評価用ベンチマークの構築 ● 比較対象のモデルに解いてもらうぞー ○ RAGモデル vs. フロンティアモデル イメージ 大人 高校生 テスト範囲の 教科書は持込不 可 テスト範囲の 教科書を持込可 📒 Gemma-2-2B-it-jpn + RAG vs. ChatGPT4o o1 / o3-mini gemini-1.5 flash / pro
score: 日本酒ベンチマークの回答を RAGASで評価 (評価者ChatGPT4o) 質問応答の自動定量評価 ● 日本酒の知識に特化した質問応答システム 提案手法 ChatGPT4o GPT4o-turbo Gemma + RAG ※回答が一意に定まらない等 作問に課題があることを確認 ※スコアの高低 = モデルの優劣 とは言い切れない o3-mini gemini-1.5-pro o1 gemini-1.5-flash ※ scoreはRAGASの評価項目の内、回答の正確性・関連性・意味的類似度の平均値で算出
まとめ ● ● ● 日本酒の知識に特化した質問応答システムを実装し評価した 作問で評価モデルにとって公平な問題を作ることが非常に難しかった 自身の環境ではサクサク動くが、広く使ってもらうデモ環境だと制約が厳しいことを 確認した→広めるにはさらなる軽量化が必要 ● 最初の問い:日本酒の知識に特化した対話システムは作れるか ○ ○ ○ 私の回答:文書内の知識を絶対的な正解とすれば、 最新のモデルと同等またはそれ以上の性能のQAシステムは作れる 回答のきめ細かさや作りこみの余地はありそう ただし、最新のモデルも十分答えられる チャットボットに限らず広い用途を探索した方がより高い価値が作れそう