論文の概要: Programming with Neural Surrogates of Programs
- arxiv url: http://arxiv.org/abs/2112.06148v1
- Date: Sun, 12 Dec 2021 04:45:41 GMT
- ステータス: 処理完了
- システム内更新日: 2021-12-16 08:20:58.896228
- Title: Programming with Neural Surrogates of Programs
- Title(参考訳): プログラムのニューラルサロゲートを用いたプログラミング
- Authors: Alex Renda, Yi Ding, Michael Carbin
- Abstract要約: 本稿では,3つのサロゲート型設計パターンについて検討し,大規模CPUシミュレータのケーススタディでそれぞれを評価する。
サロゲートコンパイルでは、プログラマはエンドユーザにデプロイするプログラムの振る舞いを模倣するサロゲートを開発する。
サロゲート適応では、プログラマはプログラムのサロゲートを開発し、異なるタスクでサロゲートを再訓練する。
サロゲート最適化では、プログラムのサロゲートを開発し、サロゲートの入力パラメータを最適化し、最適化された入力パラメータを元のプログラムにプラグインする。
- 参考スコア(独自算出の注目度): 17.259433118432757
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Surrogates, models that mimic the behavior of programs, form the basis of a
variety of development workflows. We study three surrogate-based design
patterns, evaluating each in case studies on a large-scale CPU simulator.
With surrogate compilation, programmers develop a surrogate that mimics the
behavior of a program to deploy to end-users in place of the original program.
Surrogate compilation accelerates the CPU simulator under study by $1.6\times$.
With surrogate adaptation, programmers develop a surrogate of a program then
retrain that surrogate on a different task. Surrogate adaptation decreases the
simulator's error by up to $50\%$. With surrogate optimization, programmers
develop a surrogate of a program, optimize input parameters of the surrogate,
then plug the optimized input parameters back into the original program.
Surrogate optimization finds simulation parameters that decrease the
simulator's error by $5\%$ compared to the error induced by expert-set
parameters.
In this paper we formalize this taxonomy of surrogate-based design patterns.
We further describe the programming methodology common to all three design
patterns. Our work builds a foundation for the emerging class of workflows
based on programming with surrogates of programs.
- Abstract(参考訳): プログラムの振る舞いを模倣するモデルであるsurrogatesは、様々な開発ワークフローの基礎を形成する。
大規模cpuシミュレータを用いたケーススタディにおいて,サーロゲートに基づく設計パターンを3つ検討した。
surrogateコンパイルでは、プログラマはプログラムの動作を模倣して、オリジナルのプログラムの代わりにエンドユーザにデプロイするsurrogateを開発する。
Surrogateコンパイルは、研究中のCPUシミュレータを1.6\times$で高速化する。
surrogate適応により、プログラマはプログラムのsurrogateを開発し、別のタスクでsurrogateをリトレーニングする。
サロゲート適応はシミュレータのエラーを最大$50\%まで減少させる。
surrogateの最適化により、プログラマはプログラムのsurrogateを開発し、surrogateの入力パラメータを最適化し、最適化された入力パラメータを元のプログラムに戻す。
surrogate最適化は、エキスパートセットパラメータによって引き起こされるエラーと比較して、シミュレータのエラーを$5\%$減少させるシミュレーションパラメータを見つける。
本稿では,サロゲートに基づくデザインパターンの分類を定式化する。
さらに,3つの設計パターンに共通するプログラミング方法論について述べる。
私たちの研究は、プログラムのサロゲートを使ったプログラミングに基づく、新しいクラスのワークフローの基盤を構築します。
関連論文リスト
- Learning to Compile Programs to Neural Networks [10.203788801836385]
プログラム$の$textitneural surrogateは、プログラムの動作を模倣するニューラルネットワークである。
本稿では,ニューラルサロゲートの生成と実行を結合することなく,プログラムテキストから直接ニューラルサロゲートを製造する手法を提案する。
論文 参考訳(メタデータ) (2024-07-21T07:04:52Z) - Supercompiler Code Optimization with Zero-Shot Reinforcement Learning [63.164423329052404]
エージェントの1回の試行において,各プログラムの効率的な最適化戦略を即時に生成するために,大規模データで広範囲に訓練された人工知能エージェントであるCodeZeroを提示する。
われわれの手法は、人工知能の工学的潜在能力を生かし、コード最適化の領域で機械学習技術をスケールする方法を開拓する。
論文 参考訳(メタデータ) (2024-04-24T09:20:33Z) - NExT: Teaching Large Language Models to Reason about Code Execution [50.93581376646064]
大規模言語モデル(LLM)のコードは通常、プログラムの表面テキスト形式に基づいて訓練される。
NExTは,プログラムの実行トレースを検査し,実行時の動作を判断する手法である。
論文 参考訳(メタデータ) (2024-04-23T01:46:32Z) - Moving beyond Deletions: Program Simplification via Diverse Program
Transformations [11.038120567076772]
開発者は手動でプログラムを単純化する(この論文では開発者によるプログラムの単純化として知られている)。
手作業の労力を減らすために、ルールベースのアプローチ(例えば、削除に基づくアプローチ)は、開発者によるプログラムの単純化を自動化するために潜在的に適用できる。
単純化されたプログラムを自動生成するツールであるSimpT5を提案する。
評価の結果,SimpT5は開発者によるプログラムの単純化の自動化において,従来の手法よりも効果的であることが示唆された。
論文 参考訳(メタデータ) (2024-01-26T22:59:43Z) - Guess & Sketch: Language Model Guided Transpilation [59.02147255276078]
学習されたトランスパイレーションは、手作業による書き直しやエンジニアリングの取り組みに代わるものだ。
確率的ニューラルネットワークモデル(LM)は、入力毎に可塑性出力を生成するが、正確性を保証するコストがかかる。
Guess & Sketch は LM の特徴からアライメントと信頼性情報を抽出し、意味的等価性を解決するためにシンボリック・ソルバに渡す。
論文 参考訳(メタデータ) (2023-09-25T15:42:18Z) - Synthesis of Mathematical programs from Natural Language Specifications [0.0]
様々なビジネス領域で遭遇する決定問題は、数学的なプログラム、すなわち最適化問題としてモデル化することができる。
このようなモデリングを行うプロセスは、しばしばオペレーション研究や高度なアルゴリズムで訓練された専門家の関与を必要とする。
本研究は,データ拡張とビーム後処理によるCodeT5の有効性を評価する。
これらの拡張により、CodeT5baseは実行精度0.73となり、ChatGPTでは0.41、Codexでは0.36より大幅に向上した。
論文 参考訳(メタデータ) (2023-03-30T06:10:00Z) - Learning Performance-Improving Code Edits [107.21538852090208]
本稿では,大規模言語モデル(LLM)を高レベルプログラム最適化に適用するためのフレームワークを提案する。
まず、競争力のある77,000以上のC++プログラミングサブミッションペアによる、人間のプログラマによるパフォーマンス改善編集のデータセットをキュレートする。
提案手法は,検索をベースとした少数ショットプロンプトとチェーン・オブ・シンクレットを提案し,その微調整には,自己再生に基づく性能条件付き生成と合成データ拡張が含まれる。
論文 参考訳(メタデータ) (2023-02-15T18:59:21Z) - CodeRL: Mastering Code Generation through Pretrained Models and Deep
Reinforcement Learning [92.36705236706678]
CodeRLは、事前訓練されたLMと深層強化学習によるプログラム合成タスクのための新しいフレームワークである。
推論中、我々は重要なサンプリング戦略を持つ新しい生成手順を導入する。
モデルバックボーンについては,CodeT5のエンコーダデコーダアーキテクチャを拡張し,学習目標を拡張した。
論文 参考訳(メタデータ) (2022-07-05T02:42:15Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z) - Generating Adversarial Computer Programs using Optimized Obfuscations [43.95037234252815]
コンピュータプログラムに逆らってそのような学習モデルをだます原則的な方法を検討する。
我々は,従来はリバースエンジニアリングプログラムの試みを避けるために用いられてきたプログラム難読化を用いる。
当社の最良の攻撃提案は、最先端の攻撃生成アプローチよりも52%$改善できることを示します。
論文 参考訳(メタデータ) (2021-03-18T10:47:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。