본문 바로가기

AI 소식/오픈소스 AI 모델

구글의 온디바이스 모델 Gemma3를 소개합니다.

안녕하세요,

최근 AI 기술의 발전으로 누구나 쉽게 챗봇, 글쓰기 도우미, 이미지 생성 AI를 활용하는 시대가 열렸습니다. 하지만 여전히 많은 사람들이 한 번쯤은 고민해 봅니다.

“내 컴퓨터에서 직접, 나만을 위한 AI를 실행할 수 없을까?”

 

이 질문에 대한 해답으로 SLM(Small Language Model) 이 주목받고 있습니다. 가벼우면서도 강력한 성능을 가진 모델들이 등장하면서, 개인 PC나 로컬 환경에서도 AI를 직접 돌릴 수 있는 가능성이 열리고 있습니다. 이번 글에서는 그 중 하나인 Google Gemma 3 모델을 로컬과 Ollama 환경에서 실행해보고, 실제 성능과 활용법을 살펴봅니다.


반응형

Gemma 3 란

Gemma 3는 구글에서 개발한 최신 온디바이스 AI 모델로, 경량화된 구조와 고성능을 모두 갖춘 것이 특징입니다. Gemini 2.0 기술을 기반으로 설계되어, 모바일 기기부터 노트북, 워크스테이션까지 다양한 환경에서 효율적으로 활용할 수 있도록 최적화되어 있습니다. 특히, 빠른 처리 속도와 높은 유연성 덕분에 개발자와 기업 모두에게 큰 주목을 받고 있습니다. 

 

 

Introducing Gemma 3: The most capable model you can run on a single GPU or TPU

Today, we're introducing Gemma 3, our most capable, portable and responsible open model yet.

blog.google

 

출시 이후로도 활발한 성장세를 이어가며, 현재까지 1억 건 이상의 다운로드와 6만 개가 넘는 커스텀 Gemma 모델이 커뮤니티 내에서 만들어졌습니다. 이러한 활발한 생태계는 ‘Gemmaverse’라는 이름으로 불리며, 전 세계 AI 개발자들에게 창의적인 영감을 제공하고 있습니다.

 

 

주요 특징

  • 다양한 모델 크기 : 1B, 4B, 12B, 27B 파라미터 크기의 모델 제공 → 하드웨어 사양에 맞게 선택 가능
  • 다국어 지원 : 140개 이상의 언어 지원, 특히 한국어 성능 우수
  • 멀티모달 기능 : 텍스트뿐만 아니라 이미지, 비디오 분석 가능
  • 확장된 컨텍스트 윈도우 : 최대 128K 토큰 처리 가능 → 긴 문서, 코드 등 장문 분석에 최적화
  • 경량화 및 효율성 : 단일 GPU/TPU 및 저사양 기기에서도 높은 성능 발휘
  • 오픈 소스 : Hugging Face, PyTorch 등 다양한 플랫폼에서 오픈 소스로 공개

 

 

Gemma 3 성능 비교

Gemma 3 27B는 Chatbot Arena Elo Score에서 1338점을 기록하며, 동급 모델 중 최고 수준의 성능을 보여주고 있습니다. 특히 눈에 띄는 점은, 성능 대비 자원 효율성이 매우 뛰어나다는 것입니다. 다른 대형 모델인 DeepSeek R1(67B), DeepSeek v3(67B), Llama3-405B(405B) 등이 높은 성능을 내기 위해 최대 32개에서 64개에 달하는 NVIDIA H100 GPU가 필요한 반면, Gemma 3 27B는 단 하나의 GPU로도 구동 가능합니다.

 

또한, 같은 크기의 이전 버전인 Gemma 2 27B(1220점)와 비교해도 약 10% 이상 성능 향상을 보여, 모델 크기는 그대로 유지하면서도 처리 능력과 효율성이 크게 개선되었습니다. o3-mini(1304점), Mistral Large(1251점) 등 다른 경쟁 모델들과 비교해도, 더 적은 연산 자원으로 더 높은 성능을 제공하는 것이 큰 장점입니다.

출처: Gemma 소개페이지

 

정리하자면, Gemma 3 27B는 단일 GPU 환경에서도 최상위 성능을 내면서, GPU 자원과 비용 부담을 최소화할 수 있는 최고의 선택지로 평가받고 있습니다. 특히 온디바이스 환경, 클라우드 비용 절감, 경량 고성능 모델을 필요로 하는 기업 및 개발자들에게 매우 유리한 솔루션입니다.

 

 

라이선스

Gemma 라이선스는 사용자가 Gemma 모델을 자유롭게 사용, 수정, 배포, 상업적 활용할 수 있도록 허용하며, 출력물에 대한 권리도 사용자에게 있습니다. 다만, 불법, 악의적, 사기성, 폭력, 혐오, 무면허 전문직 활동 등 금지된 용도는 엄격히 제한되며, 배포 시 원 라이선스와 사용 제한 조건을 반드시 포함해야 합니다.

