[논문 리뷰] Parsel: Algorithmic Reasoning with Language Models by Composing Decompositions
Parsel은 복잡한 작업을 계층적인 자연어 함수 기술로 분해하고 조합적 테스트를 통해 정확한 구현을 조합함으로써 대규모 언어 모델(Large Language Models, LLMs)의 알고리즘 추론 능력을 향상시키는 프레임워크이다. HumanEval에서 pass@1 기준 85%의 성능을 달성했으며, APPS에서는 이전 방법보다 75% 이상 높은 pass율을 기록하여 LLM 기반 프로그램 및 로봇 계획의 정확도를 크게 향상시켰다. 이는 모듈러하고 테스트 기반의 조합 방식을 가능하게 하여 달성된다.
Despite recent success in large language model (LLM) reasoning, LLMs struggle with hierarchical multi-step reasoning tasks like generating complex programs. For these tasks, humans often start with a high-level algorithmic design and implement each part gradually. We introduce Parsel, a framework enabling automatic implementation and validation of complex algorithms with code LLMs. With Parsel, we automatically decompose algorithmic tasks into hierarchical natural language function descriptions and then search over combinations of possible function implementations using tests. We show that Parsel can be used across domains requiring hierarchical reasoning, including program synthesis and robotic planning. We find that, using Parsel, LLMs solve more competition-level problems in the APPS dataset, resulting in pass rates over 75\% higher than prior results from directly sampling AlphaCode and Codex, while often using a smaller sample budget. Moreover, with automatically generated tests, we find that Parsel can improve the state-of-the-art pass@1 performance on HumanEval from 67\% to 85\%. We also find that LLM-generated robotic plans using Parsel are more than twice as likely to be considered accurate than directly generated plans. Lastly, we explore how Parsel addresses LLM limitations and discuss how Parsel may be useful for human programmers. We release our code at https://github.com/ezelikman/parsel
연구 동기 및 목표
- 복잡한 프로그램을 생성할 때 LLM이 계층적이고 다단계 추론을 수행하는 데 도전하는 문제를 해결하기 위해.
- LLM이 고수준의 알고리즘 작업을 모듈러하고 조합 가능한 함수 기술로 분해할 수 있도록 하기 위해.
- 자동화된 테스트와 제약 조건 검증을 통해 구현을 조합함으로써 프로그램의 정확성과 효율성을 향상시키기 위해.
- 직접 생성을 넘어서 인간 프로그래밍과 유사한 구조적이고 계층적인 추론을 가능하게 하여 LLM의 능력을 확장하기 위해.
제안 방법
- Parsel은 도메인 특화의 중간 언어를 사용하여 알고리즘 설계를 입력, 출력 및 제약 조건을 포함한 자연어 함수 기술로 표현한다.
- 복잡성을 관리하고 합성 과정에서의 조합 폭발을 방지하기 위해 작업을 강하게 연결된 구성요소(Strongly-Connected Components, SCCs)로 분해한다.
- 각 함수는 LLM을 통해 독립적으로 구현되며, 제약 조건 솔버를 사용해 입력-출력 제약 조건에 대해 검증된다.
- 의존성 그래프의 일부로 의존성을 다루고, SCC를 위상 정렬 순서로 해결함으로써 재귀적 및 고계수 함수를 지원한다.
- 형식화된 문법을 사용해 프롬프트를 제공함으로써 GPT-4와 같은 LLM을 사용해 zero-shot 및 few-shot Parsel 생성을 가능하게 한다.
- 자동화된 테스트 생성 기능을 통합하여 수동으로 작성된 테스트 케이스에 대한 의존도를 줄였다.
실험 결과
연구 질문
- RQ1LLM은 복잡한 알고리즘 작업을 모듈러하고 조합 가능한 함수 기술로 효과적으로 분해할 수 있는가?
- RQ2테스트 기반 조합과 함께 계층적 분해가 프로그램 합성 벤치마크에서 LLM 성능을 어떻게 향상시키는가?
- RQ3직접 생성과 비교했을 때 Parsel은 LLM 기반 로봇 계획의 실패율을 어느 정도 낮출 수 있는가?
- RQ4샘플 예산을 늘리지 않아도 Parsel은 HumanEval과 APPS와 같은 표준 벤치마크에서 최고 성능을 달성할 수 있는가?
- RQ5Parsel의 모듈러하고 제약 조건 기반의 접근 방식은 자동 회귀적 코드 생성에서 흔히 발생하는 오류 전파를 어느 정도 완화하는가?
주요 결과
- Parsel은 HumanEval에서 pass@1 성능을 67%에서 85%로 향상시켜 GPT-4와 이전의 LLM 기반 방법들을 크게 앞서 간다.
- APPS 벤치마크에서 Parsel은 샘플 예산이 더 작은 상황에서도 AlphaCode와 Codex와 같은 직접 샘플링 방법보다 75% 이상 높은 pass율을 기록했다.
- Parsel을 사용해 LLM이 생성한 로봇 계획은 직접 생성된 계획보다 정확도가 두 배 이상 높다.
- 이 프레임워크 덕분에 GPT-4는 형식을 기술하는 프롬프트만으로 Parsel 프로그램을 zero-shot으로 생성할 수 있었으며, 이는 HumanEval과 APPS 모두에서 성능 향상에 기여했다.
- 자동으로 생성된 테스트를 사용함으로써 정확도가 향상되었고 수동으로 작성된 테스트 케이스에 대한 의존도가 감소하여 다양한 도메인에서의 견고성이 향상되었다.
- SCC 기반의 분해 전략은 조합 폭발을 효과적으로 제어하여 복잡하고 계층적인 프로그램의 확장 가능한 합성 가능성을 보장한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.