**Code Synthesis.** In addition to generating high-quality natural language text, existing LLMs also show strong abilities to generate formal language, especially computer programs (_i.e._, code) that satisfy specific conditions, called _code synthesis_[635]. Unlike natural language generation, as the generated code can be directly checked by execution with corresponding compilers or interpreters, existing work mostly evaluates the quality of the generated code from LLMs by calculating the pass rate against the test cases, _i.e._, pass@_k42_. Recently, several code benchmarks focusing on functional correctness are proposed to assess the code synthesis abilities of LLMs, such as APPS [378], HumanEval [105], and MBPP [208]. Typically, they consist of diverse programming problems, with text specification and test cases for correctness checking. To improve such an ability, it is key to fine-tuning (or pre-training) LLMs on code data, which can effectively adapt LLMs to code synthesis tasks [86]. In addition, existing work has proposed new strategies to generate code, _e.g._, sampling multiple candidate solutions [208] and planning-guided decoding [636], which can be considered as the imitation of bug-fixing and code-planning processes by programmers. Impressively, LLMs have recently shown competitive performance with humans by achieving a ranking of the top 28% among users on the programming contest platform Codeforces [114].
**Code Synthesis**. 기존 LLM은 고품질의 자연어 텍스트를 생성하는 것 외에도 특정 조건을 만족하는 공식 언어, 특히 컴퓨터 프로그램(_즉, 코드)을 생성하는 강력한 능력을 보여주는데, 이를 _code synthesis_라고 합니다[635]. 생성된 코드는 해당 컴파일러나 인터프리터를 통해 직접 실행하여 검사할 수 있기 때문에 자연어 생성과 달리 기존 연구에서는 주로 테스트 케이스에 대한 합격률, 즉 pass@_k42_를 계산하여 LLM에서 생성된 코드의 품질을 평가합니다. 최근에는 기능적 정확성에 초점을 맞춘 여러 코드 벤치마크(예: APPS [378], HumanEval [105], MBPP [208])가 제안되어 LLM의 code synthesis 능력을 평가하고 있습니다. 일반적으로 정확성 검사를 위한 텍스트 사양과 테스트 케이스가 포함된 다양한 프로그래밍 문제로 구성됩니다. 이러한 능력을 향상시키기 위해서는 코드 데이터에 대해 LLM을 Fine-tuning(또는 사전 학습)하는 것이 핵심이며, 이를 통해 LLM을 code synthesis 작업에 효과적으로 적용할 수 있습니다[86]. 또한 기존 연구에서는 코드를 생성하기 위한 새로운 전략, _예를 들어 여러 후보 솔루션을 샘플링[208]하고 계획 안내 디코딩[636]하는 등 프로그래머의 버그 수정 및 코드 계획 프로세스를 모방하는 것으로 간주할 수 있는 새로운 전략을 제안했습니다. 놀랍게도 LLM은 최근 프로그래밍 경진대회 플랫폼인 Codeforces에서 사용자 중 상위 28%의 순위를 기록하여 인간과 경쟁력 있는 성능을 보여주었습니다[114].
**코드 합성**. 기존 LLM은 고품질의 자연어 텍스트를 생성하는 것 외에도 특정 조건을 만족하는 공식 언어, 특히 컴퓨터 프로그램(_즉, 코드)을 생성하는 강력한 능력을 보여주는데, 이를 _코드 합성_이라고 합니다[635]. 생성된 코드는 해당 컴파일러나 인터프리터를 통해 직접 실행하여 검사할 수 있기 때문에 자연어 생성과 달리 기존 연구에서는 주로 테스트 케이스에 대한 합격률, 즉 pass@_k42_를 계산하여 LLM에서 생성된 코드의 품질을 평가합니다. 최근에는 기능적 정확성에 초점을 맞춘 여러 코드 벤치마크(예: APPS [378], HumanEval [105], MBPP [208])가 제안되어 LLM의 코드 합성 능력을 평가하고 있습니다. 일반적으로 정확성 검사를 위한 텍스트 사양과 테스트 케이스가 포함된 다양한 프로그래밍 문제로 구성됩니다. 이러한 능력을 향상시키기 위해서는 코드 데이터에 대해 LLM을 미세 조정(또는 사전 학습)하는 것이 핵심이며, 이를 통해 LLM을 코드 합성 작업에 효과적으로 적용할 수 있습니다[86]. 또한 기존 연구에서는 코드를 생성하기 위한 새로운 전략, _예를 들어 여러 후보 솔루션을 샘플링[208]하고 계획 안내 디코딩[636]하는 등 프로그래머의 버그 수정 및 코드 계획 프로세스를 모방하는 것으로 간주할 수 있는 새로운 전략을 제안했습니다. 놀랍게도 LLM은 최근 프로그래밍 경진대회 플랫폼인 Codeforces에서 사용자 중 상위 28%의 순위를 기록하여 인간과 경쟁력 있는 성능을 보여주었습니다[114].