Meta, 코드인 Code Llama 출시
경쟁이 만연한 생성 AI 분야에서 큰 성공을 거두려는 의도를 갖고 있는 Meta는 오픈 소스를 찢고 있는 모습을 보이고 있습니다.
텍스트 생성, 언어 번역, 오디오 생성을 위한 AI 모델 출시에 이어 회사는 오늘 자연어, 특히 영어로 코드를 생성하고 설명할 수 있는 기계 학습 시스템인 Code Llama를 오픈 소스로 공개했습니다.
GitHub Copilot 및 Amazon CodeWhisperer는 물론 StarCoder, StableCode 및 PolyCoder와 같은 오픈 소스 AI 기반 코드 생성기와 유사하게 Code Llama는 Python, C++, Java, PHP, Typescript, C# 및 Bash.
Meta는 TechCrunch와 공유한 블로그 게시물에서 “우리는 AI 모델, 특히 코딩을 위한 대규모 언어 모델이 혁신과 안전성 측면에서 개방형 접근 방식의 가장 큰 이점을 얻을 수 있다고 믿습니다.”라고 썼습니다. “공개적으로 이용 가능한 코드별 모델은 사람들의 삶을 개선하는 새로운 기술의 개발을 촉진할 수 있습니다. Code Llama와 같은 코드 모델을 출시함으로써 전체 커뮤니티는 자신의 기능을 평가하고 문제를 식별하며 취약점을 수정할 수 있습니다.”
Python에 최적화된 버전과 지침을 이해하도록 미세 조정된 버전(예: "피보나치 수열을 출력하는 함수를 작성해 주세요")을 포함하여 다양한 버전으로 제공되는 Code Llama는 Llama 2 텍스트 생성 모델을 기반으로 합니다. 해당 메타는 이번 달 초에 오픈소스로 공개되었습니다. Llama 2는 코드를 생성할 수 있지만 반드시 좋은 코드는 아니었습니다. 확실히 Copilot과 같은 특수 제작 모델이 생성할 수 있는 품질에는 미치지 못했습니다.
Code Llama를 훈련할 때 Meta는 Llama 2를 훈련하는 데 사용한 것과 동일한 데이터 세트를 사용했습니다. 이는 웹에서 공개적으로 사용 가능한 소스가 혼합된 것입니다. 하지만 이 모델에는 코드가 포함된 훈련 데이터의 하위 집합을 "강조"하는 모델이 있었습니다. 기본적으로 Code Llama에는 "상위" 모델인 Llama 2보다 코드와 자연어 간의 관계를 학습하는 데 더 많은 시간이 주어졌습니다.
70억 개의 매개변수에서 340억 개의 매개변수 크기에 이르는 각 코드 라마 모델은 코드 관련 데이터와 함께 5,000억 개의 코드 토큰으로 훈련되었습니다. Python 전용 Code Llama는 1,000억 개의 Python 코드 토큰으로 더욱 미세 조정되었으며, 마찬가지로 명령을 이해하는 Code Llama는 질문에 대한 "유용하고" "안전한" 답변을 생성하기 위해 인간 주석자의 피드백을 사용하여 미세 조정되었습니다. .
맥락에서 매개변수는 과거 학습 데이터에서 학습된 모델의 일부이며 본질적으로 텍스트(또는 이 경우 코드) 생성과 같은 문제에 대한 모델의 기술을 정의하는 반면, 토큰은 원시 텍스트(예: "팬, ""환상적"이라는 단어의 경우 "tas" 및 "tic").
Code Llama 모델 중 일부는 기존 코드에 코드를 삽입할 수 있으며 모두 약 100,000개의 코드 토큰을 입력으로 수용할 수 있으며, 최소 하나(70억 개의 매개변수 모델)는 단일 GPU에서 실행될 수 있습니다. (다른 것들은 더 강력한 하드웨어가 필요합니다.) Meta는 340억 개의 매개변수 모델이 현재까지 오픈 소스로 제공되는 코드 생성기 중 가장 성능이 뛰어나며 매개변수 수 기준으로 가장 큰 모델이라고 주장합니다.
코드 생성 도구는 프로그래머는 물론이고 프로그래머가 아닌 사람에게도 매우 매력적일 것이라고 생각하실 것입니다. 여러분의 생각은 틀리지 않았습니다.
GitHub에서는 현재 400개 이상의 조직이 Copilot을 사용하고 있으며 해당 조직 내의 개발자가 이전보다 55% 더 빠르게 코딩하고 있다고 주장합니다. 프로그래밍 Q&A 사이트인 스택 오버플로(Stack Overflow)는 최근 설문 조사에서 70%가 이미 올해 AI 코딩 도구를 사용하고 있거나 사용할 계획인 것으로 나타났으며 생산성 향상 및 학습 속도 향상과 같은 이점을 언급했습니다.
그러나 모든 형태의 생성 AI와 마찬가지로 코딩 도구도 궤도를 벗어나거나 새로운 위험을 초래할 수 있습니다.
스탠포드 산하 연구팀은 AI 도구를 사용하는 엔지니어가 앱에 보안 취약점을 일으킬 가능성이 더 높다는 사실을 발견했습니다. 팀이 보여준 도구는 표면적으로는 올바른 것처럼 보이지만 손상된 소프트웨어를 호출하고 안전하지 않은 구성을 사용하여 보안 문제를 일으키는 코드를 생성하는 경우가 많습니다.