Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLM Prompt Recoveryコンペの振り返り

ktm
July 05, 2024

LLM Prompt Recoveryコンペの振り返り

2024/7/5の関西Kaggler会での発表資料です

ktm

July 05, 2024
Tweet

Other Decks in Technology

Transcript

  1. 解法(学習データの作成、rewrite_prompt) 行いたいこと:geminiで生成したpromptがtestデータのrewrite_promptと同じような分布かどうか知りたい アイデア:mean promptと生成promptのCV/LB相関が高い ⇔ 生成promptはCV/LB相関が取れる → 同じような分布になる!? 方法 1.

    生成したrewrite_promptとmean promptサブ(public含む)とのSCSを計算 2. CV(SCS)とLBの相関を計算 3. 相関が高いGenerated prompt datasetを採用 Rewrite prompt Rewrite this … … Mean prompt dataset Generated prompt dataset 1. SCSを計算 CV(SCS) 0.567 0.445 … Mean prompt LB Improve this text. 0.58 Refine the … 0.40 … … 相関:0.86 CV(SCS) LB 2. 相関を計算 3. 相関の閾値で採用・不採用を決定 相関>0.80 採用 10
  2. 解法(mean prompt探索) • Claude haikuを用いてnltk/wordnetの単語を探索 promptの単語を入れ替え・挿入・削除を繰り返し、CVスコアが上がるpromptを探 索 • Greedy探索・Beam Search(最終サブには含まない)

    T5のtokenizerに含まれる単語の中でCVスコアが最大となるtokenをpromptの後ろ に付け足していく Beam Searchでの探索途中のプロンプト 12 Revise or Revamp this text and phrase to convey the task yet incorporating a plenteous subject, its initial purport while retaining atmosphere yet preserving any intended heartfelt tone, while keeping writing style, making only key improvements to an succinct, dispassionate, and elegant coherence. 最終mean prompt LB:0.66
  3. 解法(Text kind予測 LB + 0.003 ) Text kind:original_textの種類(email, essay, message,

    speechなど) • Host提供のデータのrewritten_textを見ると予測対象を繰り返しているサンプルを 発見 Hi John, I hope you're doing well. I wanted … Best regards, ¥n[Your Name] original_text(email) 13 例 Update this email to make it more typical and incorporate the topic of "incentive". Begin the prompt with "Update this email to...". The new version should be shorter than 53 words long. Hi John, I hope you're doing well. I wanted … Best regards, ¥n[Your Name] rewritten_text rewrite_prompt rewrite_promptにemailという original_textの情報が含まれている →Mistral 7Bでtext kindを出力する ことでLB+0.003~0.005 ※ private testデータにどれだけtext kindが含まれるpromptが存在するかはわからなかったため、一部の text kindと予測したサンプルのみに適用
  4. 解法(tone difference予測 LB + 0.01) 予測対象:rewrite_promptに書かれている文章tone変換指示単語(形容詞が多い) 14 例:toneがcasualの場合 v Rewrite

    this speech more casual rewrite_prompt Ladies and gentlemen, today I am going to ... original_text [Mean prompt] … more casual … 予測prompt { “text_kind”: “speech”, “tone_diff”: “casual”, } Mistral 7B Text_kindも同時に出力 予測方法:Mistral 7BでJSON形式出力 Hi, everyone. Today I’m gonna talk … rewritten_text moreをつけることでスコア向上
  5. 解法(ルールベースTopic予測 LB + 0.005 ) 他のrewrite_promptには含まないようなtopic単語を予測することができればスコア大幅上昇 実際に使ったルール 1. gemmaは、テキストの強調に「**」を使う傾向があり →「**」がrewritten_textに存在する場合、「**」中身をrewrite_promptに追加する

    2. Probingの結果、testデータのrewritten_textにVerseという単語が7~9%存在する →Verseがrewritten_textに存在する場合、rewrite_promptにsongを追加する ** Book Club Discussion Questions: **¥n¥n1. What does the text … rewritten_text 15 Verseの意味 サビに入る前の導入部分 例:1. の場合 rewritten_text(予測) Make the text into a book club's discussion questions Revise this text … , while writing this as a Book Club Discussion Questions, making only key… rewritten_text(実際) [Mean prompt] [Mean prompt]
  6. アイデア:rewritten_textに新たに出現した単語はrewrite_prompt由来 → rewritten_textの単語ごとにrewrite_promptに出現するか予測 ラベルの作成方法: • Label = -100(loss計算対象外): original_text, [CLS],

    [SEP], 単語のtokenの最初以外 • Label = 1: rewritten_textとrewrite_promptに共通し、original_textに含まない単語 (活用形含む) • Label = 0: それ以外の単語(stop word, 記号含む) 解法(Topic Token Classification LB + 0.01~0.02) -100 -100 -100 -100 -100 1 -100 1 0 0 0 Label [CLS] This article shows ・・・ [SEP] Positive ly rewritten this ・・・ article by Input Deberta-v3-base/large Pred CrossEntropyLoss rewritten_text original_text rewrite_prompt:Rewrite this article to positively inspire action. rewritten original prompt 1 ・・・ ・・・ ・・・ ・・・ 16 1
  7. 上位解法 • lucrareaをrewrite_promptの最後に追加(1st, 2nd, 3rd, 4th, 5th 10th) • スコアが高いmean

    prompt探索 • Mean promptとMistral 7Bの出力の文字列結合 lucrareaが出てきた理由 • T5ではtokenize時にEOS tokenの</s>が付与される(Torch, TF共通) • LBの計算にはTensroFlow版のT5が使用され、デフォルトの設定では</s>を[<, /, s, >]と分割 されてしまう • [<, /, s, >]とembedding空間で近いtokenがlucrareaとなる(理由は不明) lucrareaの意味 ルーマニア語で作品、仕事 18 lucrareaをpromptの最後に追加することでスコア上昇
  8. 上位解法 • lucrareaをrewrite_promptの最後に追加(1st, 2nd, 3rd, 4th, 5th 10th) • スコアが高いmean

    prompt探索 • Mean promptとMistral 7Bの出力の文字列結合 lucrareaが出てきた理由 • T5ではtokenize時にEOS tokenの</s>が付与される(Torch, TF共通) • LBの計算にはTensroFlow版のT5が使用され、デフォルトの設定では</s>を[<, /, s, >]と分割 されてしまう • [<, /, s, >]とembedding空間で近いtokenがlucrareaとなる(理由は不明) lucrareaの意味 ルーマニア語で作品、仕事 19 lucrareaをpromptの最後に追加することでスコア上昇
  9. まとめ • コンペ概要 LLMが与えられたテキストを書き換えるために使用されたプロンプトの予測 • 解法 LBと相関するデータセットの作成 mean promptの探索 Mistral

    7BによるTone difference、text kind予測 ルールベースによるアプローチ deberta-v3-base/largeによるtopic token分類 • 上位解法 lucrarea 23