최초의 AI 소프트웨어 엔지니어 Devin이 공식적으로 공개되어 전체 기술 커뮤니티를 즉시 폭발시켰습니다.
Devin은 코딩 작업을 쉽게 해결할 수는 없지만 프로젝트 계획부터 배포까지 소프트웨어 개발의 전체 주기를 독립적으로 완료할 수 있습니다. 그는 발굴에 최선을 다하지만 웹사이트 구축, 독립적인 버그 발견 및 수정, AI 모델 훈련 및 미세 조정 등에 국한되지 않습니다.
이런 종류의 "믿을 수 없을 정도로 강력한" 소프트웨어 개발 능력은 많은 코더들을 절망하게 만들었습니다. "정말 프로그래머의 종말이 오는가?"
모든 테스트 결과에서 Devin의 성능은 SWE-Bench 벤치마크가 특히 눈길을 끕니다.
SWE-Bench는 실제 GitHub 문제를 해결하는 대형 모델의 능력에 중점을 두고 AI 소프트웨어 엔지니어링 능력을 평가하는 테스트입니다.
Devin은 13.86%의 독립적인 문제 해결률로 목록 1위를 차지했으며, GPT-4의 유일한 1.74% 점수를 '즉시 종료'하여 많은 대형 AI 모델을 훨씬 뒤처지게 했습니다.
이 강력한 성능은 사람들을 궁금하게 만듭니다. "미래 소프트웨어 개발에서 AI가 어떤 역할을 하게 될까요?"
Shanghai Artificial Intelligence Laboratory는 ByteDance SE Lab 및 SWE의 연구원들과 협력했습니다. Bench 팀은 새로운 테스트 벤치마크를 제안했습니다. DevBench, 대형 모델이 PRD에서 어느 정도까지 시작할 수 있는지 처음으로 공개하고, 완전한 프로젝트의 설계, 개발, 테스트를 완료합니다.
DevBench는 소프트웨어 설계, 종속성 환경 구축, 코드 기반 수준 코드 생성, 통합 테스트 및 단위 테스트를 포함하여 제품 요구 사항 문서(PRD)부터 전체 프로젝트 개발까지 모든 단계에서 대규모 모델의 성능을 평가한 최초의 제품입니다. .
실험을 통해 DevBench는 객체 지향 프로그래밍 기능 부족, 과 같은 소프트웨어 개발의 다양한 단계에서 GPT, CodeLlama 및 DeepSeek-Coder와 같은 대규모 언어 모델의 단점을 밝힐 수 있음이 입증되었습니다. 더 복잡한 빌드 스크립트 (빌드 스크립트), 및 함수 호출 매개변수 불일치 및 기타 문제를 작성할 수 없습니다.
대규모 언어 모델이 중소 규모 소프트웨어 프로젝트의 개발을 독립적으로 완료하려면 아직 갈 길이 멀습니다.
현재 DevBench 논문은 사전 인쇄 플랫폼 arXiv에 게재되었으며, 관련 코드와 데이터는 GitHub에 오픈 소스로 공개되어 있습니다. (글 마지막 링크)
Δ 그림은 DevBench 프레임워크의 개요를 보여줍니다.
기존 프로그래밍 벤치마크는 코드 생성의 단일 측면에 초점을 맞추는 경우가 많으며 실제 프로그래밍 작업의 복잡성을 완전히 반영할 수 없습니다.
DevBench의 등장은 이러한 한계를 뛰어넘어 신중하게 설계된 일련의 작업을 통해 소프트웨어 개발의 다양한 단계를 시뮬레이션함으로써 LLM 기능을 종합적으로 평가할 수 있는 플랫폼을 제공합니다.
DevBench는 5가지 주요 작업을 중심으로 구축되었으며 각 작업은 소프트웨어 개발 수명 주기의 주요 단계에 중점을 두고 있으며 모듈식 설계를 통해 각 작업을 독립적으로 테스트하고 평가할 수 있습니다.
소프트웨어 디자인: 제품 요구 사항 문서 PRD를 사용하여 소프트웨어의 클래스, 속성, 관계 및 구조적 레이아웃을 표시하는 UML 다이어그램 및 아키텍처 디자인을 만듭니다. 본 과제는 MT-Bench를 참조하며 LLM-as-a-Judge 평가 방식을 채택하고 있습니다. 평가는 주로 소프트웨어 설계의 일반 원칙(예: 높은 응집력 및 낮은 결합도 등) 및 충실도 (신뢰성) 이라는 두 가지 주요 지표를 기반으로 합니다.
환경 설정: 제공된 요구 사항 문서를 기반으로 개발 환경을 초기화하는 데 필요한 종속성 파일을 생성합니다. 평가 프로세스 중에 종속성 파일은 벤치마크 지침을 통해 주어진 기본 격리 환경 (도커 컨테이너) 에 빌드됩니다. 그런 다음 이 모델로 구축된 종속 환경에서 작업은 코드 웨어하우스에 있는 벤치마크 예제 사용 코드(example Usage)를 실행하여 벤치마크 코드 실행 성공률을 평가합니다.
코드 구현: 요구 사항 문서와 아키텍처 설계를 기반으로 모델은 전체 코드 베이스의 코드 파일 생성을 완료해야 합니다. DevBench는 Python의 PyTest, C++의 GTest, Java의 JUnit 및 JavaScript의 Jest를 통합하여 자동화된 테스트 프레임워크를 개발하고 사용되는 특정 프로그래밍 언어에 맞게 사용자 정의했습니다. 이 작업은 벤치마크 환경에서 벤치마크 통합 테스트 및 단위 테스트를 실행하는 모델 생성 코드베이스의 통과율을 평가합니다.
통합 테스트: 모델은 코드 베이스의 외부 인터페이스 기능을 확인하기 위한 요구 사항을 기반으로 통합 테스트 코드를 생성합니다. 이 작업은 기본 구현 코드에 대해 생성된 통합 테스트를 실행하고 테스트 통과율을 보고합니다.
단위 테스트: 모델은 요구 사항에 따라 단위 테스트 코드를 생성합니다. 다시 말하지만, 이 작업은 기본 구현 코드에 대해 생성된 단위 테스트를 실행합니다. 이 작업에서는 합격률 지표 외에도 테스트의 포괄성을 정량적으로 평가하기 위한 진술 범위 평가 지표도 도입합니다.
DevBench 데이터 준비 프로세스에는 웨어하우스 준비, 코드 정리 및 문서 준비의 세 단계가 포함됩니다.
결국 DevBench 데이터 세트에는 4개의 프로그래밍 언어, 여러 필드, 총 22개의 코드 베이스가 포함됩니다. 이러한 코드 저장소의 복잡성과 사용된 프로그래밍 패러다임의 다양성은 언어 모델에 심각한 과제를 안겨줍니다.
몇 가지 흥미로운 예:
TextCNN
대형 모델이 텍스트 이진 분류를 위한 TextCNN 모델을 완전히 작성할 수 있습니까? HF에서 직접 데이터 세트를 가져와 교육을 실행할 수 있는 것은 기본 요구 사항입니다. 또한 모델은 실험의 재현성을 보장하면서 문서의 요구 사항에 따라 하이퍼파라미터를 사용자 지정하고, 로그를 기록하고, 체크포인트를 저장해야 합니다.
(https://github.com/open-compass/DevBench/tree/main/benchmark_data/python/TextCNN)
등록 및 로그인
프런트엔드 프로젝트는 종종 더 많은 구성 요소 라이브러리와 프런트엔드에 의존합니다. -end Frameworks, 버전 충돌이 발생할 수 있는 프런트엔드 프로젝트에 모델이 쉽게 대처할 수 있습니까?
(https://github.com/open-compass/DevBench/tree/main/benchmark_data/javascript/login-registration)
People Management
모델이 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를 사용하여 GPT-4를 포함하여 현재 인기 있는 LLM을 분석했습니다. - 터보는 완벽하게 테스트되었습니다. 결과에 따르면 이러한 모델은 간단한 프로그래밍 작업에서는 잘 수행되지만 복잡한 실제 소프트웨어 개발 문제에 직면할 때는 여전히 심각한 어려움에 직면합니다. 특히 복잡한 코드 구조와 로직을 다룰 때는 모델의 성능을 향상시켜야 합니다.
DevBench는 소프트웨어 개발에서 기존 LLM의 한계를 밝힐 뿐만 아니라 향후 모델 개선을 위한 귀중한 통찰력을 제공합니다. 이 벤치마크를 통해 연구자들은 LLM의 강점과 약점을 더 잘 이해할 수 있으며 이를 통해 목표한 방식으로 최적화하고 소프트웨어 엔지니어링 분야에서 AI의 추가 개발을 촉진할 수 있습니다.
또한 DevBench 프레임워크의 개방성과 확장성은 다양한 프로그래밍 언어와 개발 시나리오에 계속해서 적응할 수 있음을 의미합니다. DevBench는 아직 개발 과정에 있으며 커뮤니티의 친구들이 공동 구축에 참여하는 것을 환영합니다.
Devin이 SWE-Bench에서 선두를 달리고 있습니다. 뛰어난 성능을 다른 평가 시나리오로 확장할 수 있을까요? AI 소프트웨어 개발 역량이 계속 발전함에 따라 코더와 AI 간의 이러한 전투가 매우 기대됩니다.
DevBench가 이제 OpenCompass Sinan 대형 모델 역량 평가 시스템에 합류했습니다. OpenCompass는 에서 개발 및 출시한 대형 언어 모델, 다중 모드 대형 모델 등 다양한 모델에 대한 원스톱 솔루션입니다. 상하이 인공 지능 연구소.
OpenCompass는 재현성, 포괄적인 기능 차원, 풍부한 모델 지원, 분산 효율적인 평가, 다양한 평가 패러다임 및 유연한 확장이라는 특징을 가지고 있습니다. OpenCompass는 고품질, 다단계 역량 시스템 및 툴 체인을 기반으로 다양한 역량 평가 방법을 혁신했으며 언어 및 이해, 상식 및 논리적 추론을 다루는 중국어 및 영어의 다양한 고품질 이중 언어 평가 벤치마크를 지원합니다. 수학적 계산 및 적용 등 프로그래밍 언어 코딩 기능, 에이전트, 생성 및 대화와 같은 다양한 측면을 통해 대형 모델의 실제 기능을 포괄적으로 진단할 수 있습니다. DevBench는 에이전트 분야에서 OpenCompass의 평가 기능을 확장했습니다.
DevBench 문서: https://arxiv.org/abs/2403.08604
GitHub: https://github.com/open-compass/devBench/
OpenCompass https://github.com/open- 나침반/열린나침반
위 내용은 GPT-4는 각 카테고리에서 7.1점에 그쳐 대규모 모델 코드 기능의 세 가지 주요 단점을 드러냈습니다. 최신 벤치마크 테스트가 여기에 있습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!