In contrast to most previous Code LLMs that primarily emphasize the pre-training process, there has been limited exploration of fine-grained instruction tuning in the Code domain. The introduction of instruction tuning initially aimed to enhance the generalization capabilities of LMs across different tasks [19; 20; 21; 22; 23; 24; 25]. OpenAI's InstructGPT [10], for instance, involved soliciting human annotators to provide explicit instructions to ensure alignment with users' intentions. Similarly, recent works such as Alpaca [26] employed the self-instruct [27] method, where ChatGPT generated the instruction data. Vicuna [28] utilized user-shared conversations collected from ShareGPT.com. WizardLM [29] introduced the _Evol-Instruct_ method, which involved evolving existing instruction data to generate more complex and diverse datasets. However, it is worth noting that all these approaches primarily focused on the general domain and lacked specific design considerations for the code domain.
주로 사전 학습 과정을 강조하는 대부분의 기존 코드 LLM과는 달리 코드 영역에서 세분화된 Instruction Tuning에 대한 탐구는 제한적이었습니다. Instruction Tuning은 처음에는 다양한 작업에 걸쳐 LM의 일반화 기능을 향상시키는 것을 목표로 했습니다[19; 20; 21; 22; 23; 24; 25]. 예를 들어, OpenAI의 InstructGPT [10]은 사용자의 의도에 맞게 조정하기 위해 명시적인 지침을 제공하기 위해 인간 주석가를 요청했습니다. 마찬가지로 Alpaca [26]와 같은 최근 연구에서는 ChatGPT가 Instruction 데이터를 생성하는 self-instruct [27] 방법을 사용했습니다. Vicuna [28]는 ShareGPT.com에서 수집한 사용자 공유 대화를 활용했습니다. WizardLM [29]은 더 복잡하고 다양한 데이터 세트를 생성하기 위해 기존 Instruction 데이터를 진화시키는 _Evol-Instruct_ 방법을 도입했습니다. 그러나 이러한 모든 접근 방식은 주로 일반 도메인에 초점을 맞추었으며 코드 도메인에 대한 구체적인 설계 고려 사항이 부족했다는 점에 유의할 필요가 있습니다.
주로 사전 학습 과정을 강조하는 대부분의 기존 코드 LLM과는 달리 코드 영역에서 세분화된 명령어 튜닝에 대한 탐구는 제한적이었습니다. 명령어 튜닝은 처음에는 다양한 작업에 걸쳐 LM의 일반화 기능을 향상시키는 것을 목표로 했습니다[19; 20; 21; 22; 23; 24; 25]. 예를 들어, OpenAI의 InstructGPT [10]은 사용자의 의도에 맞게 조정하기 위해 명시적인 지침을 제공하기 위해 인간 주석가를 요청했습니다. 마찬가지로 Alpaca [26]와 같은 최근 연구에서는 ChatGPT가 명령어 데이터를 생성하는 셀프 인스트럭트 [27] 방법을 사용했습니다. Vicuna [28]는 ShareGPT.com에서 수집한 사용자 공유 대화를 활용했습니다. WizardLM [29]은 더 복잡하고 다양한 데이터 세트를 생성하기 위해 기존 명령어 데이터를 진화시키는 _Evol-Instruct_ 방법을 도입했습니다. 그러나 이러한 모든 접근 방식은 주로 일반 도메인에 초점을 맞추었으며 코드 도메인에 대한 구체적인 설계 고려 사항이 부족했다는 점에 유의할 필요가 있습니다.