데모 프로젝트 소개
최근 Hugging Face의 SmolVLM 모델과 llama.cpp 서버를 활용하여 웹캠 영상을 실시간으로 처리하는 데모가 공개되었습니다. Xuan-Son Nguyen이 개발 및 공개한 이 데모 프로젝트는 MacBook M3에서 완전히 로컬로 실행되며, 실시간 객체 인식 및 설명 기능을 제공합니다. 특히, 경량화된 모델을 활용하여 고성능을 구현한 점이 인상적입니다.
SmolVLM은 Hugging Face에서 개발한 경량 비전-언어 모델(VLM)로, 500M 파라미터 규모임에도 불구하고 뛰어난 성능을 자랑합니다. 이 모델은 llama.cpp 서버와 함께 사용되어, 웹캠 영상을 실시간으로 처리하고 객체를 인식하여 설명하는 데모를 구현했습니다. 특히, 이 데모는 MacBook M3에서 완전히 로컬로 실행되며, GPU를 활용하여 높은 성능을 발휘합니다.
이 프로젝트는 경량화된 모델을 활용하여 실시간 비전-언어 처리를 구현한 좋은 예시로, 로컬 환경에서의 AI 활용 가능성을 보여줍니다. 또한, llama.cpp와 같은 오픈소스 도구를 활용하여 손쉽게 구현할 수 있다는 점에서 개발자들에게 유용한 참고 자료가 될 수 있습니다.
SmolVLM은 소규모 모델(500M)로, 다른 대형 비전-언어 모델에 비해 경량화되어 있습니다. 예를 들어, PaliGemma 3B, moondream2, Qwen2VL 등은 수십억 개의 파라미터를 가지며, 대규모 연산 자원이 필요합니다. 반면, SmolVLM은 상대적으로 적은 연산 자원으로도 높은 성능을 발휘할 수 있어, 로컬 환경이나 엣지 디바이스에서의 활용에 적합합니다.
또한, llama.cpp는 C++로 구현된 경량화된 LLM 실행 엔진으로, 다양한 모델을 지원하며 GPU 가속을 통해 높은 성능을 제공합니다. 이러한 점에서, SmolVLM과 llama.cpp의 조합은 경량화된 환경에서의 실시간 비전-언어 처리를 위한 최적의 선택지 중 하나입니다.
주요 특징
- 실시간 웹캠 처리: 웹캠 영상을 실시간으로 처리하여 객체를 인식하고 설명합니다.
- 로컬 실행: MacBook M3에서 완전히 로컬로 실행되며, 인터넷 연결 없이도 동작합니다.
- 경량화된 모델: 500M 파라미터 규모의 SmolVLM을 활용하여 높은 성능을 발휘합니다.
- GPU 가속 지원: llama.cpp의 GPU 가속 기능을 활용하여 빠른 처리 속도를 제공합니다.
- 간단한 설정: llama.cpp 설치 후, 간단한 명령어와 HTML 파일 실행만으로 데모를 사용할 수 있습니다.
사용 방법
- llama.cpp 설치: llama.cpp를 설치합니다.
- 서버 실행: 다음 명령어로 서버를 실행합니다.
llama-server -hf ggml-org/SmolVLM-500M-Instruct-GGUF -ngl 99
- ※ -ngl 99 옵션은 GPU 가속을 활성화합니다.
- 데모 웹 열기: GitHub 저장소의 index.html 파일을 브라우저로 엽니다.
- 시작하기: “Start” 버튼을 클릭하여 데모를 시작합니다.
이 데모는 웹캠 영상을 실시간으로 처리하여, 인식된 객체에 대한 설명을 제공합니다. 또한, 사용자 정의 프롬프트를 설정하여 다양한 응용이 가능합니다.
라이선스
이 데모 프로젝트는 Public Domain으로 공개되어 있으며, 상업적 사용을 포함한 다양한 용도로 자유롭게 활용할 수 있습니다.
데모 프로젝트 GitHub 저장소
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다.
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~