Google Gemma 오픈 LLM 릴리스
Google은 Gemini 아키텍처를 기반으로 하는 오픈 액세스 대형 언어 모델(LLM) 패밀리인 Gemma를 출시했습니다. 이번 릴리스는 커뮤니티에 2B 및 7B 파라미터 크기의 고성능 모델을 제공하며, 소비자 등급 GPU, TPU 및 CPU에 효율적으로 배포하도록 설계되었습니다.
모델 변형 및 사양
Gemma는 네 가지 주요 구성으로 제공되며, 각각 8K 토큰의 컨텍스트 길이를 갖고 필수 양자화 없이도 소비자 하드웨어에서 실행할 수 있습니다:
- gemma-7b: 기본 사전 학습된 7B 파라미터 모델.
- gemma-7b-it: 7B 모델의 인스트럭션 튜닝 버전.
- gemma-2b: 기본 사전 학습된 2B 파라미터 모델.
- gemma-2b-it: 2B 모델의 인스트럭션 튜닝 버전.
또한 Google은 초기 출시 한 달 후에 업데이트된 인스트럭션 모델(gemma-1.1-7b-it 및 gemma-1.1-2b-it)을 출시했습니다. 이 1.1 버전은 사실성, 인스트럭션 수행, 다중 턴 대화 품질, 코딩 능력에서 개선을 제공하며, 응답을 "Sure," 로 시작하는 경향이 감소했습니다.
성능 벤치마크
Gemma 7B는 다른 오픈 모델에 비해 강력한 성능을 보여줍니다. LLM Leaderboard에 따르면 Gemma-7B는 63.75점을 받아 Mistral-7B-v0.1(60.97) 및 Llama 2 7B(54.32)와 경쟁적으로 위치하고 있으며, Llama 2 70B Chat(67.87)보다 약간 낮습니다.
반면 Gemma 2B는 46.51점을 받아 Phi 2(61.33)와 같은 유사한 크기의 모델보다 낮은 것으로 나타났습니다.
기술 구현 및 프롬프트
프롬프트 형식
기본 모델은 특정 프롬프트 형식이 필요하지 않지만, 인스트럭션 튜닝(Instruct) 버전은 최적 성능을 위해 정확히 재현해야 하는 특정 대화 구조를 사용합니다:
<start_of_turn>user
[User Input]<end_of_turn>
<start_of_turn>model
[Model Response]<end_of_turn>
학습 데이터 및 투명성
기술 보고서에 따르면 기본 모델은 웹 문서, 코드 및 수학 텍스트를 대상으로 학습되었습니다. 데이터는 개인 식별 정보(PII), CSAM 콘텐츠를 제거하고 라이선스 검사를 수행하도록 필터링되었습니다. 그러나 원본 자료는 데이터셋 구성, 전처리 및 인스트럭션 모델에 사용된 감독 미세조정(SFT)과 인간 피드백 강화 학습(RLHF)의 구체적인 하이퍼파라미터에 대한 자세한 내용이 공유되지 않았다고 언급합니다.
생태계 통합 및 배포
Hugging Face Transformers
transformers 라이브러리(v4.38+)와의 통합을 통해 Gemma는 safetensors, bitsandbytes를 통한 4비트 양자화, 그리고 파라미터 효율적 미세조정(PEFT)을 활용할 수 있습니다. 모델은 torch.compile() 및 CUDA 그래프와 호환되어 추론 시 최대 4배 속도 향상을 제공할 수 있습니다.
하드웨어 요구 사항
- gemma-7b-it: 약 18 GB RAM이 필요합니다(NVIDIA 3090 또는 4090 GPU와 호환).
- 4-bit Quantization: 메모리 요구량을 약 9 GB로 줄여 더 다양한 소비자 그래픽 카드 및 Google Colab GPU와 호환 가능하게 합니다.
배포 옵션
- Google Cloud: Gemma는 Vertex AI 또는 Google Kubernetes Engine(GKE)를 통해 Text Generation Inference(TGI)를 사용하여 배포할 수 있습니다.
- Hugging Face Inference Endpoints: 백엔드로 TGI를 사용한 프로덕션 수준 배포를 지원하며, 연속 배치 및 토큰 스트리밍과 같은 기능을 제공합니다.
- JAX/Flax: 모델 저장소의
flax리비전을 통해 JAX/Flax 사용자를 위한 가중치가 제공됩니다.
미세조정 기능
Gemma는 Hugging Face TRL(Transformer Reinforcement Learning) 라이브러리를 사용하여 소비자 수준 GPU에서 효율적으로 미세조정할 수 있습니다. 4비트 양자화와 모든 어텐션 블록 선형 레이어를 대상으로 하는 QLoRA(Quantized Low-Rank Adaptation)를 활용하면, OpenAssistant 채팅 데이터셋을 사용해 단일 A10G GPU에서 7B 모델을 약 9시간에 학습시킬 수 있습니다.