# smolVLM과 llama.cpp를 활용한 실시간 웹캠 기반 시각-언어 모델 데모 프로젝트

**URL:** <https://discuss.pytorch.kr/t/smolvlm-llama-cpp/6942>\
**Category:** 읽을거리&정보공유\
**Tags:** vision-language, llamacpp, small-multimodal, demo, smolvlm\
**Created:** [5월 14, 2025, 1:00오전 UTC](https://discuss.pytorch.kr/t/smolvlm-llama-cpp/6942 "2025-05-14T01:00:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![9bow](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/9bow/32/16301_2.png) [@9bow](https://discuss.pytorch.kr/u/9bow)\
**Post date:** [5월 14, 2025, 1:00오전 UTC](https://discuss.pytorch.kr/t/smolvlm-llama-cpp/6942/1 "2025-05-14T01:00:13Z")

</div>

![image](https://discuss.pytorch.kr/uploads/default/original/2X/3/37de15797916eeed23254e6c79e1f70caff14633.jpeg)

## 데모 프로젝트 소개

최근 Hugging Face의 [SmolVLM](https://huggingface.co/blog/smolvlm) 모델과 [llama.cpp](https://github.com/ggml-org/llama.cpp) 서버를 활용하여 웹캠 영상을 실시간으로 처리하는 데모가 공개되었습니다. [Xuan-Son Nguyen](https://github.com/ngxson)이 개발 및 공개한 이 데모 프로젝트는 MacBook M3에서 완전히 로컬로 실행되며, 실시간 객체 인식 및 설명 기능을 제공합니다. 특히, 경량화된 모델을 활용하여 고성능을 구현한 점이 인상적입니다.

[SmolVLM은 Hugging Face에서 개발한 경량 비전-언어 모델(VLM)](https://huggingface.co/blog/smolvlm)로, 500M 파라미터 규모임에도 불구하고 뛰어난 성능을 자랑합니다. 이 모델은 [llama.cpp](https://github.com/ggml-org/llama.cpp) 서버와 함께 사용되어, 웹캠 영상을 실시간으로 처리하고 객체를 인식하여 설명하는 데모를 구현했습니다. 특히, 이 데모는 MacBook M3에서 완전히 로컬로 실행되며, GPU를 활용하여 높은 성능을 발휘합니다.

이 프로젝트는 경량화된 모델을 활용하여 실시간 비전-언어 처리를 구현한 좋은 예시로, 로컬 환경에서의 AI 활용 가능성을 보여줍니다. 또한, llama.cpp와 같은 오픈소스 도구를 활용하여 손쉽게 구현할 수 있다는 점에서 개발자들에게 유용한 참고 자료가 될 수 있습니다.

[SmolVLM](https://huggingface.co/blog/smolvlm)은 소규모 모델(500M)로, 다른 대형 비전-언어 모델에 비해 경량화되어 있습니다. 예를 들어, PaliGemma 3B, moondream2, Qwen2VL 등은 수십억 개의 파라미터를 가지며, 대규모 연산 자원이 필요합니다. 반면, SmolVLM은 상대적으로 적은 연산 자원으로도 높은 성능을 발휘할 수 있어, 로컬 환경이나 엣지 디바이스에서의 활용에 적합합니다.

또한, [llama.cpp](https://github.com/ggml-org/llama.cpp)는 C++로 구현된 경량화된 LLM 실행 엔진으로, 다양한 모델을 지원하며 GPU 가속을 통해 높은 성능을 제공합니다. 이러한 점에서, SmolVLM과 llama.cpp의 조합은 경량화된 환경에서의 실시간 비전-언어 처리를 위한 최적의 선택지 중 하나입니다.

## 주요 특징

- **실시간 웹캠 처리** : 웹캠 영상을 실시간으로 처리하여 객체를 인식하고 설명합니다.
- **로컬 실행** : MacBook M3에서 완전히 로컬로 실행되며, 인터넷 연결 없이도 동작합니다.
- **경량화된 모델** : 500M 파라미터 규모의 SmolVLM을 활용하여 높은 성능을 발휘합니다.
- **GPU 가속 지원** : llama.cpp의 GPU 가속 기능을 활용하여 빠른 처리 속도를 제공합니다.
- **간단한 설정** : llama.cpp 설치 후, 간단한 명령어와 HTML 파일 실행만으로 데모를 사용할 수 있습니다.

## **사용 방법**

1. **llama.cpp 설치** : [llama.cpp](https://github.com/ggml-org/llama.cpp)를 설치합니다.
2. **서버 실행** : 다음 명령어로 서버를 실행합니다.

```auto
llama-server -hf ggml-org/SmolVLM-500M-Instruct-GGUF -ngl 99

```

3. ※ -ngl 99 옵션은 GPU 가속을 활성화합니다.
4. **데모 웹 열기** : GitHub 저장소의 index.html 파일을 브라우저로 엽니다.
5. **시작하기** : “Start” 버튼을 클릭하여 데모를 시작합니다.

이 데모는 웹캠 영상을 실시간으로 처리하여, 인식된 객체에 대한 설명을 제공합니다. 또한, 사용자 정의 프롬프트를 설정하여 다양한 응용이 가능합니다.

## **라이선스**

이 데모 프로젝트는 [Public Domain](https://github.com/ngxson/smolvlm-realtime-webcam/blob/main/LICENSE)으로 공개되어 있으며, 상업적 사용을 포함한 다양한 용도로 자유롭게 활용할 수 있습니다.

## :github: 데모 프로젝트 GitHub 저장소

[https://github.com/ngxson/smolvlm-realtime-webcam](https://github.com/ngxson/smolvlm-realtime-webcam)

* * *

_이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다._ 🤗

[:pytorch:파이토치 한국 사용자 모임🇰🇷](https://pytorch.kr/)이 정리한 이 글이 유용하셨나요? [회원으로 가입](https://discuss.pytorch.kr/signup)하시면 주요 글들을 이메일💌로 보내드립니다! (기본은 Weekly지만 [Daily로 변경도 가능](https://discuss.pytorch.kr/my/preferences/emails)합니다.)

🎁 아래↘쪽에 좋아요👍를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ 🤩
