Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LaMP: When Large Language Models Meet Personalization, Selemi+, University of Massachusetts Amherst (w/ Google Research), arXiv'23 #536

Open
AkihikoWatanabe opened this issue Apr 26, 2023 · 5 comments

Comments

@AkihikoWatanabe
Copy link
Owner

https://arxiv.org/abs/2304.11406

@AkihikoWatanabe
Copy link
Owner Author

AkihikoWatanabe commented Apr 26, 2023

概要

Personalizationはユーザのニーズや嗜好に応えるために重要な技術で、IRやRecSysで盛んに研究されてきたが、NLPではあまり実施されてこなかった。しかし、最近のタスクで、text classificationやgeneration taskでPersonalizationの重要性が指摘されている。このような中で、LLMでpersonalizedなレスポンスを生成し、評価することはあまり研究されていない。そこで、LaMPベンチマークを生成し、LLMにおけるPersonalizationをするための開発と評価をするための第一歩として提案している。

Personalizing LLM Outputs

LLMに対してPersonalizedなoutputをさせるためには、profileをpromptに埋め込むことが基本的なアプローチとなる。

Problem Formulation

まず、user profile(ユーザに関するrecordの集合)をユーザとみなす。データサンプルは以下の3つで構成される:

  • x: モデルのinputとなるinput sequence
  • y: モデルが生成することを期待するtarget output
  • u: user profile(ユーザの嗜好やrequirementsを捉えるための補助的な情報)
    そして、p(y | x, u) を最大化する問題として定式化される。それぞれのユーザuに対して、モデルは{(x_u1, y_u1,)...(x_un, y_un)}を利用することができる。

A Retrieval Augmentation Approach for Personaliozing LLMs

user profileは基本的にめちゃめちゃ多く、promptに入れ込むことは非現実的。そこで、reteival augmentation approachと呼ばれる手法を提案している。LLMのcontext windowは限られているので、profileのうちのsubsetを利用することが現実的なアプローチとなる。また、必ずしも全てのユーザプロファイルがあるタスクを実施するために有用とは限らない。このため、retrieval augmentation approachを提案している。
retrieval augmentation approachでは、現在のテストケースに対して、relevantな部分ユーザプロファイルを選択的に抽出するフレームワークである。

image

(x_i, y_i)に対してpersonalizationを実現するために、3つのコンポーネントを採用している:

  1. query generation function: x_iに基づきuser profileからrelevantな情報を引っ張ってくるquery qを生成するコンポーネント
  2. retrieval model R(q, P_u, k): query q, プロファイルP_u, を用いて、k個のrelevantなプロファイルを引っ張ってくるモデル
  3. prompt construction function: xとreteival modelが引っ張ってきたエントリからpromptを作成するコンポーネント
    1, 2, 3によって生成されたprompt x^barと、yによってモデルを訓練、あるいは評価する。
    この研究では、Rとして Contriever Contrirver #540 , BM25, random selectionの3種類を用いている。

LaMPベンチマーク

