Chain of Code: Reasoning with a Language Model-Augmented Code Emulator
https://arxiv.org/pdf/2312.04474.pdf
Introduction
LM의 코드 기반 추론을 향상시키는 간단하고 효과적인 방식인 Chain of Code (CoC) 방법론을 제시. CoC의 핷심 아이디어는 LM이 추론 과정에서 semantic한 서브 테스크들을 유연한 의사 코드(pseudo code)로 형식화해 언어 모델은 코드로 생각하는 과정을 적용함으로써 더 다양한 추론 질문에 정확하게 답할 수 있게 된다.


Method
CoC방법론의 작동 과정은 다음과 같다.
1. (d) 질문을 해결하기 위해 pseudo code를 생성
2. (e) 각 줄의 코드 실행이 가능할 경우, 코드 인터프리터와 LMulator(언어 모델emulation code) 를 사용해 코드를 실행한다. 파란 하이라이트는 생성된 코드, 빨간 하이라이트는 코드의 실행, 보라 하이라이트는 LMulator가 녹색의 프로그램 상태를 통해 코드를 시뮬레이션하는 과정을 의미한다.


Results on Language Reasoning
BIG-Bench Hard(BBH)에서 CoC는 84%의 성능을 보였다. 이는12%의 차이의 정확도로 Chain of Thought 방법을 능가해씅며 23개 작업 중 18개 작업에서 인간 평가자를 능가하는 결과이다.


text-davinci-003을 기반으로 하는 CoC는 gpt-4보다 뛰어난 성능을 보였다.

Robotics Applications
CoC는 의미론적 추론과 알고리즘적 추론 과정을 모두 거치기 때문에 로봇 공학으로 응용되기에 아주 적합하다. 또한 코드를 통한 다른 API와 상호작용이 가능하고 사용자들과는 자연어를 통한 상호작용이 가능하다는 장점을 가지고 있다.

