Skip to main content
QUICK REVIEW

[논문 리뷰] From Words to Code: Harnessing Data for Program Synthesis from Natural Language

Anirudh Khatry, Joyce Cahoon|arXiv (Cornell University)|2023. 05. 02.
Software Engineering Research인용 수 6
한 줄 요약

이 논문은 GPT-4와 Codex를 사용하여만 인라인 학습을 활용하는 바탕으로, 실행 기반 의미 재순서 정렬과 온도 혼합을 통해 데이터 컨텍스트를 활용하여 자연어에서 코드 생성을 향상시키는 새로운 프로그램 합성 프레임워크를 제안한다. 후보 프로그램을 입력 데이터에서 실행하고 출력 기반 신호—의미 필터링, 혼합, 점수 조정—를 사용하여 재순서 정렬함으로써, SQL, Pandas, Power Query M 벤치마크에서 최대 45%의 top-1 정확도 향상과 34%의 top-3 정확도 향상을 달성한다.

ABSTRACT

Creating programs to correctly manipulate data is a difficult task, as the underlying programming languages and APIs can be challenging to learn for many users who are not skilled programmers. Large language models (LLMs) demonstrate remarkable potential for generating code from natural language, but in the data manipulation domain, apart from the natural language (NL) description of the intended task, we also have the dataset on which the task is to be performed, or the "data context". Existing approaches have utilized data context in a limited way by simply adding relevant information from the input data into the prompts sent to the LLM. In this work, we utilize the available input data to execute the candidate programs generated by the LLMs and gather their outputs. We introduce semantic reranking, a technique to rerank the programs generated by LLMs based on three signals coming the program outputs: (a) semantic filtering and well-formedness based score tuning: do programs even generate well-formed outputs, (b) semantic interleaving: how do the outputs from different candidates compare to each other, and (c) output-based score tuning: how do the outputs compare to outputs predicted for the same task. We provide theoretical justification for semantic interleaving. We also introduce temperature mixing, where we combine samples generated by LLMs using both high and low temperatures. We extensively evaluate our approach in three domains, namely databases (SQL), data science (Pandas) and business intelligence (Excel's Power Query M) on a variety of new and existing benchmarks. We observe substantial gains across domains, with improvements of up to 45% in top-1 accuracy and 34% in top-3 accuracy.

연구 동기 및 목표

  • 기존 방법이 입력 데이터 컨텍스트를 충분히 활용하지 못함에 따라, 데이터 조작 작업에서 자연어에서 코드로의 변환 정확도가 낮은 문제를 해결한다.
  • 단순한 프롬프트 엔지니어링에 의존하는 한계를 극복하기 위해, 실제 프로그램 실행 출력을 통합하여 보다 나은 후보 정렬을 가능하게 한다.
  • 프로그램 출력과 의미적 유사도를 활용하는 데이터 인식 재순서 정렬 메커니즘을 도입하여 프로그램 합성에서 top-K 정확도를 향상시킨다.
  • 모델 미세조정이나 사용자 제공 테스트 케이스 없이도 높은 정확도의 코드 생성을 가능하게 하며, 자연어 기술 설명과 입력 데이터 샘플에만 의존한다.
  • 의미적 혼합에 대한 이론적 근거를 제시하고, 온도 혼합과 같은 실용적 기법을 도입하여 LLM 생성 후보의 다양성과 품질을 향상시킨다.

제안 방법

  • 고온 및 저온 샘플링의 조합을 사용하여 LLM으로부터 다수의 후보 프로그램(상위-N)을 생성함으로써 다양성을 증가시킨다.
  • 입력 데이터셋의 샘플에서 각 후보 프로그램을 실행하여 실제 출력을 수집하고, 문법적으로 잘못되었거나 실행 불가능한 프로그램을 제거한다(의미 필터링).
  • 세 가지 신호를 사용하여 의미적 재순서 정렬을 적용한다: (a) 올바른 형식성과 의미 필터링을 통해 잘못된 출력을 제거하고, (b) 출력 유사도 기반으로 후보를 군집화하고 재정렬하는 의미적 혼합, (c) LLM이 예측한 출력을 사용한 출력 기반 점수 조정.
  • 다양한 온도 설정에서의 샘플을 혼합하여 온도 혼합을 적용함으로써, 고성능 후보를 포함할 가능성을 높인다.
  • 로그 확률, 실행 성공 여부, 출력 유사도를 통합한 복합 점수를 사용하여 후보를 재순서 정렬함으로써 정확한 프로그램을 우선순위에 올린다.
  • 생성된 프로그램 출력을 LLM 예측 출력과 일치시키는 새로운 출력 예측 기반 점수 조정 기법을 도입하여 정렬 성능을 향상시킨다.

실험 결과

연구 질문

  • RQ1입력 데이터에서 실제 프로그램 실행 출력을 활용하면, 단순히 프롬프트 엔지니어링에 의존하는 것보다 자연어에서 코드로의 합성 정확도가 크게 향상되는가?
  • RQ2출력 유사도 기반으로 후보 프로그램을 재순서 정렬하는 의미적 혼합 기법은 얼마나 효과적이며, 이는 이론적으로도 타당한가?
  • RQ3온도 혼합은 프로그램 합성 작업에서 LLM 생성 후보의 다양성과 품질을 어느 정도 향상시키는가?
  • RQ4생성된 출력을 LLM 예측 출력과 일치시키는 출력 기반 점수 조정은 정렬 성능을 향상시키는가?
  • RQ5제안된 프레임워크는 모델 미세조정이나 사용자 제공 테스트 케이스 없이도 다양한 데이터 조작 도메인(SQL, Pandas, Power Query M)에서 최신 기술 수준의 성능을 달성하는가?

주요 결과

  • 제안된 프레임워크는 데이터베이스, 데이터 과학, 비즈니스 인텔리전스 작업에서 최대 45%의 top-1 정확도 향상과 34%의 top-3 정확도 향상을 달성한다.
  • Codex 모델을 사용할 경우, 프롬프트 엔지니어링과 실행 피드백만으로도 76%의 top-1 실행 정확도를 달성하여 기존 최고 수준의 방법을 초월한다.
  • 실행 피드백을 통한 의미 재순서 정렬은 표준 로그 확률 기반 정렬보다 뚜렷이 우수하며, 특히 잘못된 또는 손상된 프로그램의 순위를 낮추는 데 효과적이다.
  • 온도 혼합은 후보의 다양성을 증가시키고, 정확한 프로그램이 상위-N 세트에 포함될 가능성을 높여 top-K 정확도 향상에 기여한다.
  • 의미적 혼합에 대한 이론적 근거가 제시되었으며, 출력 유사도 기반으로 후보를 군집화하고 재정렬함으로써 정렬 성능 향상이 가능하다는 것을 보여준다.
  • 사용자 제공 테스트 케이스나 모델 미세조정 없이도 강력한 성능을 달성하여, 자연어 기술 설명과 입력 데이터 샘플 샘플에만 의존한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.