AI 오픈소스 모델 가이드

Google Gemma 완전 가이드

👥 방문자 수

Google DeepMind의 경량 오픈소스 모델 Gemma 2. Gemini 기술을 기반으로 2B·9B·27B 크기로 제공되며, 온디바이스부터 클라우드까지 다양한 환경에서 배포할 수 있습니다.

Google DeepMind Gemma 2 / 3 2B · 9B · 27B Keras · JAX
🧪 실전 예제 보기 → ← TestForge 홈으로

Gemma 소개

Google DeepMind가 2024년 출시한 Gemma는 Gemini 모델 연구에서 파생된 경량 오픈 모델입니다. 같은 크기 대비 최고 수준의 성능을 제공하며, Google의 TPU/GPU 인프라에 최적화되어 있습니다. Gemma 2(2024.06)는 아키텍처 개선으로 이전 세대 대비 크게 향상된 성능을 보입니다.

주요 특징

모델 라인업

모델파라미터VRAM특징
Gemma 3 1B1B2GB모바일·엣지용 초경량
Gemma 2 2B / Gemma 3 4B2~4B3~5GB온디바이스 적합
Gemma 2 9B / Gemma 3 12B9~12B8~12GB성능/효율 균형 최적
Gemma 2 27B / Gemma 3 27B27B24~32GB최고 성능, GPT-3.5+ 수준

라이선스 주의사항

⚠️
Gemma 전용 라이선스: Google의 Gemma Terms of Use를 따릅니다. 상업적 사용은 가능하지만 Hugging Face에서 동의 후 다운로드해야 합니다.

Ollama로 실행

# Gemma 2 2B
ollama run gemma2:2b

# Gemma 2 9B
ollama run gemma2

# Gemma 2 27B
ollama run gemma2:27bbash

Hugging Face 활용

pip install transformers torch accelerate
huggingface-cli login

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "google/gemma-2-9b-it"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
)python

Keras / KerasNLP로 활용

pip install keras-nlp keras

import os
os.environ["KERAS_BACKEND"] = "jax"

import keras_nlp

# 모델 로드
gemma_lm = keras_nlp.models.GemmaCausalLM.from_preset("gemma2_instruct_2b_en")

# 텍스트 생성
output = gemma_lm.generate(
    "user\nPython 제너레이터란 무엇인가요?\nmodel\n",
    max_length=512,
)python

Python 파이프라인

from transformers import pipeline
import torch

pipe = pipeline(
    "text-generation",
    model="google/gemma-2-2b-it",
    torch_dtype=torch.bfloat16,
    device_map="auto",
)

messages = [{"role": "user", "content": "REST API와 GraphQL의 차이점은?"}]
result = pipe(messages, max_new_tokens=512)python

Vertex AI 배포

from google.cloud import aiplatform
from vertexai.preview.generative_models import GenerativeModel

aiplatform.init(project="your-project-id", location="us-central1")
model = GenerativeModel("gemma-2-9b-it")

response = model.generate_content("마이크로서비스 아키텍처의 핵심 원칙을 설명해주세요.")python

파인튜닝 (LoRA)

from peft import LoraConfig, get_peft_model
from trl import SFTTrainer

lora_config = LoraConfig(
    r=16, lora_alpha=32,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                    "gate_proj", "up_proj", "down_proj"],
    task_type="CAUSAL_LM",
)

trainer = SFTTrainer(
    model=model,
    args=TrainingArguments(output_dir="./gemma-lora", bf16=True),
    peft_config=lora_config,
    train_dataset=dataset,
)python
💡
다른 모델 비교: Llama · Mistral · DeepSeek