llamafile
무엇인가
llamafile은 로컬 LLM 추론 실행기 계열에 속한다. 모델 가중치, 추론 엔진, C 런타임을 하나의 실행 파일로 묶어 배포 단위를 파일 하나로 축소한다. Mozilla Builders 프로젝트로 시작해 Mozilla.ai가 이어서 개발한다.
어떻게 동작하나
구성 요소는 llama.cpp와 Cosmopolitan Libc다. llama.cpp가 GGUF 가중치를 읽어 추론을 수행하고, Cosmopolitan Libc가 하나의 바이너리를 여러 운영체제와 CPU 아키텍처에서 실행되게 만든다. 실행 파일에는 추론 서버가 함께 번들되며, 사전 빌드된 llamafile은 어떤 버전의 서버가 묶였는지 표시한다. 동일한 패키징 방식으로 whisper.cpp를 묶은 whisperfile은 음성 파일의 전사와 번역을 처리한다.
무엇과 다른가
llama.cpp를 직접 빌드하거나 별도 런타임을 설치한 뒤 모델을 내려받는 방식과 달리, 실행에 필요한 바이너리와 가중치가 한 파일 안에 들어간다. 배포 대상에서 설치 절차와 의존성 해결 단계가 사라진다.
어떻게 쓰나
사전 빌드된 llamafile을 내려받아 실행하면 된다. Windows에서는 파일 이름에 .exe 확장자를 붙여야 한다. 4GB를 넘는 llamafile은 Windows에서 실행되지 않으므로, 이 경우 llamafile 바이너리를 받아 외부 GGUF 가중치와 함께 실행한다.
전제와 한계
0.10.0부터 빌드 시스템이 바뀌어 최신 llama.cpp와 최신 모델을 따르는 대신 이전 버전에 있던 일부 기능이 빠져 있을 수 있다. 이전 버전은 릴리스 페이지에서 계속 받을 수 있다. 프로젝트 자체는 Apache 2.0, llama.cpp와 whisper.cpp에 대한 변경분은 MIT 라이선스로 배포된다.
관련 논문 4
유사 도구
- llama.cppC/C++로 작성된 LLM·VLM 추론 엔진이다. ggml 위에서 GGUF 양자화 모델을 CPU·GPU로 실행하며 외부 의존성이 없다.
- gpt4all데스크톱과 노트북에서 LLM을 API 호출이나 GPU 없이 로컬로 실행하는 C++ 추론 클라이언트다. llama.cpp를 백엔드로 쓴다.
- ollamaGo로 작성된 로컬 LLM 실행기다. llama.cpp 백엔드로 모델을 내려받아 실행하고 CLI와 11434 포트 REST API로 노출한다.
- Atomic-Chat오픈웨이트 LLM을 로컬에서 실행하고 OpenAI 호환 서버로 노출하는 데스크톱 앱이다. llama.cpp와 MLX 엔진을 앱 안에서 전환한다.
- lemonade로컬 GPU와 NPU에서 LLM·음성·이미지 모델을 실행하고 OpenAI·Anthropic·Ollama 호환 API로 노출하는 C++ 추론 서버다.
- cactus모바일·웨어러블에서 LLM·VLM·음성 모델을 실행하는 C++ 추론 엔진이자 CLI다. 양자화 커널과 런타임을 함께 포함한다.