Ollama, 멀티모달 모델을 위한 새로운 엔진 발표

14 hours ago 1

  • Ollama는 새로운 엔진을 통해 멀티모달(텍스트+이미지) 모델 지원을 시작함
  • Llama 4 ScoutGemma 3 모델 등 다양한 시각 멀티모달 모델을 지원해, 이미지와 텍스트를 결합한 질문 응답이 가능해짐
  • 새로운 엔진은 모델 모듈성 향상, 정확도 개선, 효율적인 메모리 관리 기능을 제공함
  • 이미지 캐싱, 하드웨어 메타데이터 활용 등으로 빠른 추론 성능과 하드웨어 최적화를 이루고 있음
  • 앞으로 더욱 긴 컨텍스트 지원, 툴 호출, 스트리밍 등 다양한 기능 확장이 예고됨

Ollama의 멀티모달 모델 지원

Ollama는 새로운 멀티모달 엔진 도입을 통해, 이미지와 텍스트를 복합적으로 다루는 최신 비전 멀티모달 모델들을 지원함

종합 멀티모달 이해 및 추론

Llama 4 Scout

  • Ollama에서는 Llama 4 Scout(1090억 파라미터, mixture-of-experts 모델)을 지원함
  • 예시로, 비디오 프레임의 위치 기반 질문을 할 수 있음
    • 예) 에서 특정 건물, 환경 요소, 배경 정보 등 다양한 이미지 특징을 탐지함
  • 이어서 다양한 후속 질문도 자연스럽게 이어질 수 있음
    • 예) "이 건물에서 스탠포드까지 얼마나 먼가?", "어떻게 가는 것이 가장 좋은가?" 등의 질문에 정확한 정보를 제공함
    • 여러 교통 수단, 경로, 예상 소요 시간 등 실제 상황에 맞는 답변 제공

Gemma 3

  • Gemma 3는 여러 이미지를 동시에 입력받아, 이미지들 간의 관계를 분석할 수 있음
    • 예) 4장의 이미지에서 공통적으로 등장하는 동식물, 특정 장면의 존재 여부, 특이 상황 등 다양한 조건을 빠르게 파악함
    • 재미있는 상황 예시로, 라마와 돌고래가 복싱하는 모습을 보고 누가 이길지 분석, 개체의 특징과 역동성을 파악함

문서 인식 및 분석

Qwen 2.5 VL

  • Qwen 2.5 VL 모델은 문자인식(OCR) 및 이미지 내 특정 텍스트 정보 추출에 활용됨
    • 실제 사용 예시로, 수표의 정보를 추출하거나, 봄맞이 대련과 같은 중국어 수직 글귀를 영어로 번역하는 작업을 처리함

Ollama 멀티모달 엔진의 특징

  • Ollama는 지금까지 ggml-org/llama.cpp 프로젝트에 의존하여 모델 지원을 해왔으며, 사용성 및 모델 이식성을 중심으로 개발함
  • 최근 다양한 연구소에서 멀티모달 모델을 공개하며, Ollama의 목표대로 더 폭넓은 모델 지원을 위해 엔진을 자체적으로 강화함
  • 새로운 엔진은 멀티모달 모델을 독립적이고 일급 객체로 취급하며, 파트너 및 커뮤니티 참여도도 높임

엔진 발전의 의미

  • Ollama의 현지 추론의 신뢰성, 정확성 향상, 미래의 다양한 멀티모달 분야 지원의 기반 마련(예: 음성, 이미지 생성, 비디오 생성, 긴 컨텍스트 지원, 개선된 도구 활용 등)

모델 모듈성

  • 각 모델의 “영향 범위”를 독립시켜, 신뢰성 개선 및 개발자가 새 모델을 쉽게 통합할 수 있도록 설계함
    • 기존 ggml/llama.cpp는 텍스트 전용 모델만 지원, 멀티모달에서는 텍스트 디코더와 비전 인코더가 분리되어 별도 실행됨
    • 이미지는 비전 알고리듬에서 임베딩 후 텍스트 모델로 전달되어야 하므로, 각 모델별 로직을 슬림하게 구현 가능하게 함
    • Ollama 내에서는 모델이 자체적으로 임베딩 투영 계층, 모델 고유 훈련 체계에 맞춘 분리가 가능함
    • 모델 제작자는 추가 패치나 복잡한 조건문 없이 자신의 모델과 훈련에만 집중할 수 있음
    • 일부 모델 구조 예시는 Ollama의 GitHub 저장소에서 확인할 수 있음

정확성 향상

  • 대형 이미지는 토큰 양이 커서 배치 사이즈를 초과할 수 있음
    • 이미지가 배치를 넘을 경우 위치 정보가 무너질 수 있음
  • Ollama는 이미지 처리 시, 추가 메타데이터를 부여해 정확성을 높임
    • 인과적 어텐션 적용 여부, 이미지 임베딩 배치 분할 및 경계 관리 등 디테일하게 처리함
    • 분할 지점이 부적절하면 출력 품질 저하 우려, 모델별 논문 기준으로 기준점을 맞춤
  • 타 현지 추론 툴은 제각기 방식으로 구현하지만, Ollama는 모델 설계와 훈련 방식에 맞춘 정확한 처리로 품질을 보장함

메모리 관리 최적화

  • 이미지 캐싱: 한 번 처리된 이미지는 계속 메모리에 저장되어 후속 프롬프트 처리 속도가 빨라짐. 메모리 한계에 도달하지 않는 한, 이미지는 유지됨
  • 메모리 예측 및 KV 캐시 최적화: 하드웨어 제조사 및 OS 파트너와 협력하여 하드웨어 메타데이터를 정확히 인식, 메모리 사용 최적화 추구
    • 펌웨어 버전별 검증 작업 수행, 새로운 기능에 대한 벤치마킹 진행
  • Ollama는 causal attention을 모델 단위로 별도로 최적화하며, 그룹 수준이 아닌 개별 모델에 맞춤 설정 제공
    • 예시:
      • Google DeepMind의 Gemma 3: 슬라이딩 윈도우 어텐션을 통해 일부 컨텍스트 길이만 할당, 나머지 메모리는 동시 추론 등에 할당
      • Meta의 Llama 4 Scout, Maverick 등: 청크드 어텐션, 2D 로터리 임베딩 등 지원, mixture-of-experts 모델의 긴 컨텍스트 지원 구현
  • 어텐션 계층이 완전히 구현되지 않은 모델의 경우 ‘동작’할 수 있지만, 장기적으로 출력 품질 저하, 비정상 결과 가능성 있음

앞으로의 계획

  • 더 긴 컨텍스트 길이 지원
  • 추론/사고 능력 강화
  • 도구 호출 및 스트리밍 응답 제공
  • 컴퓨터 직접 활용 기능 확장

감사의 글

  • 모델 개발에 기여한 단체 및 연구자
    • Google DeepMind, Meta Llama, Alibaba Qwen, Mistral, IBM Granite 등 비전 모델 개발에 힘쓴 여러 실험실 및 커뮤니티 구성원들에게 감사함
  • GGML
    • GGML 팀의 텐서 라이브러리는 Ollama의 추론 엔진을 이루는 핵심 요소임. Go에서 GGML에 직접 접근해 커스텀 추론 그래프, 복잡한 모델 아키텍처 설계에 활용 가능함
  • 하드웨어 파트너사
    • 다양한 장치에서의 추론 성능 향상에 협력해준 NVIDIA, AMD, Qualcomm, Intel, Microsoft 등 하드웨어 파트너들에게 감사함

Read Entire Article