Core Concepts
大規模言語モデルを用いてプログラムの実行時間を大幅に短縮することができる。
Abstract
本研究では、プログラムの高速化を目的として、大規模言語モデルの適応手法を提案している。まず、人間のプログラマーによる実際の高速化編集を収集したPIEデータセットを構築した。このデータセットを用いて、以下の手法を検討した:
プロンプティング: 命令プロンプト、Few-shotプロンプト、Chain-of-Thoughtプロンプト、動的リトリーバルベースのFew-shotプロンプトなどを評価。動的リトリーバルベースのFew-shotプロンプトが最も効果的だった。
ファインチューニング: 全データセットでのファインチューニング、高品質データでのファインチューニング、パフォーマンス条件付き生成、自己対戦によるデータ拡張などを検討。パフォーマンス条件付き生成が最も効果的だった。
結果として、GPT-3.5にデータ拡張を施したモデルが平均6.86倍の高速化を達成し、人間の最高記録を上回った。また、分析の結果、モデルは高度な最適化手法(アルゴリズムの変更、I/O操作の最適化、データ構造の変更など)を学習できることが分かった。
Stats
元のプログラムと比べて6.86倍高速化できた
87.68%のプログラムを少なくとも10%高速化できた
Quotes
"大規模言語モデルを用いてプログラムの実行時間を大幅に短縮することができる。"
"GPT-3.5にデータ拡張を施したモデルが平均6.86倍の高速化を達成し、人間の最高記録を上回った。"