Traffic Engineering은 코드 생성 정확도를 19%에서 44%로 두 배로 늘렸습니다.

WBOY
풀어 주다: 2024-02-05 09:15:09
앞으로
790명이 탐색했습니다.

새 논문의 저자는 코드 생성을 "향상"하는 방법을 제안합니다.

Traffic Engineering은 코드 생성 정확도를 19%에서 44%로 두 배로 늘렸습니다.

코드 생성은 인공 지능에서 점점 더 중요한 기능입니다. 기계 학습 모델을 훈련하여 자연어 설명을 기반으로 컴퓨터 코드를 자동으로 생성합니다. 이 기술은 광범위한 응용 가능성을 갖고 있으며 소프트웨어 사양을 사용 가능한 코드로 변환하고 백엔드 개발을 자동화하며 인간 프로그래머가 작업 효율성을 향상하도록 지원할 수 있습니다.

그러나 고품질 코드를 생성하는 것은 번역이나 요약과 같은 언어 작업에 비해 AI 시스템에서 여전히 어려운 일입니다. 코드는 대상 프로그래밍 언어의 구문을 정확하게 준수하고, 극단적인 경우와 예상치 못한 입력을 우아하게 처리하고, 문제 설명의 많은 작은 세부 사항을 정확하게 처리해야 합니다. 다른 영역에서는 별거 아닌 것처럼 보일 수 있는 작은 오류라도 프로그램 기능을 완전히 방해하여 컴파일이나 실행에 실패할 수 있습니다.

최근 CodiumAI의 연구원들은 GPT-4와 같은 대규모 언어 모델의 코드 생성 기능을 크게 향상시킬 수 있는 새로운 방법인 AlphaCodium을 제안했습니다. 그들의 요점은 프롬프트의 표현을 미세 조정하는 것만으로는 복잡한 인코딩 문제를 해결하는 데 본질적인 한계가 있다는 것입니다. 대신, 테스트 사례에 대해 코드를 반복적으로 생성, 실행 및 디버깅하는 데 초점을 맞춘 다단계 프로세스를 설계하여 모델이 실습을 통해 학습할 수 있도록 했습니다.

힌트 엔지니어링의 한계

자연어 작업에서 힌트 엔지니어링은 모델이 원하는 출력을 생성하도록 안내하기 위해 힌트의 문구와 구조를 주의 깊게 조정하는 것을 의미합니다. 예를 들어, 입력 텍스트 앞에 "간결한 요약 작성:"이라는 문구를 추가하면 모델이 보다 정확한 요약을 생성할 수 있습니다.

대규모 언어 모델의 동작을 안내하는 텍스트 생성을 수행하는 데 있어 신속한 엔지니어링이 매우 효과적인 것으로 입증되었습니다. 그러나 코딩 문제와 관련하여 연구원들은 적시에 광범위한 조정을 하더라도 작은 이익만 얻을 수 있다는 것을 발견했습니다. 이 발견은 시사하는 바가 크다. 따라서 고품질 코드를 생성하려면 여전히 다른 솔루션이 필요합니다.

  • 대상 프로그래밍 언어의 구문과 정확히 일치
  • 특수 사례 및 예상치 못한 입력을 우아하게 처리
  • 문제에 설명된 모든 작은 세부 사항 해결 명령문 및 요구 사항
  • 모든 유효한 입력에 대해 코드가 올바르게 컴파일되고 실행되는지 확인합니다.

이러한 구조적 요구 사항은 텍스트 생성 범위를 벗어나며 프롬프트에 하드 코딩할 수 없습니다. 프롬프트 자체에는 모델 학습에 필요한 코딩 기술과 구체적인 피드백이 부족합니다.

AlphaCodium 반복 프로세스

이러한 문제를 해결하기 위해 연구원들은 코드 생성 문제를 위해 특별히 구성된 반복 프로세스를 개발했습니다. 핵심 혁신은 생성된 코드의 실행 결과를 학습 신호로 활용해 직접적인 피드백을 제공하는 것이다.

AlphaCodium의 프로세스는 두 가지 주요 단계로 구성됩니다.

사전 처리

  • 모델은 문제 설명을 글머리 기호로 바꾸어 주요 세부 정보를 추출합니다.
  • 각 입력/출력 예시의 의도된 논리를 설명하세요.
  • 2~3개의 자연어 솔루션을 제공하세요.
  • 코드 적용 범위에 대한 다양한 추가 테스트 사례를 생성합니다.

코드 반복

  • 모델은 초기 코드 솔루션을 생성합니다.
  • 공개 테스트 사례에 대해 코드를 반복적으로 실행하고 발생하는 오류를 수정하세요.
  • 모델에서 생성된 테스트 사례에 대해 동일한 작업을 수행합니다.
  • 회귀를 방지하기 위해 점점 늘어나는 "테스트 앵커" 제품군에 추가 테스트 사례가 추가되었습니다.

