CodeGemma 모델 카드

모델 페이지: CodeGemma

리소스 및 기술 문서:

이용약관: 약관

작성자: Google

모델 정보

모델 요약

설명

CodeGemma는 Gemma를 기반으로 빌드된 경량 오픈 코드 모델 제품군입니다. CodeGemma 모델은 텍스트-텍스트 및 텍스트-코드 디코더 전용 모델이며 코드 완성을 전문으로 하는 70억 개의 선행 학습된 변형으로 제공됨 코드 생성 작업, 즉 대규모 언어 모델 학습에 대한 70억 개의 코드 채팅 및 안내와 20억 개의 매개변수 선행 학습된 변형 빠르게 코드를 완성할 수 있습니다.

입력 및 출력

  • 입력: 선행 학습된 모델 변형의 경우, 코드 접두사 및 접미사(선택사항) 코드 완성 및 생성 시나리오 또는 자연어 텍스트/프롬프트를 사용할 수 있습니다. 지침이 조정된 모델 변형: 자연어 텍스트 또는 프롬프트

  • 출력: 선행 학습된 모델 변형의 경우: 중간 코드 자연어 처리, 즉 완성, 코드, 자연어가 포함됩니다 명령에 따라 조정된 모델 변형의 경우: 자연어를 사용할 수 있습니다

인용

