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

Ask-LLM論文紹介: How to Train Data-Efficient LLMs

S. Ota
March 17, 2024

Ask-LLM論文紹介: How to Train Data-Efficient LLMs

Ask-LLMの論文紹介、プロトタイプ実装と予備実験

Ask-LLMは、DeepMindが2024年2月にarXivに発表した論文で使用されている手法です。LLMの事前学習データを代理LLMを使ってスコア付けし、高品質なデータのみフィルタリングすることで、事前学習のデータ効率を向上させます。最大で90%のデータを削除しても全データでの性能を上回り、最大で70%高速化します。

S. Ota

March 17, 2024
Tweet

More Decks by S. Ota

Other Decks in Technology

Transcript

  1. Ask-LLM論文紹介 How to Train Data-Efficient LLMs Noveen Sachdeva et al.,

    2024. arXiv preprint arXiv:2402.09668 東京大学松尾研GENIACプロジェクトTeam Kumagai Susumu Ota 2024-03-17 1
  2. 実験 モデル: T5-Small (60M), T5-Large (800M) 代理LLM: FLAN-T5 データセット: C4

    (184Bトークン) サンプリング: {10, 20, 40, 60, 80}% 計算資源一定 (iso-compute setting) 524Bトークン 例: 184B x 2.8 epoch = 524B 評価: 111個の下流評価タスク オーバースケーリング (右図) 0% 同サイズfullと同等 100% 上のサイズfullと同等 6
  3. 議論 スコアリングのコストは償却されるのか? スコアを計算するために、学習サンプル1個につき1回のLLM推論が必要 しかし、そのコストは大量の事前学習コストの削減によって償却される LLMの事前学習は1回限りのコストと思われがちだが、実際にはそうではない モデルによって生成されたデータを再帰的に学習させると、拡散モデルやLLMの性能が 劣化 (Shumailov et al.,

    2023; Alemohammad et al., 2023; Briesch et al., 2023) インターネットが今後も有効な学習データの供給源であり続けるかどうかが注目さ れている LLMベースのフィルターが自己消費ループへの介入として機能し、LLMの自己改善 を可能にするか、という重要な問題を提起 11
  4. 感想 LLMにタスクを実行させ、 yes の生成確率をスコアとするという部分が面白い AIにタスクを実行させる際は、ロバストな指示を出すことが重要 指示が不十分 or あいまいだと、タスク性能が低下したり、 意図しない結果を 引き起こすことがある(e.g.

    目標の誤汎化・報酬ハッキング等) 通常、スコアを出力させる際は「5段階でスコア付けしなさい。1点は〜。5点 は〜。」とするが、指示チューニングによって同様のタスクを学習している必要が ある(→高品質な代理LLMが必要) 生成確率をスコアとする手法は、生成確率が事前学習で学習されていることと、複 雑な指示チューニングが必要ない(→低品質な代理LLMで十分な可能性) 111個の下流評価タスクでサンプリングの有効性が確認されている C4において、サンプリング20%で下流タスクの性能を最大33%向上 mC4 日本語や同種のデータセットでも同様の結果が得られる可能性が高い 13
  5. Ask-LLMプロトタイプ実装 入力を forward して logits を softmax して yes の確率の和を出力

    def ask(self, datapoints: list[str]) -> torch.Tensor: prompts = self.get_prompts(datapoints) inputs = self.tokenizer(prompts, return_tensors="pt", padding=True) with torch.no_grad(): outputs = self.model.generate( **inputs, max_new_tokens=1, output_logits=True, return_dict_in_generate=True, ) logits = outputs.logits[0] probs = torch.nn.functional.softmax(logits, dim=-1) yes_probs = probs[:, self.yes_ids] return torch.sum(yes_probs, dim=-1) 16
  6. Ask-LLMプロンプト (Flan-T5用) Flan-T5の場合、元論文の図3のプロンプトをそのまま使用 ### {datapoint} ### Does the previous paragraph

    demarcated within ### and ### contain informative signal for pre-training a large-language model? An informative datapoint should be well-formatted, contain some usable knowledge of the world, and strictly NOT have any harmful, racist, sexist, etc. content. OPTIONS: - yes - no yes の表記揺れがあるので以下を yes とする ["yes", "Yes"] 17
  7. Ask-LLMプロンプト (gemma用) gemmaの場合、元論文図3のプロンプトそのままでは yes , no 以外のトークンの生成 確率が高かったため、 OPTIONS 以下を調整

    ### {datapoint} ### Does the previous paragraph demarcated within ### and ### contain informative signal for pre-training a large-language model? An informative datapoint should be well-formatted, contain some usable knowledge of the world, and strictly NOT have any harmful, racist, sexist, etc. content. OPTIONS: yes/no ANSWER: yes の表記揺れがあるので以下を yes とする ["yes", "Yes", "YES", " yes", " Yes", " YES"] 18
  8. 元論文再現実験 Appendix E にて、Ask-LLMによって選択された高品質/低品質データの例が示されてい る Appendix E.1. High-quality Samples Identified

    by ASK-LLM Appendix E.2. Low-quality Samples Identified by ASK-LLM Appendix E.3. Increasing-quality Samples Identified by ASK-LLM Appendix E.4. Decreasing-quality Samples Identified by ASK-LLM 上記データに関してはスコアが判明しているので、E.1. と E.2. について、スコアを再現 出来るかどうか実験を行った 21
  9. 結果: C4 英語 高品質データ1 上位10トークンの生成確率 1 'no' 0.6384 2 'yes'

    0.3604 3 'it' 0.0006 4 'No' 0.0001 5 'Yes' 0.0000 6 '' 0.0000 7 'doesn' 0.0000 8 'is' 0.0000 9 'none' 0.0000 10 'nothing' 0.0000 スコア: 0.3605 元論文では 0.9333 スコアの絶対値が結構違う 23
  10. 結果: C4 英語 高品質データ2 上位10トークンの生成確率 1 'no' 0.6434 2 'yes'

    0.3483 3 'it' 0.0015 4 'No' 0.0012 5 'Yes' 0.0006 6 'can' 0.0004 7 '' 0.0003 8 'is' 0.0003 9 'do' 0.0002 10 'doesn' 0.0002 スコア: 0.3488 元論文では 0.9986 スコアの絶対値が結構違う 25
  11. 結果: C4 英語 高品質データ3 上位10トークンの生成確率 1 'no' 0.5273 2 'yes'

    0.4714 3 'it' 0.0003 4 'No' 0.0003 5 'Yes' 0.0001 6 '' 0.0000 7 'NO' 0.0000 8 'do' 0.0000 9 'none' 0.0000 10 'doesn' 0.0000 スコア: 0.4715 元論文では 0.9881 高品質3個目も結構違う 27
  12. 結果: C4 英語 低品質データ1 上位10トークンの生成確率 1 'no' 0.7475 2 'yes'

    0.2505 3 'it' 0.0005 4 'No' 0.0003 5 '' 0.0001 6 'Yes' 0.0001 7 'is' 0.0001 8 'yeah' 0.0000 9 'doesn' 0.0000 10 'okay' 0.0000 スコア: 0.2505 元論文では 0.0001 低品質でも結構違うが、高品質と比べて若干低いスコアになっている 29
  13. 結果: C4 英語 低品質データ2 上位10トークンの生成確率 1 'no' 0.8692 2 'yes'

    0.1290 3 'it' 0.0008 4 'No' 0.0001 5 '' 0.0001 6 'is' 0.0001 7 'nothing' 0.0000 8 'okay' 0.0000 9 'doesn' 0.0000 10 'none' 0.0000 スコア: 0.1290 元論文では 0.0541 低品質でも結構違うが、高品質と比べて若干低いスコアになっている 31
  14. 結果: C4 英語 低品質データ3 上位10トークンの生成確率 1 'no' 0.8942 2 'yes'

    0.1037 3 'it' 0.0007 4 'No' 0.0002 5 '' 0.0001 6 'is' 0.0001 7 'doesn' 0.0000 8 'none' 0.0000 9 'nothing' 0.0000 10 'okay' 0.0000 スコア: 0.1038 元論文では 0.0108 低品質でも結構違うが、高品質と比べて若干低いスコアになっている 33
  15. 論文再現実験結果 元論文スコアを再現出来ていないが、高品質 > 低品質 という傾向は一致 データセット 代理LLM 品質 元論文スコア 再現実験スコア

    C4 英語 flan-t5-small 高品質 0.9333 0.3605 C4 英語 flan-t5-small 高品質 0.9986 0.3488 C4 英語 flan-t5-small 高品質 0.9881 0.4715 C4 英語 flan-t5-small 低品質 0.0001 0.2505 C4 英語 flan-t5-small 低品質 0.0541 0.1290 C4 英語 flan-t5-small 低品質 0.0108 0.1038 34
  16. 結果: mC4 日本語 データ1 "生八つ橋のタグまとめ | エキサイトブログ 生八つ橋のタグまとめ 「生八つ橋」のタグが ついている新着記事と人気記事をまとめました。エキサイトブログには生八つ橋に関連

    するブログ(日記、記録、写真、レビュー、噂、まとめ)がたくさん投稿されていま す。 「生八つ橋」タグの記事(4) 生八つ橋いろいろ 京都旅行のお土産(我が家用)に 色々な生八つ橋を買ってきました。我が家はみんな八つ橋ファンなのです~。地元の方 達や京都を案内してくれたYさんは「八つ橋なんてもう何年も食べたことないわ~~~」 と仰っていましたが、いやいや、美味しいですよ~~!!私は大好きです!まぁ確かに 私は東京出身ですが、雷おこしや人形焼きは食べませんからね~。それと同じことでし ょうか^^;とはいえ、舟和の芋ようかんや東京ばな奈... 2020/03/06 23:54 - NYの 小さな灯り ~ヘアメイク日記~ 黒糖きな粉 冬限定の生... (省略)" 38
  17. 結果: mC4 日本語 データ1 上位10トークンの生成確率 1 ' yes' 0.9473 2

    ' no' 0.0289 3 ' Yes' 0.0152 4 ' No' 0.0056 5 ' the' 0.0016 6 ' The' 0.0007 7 ' ' 0.0001 8 ' ' 0.0001 9 ' YES' 0.0001 10 ' answer' 0.0001 スコア: 0.9626 yes の表記揺れがある yes と no 以外のトークン確率が低い 39
  18. 結果: mC4 日本語 データ2 "廃棄物をチップ/ペレットに - Gneuss フィルム、繊維、更には市場回収品であるPET ボトルフレークなどのリサイクル可能な廃棄物は、高水準の純度で高品質ペレット/チッ プに加工し、生産押出機でバージン材料と混ぜることができます。

    Startseite アプリケ ーション例 Granulat & Regranulat 繊維、フィルムやダンゴなどのリサイクル可能な廃棄 物は、シュレッダーに入れられ、金属セパレーター付コンベアでアジエータ― を搭載し た容器に投入されます。そこから、材料はオーガや詰め込みフィーダーによって押出機 に運ばれます。 あるいは、サイズを圧縮し塊となったリサイクル可能な廃棄物は、MRS 押出機に直接入れることができます。サイズ圧縮と押し出しの処理工程を切り離すこと の長所は、材料の投下(そしてさらにスループット率も)が均一にされ... (省略)" 40
  19. 結果: mC4 日本語 データ2 上位10トークンの生成確率 1 ' yes' 0.8664 2

    ' no' 0.1045 3 ' No' 0.0151 4 ' Yes' 0.0121 5 ' the' 0.0009 6 ' The' 0.0004 7 ' ' 0.0001 8 ' this' 0.0001 9 ' YES' 0.0001 10 ' ' 0.0001 スコア: 0.8787 データ1よりも有用そうに見えるがスコアは低い 41
  20. Ask-LLM予備実験まとめ Ask-LLMのプロトタイプを実装し、予備実験を行った 元論文のスコアを再現出来なかったが、高品質 > 低品質 という傾向は一致 スコアがプロンプトの OPTIONS 以下の部分に敏感 yes

    の表記揺れを考慮する必要がある 日本語データセットに対してもスコア付けを行うことが可能 今後の課題 スコアが人間の評価とどの程度一致するか プロンプトエンジニアリング(日本語・CoT・マルチターン) 日本語下流タスクに対してサンプリングが有効かどうか 日本語の代理LLMとの比較 推論の計算時間・コストの見積もり 43