Customizing an LLM for Enterprise Software Engineering
이 논문은 데이터 선별과 중간 학습을 통한 종합적인 엔드 투 엔드 프로세스로 구글의 내부 소프트웨어 엔지니어링 생태계에 맞게 조정된 전문 대규모 언어 모델인 Gemini for Google(GfG)을 소개하며, 대규모 연구를 통해 개발자 효율성과 코드 품질을 크게 향상시켰고 기업용 모델 맞춤화를 위한 재현 가능한 청사진을 제공했습니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
상상해 보세요. 천재적인 세계적 수준의 셰프 (원본 AI 모델) 가 있다고 가정해 봅시다. 이 셰프는 이탈리아 파스타, 프랑스 제과, 일본 스시 등 거의 모든 요리를 할 수 있습니다. 이 셰프는 공공 도서관에 있는 모든 요리책으로 훈련받았습니다.
하지만 여러분은 거대하고 첨단 기술이 집약된 기업 구내 식당 (구글의 내부 소프트웨어 생태계) 에서 일합니다. 이곳의 규칙은 기이합니다. 표준 오븐을 사용하지 않고, 맞춤형으로 제작된 독점 기계를 사용합니다. 재료도 독특하며, '레시피'(코드) 는 건물 밖의 누구도 모르는 특정하고 기이한 이름을 가지고 있습니다.
만약 여러분이 세계적 수준의 셰프에게 구내 식당을 위한 요리를 부탁한다면, 셰프는 표준 레시피를 사용하려고 시도할 것입니다. 결과는 그럴듯해 보일지라도, 여러분의 기계와는 호환되지 않으며 음식을 망칠 수도 있습니다.
이 논문은 구글이 그 세계적 수준의 셰프를 데려와 전문 훈련 캠프를 통해 그들만의 특정 구내 식당에 완벽한 셰프로 변모시키는 방법을 설명합니다. 그들은 이 새로운 셰프를 **"구글용 제미니 (Gemini for Google, GfG)"**라고 부릅니다.
다음은 이를 단순한 단계로 나누어 설명한 것입니다:
1. "비밀 레시피 책" 수집
단순히 셰프에게 더 많은 공개 요리책을 주는 대신, 팀은 내부 문서의 거대한 도서관을 수집했습니다. 이는 코드뿐만 아니라 엔지니어들이 어떻게 일해 왔는지에 대한 전체 역사였습니다:
- "비평 (Critique)" 로그: 시니어 엔지니어들이 코드를 검토하며 "이 부분을 고쳐라"라고 말하고 주니어 엔지니어가 그것을 수정한 수천 건의 대화를 분석했습니다. 이를 통해 AI 는 피드백을 수용하고 개선하는 방법을 배웠습니다.
- "고장 - 수리 (Break-Fix)" 로그: 엔지니어들이 깨진 빌드 (소프트웨어가 작동하지 않는 상태) 를 어떻게 수리했는지 관찰했습니다. AI 는 "오, 이 오류가 발생하면 보통 이 특정 라인을 변경하는 것이 해결책이다"라고 배웠습니다.
- "속도 (Speed)" 로그: 엔지니어들이 프로그램의 실행 속도를 어떻게 높였는지 연구하여, AI 가 병목 지점을 파악하고 수정 방안을 제안하도록 가르쳤습니다.
- "채팅 (Chat)" 로그: 엔지니어들이 기이한 내부 도구에 대해 질문했던 내부 Q&A 세션을 활용하여, AI 가 회사의 특정 이름과 전문 용어를 익히도록 했습니다.
2. "중간 훈련" 수술
일반적으로 모델을 처음부터 훈련시키거나 (유아 뇌에서 시작), 끝부분만 미세 조정합니다. 구글은 그 중간에 있는 무언가를 수행했습니다.
원본 AI 를 고등학교를 졸업한 학생 (일반 사전 훈련) 으로 생각해 보세요.
- 문제: 만약 그들에게 바로 고급 기업법을 가르치기 시작하면, 기초 수학이나 간단한 에세이 작성법을 잊어버릴 수 있습니다. 이를 '파괴적 망각 (catastrophic forgetting)'이라고 합니다.
- 해결책: 고등학교 마지막 학년에서 시작하는 대신, 학생을 3 학년으로 되돌렸습니다. 학생에게 "비밀 레시피 책"(내부 데이터) 을 주고 그 시점부터 교육을 계속하도록 했습니다. 이렇게 하면 학생은 일반적인 지능은 유지하면서 특정 기업 규칙을 배울 수 있었습니다.
3. 결과: 더 똑똑한 조수
그들은 이 새로운 "구글용 제미니"를 29,000 명의 엔지니어를 대상으로 표준 버전과 비교 테스트했습니다. 결과는 특정 도시의 모든 단축 경로를 알고 있는 GPS 와 범용 GPS 를 비교하는 것과 같았습니다:
- 덜 많은 오가는 대화: 엔지니어들이 도움을 요청했을 때, 표준 AI 는 작업을 올바르게 수행하기 위해 약 23% 더 많은 대화 회전이 필요했습니다. 반면 전문화된 AI 는 처음에 더 자주 올바르게 수행했습니다.
- 더 나은 코드 생존율: 전문화된 AI 가 작성한 코드는 검토 과정을 통과하여 최종 제품에 실제로 사용될 확률이 17% 더 높았습니다. 거절되거나 깨질 가능성이 적었습니다.
- 실제 세계의 승리:
- "타임 트래블" 마이그레이션: 그들은 AI 를 사용하여 10 년 된 시스템을 새로운 시스템으로 업데이트했습니다. AI 는 작업의 80% 를 자동으로 수행하여 시간을 절반으로 줄였습니다.
- "스마트 붙여넣기": 엔지니어가 한 파일에서 다른 파일로 코드를 복사할 때, AI 가 자동으로 가져오기 (imports) 와 변수 이름을 수정하여 즉시 작동하도록 만들었습니다. 이로써 수천 번의 키 입력이 절약되었습니다.
4. 그들이 배운 것 (교훈)
이 논문은 이를 시도하려는 모든 사람을 위한 세 가지 큰 교훈을 강조합니다:
- 더 많은 데이터가 항상 좋은 것은 아님: AI 에게 모든 것을 던지는 것은 혼란을 초래할 수 있습니다. 그들은 데이터의 적절한 조합을 신중하게 선택해야 했습니다. 그렇지 않으면 AI 는 행동해야 할 때 말을 너무 많이 하는 것과 같은 잘못된 습관을 배울 수 있습니다.
- 형식과 싸우지 않기: AI 가 새로운 기이한 형식을 배우도록 강요하기보다, 내부 데이터를 AI 의 원래 훈련 스타일처럼 보이도록 조정하는 것이 더 쉽다는 것을 배웠습니다.
- 실제 테스트가 중요함: AI 를 객관식 퀴즈로만 테스트해서는 안 됩니다. 실제 세계에서 작동하는지 지켜봐야 합니다. 엔지니어가 실제로 코드를 받아들였는가? 검토를 통과했는가? 그것이 진정한 점수입니다.
결론
이 논문은 새로운 유형의 두뇌를 발명하는 것에 관한 것이 아닙니다. 매우 똑똑하고 범용적인 두뇌를 가져와 특정 회사 내에서 전문 인턴십을 제공하는 것에 관한 것입니다. 회사의 역사, 실수, 성공을 그에게 먹여줌으로써, 그들은 단순히 "코드를 아는" AI 가 아니라 그들의 코드, 그들의 도구, 그리고 그들의 작업 방식을 아는 AI 를 만들었습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.