@article{codegemma_2024,
    title={CodeGemma: Open Code Models Based on Gemma},
    url={https://goo.gle/codegemma},
    author={ {CodeGemma Team} and Hartman, Ale Jakse and Hu, Andrea and Choquette-Choo, Christopher A. and Zhao, Heri and Fine, Jane and Hui,
    Jeffrey and Shen, Jingyue and Kelley, Joe and Howland, Joshua and Bansal, Kshitij and Vilnis, Luke and Wirth, Mateo and Nguyen, Nam, and Michel, Paul and Choy, Peter and Joshi, Pratik and Kumar, Ravin and Hashmi, Sarmad and Agrawal, Shubham and Zuo, Siqi and Warkentin, Tris and Gong, Zhitao et al.},
    year={2024}
}

모델 데이터

학습 데이터 세트

Gemma를 기본 모델로 사용하는 CodeGemma 2B 및 7B 사전 학습된 변종은 500~1,000억 개의 추가 토큰(주로 영어)으로 오픈소스 수학 데이터 세트의 언어 데이터를 종합적으로 생성하여 생성합니다.

학습 데이터 처리

CodeGemma 학습에는 다음과 같은 데이터 전처리 기술이 적용되었습니다.

  • FIM - 선행 학습된 CodeGemma 모델은 중간 채우기 (FIM) 작업에 중점을 둡니다. 모델은 PSM 및 SPM 모드를 모두 사용하여 작동하도록 학습되었습니다. FIM 설정은 50~50 PSM/SPM의 80~90% FIM 비율
  • 종속 항목 그래프 기반 패킹 및 단위 테스트 기반 어휘 패킹 기법: 실제 적용 사례와의 모델 정렬을 개선하기 위해 가장 관련성 높은 소스를 같은 위치에 배치하도록 프로젝트/저장소 수준의 예시 파일 또는 폴더 내에 포함됩니다 구체적으로는 두 가지 휴리스틱을 종속 항목 그래프 기반 패킹과 단위 테스트 기반 어휘 패킹입니다.
  • 문서를 접두사로 분할하는 새로운 기법을 개발하여 더 자연스러운 구문으로 시작하도록 접미사를 사용합니다. 훨씬 더 강력합니다.
  • 안전성: Gemma와 유사하게, 저희는 다음과 같은 엄격한 안전 필터링을 구축했습니다. 개인 정보 필터링, CSAM 필터링 및 콘텐츠에 따른 기타 필터링 품질 및 안전을 Google 정책을 준수해야 합니다.

구현 정보

학습 중에 사용되는 하드웨어 및 프레임워크

예: Gemma, CodeGemma는 최신 세대의 아키텍처에 대해 Tensor Processing Unit (TPU) 하드웨어 (TPUv5e), JAXML 사용 과정.

평가 정보

벤치마크 결과

평가 방식

코딩 벤치마크 결과

벤치마크 20억 2B (1.1) 7B 70억-이탈리아 7B-IT (1.1)
HumanEval 31.1 37.8 44.5 56.1 60.4
MBPP 43.6 49.2 56.2 54.2 만 55.6세
HumanEval 단일 행 78.4 79.3 76.1 68.3 77.4
HumanEval 다중 선 51.4 51.0 58.4 20.1 23.7
BC HE C++ 24.2 19.9 32.9 42.2 46.6
BC HE C# 10.6 26.1 22.4 26.7 54.7
BC HE 고 20.5 18.0 21.7 28.6 34.2
BC HE 자바 29.2 29.8 41.0 48.4 50.3
BC HE 자바스크립트 21.7 28.0 39.8 46.0 48.4
BC HE Kotlin 28.0 32.3 39.8 51.6 47.8
BC HE Python 21.7 36.6 42.2 48.4 54.0
BC HE Rust 26.7 24.2 34.1 36.0 37.3
BC MBPP C++ 47.1 38.9 53.8 56.7 63.5
BC MBPP C# 28.7 45.3 32.5 41.2 62.0
BC MBPP Go 45.6 38.9 43.3 46.2 53.2
BC MBPP 자바 41.8 49.7 50.3 57.3 62.9
BC MBPP 자바스크립트 45.3 45.0 58.2 61.4 61.4
BC MBPP Kotlin 46.8 49.7 54.7 59.9 62.6
BC MBPP Python 38.6 52.9 59.1 62.0 60.2
BC MBPP Rust 45.3 47.4 52.9 53.5 52.3

자연어 벤치마크 (70억 모델)

다양한 언어 역량 측정항목에서 Gemma, CodeGemma PT, CodeGemma IT를 비교하는 막대 그래프입니다. 이 세 가지 모델은 모두 비슷한 수준이지만, CodeGemma는 자연어에 대한 강력한 이해도를 유지합니다.

윤리 및 안전

윤리 및 안전 평가

평가 접근 방식

Google의 평가 방법에는 구조화된 평가와 내부 레드팀 구성이 포함됩니다. 관련 콘텐츠 정책 테스트 레드팀은 목표와 인적 평가 측정항목이 서로 다른 팀들입니다. 이러한 모델은 비즈니스 목표와 관련된 여러 다양한 카테고리에 대해 윤리 및 안전을 포함한

  • 콘텐츠 안전 및 표현을 다루는 프롬프트에 대한 검토자의 평가 발생할 수 있습니다. 자세한 내용은 Gemma 모델 카드 참조하세요.

  • 자율적인 테스트에 중점을 둔 사이버 공격 역량의 구체적인 테스트 위험을 제한하고 잠재적 피해를 최소화합니다

평가 결과

윤리 및 안전성 평가의 결과가 허용 가능한 기준점 내에 있음 회의용 내부 정책 아동 안전, 콘텐츠 안전, 표현에 대한 피해, 큰 피해를 입힐 수 있습니다 자세한 내용은 Gemma 모델 카드 를 참조하세요.

모델 사용 및 제한사항

알려진 제한사항

대규모 언어 모델 (LLM)은 학습 데이터와 테크의 근본적인 한계를 배웁니다. 자세한 내용은 Gemma 모델 카드 를 참조하세요.

윤리적 고려사항 및 위험

대규모 언어 모델 (LLM)의 개발로 인해 몇 가지 윤리적 우려가 제기되고 있습니다. Google은 AI 원칙 개발 과정에서 여러 측면을 신중하게 모델을 학습시키는 작업도 반복해야 합니다

동일한 내용을 참조하세요. Gemma 모델 카드를 참조하세요.

사용 목적

애플리케이션

Code Gemma 모델은 IT와 PT 모델. 다음 목록은 일부에 불과하며, 모든 사례를 포함하고 있지는 않습니다. 이 이 목록의 목적은 사용 가능한 인벤토리와 관련된 상황 정보를 제공하는 것입니다. 모델 제작자가 모델 학습 및 모델 학습의 일부로 고려한 사용 사례를 살펴봤습니다

  • 코드 완성: PT 모델을 사용하여 IDE 확장 프로그램으로 코드를 완료할 수 있음
  • 코드 생성: IT 모델을 사용하여 IDE 사용 여부와 관계없이 코드를 생성할 수 있음 확장
  • 코드 대화: IT 모델은 논의하는 대화 인터페이스를 뒷받침할 수 있습니다. 코드
  • 코드 교육: 대화형 코드 학습 환경을 지원하는 IT 모델은 전문 지식을 습득하거나 코딩 연습을 제공하여

이점

출시 시점을 기준으로 이 모델 제품군은 고성능 개방형 처음부터 설계되고 코드 중심의 대규모 언어 모델 구현을 를 비교해 보겠습니다.

이 문서에 설명된 코딩 벤치마크 평가 측정항목을 사용하면 유사한 크기의 다른 모델들에 비해 우수한 성능을 제공하는 것으로 나타났습니다. 대안으로 사용할 수 있습니다.