外部データをRetrievalしてLLM活用する上での課題と対策案 - ABEJA Tech Blog
概要
外部データをRetrievalしてLLM活用する上での課題
関連テキストを抽出するRetrievalがうまくいかないと回答ができない
この[参考]の情報を外部から抽出するのがRetrieval
テクニック
Case1. 元データがRetrievalしにくい形の場合
例えば元の文章がWikipediaのような長文だと取りにくい
加工前の参考情報
「カビゴンってどんなポケモン?」の回答
対応案: ページ構造を意識した形で各文章を格納して与える
HTML構造ごとに加工した場合
回答
他にも
- 聞き方を明確にする
- 類似度を測るクエリ文章を置き換える
- 質問文をそのまま使うのではなくLLMで加工してから使う
- Hydeなど
- 不要な文章を削除する
- 参考情報をLLMで整形し直す
Case2: 未知の単語を含む場合
今までのRetrievalでは質問文のembeddingと参考情報のembeddingの類似度を使っていた
ここでembeddingを取得時に(embeddingのモデルにとって)未知語だと適切なembeddingが得られない(可能性がある)
対策案: 単語の共起ベースで類似度を計算する
embeddingの類似度ではなくTF-IDFなどを使う
- 質問文と参考情報に同じ単語がどれくらい使われているか?で類似度を測る
- GPTやDeepLearing以前から情報検索分野、自然言語処理で使われてるもので、BM25やTF-IDF、Bag-of-wordsなどの手法がある
- 未知語が多いデータだとこちらの方が良いかも
- embeddingとのハイブリットもあり?
他にも
- ファインチューニングする
- embeddingのモデルを変えてみる
などなど