문제에 대해 점진적으로 추론하고, 솔루션 가설을 개발하고, 테스트 범위를 확장하고, 반복적으로 코드를 생성 및 디버깅함으로써 모델은 경험을 통해 학습합니다. 이는 고품질 코드 생성에 필요한 바로 그 기술입니다.

Traffic Engineering은 코드 생성 정확도를 19%에서 44%로 두 배로 늘렸습니다.

그림 1. 구조화된 출력이 있는 프롬프트의 예(가능한 솔루션 단계 생성)

연구원들은 명확한 인터페이스와 목표가 있는 프로세스를 설계하는 것이 엔드투엔드 모델 모듈에 비해 더 낫다는 것을 발견했습니다. 더 나은 결과. 각 단계는 먼저 지식을 구축하고 다운스트림 단계에 정보를 제공하는 통찰력을 발견하기 위해 더 간단한 하위 작업에 중점을 둡니다. 테스트 생성과 같은 업스트림 단계에는 완전한 솔루션이 필요하지 않으며 기본적인 추론만 필요합니다.

실험 결과

연구원들은 경쟁 프로그래밍 대회에서 나온 수백 가지 코딩 문제가 포함된 CodeContests 벤치마크와 비교하여 AlphaCodium을 평가했습니다.

Traffic Engineering은 코드 생성 정확도를 19%에서 44%로 두 배로 늘렸습니다.

그림 2. 문제 설명 및 반성 - 일반적인 CodeContests 질문의 예, 인공 지능을 기반으로 문제에 대한 자기 성찰. 초기 설명은 길고 복잡하지만 적절한 자기 성찰을 통해 문제를 더 명확하고 일관되게 만들어 향상된 코드 솔루션으로 이어질 수 있습니다.

GPT-4 모델에 대해 AlphaCodium은 고도로 최적화된 단일 팁과 비교하여 유효성을 검사합니다. 세트의 생성 정확도가 19%에서 44%로 증가했습니다. 이러한 이점은 다양한 모델 크기와 테스트 세트에 걸쳐 적용되며 별도의 힌트 프로젝트보다 훨씬 더 효과적입니다.

AlphaCodium은 또한 이전에 발표된 AlphaCode 및 CodeChain과 같은 방법보다 훨씬 더 적은 컴퓨팅 리소스를 사용하면서 훨씬 더 나은 성능을 발휘합니다. 예를 들어, 불필요한 무차별 대입 생성을 피함으로써 정확도는 AlphaCode와 비슷하면서도 모델 쿼리가 10,000배 더 적게 필요합니다.

이러한 결과는 AI 시스템을 범용 텍스트 생성기로 취급하는 대신 작업 구조를 중심으로 전체적으로 설계하는 것의 가치를 보여줍니다. 반복적인 코드 실행 및 디버깅을 통합함으로써 AlphaCodium은 강력하고 실용적인 코드를 생성하려는 궁극적인 목표에 맞게 교육 프로세스를 더 잘 조정합니다.

광범위한 영향

경쟁적인 프로그래밍 문제에 대해 시연하는 동안 AlphaCodium에 사용된 개념은 AI 발전 코드 생성에 대해 보다 광범위하게 적용 가능한 경험을 제공합니다.

  • 팁 엔지니어링만으로는 작업에 한계가 있습니다. 복잡한 코딩 작업. 구체적인 문제 해결 경험이 중요합니다.
  • 테스트 기반 개발 사양은 모델 교육의 기초를 제공할 수 있습니다. 이 테스트는 명시적인 적합성 함수를 제공합니다.
  • 반복적인 코드 디버깅은 실제로 발생하는 오류에 대한 모델 개선에 중점을 둡니다.
  • 테스트 적용 범위 확장은 힌트에서 보이지 않는 일반화 공백을 강조합니다.
  • 이중 검증을 통한 부드러운 의사결정으로 취약성과 편견을 줄입니다.

AlphaCodium은 소프트웨어 엔지니어링 모범 사례를 기반으로 코드 생성을 위한 유망한 새로운 패러다임을 제공합니다. 일반화 가능성과 계산 오버헤드에 관한 공개 연구 문제가 남아 있습니다. 그러나 여기에 제시된 원칙(경험을 통한 학습, 테스트 중심 개발, 모듈식 추론 및 반복 디버깅)은 AI의 코딩 기능을 향상시키기 위한 견고한 기반을 제공하는 것으로 보입니다.

논문 링크: https://arxiv.org/pdf/2401.08500.pdf.

코드 베이스: https://github.com/Codium-ai/AlphaCodium.

원제: "Flow Engineering"은 코드 생성 정확도를 두 배로 늘립니다(19% 대 44%), 작성자: Mike Young

링크: https://notes.aimodels.fyi/flow-engineering-intensified-for- 코드 생성/.

위 내용은 Traffic Engineering은 코드 생성 정확도를 19%에서 44%로 두 배로 늘렸습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:51cto.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