GLUEやSuper Glue、KILT、GENといったベンチマークは、"one-size-fits-all"なモデリングと評価を前提としており、ユーザのニーズに答えるための開発を許容していない。一方で、LaMPは、以下のようなPersonalizationが必要なさまざまなタスクを統合して作成されたデータセットである。

  • Personalized Text Classification
    • Personalized Citation Identification (binary classification)
      • Task definition
        • user u が topic xに関する論文を書いたときに、何の論文をciteすべきかを決めるタスク
        • user uが書いた論文のタイトルが与えられたとき、2つのcandidate paperのうちどちらをreferenceとして利用すべきかを決定する2値分類
      • Data Collection
        • Citation Network Datasetを利用。最低でも50本以上論文を書いているauthorを抽出し、authorの論文のうちランダムに論文と論文の引用を抽出
        • negative document selectionとして、ランダムに共著者がciteしている論文をサンプリング
    • Profile Specification
      • ユーザプロファイルは、ユーザが書いた全てのpaper
      • titleとabstractのみをuser profileとして保持した
    • Evaluation
      • train/valid/testに分け、accuracyで評価する
    • Personalized News Categorization (15 category分類)
      • Task definition
        • LLMが journalist uによって書かれたニュースを分類する能力を問うタスク
        • u によって書かれたニュースxが与えられた時、uの過去の記事から得られるカテゴリの中から該当するカテゴリを予測するタスク
      • Data Collection
        • news categorization datasetを利用(Huff Postのニュース)
        • 記事をfirst authorでグルーピング
        • グルーピングした記事群をtrain/valid/testに分割
        • それぞれの記事において、記事をinputとし、その記事のカテゴリをoutputとする。そして残りの記事をuser profileとする。
      • Profile Specification
        • ユーザによって書かれた記事の集合
      • Evaluation
        • accuracy, macro-averaged F1で評価
    • Personalized Product Rating (5-star rating)
      • Task definition
        • ユーザuが記述したreviewに基づいて、LLMがユーザuの未知のアイテムに対するratingを予測する性能を問う
      • Data Collection
        • Amazon Reviews Datasetを利用
        • reviewが100件未満、そしてほとんどのreviewが外れ値なユーザ1%を除外
        • ランダムにsubsetをサンプリングし、train/valid/testに分けた
        • input-output pairとしては、inputとしてランダムにユーザのreviewを選択し、その他のreviewをprofileとして利用する。そして、ユーザがinputのレビューで付与したratingがground truthとなる。
      • Profile Specification
        • ユーザのレビュ
      • Evaluation
        • ttrain/valid/testに分けてRMSE, MAEで評価する
  • Personalized Text Generation
    • Personalized News Headline Generation
      • Task definition
        • ユーザuが記述したニュースのタイトルを生成するタスク
        • 特に、LLMが与えられたprofileに基づいてユーザのinterestsやwriting styleを捉え、適切にheadlinに反映させる能力を問う
    • Data Collection
      • News Categorization datasetを利用(Huff Post)
      • データセットではauthorの情報が提供されている
      • それぞれのfirst authorごとにニュースをグルーピングし、それぞれの記事をinput, headlineをoutputとした。そして残りの記事をprofileとした
    • Profile Specification
      • ユーザの過去のニュース記事とそのheadlineの集合をprofileとする
    • Evaluation
      • ROUGE-1, ROUGE-Lで評価
    • Personalized Scholarly Title Generation
      • Task Definition
        • ユーザの過去のタイトルを考慮し、LLMがresearch paperのtitleを生成する能力を測る
      • Data Collection
        • Citation Network Datasetのデータを利用
        • abstractをinput, titleをoutputとし、残りのpaperをprofileとした
      • Profile Specification
        • ユーザが書いたpaperの集合(abstractのみを利用)
    • Personalized Email Subject Generation
      • Task Definition
        • LLMがユーザのwriting styleに合わせて、Emailのタイトルを書く能力を測る
      • Data Collection
        • Avocado Resaerch Email Collectionデータを利用
        • 5単語未満のsubjectを持つメール、本文が30単語未満のメールを除外、
        • 送信主のemail addressでメールをグルーピング
        • input _outputペアは、email本文をinputとし、対応するsubjectをoutputとした。他のメールはprofile
      • Profile Specification
        • ユーザのemailの集合
      • Evaluation
        • ROUGE-1, ROUGE-Lで評価
    • Personalized Tweet Paraphrasing
      • Task Definition
        • LLMがユーザのwriting styleを考慮し、ツイートのparaphrasingをする能力を問う
      • Data Collection
        • Sentiment140 datasetを利用
        • 最低10単語を持つツイートのみを利用
        • userIDでグルーピングし、10 tweets以下のユーザは除外
        • ランダムに1つのtweetを選択し、ChatGPT(gpt-3.5-turbo)でparaphraseした
        • paraphrase版のtweetをinput, 元ツイートをoutputとし、input-output pairを作った。
      • User Profile Specification
        • ユーザの過去のツイート
      • Evaluation
        • ROUGE-1, ROUGE-Lで評価

@AkihikoWatanabe
Copy link
Owner Author

実験

Experimental Setup

  • FlanT5-baesをfinetuningした
  • ユーザ単位でモデルが存在するのか否かが記載されておらず不明

結果

  • Personalization入れた方が全てのタスクでよくなった
  • Retrievalモデルとしては、randomの場合でも良くなったが、基本的にはContrirverを利用した場合が最も良かった
    • => 適切なprofileを選択しpromptに含めることが重要であることが示された
  • Rが抽出するサンプル kを増やすと、予測性能が増加する傾向もあったが、一部タスクでは性能の低下も招いた
  • dev setを利用し、BM25/Contrieverのどちらを利用するか、kをいくつに設定するかをチューニングした結果、全ての結果が改善した
  • FlanT5-XXLとgpt-3.5-turboを用いたZero-shotの設定でも実験。tweet paraphrasingタスクを除き、zero-shotでもuser profileをLLMで利用することでパフォーマンス改善。小さなモデルでもfinetuningすることで、zero-shotの大規模モデルにdownstreamタスクでより高い性能を獲得することを示している(ただし、めちゃめちゃ改善しているというわけでもなさそう)。
    image
    image
    image

@AkihikoWatanabe
Copy link
Owner Author

LaMPによって可能なResearch Problem

Prompting for Personalization

Evaluation of Personalized Text Generation

  • テキスト生成で利用される性能指標はユーザの情報を評価のプロセスで考慮していない
  • Personalizedなテキスト生成を評価するための適切なmetricはどんなものがあるか?

Learning to Retrieve from User Profiles

  • Learning to RankをRetrieval modelに適用する方向性

@AkihikoWatanabe
Copy link
Owner Author

LaMPの作成に利用したテンプレート一覧
image

@AkihikoWatanabe
Copy link
Owner Author

実装とleaderboard
https://lamp-benchmark.github.io/leaderboard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant