[Gemma] Google Gemma3 사용하기

gyeol·2025년 5월 24일
post-thumbnail

Gemma3 란?

Gemma3 는 구글이 2025년 3월 발표한 최신 오픈소스 생성형 AI 모델로, 강력한 멀티모달 기능, 최대 128,000 토큰의 긴 컨텍스트 처리, 140개 이상의 언어 지원, 효율적인 메모리 구조 등 다양한 혁신을 도입한 차세대 대형 언어모델(LLM)이다.

  • 다양한 모델 크기 : 1B, 4B, 12B, 27B 파라미터 크기의 모델 제공
  • 다국어 지원 : 140개 이상의 언어 지원
  • 멀티모달 기능 : 텍스트, 이미지, 비디오 분석 가능
  • 경량화 및 효율성 : 단일 GPU/TPU 및 저사양 기기에서도 높은 성능 발휘
  • 오픈 소스 : Hugging Face, PyTorch 등 다양한 플랫폼에서 오픈 소스로 공개

필자는 Hugging Face에 올라와있는 google/gemma-3-1b-it 모델을 사용할 예정이다.

1. 가상환경 생성

python -m venv [가상환경이름]

명령어로 가상환경을 생성해준다.
이후 가상환경을 실행한다.

2. 필요한 패키지 설치

pip install transformers accelerate

다음과 같이 필요한 패키지들을 가상환경 내에 설치해준다.

3. Hugging Face 토큰 발급

허깅 페이스에 접속한 후 토큰을 발급받은 후, 모델이 올라와있는 페이지에서
Acknowledge license 버튼을 눌러 모델에 접근할 수 있도록 한다.

4. Hugging Face 접근

huggingface-cli login

터미널에 다음과 같은 명령어를 입력 후, 토큰 입력창이 뜨면 발급받은 토큰을 입력해준다.

✅ Token is valid (permission: read)
✅ Login successful.
✅ The current active token is: ...

다음과 같은 로그가 뜨면 접속이 성공적으로 이뤄진 것이다.

5. 테스트 코드

from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline

model_id = "google/gemma-3-1b-it"  # 또는 "google/gemma-3-1b-it" 최신 버전 확인 후 사용

# 토크나이저와 모델 로드
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

# 파이프라인 설정
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)

# 테스트 프롬프트
prompt = "Q: 안이 코팅된 종이컵은 종이로 분리배출해야 하나요?\nA:"
result = pipe(prompt, max_new_tokens=300, do_sample=True, temperature=0.7)

print(result[0]["generated_text"])

성공적으로 환경 세팅을 마쳤으면 다음과 같이 파일을 만들어 테스트 코드를 작성해준다. 분리배출 앱에서 사용할거라서 다음과 같이 프롬프트를 만들었는데 프롬프트는 원하는 대로 입력하면 된다.
이후, 실행하면 결과가 잘 나옴을 확인할 수 있다. 현재는 max_new_tokens의 수를 제한해둬서 말이 잘렸지만 이는 각자 조절하면 된다.

참고

https://blog.google/technology/developers/gemma-3/

profile
공부 기록 공간 '◡'

0개의 댓글