論文の概要: Learning to Improve Code Efficiency
- arxiv url: http://arxiv.org/abs/2208.05297v1
- Date: Tue, 9 Aug 2022 01:28:30 GMT
- ステータス: 処理完了
- システム内更新日: 2022-08-11 13:16:28.486252
- Title: Learning to Improve Code Efficiency
- Title(参考訳): コード効率を改善するための学習
- Authors: Binghong Chen, Daniel Tarlow, Kevin Swersky, Martin Maas, Pablo
Heiber, Ashish Naik, Milad Hashemi, Parthasarathy Ranganathan
- Abstract要約: Google Code Jamコンペティションから、大規模な競合プログラミングデータセットを分析します。
効率的なコードは確かに稀であり、中央値ランタイムと90分の1のソリューションとでは2倍の違いがある。
我々は、機械学習を用いてヒントの形で規範的なフィードバックを自動的に提供し、プログラマが高性能なコードを書くよう誘導することを提案する。
- 参考スコア(独自算出の注目度): 27.768476489523163
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Improvements in the performance of computing systems, driven by Moore's Law,
have transformed society. As such hardware-driven gains slow down, it becomes
even more important for software developers to focus on performance and
efficiency during development. While several studies have demonstrated the
potential from such improved code efficiency (e.g., 2x better generational
improvements compared to hardware), unlocking these gains in practice has been
challenging. Reasoning about algorithmic complexity and the interaction of
coding patterns on hardware can be challenging for the average programmer,
especially when combined with pragmatic constraints around development velocity
and multi-person development.
This paper seeks to address this problem. We analyze a large competitive
programming dataset from the Google Code Jam competition and find that
efficient code is indeed rare, with a 2x runtime difference between the median
and the 90th percentile of solutions. We propose using machine learning to
automatically provide prescriptive feedback in the form of hints, to guide
programmers towards writing high-performance code. To automatically learn these
hints from the dataset, we propose a novel discrete variational auto-encoder,
where each discrete latent variable represents a different learned category of
code-edit that increases performance. We show that this method represents the
multi-modal space of code efficiency edits better than a sequence-to-sequence
baseline and generates a distribution of more efficient solutions.
- Abstract(参考訳): ムーアの法則によって推進されたコンピュータシステムの性能改善は、社会を変えてきた。
このようなハードウェア駆動の進歩が遅くなると、ソフトウェア開発者が開発中のパフォーマンスと効率に集中することがさらに重要になる。
このような改善されたコード効率(例えば、ハードウェアの2倍の世代改良)の可能性を実証する研究がいくつかあるが、実際にはこれらの利点を解き放つことは困難である。
アルゴリズムの複雑さとハードウェア上のコーディングパターンの相互作用に関する推論は、平均的なプログラマにとって、特に開発速度とマルチパーソン開発に関する実用的な制約と組み合わせると、難しい。
本稿ではこの問題に対処する。
私たちは、google code jamコンペティションの大規模な競合プログラムデータセットを分析して、効率的なコードは非常に稀であり、中央値と90%のソリューションの2倍のランタイム差があることを確認しました。
我々は、機械学習を用いてヒントの形で規範的なフィードバックを自動的に提供し、プログラマが高性能なコードを書くよう誘導することを提案する。
これらのヒントをデータセットから自動学習するために,我々は,各離散的潜在変数が異なる学習されたコード編集カテゴリを表す,新しい離散的変分オートエンコーダを提案する。
本手法は,コード効率のマルチモーダルな空間を,シーケンス・ツー・シーケンスベースラインよりもよく編集し,より効率的な解の分布を生成する。
関連論文リスト
- LLM-Assisted Code Cleaning For Training Accurate Code Generators [53.087019724256606]
コードの品質を調査した結果,より構造化され,読みやすくなれば,コード生成性能が向上することがわかった。
私たちは、これらの原則を使って既存のプログラムを変換する、新しいデータクリーニングパイプラインを構築します。
提案手法を2つのアルゴリズムコード生成ベンチマークで評価した結果,微調整のCodeLLaMa-7Bでは,元のデータセットの微調整に比べて最大30%性能が向上していることがわかった。
論文 参考訳(メタデータ) (2023-11-25T02:45:50Z) - Learning Performance-Improving Code Edits [110.40645687991722]
本稿では,大規模言語モデルを高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、77万以上の競合するC++プログラミングサブミッションペアによる、人間プログラマによるパフォーマンス改善編集のデータセットをキュレートする。
学術・産業で使用されるデファクトシミュレータであるgem5フルシステムシミュレータをベースとした環境を設計する。
これらの技術の組み合わせにより、CodeLlama-13Bでは平均5.65X、GPT-3.5では6.86Xのスピードアップが達成され、人間の最高のパフォーマンス(4.06X)を上回った。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - Chatbots As Fluent Polyglots: Revisiting Breakthrough Code Snippets [0.0]
この研究は、AI駆動のコードアシスタントを使用して、現代技術を形成する影響力のあるコンピュータコードの選択を分析する。
この研究の最初の貢献は、過去50年で最も重要なコードの進歩の半分を調査することであった。
論文 参考訳(メタデータ) (2023-01-05T23:17:17Z) - Lossless Acceleration for Seq2seq Generation with Aggressive Decoding [74.12096349944497]
アグレッシブデコーディング(Aggressive Decoding)は、セq2seq生成のための新しいデコーディングアルゴリズムである。
提案手法は, 自己回帰復号法と比較し, 同一(あるいは良好な)生成を実現することを目的としている。
複数のSeq2seqタスクにおいて、GPU上で最も人気のある6層トランスフォーマーモデル上で、攻撃的デコーディングをテストする。
論文 参考訳(メタデータ) (2022-05-20T17:59:00Z) - Enhancing Semantic Code Search with Multimodal Contrastive Learning and
Soft Data Augmentation [50.14232079160476]
コード検索のためのマルチモーダルコントラスト学習とソフトデータ拡張を用いた新しい手法を提案する。
我々は,6つのプログラミング言語を用いた大規模データセットにおけるアプローチの有効性を評価するために,広範囲な実験を行った。
論文 参考訳(メタデータ) (2022-04-07T08:49:27Z) - Rate Coding or Direct Coding: Which One is Better for Accurate, Robust,
and Energy-efficient Spiking Neural Networks? [4.872468969809081]
スパイキングニューラルネットワーク(SNN)は画像分類タスクに重点を置いているため、画像を時間的バイナリスパイクに変換するための様々なコーディング技術が提案されている。
これらのうち、レートコーディングとダイレクトコーディングは、実用的なSNNシステムを構築するための候補として期待されている。
我々は3つの視点から2つの符号化を包括的に分析する。
論文 参考訳(メタデータ) (2022-01-31T16:18:07Z) - Efficient Retrieval Optimized Multi-task Learning [16.189136169520424]
本稿では,自己指導型タスク,知識検索,抽出質問応答を共同で訓練するための新しい検索最適化マルチタスク(ROM)フレームワークを提案する。
我々のROMアプローチは、複数のタスクに効率的にスケーリングできる統一的で一般化可能なフレームワークを提供する。
当社のフレームワークでは,近年のQAメソッドよりも同等あるいは優れたパフォーマンスを実現していますが,パラメータの数を大幅に削減しています。
論文 参考訳(メタデータ) (2021-04-20T17:16:34Z) - Kernel methods through the roof: handling billions of points efficiently [94.31450736250918]
カーネル法は、非パラメトリック学習に対するエレガントで原則化されたアプローチを提供するが、今のところ大規模な問題ではほとんど利用できない。
最近の進歩は、最適化、数値線形代数、ランダム射影など、多くのアルゴリズム的アイデアの利点を示している。
ここでは、これらの取り組みをさらに進めて、GPUハードウェアを最大限に活用する解決器を開発し、テストする。
論文 参考訳(メタデータ) (2020-06-18T08:16:25Z) - Auto-Encoding Twin-Bottleneck Hashing [141.5378966676885]
本稿では,効率よく適応的なコード駆動グラフを提案する。
自動エンコーダのコンテキストでデコードすることで更新される。
ベンチマークデータセットの実験は、最先端のハッシュ手法よりもフレームワークの方が優れていることを明らかに示しています。
論文 参考訳(メタデータ) (2020-02-27T05:58:12Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。