前回のまとめを書きおこす前にもくもく会がやって来てしまいました・・・。多忙を極めているからこその勉強時間としてのもくもく会、という訳で、今宵もキャッチアップを進めていきたいと思います。
お付き合い頂ける方、今宵もどうぞよろしくお願いいたします。
気になった話
スプレッドシートからのデータ要約とクエリ処理におけるeparseと大規模言語モデルの使用
【問題背景】
LLMはテキストベースのドキュメントを扱うのには適しているが、Excelスプレッドシートのような表形式のデータを扱うのには向いていない。表形式データをLLMで上手く扱うにはどうすれば良いか?
【典型的なETLワークフロー】
1)ドキュメントの種類を識別し、コンテンツを抽出
2)テキスト要素をドキュメントに分割
3)分割したドキュメントをベクトルDBに保存
4)ベクトルDBから回答や要約に必要な情報をクエリ
【この方法の問題点】
1)機械的にExcelシートの内容を分割しようとすると論理的に破綻したチャンクに分割されてしまう
2)大きすぎるチャンクはコンテキストサイズ制限にかかる
3)論理破綻したチャンクを元にした要約は不正確になる
4)LLMによる離散値のルックアップ性能は低い
【解決案】
eparseライブラリによってExcelシートからサブテーブルを抽出し、論理的に整合したセグメンテーションを可能にする。
サブテーブルに分けたデータをMap-reduceで要約したら良い感じになった、という話が面白い。ちゃんと意味のある単位でチャンク分けされていることが重要なんだなと感じる。
LangSmithを活用してファインチューニングしてみる話
LangSmithにはLLMへのプロンプトと生成結果が自動的に記録されるため、その結果を品質で選別し、質の高いデータセットでファインチューニングしてみようという記事。
具体的にはこちらのColabのコードが参考になる。
LangSmith + LLaMA Fine-tuning Guide
v0.0.266 (2023.08.16)
v0.0.267 (2023.08.18)
v0.0.268 (2023.08.19)
v0.0.269 (2023.08.22)
v0.0.270 (2023.08.22)
v0.0.271 (2023.08.23)
v0.0.272 (2023.08.24)
v0.0.273 (2023.08.25)
v0.0.274 (2023.08.27)
v0.0.275 (2023.08.29)
v0.0.276 (2023.08.30)