DEV Community

Tutty
Tutty

Posted on

Personalized Language Generation via Bayesian Metric Augmented Retrieval

選定理由

ICLR2024 RejectedだがRAGをBayesで捉える点が興味深い。Personalized RAG も一段上のUXには必要となる。

Paper: https://openreview.net/forum?id=n1LiKueC4F
Code: N/A

概要

【社会課題】
異なる背景を持つユーザーに対して説明のスタイルやレベル(具体性)を個別に最適化する必要がある。LLMの普及によりこの課題はより急務となった。

【技術課題】

  • ユーザー嗜好の不確実性と動的適応: ユーザーのパーソナライズモデルは不確実で変化しうるため不確実性のモデル化と動的適応が求められる。
  • コールドスタート問題: 新規ユーザーに事前情報なしで個別化された情報を提供するのは難しい。又、学習初期に同じようなアイテムばかり推薦されるとパーソナライズモデルの学習効率が下がる。

【提案】

  • Phase 1 (パーソナライズモデルの初期学習): DPP(行列式点過程)により多様なアイテムを検索&提示しユーザーからのフィードバック(初期学習データ)を得る。

  • Phase 2 (パーソナライズモデルの利用と学習): フィードバックデータによりパーソナライズモデル(距離学習ベースのベイズモデル)の事後分布を更新する。この時、相互情報量を用いて探索と利用のバランスを調整する。

  • Phase 3(検索と推論の実行): 推論時は上記パーソナライズモデルを用いてアイテムのリランキングを行うことでパーソナライズを可能にする。

【効果】

  • 検索精度の向上: DPPとベイズモデルによりユーザー嗜好を捉えたアイテムを取得できる。
  • 生成品質の向上: 距離学習を通じてアイテムのランキングを改善し、ユーザーの嗜好を反映した説明が生成される。
  • 動的適応性の実現: 事前分布として初期状態の「均一な好み」を設定し、フィードバックを反映してユーザーの個別性に柔軟に対応可能。

【所感】
コールドスタート対策として多様性のある文書群を取得する必要があるが、行列式点過程(DPP)を使う積極的理由にはならない。OpenReviewでも同様の指摘で、ランダム選択とさほど変わらない印象。

Bayesian Metric Augmented Retrieval

fig.1

Phase 1: パーソナライズモデルの初期学習

まずコールドスタート問題に対処するために、学習初期段階でバイアスを持たないようなデータを収集する。そのために多様な文書をユーザーに提示しフィードバック(好む/好まない)を回収する。提示する文書リストはクエリと関連性があり、方向や距離に関して多様性を持つような制約を持つ必要がある。DPP (Determinantal Point Process) を用いて以下のように定式化する。

  • クエリ近傍の関連性のある文書の取得

    did1,d2,,dnfor n<N d_i \in { d_1, d_2, \dots, d_n } \quad \text{for} \ n < N
  • 方向の多様性(コサイン類似度を用いたカーネル行列)

    Ldir,ij=aiajwhere ai=diqtdiqt2 L_{\text{dir}, ij} = a_i^\top a_j \quad \text{where} \ a_i = \frac{d_i - q_t}{| d_i - q_t |_2}
  • 距離の多様性(ガウシアンカーネルを用いた行列)

    Ldist,ij=exp(distidistj2) L_{\text{dist}, ij} = \exp\left(- | \text{dist}_i - \text{dist}_j |^2 \right)
    disti=diqt2maxjdjqt2 \text{dist}_i = \frac{| d_i - q_t |_2}{\max_j | d_j - q_t |_2}

最終的には以下のような制約付き最適化問題を解く。ここでC1はユーザーに提示する文書数である。

L=Ldir+Ldist L = L_{\text{dir}} + L_{\text{dist}}
maxdet(LJ):J1,,n,J=C1 \max { \det(L_J) : J \subset {1, \dots, n}, |J| = C_1 }

この最適化問題はNP困難であるため、貪欲法や局所探索法で近似する。

Phase 2: パーソナライズモデルの利用と学習

Phase 2では、Phase 1で収集したフィードバックを基に、初期パーソナライズモデル(正定値の精度行列) AA を作成する。これによりクエリ qtq_t と文書 did_i のパーソナライズされたマハラノビス距離が算出される:

cA(qt,di)=(qtdi)A(qtdi) c_A(q_t, d_i) = (q_t - d_i)^\top A (q_t - d_i)

上記距離はユーザーフィードバックを考慮し、以下のRelevance関数に使用される。ユーザーが文書 did_i を好む場合は +1+1 、好まない場合は 1-1 となる関数である。

