新しい論文の著者は、コード生成を「強化する」方法を提案しています。
#コード生成は、人工知能におけるますます重要な機能です。機械学習モデルをトレーニングすることにより、自然言語記述に基づいてコンピューター コードを自動的に生成します。このテクノロジーには幅広い応用の可能性があり、ソフトウェア仕様を使用可能なコードに変換し、バックエンド開発を自動化し、人間のプログラマーを支援して作業効率を向上させることができます。
ただし、翻訳や要約などの言語タスクと比較すると、AI システムにとって高品質のコードを生成することは依然として困難です。コードはターゲット プログラミング言語の構文に正確に準拠し、エッジ ケースや予期しない入力を適切に処理し、問題の説明の多くの細かい詳細を正確に処理する必要があります。他の領域では無害に見える小さなエラーでも、プログラムの機能が完全に中断され、コンパイルまたは実行に失敗する可能性があります。
最近、CodiumAI の研究者は、GPT-4 などの大規模言語モデルのコード生成機能を大幅に向上できる新しい手法である AlphaCodium を提案しました。彼らのポイントは、プロンプトの文言を単に微調整するだけでは、複雑なコーディング問題を解決するには本質的な限界があるということです。代わりに、テスト ケースに対してコードを繰り返し生成、実行、デバッグすることに重点を置いた多段階プロセスを設計し、モデルが実践から学習できるようにしました。
自然言語タスクでは、プロンプト エンジニアリングとは、モデルを誘導するためにプロンプトの文言と構造を慎重に調整することを指します。必要な出力を生成します。たとえば、入力テキストの前に「Write a concise summary:」という語句を追加すると、モデルはより正確な概要を生成できます。
プロンプト エンジニアリングは、大規模な言語モデルの動作をガイドするテキスト生成を行う場合に非常に効果的であることが証明されています。しかし、コーディングの問題に関しては、タイムリーに大規模な調整を行ったとしても、わずかな改善しか達成できないことが研究者らによってわかっています。この発見は考えさせられるものです。したがって、高品質のコードを生成するには、依然として他の解決策が必要です。
これらの構造要件はテキスト生成の範囲を超えており、プロンプトにハードコードすることはできません。プロンプト自体には、モデル学習に必要なコーディング スキルや具体的なフィードバックが不足していました。
これらの課題に対処するために、研究者はコード生成問題の構造に合わせて特別に調整された反復プロセスを開発しました。重要な革新は、生成されたコードの実行結果を学習信号として使用し、直接フィードバックを提供することです。
AlphaCodium のプロセスには 2 つの主要な段階があります:
問題について段階的に推論し、解決策の仮説を立て、テスト カバレッジを拡張し、コードを繰り返し生成してデバッグすることで、モデルは経験を通じて学習します。これにより、高品質のコードが生成されます。必要なスキル。
#図 1. 構造化された出力を含むプロンプトの例 (考えられる解決フェーズの生成)
# #研究者らは次のことを発見しました。プロセスを明確なインターフェイスと目標を持つモジュールに設計すると、エンドツーエンド モデルと比較してより良い結果が得られます。各フェーズではまず、知識を構築し、下流フェーズに情報を提供する洞察を明らかにするための単純なサブタスクに焦点を当てます。テスト生成などの上流段階では、完全なソリューションは必要なく、基本的な推論のみが必要です。
研究者らは、競技プログラミング コンテストの参加者数百人が参加する CodeContests ベンチマークに対して AlphaCodium を評価しました。
図 2. 問題の説明と考察 - 典型的な CodeContests の質問の例、人工知能に基づく問題の自己考察。最初の説明は長くて複雑ですが、適切に内省することで問題がより明確になり、より一貫性のあるものになり、コード ソリューションの改善につながります。単一のヒントと比較して、AlphaCodium は検証セットでのコード生成精度を 19% から 44% に向上させました。この利点は、さまざまなモデル サイズやテスト セットにわたって当てはまり、個別のヒント プロジェクトよりも大幅に効果的です。
AlphaCodium は、AlphaCode や CodeChain など、以前に公開されたメソッドよりもパフォーマンスが大幅に向上し、使用するコンピューティング リソースも少なくなります。たとえば、不必要なブルート フォース生成を回避することで、精度は AlphaCode に匹敵し、必要なモデル クエリは 10,000 分の 1 になります。
これらの結果は、AI システムを汎用のテキスト ジェネレーターとして扱うのではなく、タスク構造を中心に総合的に設計することの価値を示しています。 AlphaCodium は、反復的なコードの実行とデバッグを組み込むことで、堅牢で実用的なコードを生成するという最終目標に合わせてトレーニング プロセスをより適切に調整します。
より広範な影響
プロンプト プロジェクトだけでは、複雑なコード タスクを処理するには制限があります。具体的な問題解決の経験が重要です。
論文リンク: https://arxiv.org/pdf/2401.08500.pdf。
コードベース: https://github.com/Codium-ai/AlphaCodium。
原題:「フロー エンジニアリング」によりコード生成精度が 2 倍 (19% 対 44%)、著者: Mike Young
リンク: https:// Notes.aimodels.fyi/flow-engineering-intensize-for-code-generation/。
以上がトラフィック エンジニアリングによりコード生成の精度が 19% から 44% に倍増の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。