ホームページ > 記事 > テクノロジー周辺機器 > GPT-4 は各カテゴリでわずか 7.1 ポイントしか獲得せず、大規模なモデル コード機能における 3 つの主要な欠点が明らかになりました。
最初の AI ソフトウェア エンジニアDevin が正式に発表され、すぐにテクノロジー コミュニティ全体が爆発しました。
Devin はコーディング タスクを簡単に解決することはできませんが、プロジェクトの計画から展開まで、ソフトウェア開発サイクル全体を独立して完了することができます。彼は全力を尽くして調査に取り組んでいますが、Web サイトの構築、バグの独自の発見と修正、AI モデルのトレーニングと微調整などに限定されません。
この種の「信じられないほど強力な」ソフトウェア開発能力は、多くのプログラマーを絶望させ、次のような声を上げています: 「プログラマーの終わりは本当に来るのか?」
テスト結果の中でも、SWE-Bench ベンチマーク テストにおける Devin のパフォーマンスは特に目を引きます。
SWE-Bench は、実際の GitHub の問題を解決する大規模モデルの能力に焦点を当て、AI ソフトウェア エンジニアリング能力を評価するテストです。
Devin は、独立した問題解決率 13.86% でリストのトップとなり、GPT-4 のわずか 1.74% のスコアを「瞬時に打ち消し」、多くの大規模 AI モデルを大きく引き離しました。
この強力なパフォーマンスは人々に驚きを与えます: 「将来のソフトウェア開発において AI はどのような役割を果たしますか?」
上海人工知能研究所、共にByteDance SE Lab および SWE-Bench チームの研究者とともに、新しいテスト ベンチマーク DevBench を提案しました。これにより、PRD Set off および # から大規模なモデルを導出できる範囲が初めて明らかになりました。 ##完全なプロジェクトの設計、開発、テストを完了します。
DevBench は、製品要件文書 (PRD) からソフトウェア設計、依存関係環境の構築、およびコードベースレベル コード生成、統合テスト、単体テスト。
実験により、DevBench は、ソフトウェア開発のさまざまな段階で、GPT、CodeLlama、DeepSeek-Coder などの大規模な言語モデルの欠点を明らかにできることが証明されました。
オブジェクト プログラミング能力が不十分です 、より複雑なビルド スクリプトを作成できません (ビルド スクリプト)、 および 関数呼び出しパラメーター一致しません その他の問題。
大規模な言語モデルが独立して中小規模のソフトウェア プロジェクトの開発を完了できるようになるまでには、まだ道のりがあります。現在、DevBench の論文はプレプリント プラットフォーム arXiv で公開されており、関連するコードとデータは GitHub でオープンソースです。(リンクは記事の最後にあります)
DevBench のタスクは何ですか?
△ 図は、DevBench フレームワークの概要を示しています従来のプログラミング ベンチマークは、多くの場合、コード生成とその 1 つの側面に焦点を当てています。現実世界のプログラミング タスクの複雑さを包括的に反映することはできません。
DevBench の登場により、この制限は打破され、慎重に設計された一連のタスクを通じてソフトウェア開発のさまざまな段階をシミュレートし、LLM 機能の包括的な評価のためのプラットフォームを提供します。
DevBench は、5 つの主要なタスクを中心に構築されています。. 各タスクは、ソフトウェア開発ライフ サイクルの主要な段階に焦点を当てています。モジュール設計により、各タスクを独立させることができますテストと評価。
ソフトウェア設計: 製品要件ドキュメント PRD を使用して、クラス、属性、関係、およびソフトウェアの構造レイアウトを表示する UML 図とアーキテクチャ設計を作成します。このタスクは MT-Bench を参照し、LLM-as-a-Judge 評価方法を採用しています。評価は主に、ソフトウェア設計の一般原則 (高い凝集性や低い結合性など) と忠実性 (忠実度) という 2 つの主要な指標に基づいて行われます。
環境設定: 提供された要件ドキュメントに従って、開発環境の初期化に必要な依存関係ファイルを生成します。評価プロセス中に、依存関係ファイルは、ベンチマーク手順を通じて、特定の基本分離環境 (Docker コンテナー) に構築されます。そして、タスクは、このモデルで構築された依存環境において、コードウェアハウスのベンチマーク使用例コード (使用例) を実行することで、ベンチマークコードの実行成功率を評価します。
コード実装: 要件ドキュメントとアーキテクチャ設計に基づいて、モデルはコード ベース全体のコード ファイル生成を完了する必要があります。 DevBench は自動テスト フレームワークを開発し、使用する特定のプログラミング言語に合わせてカスタマイズし、Python の PyTest、C の GTest、Java の JUnit、JavaScript の Jest を統合しました。このタスクでは、ベンチマーク環境でベンチマーク統合および単体テストを実行するモデル生成コードベースの合格率を評価します。 統合テスト: モデルは、コード ベースの外部インターフェイス機能を検証するための要件に基づいて統合テスト コードを生成します。このタスクは、ベースライン実装コードに対して生成された統合テストを実行し、テストの合格率を報告します。 単体テスト: モデルは要件に基づいて単体テスト コードを生成します。このタスクも、生成された単体テストをベースライン実装コードに対して実行します。このタスクでは、合格率指標に加えて、テストの網羅性を定量的に評価するためのステートメントカバレッジ評価指標も導入します。 DevBench データ準備プロセスには、ウェアハウスの準備、コードのクリーニング、ドキュメントの準備という 3 つの段階が含まれます。 最終的に、DevBench データ セットには 4 つのプログラミング言語、複数のフィールド、合計 22 のコード ベースが含まれます。これらのコード リポジトリの複雑さと使用されるプログラミング パラダイムの多様性により、言語モデルに重大な課題が生じます。 いくつかの興味深い例: TextCNN 大規模なモデルは、テキスト A の TextCNN を完全に作成できます。 2クラスモデル?自分で HF からデータセットを取得してトレーニングを実行できることが基本要件です。また、モデルは、実験の再現性を確保しながら、ドキュメントの要件に従ってハイパーパラメーターをカスタマイズし、ログを記録し、チェックポイントを保存する必要があります。 (https://github.com/open-compass/DevBench/tree/main/benchmark_data/python/TextCNN) 登録とログイン フロントエンド プロジェクトは多くのコンポーネント ライブラリとフロントエンド フレームワークに依存することがよくありますが、このモデルはバージョンの競合が発生する可能性があるフロントエンド プロジェクトに対応できますか? (https://github.com/open-compass/DevBench/tree/main/benchmark_data/javascript/login-registration) 人材管理 モデルは SQLite データベースの作成と管理をどの程度習得していますか?このモデルでは、基本的な追加、削除、変更、クエリ操作に加えて、キャンパス職員情報とリレーショナル データベースの管理と操作を使いやすいコマンド ライン ツールにカプセル化できますか? (https://github.com/open-compass/DevBench/tree/main/benchmark_data/cpp/people_management) アクター関係ゲーム 「6 次の分離理論」の予想は映画やテレビ業界で検証されていますか?このモデルは、TMDB API からデータを取得し、映画でのコラボレーションを通じて人気俳優間の接続ネットワークを構築する必要があります。 (https://github.com/open-compass/DevBench/tree/main/benchmark_data/java/Actor_relationship_game) ArXiv ダイジェスト ArXiv 論文検索ツールは簡単にアクセスできますか? ArXiv の API は「過去 N 日間の論文をフィルタリングする」機能はサポートしていませんが、「出版時刻でソートする」ことは可能ですが、このモデルを利用して便利な論文検索ツールを開発することはできますか? #(https://github.com/open-compass/DevBench/tree/main/benchmark_data/python/ArXiv_digest) DevBench は、ソフトウェア開発における既存の LLM の限界を明らかにするだけでなく、将来のモデル改善のための貴重な洞察も提供します。このベンチマーク テストを通じて、研究者は LLM の長所と短所をより深く理解し、それによって目標を絞った方法で LLM を最適化し、ソフトウェア エンジニアリングの分野における AI のさらなる開発を促進することができます。 さらに、DevBench フレームワークのオープン性と拡張性は、さまざまなプログラミング言語や開発シナリオに引き続き適応できることを意味します。 DevBench はまだ開発プロセスにあり、コミュニティの友人が共同構築に参加することを歓迎します。 Devin は SWE-Bench で先頭に立ってますが、その優れたパフォーマンスは他の評価シナリオにも拡張できますか? AI ソフトウェア開発能力が発展し続けるにつれて、プログラマーと AI の間のこの戦いが大いに期待されています。 DevBench は、OpenCompass Sinan 大規模モデル機能評価システムに加わりました。OpenCompass は、大規模言語モデル、多言語モデル向けに上海人工知能研究所によって開発および発売された製品です。・モーダル大型モデル等 クラスモデルのワンストップ評価プラットフォーム。 OpenCompass は、再現性、包括的な機能次元、豊富なモデルのサポート、分散型で効率的な評価、多様な評価パラダイム、および柔軟な拡張という特徴を備えています。高品質のマルチレベルのコンピテンシー システムとツール チェーンに基づいて、OpenCompass は多くのコンピテンシー評価方法を革新し、言語と理解、常識と論理的推論をカバーする中国語と英語のさまざまな高品質のバイリンガル評価ベンチマークをサポートしています。数学的計算とアプリケーションなど、プログラミング言語のコーディング機能、エージェント、作成、対話などの複数の側面により、大規模モデルの真の機能を包括的に診断できます。 DevBench は、エージェントの分野における OpenCompass の評価機能を拡張しました。 DevBench ペーパー: https://arxiv.org/abs/2403.08604DevBench にはどのようなデータが含まれますか?
##研究チームは DevBench を使用して、GPT-4-Turbo を含む現在人気のある LLM の包括的なテストを実施しました。結果は、これらのモデルは単純なプログラミング タスクでは良好に機能しますが、複雑な現実世界のソフトウェア開発の課題に直面すると、依然として重大な困難に遭遇することを示しています。特に複雑なコード構造とロジックを扱う場合、モデルのパフォーマンスを向上させる必要があります。
OpenCompass 大規模モデル評価システムもあります
GitHub: https://github.com/open-compass/devBench/
OpenCompass https://github.com/open-compass/opencompass
以上がGPT-4 は各カテゴリでわずか 7.1 ポイントしか獲得せず、大規模なモデル コード機能における 3 つの主要な欠点が明らかになりました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。