banner
홈페이지 / 블로그 / 코딩용 AI 도구인 Code Llama를 소개합니다
블로그

코딩용 AI 도구인 Code Llama를 소개합니다

Sep 01, 2023Sep 01, 2023

오늘 우리는 텍스트 프롬프트를 사용하여 코드를 생성하고 논의할 수 있는 LLM(대형 언어 모델)인 Code Llama를 출시합니다. Code Llama는 코딩 작업에 대해 공개적으로 사용 가능한 LLM을 위한 최첨단 기술입니다. 개발자의 워크플로를 더 빠르고 효율적으로 만들고 코딩을 배우는 사람들의 진입 장벽을 낮출 수 있는 잠재력이 있습니다. Code Llama는 프로그래머가 보다 강력하고 잘 문서화된 소프트웨어를 작성하는 데 도움이 되는 생산성 및 교육 도구로 사용될 수 있는 잠재력을 가지고 있습니다.

우리는 AI에 대한 개방형 접근 방식이 혁신적이고 안전하며 책임감 있는 새로운 AI 도구를 개발하는 데 가장 적합하다고 믿습니다. 따라서 Llama 2와 동일한 커뮤니티 라이선스에 따라 연구 및 상업적 용도로 Code Llama를 출시합니다.

Code Llama는 Llama 2의 코드 전문 버전으로, 코드별 데이터 세트에 대해 Llama 2를 추가로 훈련하고 동일한 데이터 세트에서 더 많은 데이터를 더 오랫동안 샘플링하여 생성되었습니다. 기본적으로 Code Llama는 향상된 코딩 기능을 제공합니다. 코드와 자연어 프롬프트 모두에서 코드와 코드에 대한 자연어를 생성할 수 있습니다(예: "피보나치 수열을 출력하는 함수를 작성해 주세요"). 코드 완성 및 디버깅에도 사용할 수 있습니다. Python, C++, Java, PHP, Typescript(Javascript), C#, Bash 등을 포함하여 오늘날 사용되는 가장 널리 사용되는 프로그래밍 언어를 대부분 지원합니다.

우리는 각각 7B, 13B 및 34B 매개변수를 가진 세 가지 크기의 Code Llama를 출시하고 있습니다. 이러한 각 모델은 5000억 개의 코드 토큰과 코드 관련 데이터로 학습됩니다. 7B 및 13B 기본 및 지시 모델은 중간 채우기(FIM) 기능으로 훈련되어 기존 코드에 코드를 삽입할 수 있습니다. 즉, 즉시 코드 완성과 같은 작업을 지원할 수 있습니다.

세 가지 모델은 서로 다른 서비스 및 지연 시간 요구 사항을 해결합니다. 예를 들어 7B 모델은 단일 GPU에서 제공될 수 있습니다. 34B 모델은 최상의 결과를 반환하고 더 나은 코딩 지원을 허용하지만, 더 작은 7B 및 13B 모델은 실시간 코드 완성과 같이 낮은 대기 시간이 필요한 작업에 더 빠르고 적합합니다.

또한 Code Llama의 두 가지 추가 변형인 Code Llama – Python과 Code Llama – Instruct를 더욱 미세 조정했습니다.

Code Llama – Python은 Code Llama의 언어 특화된 변형으로, 1000억 개의 Python 코드 토큰으로 더욱 미세 조정되었습니다. Python은 코드 생성을 위한 가장 벤치마킹된 언어이고 Python과 PyTorch가 AI 커뮤니티에서 중요한 역할을 하기 때문에 우리는 특수 모델이 추가적인 유용성을 제공한다고 믿습니다.

Code Llama – Instruct는 Code Llama를 미세 조정하고 정렬한 변형 명령어입니다. 명령어 조정은 훈련 과정을 계속하지만 목표는 다릅니다. 모델에는 자연어 명령 입력과 예상 출력이 제공됩니다. 이를 통해 사람들이 프롬프트에서 무엇을 기대하는지 더 잘 이해할 수 있습니다. Code Llama – Instruct가 자연어로 유용하고 안전한 답변을 생성하도록 미세 조정되었기 때문에 코드 생성을 위해 Code Llama를 사용할 때마다 Code Llama – Instruct 변형을 사용하는 것이 좋습니다.

프로그래머들은 이미 다양한 작업을 지원하기 위해 LLM을 사용하고 있습니다. 목표는 개발자 워크플로를 보다 효율적으로 만들어 반복적인 작업보다는 작업의 가장 인간 중심적인 측면에 집중할 수 있도록 하는 것입니다. 우리는 AI 모델, 특히 코딩을 위한 LLM이 혁신과 안전성 측면에서 개방형 접근 방식을 통해 가장 많은 이점을 얻을 수 있다고 믿습니다. 공개적으로 이용 가능한 코드별 모델은 사람들의 삶을 개선하는 새로운 기술의 개발을 촉진할 수 있습니다. Code Llama와 같은 코드 모델을 출시함으로써 전체 커뮤니티는 기능을 평가하고 문제를 식별하며 취약점을 수정할 수 있습니다.

Code Llama는 연구, 산업, 오픈 소스 프로젝트, NGO 및 비즈니스를 포함한 모든 부문의 소프트웨어 엔지니어를 지원하도록 설계되었습니다. 하지만 아직 지원해야 할 사용 사례가 더 많습니다. Code Llama가 다른 사람들에게 영감을 주어 Llama 2를 활용하여 연구 및 상용 제품을 위한 새롭고 혁신적인 도구를 만들 수 있기를 바랍니다.