본문 바로가기

인공지능

로컬에서도 이미지 인식이 가능하다? Llama.cpp의 멀티모달 기능 지원 시작

728x90
반응형

이미지를 이해하는 인공지능, 이른바 '멀티모달 모델'은 이제 거대한 클라우드 시스템이 아닌, 로컬 환경에서도 활용할 수 있게 됐습니다. 최근 Llama.cpp가 libmtmd를 통해 비전 입력을 지원하며 멀티모달 기능을 갖춘 모델들과 연동할 수 있게 됐다는 점은 기술적으로 매우 주목할 만합니다.

Llama.cpp는 이미 가볍고 빠른 로컬 실행용 LLM 프레임워크로 주목받고 있었습니다. 이번 업데이트를 통해 이미지 기반 입력까지 처리할 수 있는 영역으로 확장되며, 텍스트 중심의 LLM을 넘어선 실질적 AI 도구로 진화하고 있습니다. 이 글에서는 Llama.cpp의 멀티모달 지원 기능을 중심으로, 작동 원리, 설정 방법, 지원 모델, 그리고 기대할 수 있는 활용 사례까지 자세히 살펴보겠습니다.

반응형

Llama.cpp의 멀티모달 기능이란?

Llama.cpp는 오픈소스 기반 LLM 프레임워크로, 메타(Meta)의 LLaMA 모델을 비롯한 다양한 언어모델을 로컬 환경에서 경량으로 실행할 수 있게 도와주는 프로젝트입니다. 여기에 최근 libmtmd라는 라이브러리를 연동함으로써, 이미지 입력을 처리할 수 있는 ‘멀티모달’ 기능이 추가되었습니다.

이제 텍스트뿐 아니라 이미지와 같은 시각 정보도 모델이 인식할 수 있게 되었고, 이는 단순한 챗봇 이상의 기능을 가능하게 합니다. 예를 들어, 이미지 설명 생성, 시각적 질문 응답(VQA), 문서 이해 등 다양한 활용이 가능합니다.


어떤 모델에서 사용할 수 있나?

이번 기능 업데이트는 특정 모델들에서 바로 활용할 수 있도록 설계돼 있습니다. 대표적으로 다음과 같은 모델들이 멀티모달 기능을 지원합니다:

  • Gemma 3: 4B, 12B, 27B
  • SmolVLM 계열: 256M, 500M, 2.2B
  • Pixtral: 12B
  • Qwen 2 VL / Qwen 2.5 VL: 2B, 3B, 7B, 32B, 72B
  • Mistral Small 3.1: 24B (IQ2_M 양자화)
  • InternVL 2.5 / 3.0 시리즈

이들 대부분은 이미 Q4_K_M 양자화 형태로 사전 양자화된 모델이 제공되며, 로컬에서의 실행 효율성을 고려해 최적화돼 있습니다.


어떻게 실행하고 설정하는가?

멀티모달 기능은 두 가지 방식으로 활성화할 수 있습니다.

1. -hf 옵션 사용

지원되는 모델을 사용하는 경우, -hf 플래그를 통해 간단하게 멀티모달 기능을 사용할 수 있습니다.

  • 멀티모달 기능을 끄고 싶을 경우: --no-mmproj
  • 사용자 지정 멀티모달 프로젝트 파일 사용: --mmproj local_file.gguf

2. 텍스트 모델과 MM 프로젝트 모델을 별도 지정

  • -m 옵션: 텍스트 언어모델 경로
  • --mmproj 옵션: 멀티모달 프로젝터 경로

이 방식은 유연성이 높으며, 여러 조합을 시도해볼 수 있는 장점이 있습니다.

GPU 오프로딩 기본 지원

멀티모달 프로젝터는 기본적으로 GPU에 오프로딩되어 실행됩니다. 성능을 높이기 위한 조치이며, 필요 시 다음 옵션으로 비활성화할 수 있습니다:

  • --no-mmproj-offload

멀티모달 입력 시 고려할 점

  1. 컨텍스트 윈도우 크기
    일부 모델은 큰 입력 범위를 필요로 하므로, 예: -c 8192와 같은 옵션을 추가해 충분한 컨텍스트 길이를 확보해야 합니다.
  2. 양자화 방식 호환성
    대부분 Q4_K_M 또는 IQ2_M과 같은 고성능 양자화를 사용하므로, 성능과 용량 사이의 균형이 잘 맞습니다.
  3. 모델별 멀티모달 적합도
    모든 모델이 비전 특화는 아니므로, 이미지 기반 작업에 최적화된 모델을 선택하는 것이 중요합니다.

기대 효과 및 활용 가능성

Llama.cpp의 멀티모달 기능은 단순한 기술적 확장이 아닙니다. 이는 다음과 같은 실질적인 이점을 제공합니다:

  • 클라우드 의존도 없이도 이미지 이해 가능
    프라이버시 이슈가 많은 분야에서도 로컬에서 안전하게 활용할 수 있습니다.
  • 경량화된 모델로 높은 접근성 확보
    저사양 환경에서도 멀티모달 모델을 실험할 수 있는 기반이 마련됩니다.
  • OpenAI 호환 API 서버 형태 제공
    llama-server를 통해 /chat/completions 엔드포인트 호환 API 서버를 구동할 수 있어, 기존 OpenAI API 기반 앱에 쉽게 연동 가능합니다.

728x90

멀티모달 모델은 더 이상 클라우드 대형 모델의 전유물이 아닙니다. Llama.cpp의 이번 업데이트는 로컬 환경에서도 고성능 비전 기능을 사용할 수 있는 시대가 열렸음을 보여줍니다. 다양한 경량 모델들과의 호환성, 유연한 설정 방식, 그리고 높은 접근성을 갖춘 이번 기능은 개인 개발자뿐 아니라 기업의 연구용 도구로도 큰 잠재력을 가지고 있습니다.

앞으로 이미지, 문서, 텍스트를 넘나드는 지능형 애플리케이션 개발이 훨씬 쉬워질 것입니다. 로컬에서도 비전 모델을 실행하고 싶다면, 지금이 바로 Llama.cpp를 다시 살펴볼 타이밍입니다.

https://github.com/ggml-org/llama.cpp/blob/master/docs/multimodal.md

 

llama.cpp/docs/multimodal.md at master · ggml-org/llama.cpp

LLM inference in C/C++. Contribute to ggml-org/llama.cpp development by creating an account on GitHub.

github.com

728x90
반응형