1P by GN⁺ 7시간전 | ★ favorite | 댓글 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 등 하드웨어 파트너들에게 감사함
Hacker News 의견
  • 이 시점에 Ollama에서 새로운 엔진 발표 소식을 듣고 놀라움 느낌 표현, llama.cpp가 드디어 안정적인 비전(vision) 기능을 기본 브랜치에 포함해 오랜 노력이 마침내 결실 맺은 데에서 유래된 감상 공유, Ollama가 이미 오랜 기간 이 기능을 준비해온 듯한 추정, llama.cpp에 대한 초기 의존성을 깨고 독립적으로 나아가는 결정이 합리적 판단이라는 생각
  • 두 프로젝트에서 멀티모달 기능을 추가한 실질적 차이점이 무엇인지 궁금증 표출, LLaVA 지원은 오랫동안 있었으므로 기존에는 특수한 처리 방식이 필요했던 것인지 의문, TFA에서 그 차이에 대한 언급을 기대했으나 Ollama에서의 멀티모달이 완전히 새롭게 도입된 것처럼 다루는 데에 혼란 느낌
  • 멀티모달이라는 용어는 텍스트, 이미지뿐 아니라 오디오(그리고 잠재적으로 비디오)까지 포함하는 개념이어야 한다는 생각, 단순히 이미지 생성 혹은 이미지 분석 기능만 있는 모델이라면 ‘비전 모델’이 더 정확한 명칭이라는 주장, Qwen2.5-Omni와 Qwen2.5-VL과 같이 멀티모달 모델을 명확히 구분할 필요성 강조, Ollama의 새로운 엔진은 이런 의미에서 '비전' 지원을 추가했다는 설명
  • 비디오 입력을 다루고 싶은 관심 표명, Qwen2.5-Omni와 Ollama에서 비디오 입력이 가능한지 문의
  • Ollama의 ‘새로운 엔진’에 관한 설명이 많이 언급되지만 실제 구현 방식에 대한 구체적 정보가 보고 싶다는 소망, llama.cpp도 대단한 프로젝트이기 때문에 그 대체 엔진을 만들었다면 어떤 방식으로 구현했는지 예시를 보고 싶은 기대감, GGML 텐서 라이브러리가 핵심 역할을 하는 것으로 추정, Go 언어에서 FFI(이종 언어 함수 호출)을 통해 직접 모델 동작(예: Gemma3 구현)을 작성하면서 GGML 기능을 활용하는 구조로 파악, 이런 기술적 세부사항이 공식 블로그에 더 명시적으로 담겼어야 한다는 생각
  • Ollama는 그동안 투명성 부족, 불투명한 기여(credit) 표기, 사용자 중심이 아닌 결정 등으로 비판을 받아왔던 기업 이미지, 이번 글에서는 오히려 기여자 표기가 많아져서 놀라움 느낌, 사용자들의 비판이 많아 조정이 이뤄지고 있다는 추측
  • LLM 세계에서 ‘*llama’ 네이밍 관행이 너무 혼란스럽게 느껴진다는 고백, 여러 가지 llama와 유사한 이름의 프로젝트들이 난무하여 혼동 심화
  • AI/ML의 발전 속도가 너무 빠르게 전개되어서 따라가기가 어렵다는 어려움 공유, 주목하지 않으면 제대로 파악하기 힘들다는 점과 ‘밈’(memey) 이름 선호 경향 언급, 이전에는 세서미 스트리트 캐릭터, YOLO 모델군 등 다양한 유행이 있었고 학회 논문도 예외가 아니라는 일화
  • 약간 옆길로 새서 Ollama가 일부 사용자들로부터 부정적으로 평가받는 이유에 관한 의문 제기, 직접 llama.cpp를 돌리라는 주장 이상의 설명이 잘 없었던 점을 지적
  • Reddit과 GitHub 이슈 링크 공유를 통해 Ollama가 llama.cpp에 제대로 크레딧을 주지 않는 오랜 문제점이 존재한다는 사실 소개, 심지어 일부 프로젝트에서는 llama.cpp를 직접 사용하면서도 Ollama에 그 공이 돌아가는 현상이 있다고 지적, Ollama가 직접 기여하지는 않지만(의무사항은 아님) 내부적으로 유지되는 포크가 있어 관심 있는 사람은 원할 때 cherry-pick 방식으로 코드 활용이 가능한 구조
  • 앞서 제기된 문화/라이선스/FOSS와 별도로, 파일 저장 방식에 대한 불만 표출, Ollama는 자체적인 디스크 저장 및 레지스트리를 도입해 재사용이 불편해진 점 지적, 장기적으로 수익화를 염두에 두고 독점적인 구조를 설계한 의도 추정, Docker처럼 중복 저장을 막으려는 목적일 수 있지만 실제로는 사용성만 악화, 결과적으로 30GB 이상 대용량 파일을 중복 보관하는 번거로움이 발생해 사소한 문제도 크게 다가옴, 다양한 에코시스템에 호환되는 표준 방식이 더 나음, Ollama는 불편함으로 인해 사용하지 않게 됨
  • Ollama를 Docker와 유사한 LLM 세계의 솔루션으로 평가, 사용자 경험과 모델 파일 문법 역시 Dockerfile에서 영감을 받았다는 인상, Docker 초기에도 Docker와 LXC 논쟁 있었지만 Docker의 사용자 경험 혁신성이 간과되었던 일화 기억, 다만 llama.cpp에 대한 오랜 기간 인정 부족은 문제로 봄, 현재는 어느 정도 오픈된 크레딧 표기가 있다는 점 첨언
  • Ollama가 커뮤니티와 협력하지 않는다는 점이 불만, VC로부터 자금을 받은 기업이어서 수익구조에 대한 의문이 여전히 남아 있음, llama.cpp, lmstudio, ramalama 등 다른 대안에선 각자의 상황을 명확히 알 수 있는 구조, ramalama는 다양한 관련 오픈소스에 기여가 많은 편, 참고할 만한 GitHub 링크 제공
  • Ollama가 단순히 llama.cpp의 프론트엔드 역할임에도 이를 드러내지 않고 인정하지 않는 태도가 아쉬움 포인트
  • Ollama 예시 중 ‘수직 중국 춘련 번역’ 사례에 오역이 다수 있다는 지적, 블로그 작성자가 실제 중국어 사용자가 아니라고 추정, 각 부분별로 실제 내용과 Ollama 결과가 어떻게 차이났는지 구체적으로 분석
  • 해당 예시를 수행한 유지관리자가 직접 등판, 자신이 중국인임을 명확히 밝혀 신뢰도 보강, 영어 번역 자체는 꽤 정확했다고 판단, 모델의 오류나 데모를 숨기거나 조작하지 않음을 강조, 장기적으로 모델의 품질이 더 개선되기를 바라는 희망 공유
  • 직접 사용해 볼 예정, 실용적인 예시와 세부 정보가 곧바로 드러나서 기사 방식이 좋다는 평가
  • Ollama의 강점은 별다른 설정 없이 간단한 Docker 커맨드만으로 바로 모델을 실행할 수 있었던 점, 하지만 이미지와 비디오를 활용해야 하는 경우 Docker가 GPU를 사용하지 않으므로 기술적 제약이 발생, Ollama에서 Docker 연동 지원을 향후 어떻게 유지할지 궁금증, 혹시 이 기능이 프로젝트의 비중 낮은 부차적 요소로 전락하는 것은 아닌지 의문
  • 일부 플랫폼에선 Docker에서 GPU를 사용할 수 있다는 의견 제시, 다만 더 많은 설정이 필요하고 nvidia가 관련 문서를 제공
  • 예시 중 스탠포드 이동 경로 안내에서 실제로 잘못된 정보가 나왔다는 점이 재미있다는 감상, CA-85가 Palo Alto에서 더 남쪽이라는 교통상식 공유
  • 1년 가까이 Ollama로 로컬 모델을 사용하며 만족감을 느낌, 하지만 Llava 등 멀티모달 지원 기능은 대부분 텍스트 위주로 활용해 거의 경험하지 못했다는 설명, 멀티모달 로컬 모델로 구축된 유용하고 멋진 프로젝트 추천 요청, 개인적인 프로젝트 아이디어를 찾고 싶은 소망