
InstructSAM GGUF
요약
InstructSAM 모델을 llama.cpp 환경에서 실행할 수 있도록 GGUF 형식으로 변환하고 C++로 포팅하는 과정을 다룹니다. 멀티모달 데이터셋 합성 파이프라인을 단순화하기 위해 세그멘테이션 헤드가 통합된 모델을 양자화하여 효율적으로 사용하는 방법을 제시합니다.
핵심 포인트
- InstructSAM을 llama.cpp에서 사용하기 위한 GGUF 변환 테스트
- 세그멘테이션 헤드가 포함된 모델의 C++ 포팅 및 Dockerfile 제공
- 멀티모달 파이프라인 단순화를 위한 단일 모델 활용 방안
- 4-bit 양자화를 통한 실행 속도 및 효율성 최적화
저의 멀티모달 데이터셋 합성 파이프라인(multimodal dataset synthesis pipeline)에서는 2D 상에서 위치를 식별하기 위해 세그멘테이션 모델(segmentation models)과 함께 캡셔닝(captioning)을 위한 VLM(Vision Language Models)을 사용합니다. 몇 달 전, Qwen3-VL-2B에 SAM3 기반의 세그멘테이션 헤드(segmentation head)를 증강시킨 InstructSAM (arxiv 2605.26102)을 발견했습니다. 해당 리포지토리를 확인해 보세요: https://github.com/DCDmllm/InstructSAM. 이 아키텍처를 사용하면 2개의 모델을 사용하는 2단계 과정을 단일 소형 모델의 2회 통과(2 passes)로 통합하여 파이프라인을 단순화할 수 있습니다. 유일한 단점은, 현재 저의 파이프라인은 llama.cpp를 사용하여 4-bit 양자화 가중치(4-bit quantized weights)로 빠르게 실행된다는 점입니다. Qwen3-VL은 llama.cpp를 지원하지만, 세그멘테이션 헤드를 추가하는 것은 이미지를 출력해야 함을 의미하며, 이는 프로젝트에 있어 실질적인 변화를 가져옵니다. 그래서 저는 SAM3를 지원하도록 설계된 관련 리포지토리를 찾았습니다. 포크(forking)를 하고 llama.cpp 의존성을 추가한 후, GGUF 변환을 통해 InstructSAM을 C++로 포팅하는 과정을 테스트했습니다. 현재의 라이선스 제약 조건을 준수하면서 빌드와 변환을 간소화할 수 있도록 Dockerfile을 포함했습니다. 리포지토리: https://github.com/smellslikeml/instructSAM.cpp
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기