論文の概要: Improving Few-Shot Prompts with Relevant Static Analysis Products
- arxiv url: http://arxiv.org/abs/2304.06815v2
- Date: Tue, 29 Aug 2023 07:09:16 GMT
- ステータス: 処理完了
- システム内更新日: 2023-08-30 18:41:16.696342
- Title: Improving Few-Shot Prompts with Relevant Static Analysis Products
- Title(参考訳): 関連する静的解析製品によるマイナショットプロンプトの改善
- Authors: Toufique Ahmed, Kunal Suresh Pai, Premkumar Devanbu, Earl T. Barr
- Abstract要約: 開発者はコーディングタスクに取り組む際に、意識的に無意識に意味的な事実の集合を念頭に置いている傾向があります。
トランス方式のLLMの強力な多層アーキテクチャは、この単純なレベルの「コード解析」を本質的に行うことができると仮定できるかもしれない。
我々は,LLMのプロンプトを意味的事実で自動的に拡張するかどうかを実際に評価する。
- 参考スコア(独自算出の注目度): 7.699967852459232
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Large Language Models (LLM) are a new class of computation engines,
"programmed" via prompt engineering. We are still learning how to best
"program" these LLMs to help developers. We start with the intuition that
developers tend to consciously and unconsciously have a collection of semantics
facts in mind when working on coding tasks. Mostly these are shallow, simple
facts arising from a quick read. For a function, examples of facts might
include parameter and local variable names, return expressions, simple pre- and
post-conditions, and basic control and data flow, etc.
One might assume that the powerful multi-layer architecture of
transformer-style LLMs makes them inherently capable of doing this simple level
of "code analysis" and extracting such information, implicitly, while
processing code: but are they, really? If they aren't, could explicitly adding
this information help? Our goal here is to investigate this question, using the
code summarization task and evaluate whether automatically augmenting an LLM's
prompt with semantic facts explicitly, actually helps.
Prior work shows that LLM performance on code summarization benefits from
few-shot samples drawn either from the same-project or from examples found via
information retrieval methods (such as BM25). While summarization performance
has steadily increased since the early days, there is still room for
improvement: LLM performance on code summarization still lags its performance
on natural-language tasks like translation and text summarization.
We find that adding semantic facts actually does help! This approach improves
performance in several different settings suggested by prior work, including
for two different Large Language Models. In most cases, improvement nears or
exceeds 2 BLEU; for the PHP language in the challenging CodeSearchNet dataset,
this augmentation actually yields performance surpassing 30 BLEU.
- Abstract(参考訳): LLM(Large Language Models)は、プロンプトエンジニアリングによって「プログラムされた」新しい計算エンジンのクラスである。
私たちはまだ、開発者を支援するためにこれらのLLMを"プログラム"する方法を学んでいます。
私たちは、開発者がコーディングタスクに取り組む際に、意識的に無意識に意味的な事実を念頭に置いている傾向があるという直感から始めます。
たいていの場合、クイックリードから生じる浅く単純な事実です。
関数の場合、ファクトの例にはパラメータとローカル変数名、戻り式、単純な事前条件と後条件、基本的な制御とデータフローなどが含まれる。
トランスフォーマースタイルのLLMの強力な多層アーキテクチャは、本質的にこのような単純なレベルの「コード解析」を行い、コード処理中に暗黙的にそのような情報を抽出することができると仮定するかもしれない。
もしそうでなければ、明示的にこの情報を追加することは有効だろうか?
ここでのゴールは、コード要約タスクを使用して、意味的事実を明確化してLLMのプロンプトを自動的に増強するかどうかを評価することである。
以前の研究によると、コード要約におけるllmのパフォーマンスは、同一プロジェクトか、情報検索手法(bm25など)によって得られたサンプルのサンプルから得られる。
コード要約におけるLLMパフォーマンスは、翻訳やテキスト要約といった自然言語タスクではまだパフォーマンスが遅れています。
意味的な事実を追加することは実際に役立ちます。
このアプローチは、2つの異なる大きな言語モデルを含む、事前作業によって提案されるいくつかの異なる設定のパフォーマンスを改善する。
ほとんどの場合、改善は2 bleuに近づいたり、2 bleuを超えている。 挑戦的なcodesearchnetデータセットのphp言語では、この拡張によって、実際には 30 bleu を超えるパフォーマンスが得られる。
関連論文リスト
- Rethinking Semantic Parsing for Large Language Models: Enhancing LLM Performance with Semantic Hints [20.844061807562436]
本稿では,意味的ヒントをプロンプト内に埋め込む新しいプロンプト手法であるSENSEを提案する。
実験の結果、SENSE は様々なタスクで LLM のパフォーマンスを継続的に改善していることがわかった。
論文 参考訳(メタデータ) (2024-09-22T14:35:09Z) - Source Code Summarization in the Era of Large Language Models [23.715005053430957]
大規模言語モデル(LLM)は、コード関連のタスクのパフォーマンスを大幅に向上させた。
本稿では,LLMにおけるコード要約の体系的および包括的研究を行う。
論文 参考訳(メタデータ) (2024-07-09T05:48:42Z) - Exploring the Capabilities of LLMs for Code Change Related Tasks [14.261870410238643]
大規模言語モデル(LLM)は、コードに関連するタスクにおいてその効果を示す。
LLMは2つのコードバージョンの違いよりも、一般的なコード構文とセマンティクスに重点を置いている。
我々は,3つのコード変更関連タスクに対して,テキストグレーター1BパラメータLPMを用いた実証的研究を行った。
論文 参考訳(メタデータ) (2024-07-03T05:49:18Z) - Are you still on track!? Catching LLM Task Drift with Activations [55.75645403965326]
タスクドリフトは攻撃者がデータを流出させたり、LLMの出力に影響を与えたりすることを可能にする。
そこで, 簡易線形分類器は, 分布外テストセット上で, ほぼ完全なLOC AUCでドリフトを検出することができることを示す。
このアプローチは、プロンプトインジェクション、ジェイルブレイク、悪意のある指示など、目に見えないタスクドメインに対して驚くほどうまく一般化する。
論文 参考訳(メタデータ) (2024-06-02T16:53:21Z) - Perplexed: Understanding When Large Language Models are Confused [3.4208414448496027]
本稿では,言語モデルが複雑になる場所を探索するライブラリであるperplexedを紹介する。
Codetokenizerと呼ばれるコードモデルの解析を支援するために構築した追加ツールを使用して、コード生成のためのLLM(Large Language Models)に焦点を当てたケーススタディを実施しました。
我々の研究したコードLLMは、コードが構文的に正しくないコーディング構造において、最悪のパフォーマンスを示しました。
論文 参考訳(メタデータ) (2024-04-09T22:03:39Z) - Optimizing LLM Queries in Relational Workloads [58.254894049950366]
本稿では,LLMをリレーショナルクエリ内で実行する解析処理に対して,LLM(Large Language Models)推論を最適化する方法を示す。
私たちはこれらの最適化をApache Sparkで実装し、vLLMをバックエンドとして提供しています。
実データセット上の多様なLLMベースのクエリのベンチマークで、エンドツーエンドのレイテンシを最大4.4倍改善する。
論文 参考訳(メタデータ) (2024-03-09T07:01:44Z) - Code Prompting Elicits Conditional Reasoning Abilities in Text+Code LLMs [65.2379940117181]
自然言語の問題をコードに変換する一連のプロンプトであるコードプロンプトを導入します。
コードプロンプトは複数のLLMに対して高速に向上することがわかった。
GPT 3.5を解析した結果,入力問題のコードフォーマッティングが性能向上に不可欠であることが判明した。
論文 参考訳(メタデータ) (2024-01-18T15:32:24Z) - If LLM Is the Wizard, Then Code Is the Wand: A Survey on How Code
Empowers Large Language Models to Serve as Intelligent Agents [81.60906807941188]
大型言語モデル(LLM)は、自然言語と形式言語(コード)の組み合わせに基づいて訓練される
コードは、標準構文、論理一貫性、抽象化、モジュール性を備えた高レベルの目標を実行可能なステップに変換する。
論文 参考訳(メタデータ) (2024-01-01T16:51:20Z) - LLM-Pruner: On the Structural Pruning of Large Language Models [65.02607075556742]
大規模言語モデル(LLM)は、言語理解と生成において顕著な能力を示している。
タスク非依存であり、元のトレーニングデータセットへの依存を最小限に抑えるという2つの制約の範囲内でLLMの圧縮に取り組む。
LLM-Prunerという名前のこの手法は、非臨界結合構造を選択的に除去する構造プルーニングを採用する。
論文 参考訳(メタデータ) (2023-05-19T12:10:53Z) - LEVER: Learning to Verify Language-to-Code Generation with Execution [64.36459105535]
本稿では,プログラムの実行結果の検証を学習することで,言語からコードへの生成を改善するシンプルな手法であるLEVERを提案する。
具体的には、LLMからサンプリングされたプログラムが、自然言語入力、プログラム自体とその実行結果に基づいて正しいか否かを判定するために、検証者を訓練する。
LEVER はベースコード LLMs (4.6% から 10.9% まで) を継続的に改善し、それらすべてに対して新しい最先端の結果を得る。
論文 参考訳(メタデータ) (2023-02-16T18:23:22Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。