자세한 내용은 Gemma Terms of UseProhibited Use Policy를 참고하세요.

 

 

사전 준비 사항

이번 포스팅에서는 Ollama 프로그램을 활용하는 방법과, 모델을 직접 로컬에 다운로드해 사용하는 방법 두 가지를 소개할 예정입니다. Ollama 방식을 사용하려면 먼저 Ollama 프로그램 설치가 필요합니다. Ollama에서 제공하는 모델은 양자화 처리된 모델이기 때문에, 상대적으로 적은 리소스로도 효율적이고 편리하게 로컬 환경에서 활용할 수 있습니다.

 

목차
1. 실행 환경
2. 실행 방식 1 (Ollama 사용)

3. 실행 방식 2 (로컬 실행)

1. 실행 환경

  • 운영체제 : Windows 11
  • python : 3.10.14
  • ollama : 0.6.2
  • transformers : 4.50.0.dev0
  • torch : 2.3.1 + cu121
  • accelerate : 0.34.0
  • GPU : NVIDIA GeForce RTX 4060 Ti

 

 

2. 실행 방식 1 (Ollama 사용)

Ollama가 정상적으로 설치되어 있다면, Gemma 3 모델을 다운로드하고 실행하는 과정은 매우 간단합니다. 아래 명령어 한 줄로 손쉽게 모델을 설치할 수 있습니다. Gemma 3 모델은 1B, 4B, 12B, 27B 크기 등 다양한 파라미터 규모로 제공되고 있으니, 사용하시는 환경에 맞는 모델을 선택해 다운로드해 주세요.

# Windows PowerShell
ollama --version  # Ollama가 정상적으로 설치되었다면 버전이 출력됩니다.
                  # 버전이 출력되지 않으면 Ollama를 다시 설치해야 합니다.
ollama run gemma3:1b  # gemma 3 1b 모델 실행 (모델이 없는 경우 자동 다운로드)
ollama run gemma3:4b  # gemma 3 4b 모델 실행 (모델이 없는 경우 자동 다운로드)
ollama run gemma3:12b  # gemma 3 12b 모델 실행 (모델이 없는 경우 자동 다운로드)
ollama run gemma3:27b  # gemma 3 27b 모델 실행 (모델이 없는 경우 자동 다운로드)

 

실행 결과

Ollama를 통해 Gemma 3 12B 모델을 실행한 결과, 양자화 처리가 되어 있기 때문에 상대적으로 더 가벼운 자원에서도 원활하게 사용할 수 있었습니다. 특히, 대규모 모델임에도 불구하고 컴퓨팅 사양이 아주 높지 않은 환경에서도 실행 가능하다는 점이 인상적입니다.

 

사용한 자원

  • GPU VRAM 사용량:11.6GB
  • 추론 시간: 입력부터 전체 결과가 출력되기까지 약 10초에서 15초 정도 소요

일반적으로 12B 규모의 모델은 고사양 GPU에서만 원활히 동작하는 경우가 많은데, Ollama에서 제공하는 양자화된 Gemma 3 모델 덕분에 VRAM 최적화가 잘 되어 있어, 고성능 서버나 하이엔드 GPU가 아니더라도 충분히 활용할 수 있습니다. 또한, 모델이 제공하는 응답 속도 역시 빠른 편이어서 실시간 상호작용에도 무리 없는 성능을 보여주었습니다. 아래 이미지는 실행 결과입니다.

ollama에서 Gemma 3 모델 실행 결과 (클릭시 이미지 확대)

 

 

3. 실행 방식 2 (로컬 설치)

현재 구글과 허깅페이스에서는 1B, 4B, 12B, 27B 크기의 다양한 Gemma 3 모델을 제공하고 있습니다. Gemma 3 모델은 질문 답변, 요약, 추론은 물론 이미지 이해 작업에도 적합한 멀티모달 모델입니다. 이번 포스팅에서는 로컬 환경에서 Gemma 3 모델을 실행하고, 이미지 입력을 통해 활용하는 방법을 소개합니다.

 

이번 예시에서는 4B 파라미터 크기의 모델을 사용할 예정이지만, 필요에 따라 다른 크기의 모델도 다운로드하여 사용할 수 있습니다. 원하시는 모델은 아래 링크에서 확인하실 수 있습니다:

 

1) 모델 다운로드

먼저, 4B 모델을 다운로드하여 사용할 폴더에 저장합니다. 다운로드 경로는 위 링크를 참고하시면 됩니다.

 

2) 코드 작성

