대형 언어 모델(LLM)은 일반적으로 텍스트와 코드가 포함된 방대한 데이터 세트에서 사전 훈련됩니다. 프로그래밍 작업에 중점을 둔 모델의 경우 코드는 필수적이지만, 비코딩 애플리케이션을 위해 설계된 LLM에서도 코드의 포함이 점점 더 일반화되고 있습니다.
최근 Cohere의 연구자들은 LLM의 사전 훈련에서 코드 데이터의 존재가 비코딩 작업에서 전반적인 성능에 미치는 영향을 조사했습니다. 연구자들은 "실무자들이 코드 데이터가 LLM 성능에 필수적이라는 데 동의하긴 하지만, 비코딩 작업에 대한 구체적인 영향은 제한적인 연구를 통해 분석됐다"고 언급했습니다. 그들의 조사 결과에 따르면, 코드는 다양한 비코딩 작업에서 LLM 성능을 크게 향상시킨다는 사실이 확인되었습니다.
코드의 영향 조사
연구자들은 코드가 LLM의 일반적인 성능에 미치는 영향을 평가하기 위해 일련의 실험을 진행했습니다. 주요 요소로는 훈련 데이터의 코드 양, 훈련 중 코드 도입 시점, 코드의 품질 및 모델 크기가 포함되었습니다. 두 단계 훈련 방식을 이용하여, 고정된 토큰 수에 대해 텍스트와 코드의 비율을 다르게 하여 "지속적인 사전 훈련"을 수행했습니다. 이후 "쿨다운" 단계에서 최종 훈련 단계 동안 고품질 데이터 세트를 강조했습니다.
기준 모델은 오로지 텍스트로 훈련되었고, 다른 모델들은 텍스트와 코드의 균형 잡힌 데이터 세트 또는 코드 전용 데이터로 사전 훈련된 후 텍스트로 전환되었습니다. 그들은 4억 7천만 개에서 28억 개의 매개변수를 가진 다양한 모델을 세계 지식, 자연어 추론 및 코드 성능에 중점을 둔 여러 기준에서 평가했습니다.
비코딩 작업에서 코드의 이점
실험 결과, 코드는 비코딩 작업에서 LLM 성능을 상당히 향상시켰습니다. 자연어 추론에서 코드로 훈련된 모델은 텍스트 전용 모델을 일관되게 초과 성과를 보였습니다. 특히 코드만으로 사전 훈련된 모델이 이 기준에서 가장 높은 성과를 나타냈습니다. "사전 훈련 모델에서 코드 혼합이 자연어 추론 작업에 긍정적인 영향을 미친다는 것을 나타냅니다,"라고 연구자들은 설명했습니다.
세계 지식 작업에서는 사전 훈련 중 코드와 텍스트의 균형 잡힌 데이터 세트가 최고의 결과를 낳았습니다. 연구자들은 "세계 지식 작업의 최적 성능은 초기화를 위한 균형 잡힌 데이터 믹스와 지속적인 사전 훈련 시 더 많은 텍스트 비율에 의존한다"고 제안했습니다. 생성 작업에서도 코드 전용 모델과 균형 잡힌 모델이 텍스트 전용 모델을 초과 성과를 보이며, 코드를 포함하는 것이 추론 능력뿐만 아니라 생성 품질을 향상시킴을 나타냅니다.
또한 연구자들은 모델 크기가 커질수록 코드 추가의 이점이 증가하며, 세계 지식 및 코드 성능에서 가장 현저한 향상을 보이며, 자연어 추론에서는 미미한 개선이 있다는 점에 주목했습니다. "이 결과는 모델 크기가 커질수록 자연어 작업과 코드 생성 간의 상충 관계가 심화된다는 것을 시사합니다,"라고 그들은 언급했습니다.
LLM은 종종 대규모에서 새로운 행동을 나타내지만, 연구자들은 비용 제한으로 인해 매우 큰 모델을 테스트할 수 없었습니다. 그럼에도 불구하고 그들은 자신의 발견이 더 큰 규모에도 적용될 것이라고 낙관하고 있습니다. "우리의 결과가 4억 7천만 개에서 28억 개 매개변수 범위에서 유효하므로, 더 큰 모델 및 토큰 예산에도 적용될 것이라고 믿습니다,"라고 그들은 덧붙였습니다.
이 연구는 고품질 합성 코드가 사전 훈련 데이터에 포함될 경우 성능을 크게 향상시키며, 가용한 인간 생성 코드의 한계를 극복할 수 있다는 것을 밝히기도 했습니다. "우리의 합성 코드는 문제 진술에서 검증된 Python 솔루션을 생성하기 위해 만들어졌습니다,"라고 Cohere의 주 저자이자 연구 학자인 비라트 아리야부미가 말했습니다. "이는 성능이 뛰어난 교사 모델을 활용하는 것이 효과적인 합성 코드를 생성하는 데 필수적이라는 점에서 향후 잠재력을 열어줍니다."
또한 그들은 GitHub 풀 요청 및 커밋과 같은 코드에 인접한 데이터를 통합할 경우 추론 능력이 향상된다는 것을 발견했습니다. 쿨다운 단계에 코드를 포함시키면 비코딩 작업에서 성능이 더욱 향상되었습니다. 이는 기업이 고유 데이터를 사용하여 모델을 미세 조정하는 데 유용한 통찰력을 제공합니다. "쿨다운 단계는 비용, 데이터 품질 및 자원 요구 사항 측면에서 미세 조정과 밀접히 연관되어 있으며, 상당한 이익을 제공합니다. 우리는 훈련 과정 전반에 걸쳐 코드를 포함할 것을 권장합니다,"라고 아리야부미는 강조했습니다. "내부 코드베이스 및 코드 인접 데이터를 사용하는 것도 쿨다운 동안 결과를 향상시킬 수 있습니다."
Cohere가 기업 애플리케이션을 위한 LLM 개발에 주력함에 따라 이러한 발견은 향후 모델 및 제품 배포에 영향을 미칠 수 있으며, 특정 작업을 위해 다양한 텍스트 및 코드 혼합을 가진 사전 훈련된 모델을 제공할 수 있습니다. 기업은 이러한 모델을 독점 데이터로 미세 조정하여 최적의 성능을 이끌어낼 수 있습니다. "우리의 발견은 개발자에게 매우 관련이 있으며, 더 효율적인 모델 출시로 이어질 가능성이 높습니다,"라고 아리야부미는 말했습니다. "놀라운 점은 코드가 코딩 관련 작업을 넘어 성능을 향상시키는 방식이며, 이는 최첨단 모델 개발에 대한 우리의 접근 방식을 인지하게 합니다."