CodeLutra: Boosting LLM Code Generation via Preference-Guided Refinement

要約

大規模言語モデル (LLM) はコード生成に革命をもたらしましたが、大量のリソースを必要とし、過度に一般化することが多く、タスク固有の効率が制限されます。
より小規模なオープンソース LLM を微調整することで、コスト効率の高い代替手段が提供されます。
ただし、標準的な教師ありアプローチでは、正しい例のみに依存しており、失敗から貴重な洞察が得られません。
正しいコード試行と誤ったコード試行の両方を活用するフレームワークである CodeLutra を紹介します。
CodeLutra は、正しいソリューションのみを使用するのではなく、優先ベースの改良を反復的に適用し、成功した出力と失敗した出力を比較して、望ましい結果に近似します。
このアプローチにより、大規模なデータセットや補助モデルを必要とせずに、最先端の大規模モデルとのパフォーマンスのギャップが縮小します。
たとえば、困難なデータ サイエンスのコーディング タスクでは、わずか 500 個のサンプルを使用することで、Llama-3-8B の精度が 28.2% から 48.6% に向上し、GPT-4 のレベルに近づきました。
CodeLutra は、成功と失敗の両方から学ぶことで、高品質のコード生成へのスケーラブルで効率的なパスを提供し、小規模なオープンソース モデルが主要なクローズドソースの代替モデルとの競争力を高めます。

要約(オリジナル)

Large Language Models (LLMs) have revolutionized code generation but require significant resources and often over-generalize, limiting their task-specific efficiency. Fine-tuning smaller, open-source LLMs provides a cost-effective alternative. However, standard supervised approaches rely only on correct examples, missing valuable insights from failures. We introduce CodeLutra, a framework that leverages both correct and incorrect code attempts. Instead of using only correct solutions, CodeLutra applies iterative preference-based refinement, comparing successful and failed outputs to better approximate desired results. This approach narrows the performance gap with state-of-the-art larger models without requiring massive datasets or auxiliary models. For instance, on a challenging data science coding task, using only 500 samples improved Llama-3-8B’s accuracy from 28.2% to 48.6%, approaching GPT-4’s level. By learning from both successes and mistakes, CodeLutra provides a scalable and efficient path to high-quality code generation, making smaller open-source models more competitive with leading closed-source alternatives.

arxiv情報

著者 Leitian Tao,Xiang Chen,Tong Yu,Tung Mai,Ryan Rossi,Yixuan Li,Saayan Mitra
発行日 2024-12-19 18:46:21+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CL パーマリンク