R(qt,di,A0)=+1 if cA0(qt,di)11 if cA0(qt,di)>1 R(q_t, d_i, A_0) = \begin{aligned} +1 & \text{ if } c_{A_0}(q_t, d_i) \leq 1 \\ -1 & \text{ if } c_{A_0}(q_t, d_i) > 1 \end{aligned}

tt を反復回数とした場合にユーザーごとに定義される事前分布は以下のWishart分布とした。:

Pt1Wp(mt1,Σt1) P_{t-1} \sim W_p(m_{t-1}, \Sigma_{t-1})
  • mt1m_{t-1} : 自由度(モデルの確信度、大きいほど嗜好に対してpeakyになる)
  • Σt1\Sigma_{t-1} : スケール行列(ユーザー嗜好の方向性)

事前分布によるパーソナライズされた検索を行いながら、phase1と同様にフィードバックを収集しパーソナライズモデルを更新する。この段階では探索と利用のバランスを取りながらユーザーに文書を提示&学習する。学習はベイズ統計の枠組みを利用し、パーソナライズモデルの距離関数の事後分布を更新する。距離関数はマハラノビス距離に基づいており、ユーザー嗜好を反映する行列 A0A_{0} がその核となる。
事後分布は事前分布と同様にWishart分布で表す。これは推定対象となる A0A_{0} が(共分散行列でなく)精度行列であるため、Wishart分布の共役事前分布が(逆Wishart分布でなく)Wishart分布でモデル化できることに因る。

PtWp(mt,Σt) P_t \sim W_p(m_t, \Sigma_t)
  • mtm_t : 更新された自由度(フィードバックが増えると大きくなる)
  • Σt\Sigma_t : ユーザー嗜好を反映したスケール行列

新しいクエリに対しては、最大相互情報量(Mutual Information)に基づいて文書をランキングする。相互情報量が最大の文書を選ぶことでモデルの不確実性を効率的に減少させ、次の学習に最も寄与する文書を選択しやすくする。

新しい事後分布 PtP_t は、以下の最適化問題を解くことで更新される。

minKL(PPt1)τiIt+ItRtilogP(cA(qt,di)1) \min \text{KL}(P | P_{t-1}) - \tau \sum_{i \in I_t^+ \cup I_t^-} R_t^i \log P(c_A(q_t, d_i) \leq 1)
  • KLダイバージェンス: 過去の分布 Pt1P_{t-1} から新しい分布 PP へのずれを最小化
  • 第2項: 新たに収集したフィードバックを反映させる項目
  • τ\tau : 事前情報とフィードバックの重みを調整するハイパーパラメータ

この計算法は変分ベイズとは異なり、事後分布を解析的に計算している。

img_x1

Phase 3: パーソナライズモデルの利用

Phase 2で学習したユーザーのパーソナライズモデル(距離関数の事後分布)を固定し、パーソナライズされた検索と応答生成を行う。phase2と異なるのは完全に利用(Exploitation)のみの視点であるため、距離を最小化する基準で文書をランク付けし、上位 kk 件を選択する。

σti2=(qtdi)Σf(qtdi) \sigma_{ti}^2 = (q_t - d_i)^\top \Sigma_f (q_t - d_i)
Pf(cA(qt,di)1)=cdf(1σti2) P_f(c_A(q_t, d_i) \leq 1) = \text{cdf}\left(\frac{1}{\sigma_{ti}^2}\right)

実験

実験設定

  • データセット: ChatGPT-3.5を用いてユーザータイプとして100種類の職業、50種のトピック、合計5000の文書を生成。

  • 評価指標: 検索性能は Top-k における Precision と HitRate、応答性能は ROUGE(応答の意味的なRecall), G-Eval(ユーザーの嗜好を捉えたか)

  • 比較手法: BM25(sparse retriever), MIPS(dense retriever), Euclid(固定距離関数)

実験結果

検索性能

  • 全ての条件において提案手法が BM25 や Dense Retriever(MIPS)を上回る性能を達成。
  • 特にPhase 2の探索と利用のバランス調整により、初期段階から高い学習効率を示した。

tb1

応答性能

  • ROUGEスコア、G-Eval で提案手法が他手法を上回る結果を達成。

tb2

結論

提案手法は、ユーザー嗜好を効率的に学習し、文書ランキング精度と生成品質を向上させた。特に、探索と利用のバランス調整(Phase 2)と固定されたパーソナライズモデルの利用(Phase 3)の効果が顕著で、幅広いユーザータイプに対する柔軟な適応性が確認された。

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay