RAG調査
名前がすごそうだけど、多分専門用語の辞書を作ってRAGする時に略語を置き換える話
実践するのは難しそう
最新の手法はカバーしてる
類似アルゴリズムの話
HNSWの説明がわかりやすい
ハイブリッド検索
圧縮と回答生成のLLMを交互に
「文書→パラメータ」ペアをMLPで学習する?
RAGした時の文書の関係ありなしをSFTする
KAG もっと機能豊富な知識グラフ?
専用のスキーマが必要
従来のRAGの課題として、「一度に複数のことを聞かれると、上手く答えられない」という課題がありました。これは、従来のRAGが「ユーザーの質問1回につき、1回までしかデータを検索できない」という、柔軟性を欠いた仕組みのせいで、発生する問題です[3]。
そこで、DeepRAGでは、マルコフ決定過程(MDP)[5]をRAGに導入することで、必要な分だけ、でも、十分な量、検索してから回答してくれるRAGを実現します。
-
二分探索木形式
-
模倣学習で検索回数を最小限にしつつ正確な回答を出す方法を学習
- どう模倣学習してる?
- LLM + ルール一定のルールで二分木を作成し、その軌跡データを保存
- 報酬: 検索の正誤とコスト
- 行動: 終了or継続, 検索or現在の知識利用
- 状態: 質問, サブクエリ, 中間回答
- 目的関数: 軌跡を模倣するため、サブクエリ→状態, サブクエリ, 文書, 状態→行動の確率の和を最大化
- どう模倣学習してる?
-
知識境界の調整: こういう質問だったら検索すべき
- どう定義される
- 最適な軌跡のデータ(選好データ)を作成(これまでのステップで作成済み)し、DPO的な方式で学習
- どう定義される
-
LLMの軌跡でLLMをfinetuningしているのか?
-
色々まとまっている
レイアウト解析 商品
- bedrock: 純粋にLLMのエンドポイントっぽい、langchainから使えそう
- segemaker: jupyterのスクリプトを実行できる、ソースとしてkendraも呼び出せるっぽい
知らなかったけどbedrock + langchain + segemaker + kendraで結構柔軟に使えそうだな
- https://qiita.com/naito_kc/items/d3f6c390ba6238a2f66d
- https://aws.amazon.com/jp/blogs/news/verifying-the-accuracy-contribution-of-advanced[…]s-on-rag-systems-built-with-amazon-kendra-and-amazon-bedrock/
- https://aws.amazon.com/jp/builders-flash/202309/kendra-llm-concierge/
- https://github.com/aws-samples/aws-ml-jp/blob/main/sagemaker/sagemaker-training/tutorial/2_2_rewriting_traing_code_for_sagemaker_pytorch.ipynb
aws抜きで考えるならlangchainエコシステムが良さそう
マルチモーダル ベクトル検索付きテンプレート
ChatUIとワークフロー付きのテンプレート
その他色んなテンプレート
langsmith
web上LLMOpsできるけど、容量制限やセキュリティを懸念するならDockerでself-host可能
aws + langchain
Langchainまとめ
Langchainはゴミ
TODO