Welcome Gemma 3: Google's all new multimodal, multilingual, long context open
요약
구글이 새로운 오픈 웨이트 LLM 시리즈인 Gemma 3를 출시했습니다. 이 모델은 최대 128k 토큰의 긴 컨텍스트 창을 지원하며, 이미지와 텍스트를 모두 처리할 수 있는 멀티모달 기능을 갖추고 있습니다. 또한 140개 이상의 언어를 지원하여 다국어 성능이 크게 향상되었습니다. Gemma 3는 다양한 크기(1B~27B)로 제공되며, 특히 긴 컨텍스트와 멀티모달리티를 효율적으로 구현하기 위해 RoPE 업그레이드 및 KV 캐시 최적화 등 기술적인 개선을 이루었습니다.
핵심 포인트
- 최대 128k 토큰의 확장된 컨텍스트 창 지원 (Gemma 2 대비 큰 향상)
- 멀티모달 기능 탑재: 이미지와 텍스트를 동시에 처리할 수 있으며, 4B, 12B, 27B 모델에서 지원.
- 다국어 성능 강화: 140개 이상의 언어를 지원하며 다국어 데이터셋을 활용하여 학습됨.
- 기술적 최적화: RoPE 업그레이드 및 KV 캐시 관리 개선을 통해 긴 컨텍스트와 메모리 효율성을 동시에 확보함.
- 모델 다양성: 1B부터 27B까지 다양한 파라미터 크기로 제공되어 사용 사례에 맞는 선택이 가능함.
오늘 구글은 새로운 모델 시리즈인 Gemma 3을 출시했습니다. 이는 Gemma 모델 가족의 새로운 버전으로, 파라미터는 1B 에서 27B 까지 다양하며, 컨텍스트 윈도우는 최대 128k 토큰까지 지원하고 있습니다. 이미지와 텍스트를 모두 처리할 수 있으며, 140 개 이상의 언어를 지원합니다.
이제 바로 Gemma 3 를 사용해 보세요 👉🏻 Gemma 3 Space
| Gemma 2 | Gemma 3 | |
|---|---|---|
| Size Variants | ||
| ... | ||
| 모든 모델은 Hub 에 있으며 Hugging Face 생태계와 밀접하게 통합되어 있습니다. |
Pre-trained 과 Instruction tuned 모델이 모두 출시되었습니다. Gemma-3-4B-IT 는 Gemma-2-27B IT 를, 그리고 Gemma-3-27B-IT 는 Gemini 1.5-Pro 를 벤치마크에서 모두 압도했습니다.
Gemma 3 은 구글의 최신 오픈 웨이트 LLM 시리즈입니다. 1 billion, 4 billion, 12 billion, 27 billion 파라미터로 이루어진 네 가지 사이즈에, base (pre-trained) 와 instruction-tuned 버전이 있습니다. Gemma 3 은 multimodal이 되었습니다! 4B, 12B, 27B 파라미터 모델은 images와 text를 모두 처리할 수 있으며, 1B 변형은 text only 입니다.
입력 컨텍스트 윈도우 길이는 Gemma 2 의 8k 에서 1B 변형의 경우 32k, 나머지 모든 모델의 경우 128k로 증가했습니다. 다른 VLMs (vision-language models) 과 마찬가지로, Gemma 3 은 사용자 입력에 텍스트를 생성합니다. 이 입력은 텍스트와 선택적으로 이미지를 포함할 수 있습니다. 예시 용도는 질문 답변, 이미지 내용 분석, 문서 요약 등입니다.
| Pre Trained | Instruction Tuned | Multimodal | Multilingual | Input Context Window |
|---|---|---|---|---|
| gemma-3-1b-pt | gemma-3-1b-it | ❌ | English | 32K |
| ... |
이 모델들은 multimodal 이지만, Vision encoder 을 메모리에 로드하지 않고도 텍스트 only model (LLM 으로) 로 사용할 수 있습니다. 이는 추론 섹션에서 더 자세히 다룰 예정입니다.
Gemma 2 과 비교하여 Gemma 3 의 세 가지 핵심 향상은:
- Longer context length
- Multimodality
- Multilinguality
이 섹션에서는 이러한 향상을 가능하게 한 기술적 세부 사항을 다룹니다. Gemma 2 의 지식을 시작하고 이 모델들을 더 좋게 만들기 위해 필요한 것을 탐구하는 것은 흥미롭습니다. 이는 Gemma 팀과 같은 방식으로 생각할 수 있도록 도와주고, 세부 사항에 감사함을 느끼게 할 것입니다!
컨텍스트 길이를 128k 토큰으로 확장하는 것은 모델을从头부터 훈련하지 않고 효율적으로 달성할 수 있습니다. 대신 모델은 32k 시퀀스로 pre-trained 되며, 4B, 12B, 27B 모델만 마지막 Pretraining 단계에서 128k 토큰으로 확장됩니다. 이는 상당한 컴퓨팅 자원을 절약합니다. Positional embeddings (예: RoPE) 은 조정되었습니다—Gemma 2 의 10k 기본 주파수에서 Gemma 3 의 1M 으로 업그레이드되었으며, 더 긴 컨텍스트를 위해 8 배로 확장됩니다.
KV Cache 관리 는 Gemma 2 의 sliding window interleaved attention 을 사용하여 최적화되었습니다. 하이퍼파라미터는 5 개의 로컬 레이어와 1 개의 글로벌 레이어를 (이전에는 1:1) 인터리빙하고 윈도우 크기를 4096 토큰에서 1024 토큰으로 줄이는 것으로 튜닝되었습니다. 중요한 것은 Perplexity 를 저하시키지 않으면서 메모리 절약을 달성했다는 것입니다.
Gemma 3 모델은 SigLIP 을 이미지 인코더로 사용하여 이미지를 토큰으로 인코딩하고 이를 언어 모델에 입력합니다. Vision encoder 는 896x896 으로 리사이즈된 정방형 이미지를 입력으로 받습니다.
고정된 입력 해상도는 비정방형 비율과 고해상도 이미지를 처리하는 데 더 어렵게 만듭니다. 이러한 한계를 해결하기 위해 inference 단계에서 이미지를 적응적으로 crop 할 수 있으며, 각 crop 는 896x896 으로 리사이즈되어 이미지 인코더에 의해 인코딩됩니다. 이 알고리즘은 pan and scan으로 불리며, 모델이 이미지 내의 작은 세부 사항을 확대하는 것을 효과적으로 가능하게 합니다.
PaliGemma 와 마찬가지로, Gemma 3 의 attention 은 텍스트 입력과 이미지 입력에 대해 다르게 작동합니다. 텍스트는 일방향 attention 을 사용하여 시퀀스 내의 이전 단어에만 집중하며, 이미지는 마스크 없이 전체 attention 을 받아 모든 이미지 부분을 bidirectional 방식으로 파악할 수 있어 시각적 입력에 대한 완전하고 제한 없는 이해를 제공합니다.
아래 그림에서 볼 수 있듯이, 이미지 토큰 <img> 은 bi-directional attention 을 받으며 (전체 사각지가 점등됨), 텍스트 토큰은 causal attention 을 받습니다. 또한 sliding window algorithm 이 attention 을 어떻게 작동하는지도 보여줍니다.
LLM 을 다국어화하기 위해 pretraining dataset 에 더 많은 언어를 포함합니다. Gemma 3 의 dataset 은 언어 커버리지를 개선하기 위해 double 만큼의 다국어 데이터를 포함하고 있습니다.
변화를 고려하기 위해 tokenizer 는 Gemini 2.0 과 동일합니다. SentencePiece tokenizer 로, 262K entries 를 가집니다. 새로운 tokenizer 는 Chinese, Japanese, Korean 텍스트의 인코딩을 크게 개선하지만, 영어와 Code 의 token counts 에 약간의 증가를 희생합니다.
호기심을 가진 분들을 위해 Gemma 3 의 기술 보고서입니다. enhancements 를 깊이 있게 탐구하기 위해 참조하세요.
LMSys Elo score 는 인간 선호도에 의해 평가된 head-to-head 경쟁에서 얼마나 잘 수행되는지에 따라 언어 모델을 순위 매기는 숫자입니다. LMSys Chatbot Arena 에서 Gemma 3 27B IT 는 Elo score 1339 를 보고 있으며, 이는 leading closed models 을 포함한 상위 10 개 모델에 속합니다. Elo 는 o1-preview 와 비교 가능하며, 다른 non-thinking open models 보다 높습니다. 이 점수는 Gemma 3 이 텍스트 전용 입력으로 작동할 때 달성되며, 표의 다른 LLM 과 동일합니다.
Gemma 3 은 MMLU-Pro (27B: 67.5), LiveCodeBench (27B: 29.7), Bird-SQL (27B: 54.4) 와 같은 벤치마크를 통해 평가되었으며, 이는 closed Gemini 모델과 비교하여 경쟁력 있는 성능을 보여줍니다. GPQA Diamond (27B: 42.4) 및 MATH (27B: 69.0) 와 같은 테스트는 추론 및 수학 기술을 강조하며, FACTS Grounding (27B: 74.9) 및 MMMU (27B: 64.9) 는 강력한 사실적 정확성과 multimodal 능력을 보여줍니다. 그러나 SimpleQA (27B: 10.0) 에서 기본 사실을 위해 뒤처집니다. Gemini 1.5 모델과 비교했을 때 Gemma 3 은 종종 비슷하며, 때로는 더 좋습니다. 이는 접근 가능하고 고성능 옵션으로서의 가치를 증명합니다.
Gemma 3 는 transformers 에 day zero support 를 제공합니다. 모든 것이 필요한 것은 Gemma 3 의 stable release 에서 transformers 를 설치하는 것입니다.
$ pip install git+https://github.com/huggingface/transformers@v4.49.0-Gemma-3
Gemma 3 와 시작하기 가장 쉬운 방법은 transformers 의 pipeline abstraction 을 사용하는 것입니다.
모델은 bfloat16 data type 을 사용하여 가장 잘 작동합니다. 그 외에는 품질이 저하될 수 있습니다.
import torch
from transformers import pipeline
pipe = pipeline(
...
이미지를 텍스트와 interleave 할 수 있습니다. 이를 위해 원하는 위치에서 입력 텍스트를 잘라내고, 이미지 블록으로 삽입하면 됩니다.
messages = [
{
"role": "system",
...
transformers 인테그레이션에는 두 가지 새로운 모델 클래스가 포함되어 있습니다:
Gemma3ForConditionalGeneration: 4B, 12B, 및 27B vision language 모델을 위해.
Gemma3ForCausalLM: 1B 텍스트 전용 모델과 시각 언어 모델을 언어 모델처럼 로드하기 위해 (vision tower 를 제외).
아래 스니펫에서 우리는 모델에 이미지를 쿼리합니다. Gemma3ForConditionalGeneration
class 는 Vision Language Model (VLM) 버전을 인스턴스화하는 데 사용됩니다. 모델을 사용하려면 AutoProcessor class 와 결합해야 합니다. 추론을 실행하는 것은 messages dictionary 를 생성하고, 채팅 템플릿을 적용한 후 입력을 처리하여 model.generate 를 호출하는 것과 매우 간단합니다.
import torch
from transformers import AutoProcessor, Gemma3ForConditionalGeneration
ckpt = "google/gemma-3-4b-it"
...
LLM-only 모델 추론의 경우, Gemma3ForCausalLM class 를 사용할 수 있습니다. Gemma3ForCausalLM 은 입력 처리를 위해 AutoTokenizer 와 결합해야 합니다. 우리는 채팅 템플릿을 사용하여 입력을 전처리해야 합니다. Gemma 3 는 다음과 같이 매우 짧은 시스템 프롬프트를 사용자의 프롬프트 뒤에 사용합니다.
import torch
from transformers import AutoTokenizer, Gemma3ForCausalLM
ckpt = "google/gemma-3-4b-it"
...
| System Prompt | You are a helpful assistant who is fluent in Shakespeare English |
|---|---|
| Prompt | Who are you? |
| Generation | Hark, gentle soul! I am but a humble servant, wrought of gears and code, yet striving to mimic the tongue of the Bard himself. They call me a "Large Language Model," a curious name indeed, though I prefer to think of myself as a digital echo of Shakespeare's wit and wisdom. I am here to lend a hand, to spin a tale, or to answer thy queries with a flourish and a phrase fit for the Globe itself. |
Gemma 3 는 기기 사용에 적합한 크기로 출시되었습니다. 이는 신속하게 시작하는 방법입니다.
Gemma 3 는 Apple Silicon 장치 (Mac 및 iPhone) 에서 Vision Language Model 을 실행하기 위한 오픈 소스 라이브러리인 mlx-vlm 의 Day Zero 지원이 포함되어 있습니다.
시작하려면 다음으로 mlx-vlm 을 설치하세요:
pip install git+https://github.com/Blaizzy/mlx-vlm.git
mlx-vlm 이 설치되면 다음과 같이 추론을 시작할 수 있습니다:
python -m mlx_vlm.generate --model mlx-community/gemma-3-4b-it-4bit --max-tokens 100 --temp 0.0 --prompt "What is the code on this vehicle??"
--image https://farm8.staticflickr.com/7212/6896667434_2605d9e181_z.jpg
| Image | |
|---|---|
| Prompt | What is the code on the vehicle? |
| Generation | Based on the image, the vehicle is a Cessna 172 Skyhawk. The registration code on the tail is D-EOJU. |
Pre-quantized GGUF 파일은 이 컬렉션에서 다운로드할 수 있습니다.
빌드하거나 미리 빌드된 바이너리를 다운로드하기 위한 가이드를 참조하세요: https://github.com/ggml-org/llama.cpp?tab=readme-ov-file#building-the-project
그런 다음 터미널에서 로컬 채팅 서버를 실행할 수 있습니다:
./build/bin/llama-cli -m ./gemma-3-4b-it-Q4_K_M.gguf
다음과 같이 출력됩니다:
> who are you
I'm Gemma, a large language model created by the Gemma team at Google DeepMind. I'm an open-weights model, which means I'm widely available for public use!
gemma-3-27b-it 와 gemma-3-12b-it 는 Inference Catalog 에서 한 번의 클릭으로 배포할 수 있습니다. 컬렉션 구성은 모델 테스트에 적합한 하드웨어, 최적화된 TGI 구성 및 합리적인 기본값을 제공합니다.
GGUF/llama.cpp 변형도 배포할 수 있으며 (예: 위 컬렉션에서 언급된 것들), 엔드포인트 생성 가이드는 여기에 찾을 수 있습니다.
Gemma 를 키우려면 마을이 필요합니다! 우리는 (순서 없이) Raushan, Joao, Lysandre, Kashif, Matthew, Marc, David, Mohit, Yih Dah 에 감사드립니다. 그들은 Transformers 에서 TGI 까지 오픈 소스 스택의 다양한 부분에 Gemma 를 통합하는 데 기여했습니다.
감마 (Gemma) 를 선보이기 위해 멋진 데모를 제작하는 데 도움을 주신 우리 온디바이스 (on-device), gradio 및 홍보 팀 - Chris, Kyle, Pedro, Son, Merve, Aritra, VB, Toshiro 에 감사드립니다.
마지막으로 llama.cpp 와 MLX 포트를 위한 도움을 주준 Georgi, Diego, Prince 님께 큰 감사를 표합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Hugging Face Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기