Skip to main content
QUICK REVIEW

[論文レビュー] Code Less, Align More: Efficient LLM Fine-tuning for Code Generation with Data Pruning

Yun-Da Tsai, Mingjie Liu|arXiv (Cornell University)|Jul 6, 2024
Mathematics, Computing, and Information Processing被引用数 4
ひとこと要約

本稿では、合成コードの指示-コードペアをクラスタリングし、複数のメトリクスを用いて代表的なサンプルを選択することで、コード固有のLLMの微調整を効率化するためのデータプルーニングフレームワークを提案する。実験の結果、元のデータのわずか10%で学習させてもHumanEvalスコアの96.1%を維持し、MBPP精度を最大3.5%向上させることを示し、性能の損失や劣化を伴わずに顕著な効率性の向上を実現した。

ABSTRACT

Recent work targeting large language models (LLMs) for code generation demonstrated that increasing the amount of training data through synthetic code generation often leads to exceptional performance. In this paper we explore data pruning methods aimed at enhancing the efficiency of model training specifically for code LLMs. We present techniques that integrate various clustering and pruning metrics to selectively reduce training data without compromising the accuracy and functionality of the generated code. We observe significant redundancies in synthetic training data generation, where our experiments demonstrate that benchmark performance can be largely preserved by training on only 10% of the data. Moreover, we observe consistent improvements in benchmark results through moderate pruning of the training data. Our experiments show that these pruning strategies not only reduce the computational resources needed but also enhance the overall quality code generation.

研究の動機と目的

  • コード生成のための微調整に使用される大規模な合成コードデータセットにおける高い計算コストと冗長性に対処すること。
  • コード生成タスクに特化したスケーラブルで効率的なデータプルーニング戦略を開発すること。
  • クラスタリングとプルーニングによる訓練データの削減が、モデル性能を維持または向上させることを調査すること。
  • 異なるクラスタリングアルゴリズムとプルーニングメトリクスが、下流のコード生成ベンチマークに与える影響を評価すること。
  • コードLLMの完全データ微調整に対する実用的でリソースが少ない代替手段を提供すること。

提案手法

  • KMeansおよびHDBSCANを用いて、指示およびコードソリューションの埋め込みに基づいてデータサンプルをクラスタリングする。
  • PCAを用いた次元削減により、埋め込み次元を1536から10に削減し、クラスタリングの速度を約12倍向上させる。
  • 多様性および不確実性スコアを含む複数のプルーニングメトリクスを用いて、各クラスタから代表的なサンプルを選択する。
  • クラスタリングのための入力として、指示とコードの埋め込みを組み合わせることで、代表性和選択品質を向上させる。
  • ハイブリッドアプローチを採用:まずクラスタリングを行い、その後メトリクススコアに基づいてプルーニングすることで、多様性と情報量の両立を確保する。
  • プルーニングされたデータセット上で微調整を行った後、標準ベンチマーク(HumanEvalおよびMBPP)で性能を評価する。

実験結果

リサーチクエスチョン

  • RQ1クラスタリングとプルーニングによる顕著なデータ削減が、微調整済みLLMにおけるコード生成性能を維持または向上させることができるか?
  • RQ2クラスタリングアルゴリズムの選択(例:KMeans対HDBSCAN)が、データプルーニングの有効性に与える影響はいかほどか?
  • RQ3合成コードデータセットをプルーニングする際、データサイズとモデル性能の最適なバランスは何か?
  • RQ4指示とコードの両方の埋め込みを用いることで、単独で用いる場合よりも優れたクラスタリングおよびプルーニングの結果が得られるか?
  • RQ5次元削減(例:PCA)は、プルーニングパイプラインの効率性と性能にどの程度の影響を与えるか?

主な発見

  • 元の合成データセットの10%での学習でも、完全データ学習と比較してHumanEvalのpass@1スコアの96.1%、MBPPのpass@1スコアの98.5%を維持した。
  • 中程度のプルーニングにより一貫した性能向上が得られた:完全データ微調整と比較して、HumanEvalで最大2.7%の絶対的向上、MBPPで最大3.5%の向上を達成した。
  • クラスタリングアルゴリズムはプルーニングメトリクスよりも重要であり、PCAを併用したKMeansが、速度と性能の両立において最良のトレードオフを達成した。
  • 指示とコードの両方の埋め込みをクラスタリングに用いることで、単独で用いる場合よりもわずかに優れた結果が得られ、マルチモodal表現の重要性を示した。
  • PCAを適用することで、埋め込み次元を1536から10に削減し、クラスタリング実行時間を1307秒から183秒に短縮した。性能劣化はわずか(MBPPで≤0.6%、HumanEvalで≤4.3%)。
  • HDBSCANのクラスタリングは4時間以内に完了しなかったため、最終評価から除外された。これにより、パイプラインにおける計算効率の重要性が浮き彫りになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。