합성(Synthesizing)과 검색(Recalling): 알고리즘 코드 검색에 대한 LLM 평가
요약
본 논문은 LLM의 코드 생성 능력을 평가하기 위해 '합성(Synthesizing)'과 '검색(Recalling)' 능력을 분리하여 측정할 필요성을 제기합니다. 77개 고전 알고리즘을 다루는 AlgoREval이라는 새로운 벤치마크를 소개하고, 이를 통해 검색 정확도 향상 방법 및 모델별 성능 차이를 분석했습니다.
핵심 포인트
- 코드 생성 능력을 합성(Synthesis)과 검색(Retrieval)으로 분리하여 평가해야 합니다.
- AlgoREval은 77개 알고리즘을 다루는 새로운 코드 검색 벤치마크입니다.
- 검색된 스니펫이나 구조화된 힌트가 복잡한 알고리즘의 정확도를 높였습니다.
- SFT와 GRPO 같은 방법론이 언어 및 개별 성능 개선에 효과적임을 입증했습니다.
대규모 언어 모델(LLMs)은 코드 생성에서 강력한 성능을 보여주었으며, 여기서 성공 여부는 관련 알고리즘 지식을 회상하고 이를 어떻게 적용할지 추론하는 것 모두에 달려 있습니다. 하지만 기존의 LLM 파이프라인은 불투명하며, 이 두 구성 요소 사이에 명확한 분리가 없습니다. 우리는 널리 알려진 알고리즘의 경우, 그 정형화된 구현체가 사전 학습 코퍼스에서 광범위하게 접근 가능할 때, 코드 생성을 새로운 것을 합성하는 것보다는 내부화된 지식으로부터 이름 붙여진 알고리즘을 재현하는 extit{매개변수적 코드 검색(parametric code retrieval)}으로 측정하는 것이 더 낫다고 주장합니다. 우리는 이 능력을 독립적으로 평가하기 위해 14개의 도메인, 7개의 프로그래밍 언어, 그리고 4개의 그래프 입력 표현에 걸쳐 고전적인 77개 알고리즘을 아우르는 599개 문제로 구성된 벤치마크인 AlgoREval을 소개하고, 제로샷(zero-shot) 설정에서 15개 모델(7B~34B 파라미터)을 평가합니다. 우리는 광범위하게 문서화된 알고리즘에 대해서조차 언어와 입력 표현 전반에 걸쳐 검색 정확도에 상당한 편차가 있음을 발견했으며, 검색된 코드 스니펫이나 구조화된 알고리즘 힌트로 프롬프트를 증강하는 것이 복잡한 알고리즘의 정확도를 향상시키고, SFT가 더 광범위한 언어 개선을 달성하며, GRPO가 특정 언어에서 더 큰 개별 언어 개선을 달성함을 보여줍니다. 종합적으로 우리의 결과는 매개변수적 코드 검색을 별도의 측정 가능한 능력으로 확립하고, 체계적인 검증 없이 AI 생성 알고리즘 코드를 배포하는 것에 대해 경고합니다.
*코드 및 데이터셋은 https://github.com/Nickil21/AlgoREval에서 이용 가능합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기