Gemma3 는 구글이 2025년 3월 발표한 최신 오픈소스 생성형 AI 모델로, 강력한 멀티모달 기능, 최대 128,000 토큰의 긴 컨텍스트 처리, 140개 이상의 언어 지원, 효율적인 메모리 구조 등 다양한 혁신을 도입한 차세대 대형 언어모델(LLM)이다.
필자는 Hugging Face에 올라와있는 google/gemma-3-1b-it 모델을 사용할 예정이다.
python -m venv [가상환경이름]
명령어로 가상환경을 생성해준다.
이후 가상환경을 실행한다.
pip install transformers accelerate
다음과 같이 필요한 패키지들을 가상환경 내에 설치해준다.
허깅 페이스에 접속한 후 토큰을 발급받은 후, 모델이 올라와있는 페이지에서 
Acknowledge license 버튼을 눌러 모델에 접근할 수 있도록 한다.
huggingface-cli login
터미널에 다음과 같은 명령어를 입력 후, 토큰 입력창이 뜨면 발급받은 토큰을 입력해준다.
✅ Token is valid (permission: read)
✅ Login successful.
✅ The current active token is: ...
다음과 같은 로그가 뜨면 접속이 성공적으로 이뤄진 것이다.
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의 수를 제한해둬서 말이 잘렸지만 이는 각자 조절하면 된다.