이제 Python으로 모델을 불러오고, 이미지를 입력하여 결과를 출력하는 코드를 작성해보겠습니다.

# Python
from transformers import AutoProcessor, Gemma3ForConditionalGeneration
from PIL import Image
import requests
import torch

model_id = "gemma-3-4b-it"  # 로컬 경로 (gemma-3-4b-it 모델이 저장된 폴더)

model = Gemma3ForConditionalGeneration.from_pretrained(
    model_id, device_map="auto"
).eval()

processor = AutoProcessor.from_pretrained(model_id)

messages = [
    {
        "role": "system",
        "content": [{"type": "text", "text": "You are a helpful assistant."}]
    },
    {
        "role": "user",
        "content": [
            {"type": "image", "image": "image/test1.png"},  # 이미지 경로 입력
            {"type": "text", "text": "Describe this image in detail."}  # 프롬프트 입력
        ]
    }
]

inputs = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt"
).to(model.device, dtype=torch.bfloat16)

input_len = inputs["input_ids"].shape[-1]

with torch.inference_mode():
    generation = model.generate(**inputs, max_new_tokens=100, do_sample=False)
    generation = generation[0][input_len:]

decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)

 

주석 부분은 상황에 맞게 경로나 프롬프트를 수정해 사용하시면 됩니다.

 

 

3) 실행 결과

위 코드를 실행하면, 지정한 이미지와 프롬프트가 모델에 입력되어 이미지에 대한 상세 설명을 출력하게 됩니다.

  • 입력 이미지 : 아래 좌측 이미지 참고
  • 입력 프롬프트 : Describe this image in detail.

(좌) 입력 이미지 / (우) 실행 결과 (클릭시 이미지 확대)

 

모델을 성공적으로 로컬에서 실행한 결과, 다음과 같은 이미지 설명을 출력할 수 있었습니다.

[모델 출력 결과]
Okay, here's a detailed description of the image:

The image is a bright, cheerful outdoor shot featuring a young woman standing in front of blooming cherry blossom trees. It has a relaxed, slightly candid feel.

**The Woman:**

*   **Appearance:** She is a young woman with long, dark hair that falls down her back. She has a delicate face with a slightly smiling expression.
*   **Clothing:** She’s wearing a light gray

 

모델은 입력된 이미지를 기반으로 세부적인 요소들을 자연스럽게 설명해주었으며, 인물의 표정, 자세, 배경까지 전반적으로 잘 묘사하는 모습을 확인할 수 있었습니다. 특히 장면의 분위기와 인물의 특징을 적절히 표현하는 능력이 인상적이었습니다.

 

현재 사용 중인 환경에서 gemma-3-4b-it 모델을 로컬 실행했을 때 다음과 같은 자원 사용량과 실행 시간이 측정되었습니다.

  • GPU VRAM 사용량:14GB
  • 추론 소요 시간:20초

이는 4B 파라미터 크기의 멀티모달 모델이면서도, 비교적 안정적으로 로컬 환경에서 실행할 수 있음을 보여줍니다. 다만, 이미지와 텍스트를 함께 처리하는 멀티모달 입력 특성상 VRAM 사용량은 12GB 이상의 GPU 환경에서 원활히 동작하는 것으로 확인되었습니다.

 


 

이번 포스팅에서는 Gemma 3 모델을 로컬 환경과 Ollama 환경에서 각각 실행해보고, 모델의 성능과 자원 사용량을 직접 확인해 보았습니다. 특히 최근 공개된 Gemma 3와 같은 SLM(Small Language Model)들은 파라미터 수에 따라 다양한 크기로 제공될 뿐만 아니라, 양자화 및 최적화 덕분에 비교적 가벼운 컴퓨팅 환경에서도 충분히 활용할 수 있는 가능성을 보여주고 있습니다.

 

이러한 흐름은 단순히 모델 경량화에만 그치지 않습니다. 앞으로는 개인화된 AI 모델의 시대가 도래할 것으로 기대됩니다. 대형 모델을 그대로 사용하는 것에서 벗어나, 사용자의 데이터나 필요에 맞게 경량화된 SLM 모델을 파인튜닝하거나, 특정 환경에 최적화하여 개인 맞춤형 AI로 활용할 수 있는 기반이 점차 마련되고 있습니다. Gemma 3 모델을 포함해 앞으로 등장할 다양한 SLM 모델들은 누구나 쉽게 자신만의 AI를 구축하고, 로컬 환경에서 안전하게 실행할 수 있는 시대를 앞당길 것입니다.

 

향후 더 많은 개인화 모델들이 등장할 것으로 기대하며, 직접 최적화하거나 커스터마이징하여 자신만의 AI 환경을 구축해보는 것도 좋은 시도가 될 것입니다.

 

 

감사합니다. 😊

 

반응형