나만의 llamafile 만들기

나만의 llamafile 만들기

기성 llamafile을 쓰는 것에서 한발 더 나아가, 자기 모델 가중치를 담은 llamafile을 직접 만드는 방법을 볼게요. APE(Actually Portable Executable) 포맷의 내부 구조를 알면 감이 훨씬 빨라져요.

출처: Creating a llamafile

llamafile은 llamafile 실행 파일, 모델 가중치, 기본 인자 세트를 APE 포맷 하나로 묶은 자체 포함 파일이에요. APE는 ZIP을 추가 데이터 컨테이너로 지원해서, 이미 만든 llamafile은 unzip -vl <filename.llamafile>로 내용물을 들여다볼 수 있어요(Windows에선 .zip으로 이름을 바꿔 ZIP GUI로 열어도 되고요).

가중치와 인자를 임베드하는 명령을 볼게요. llamafile 실행 파일을 복사하고 zipalign으로 GGUF 가중치와 .args 파일을 새 파일 안에 넣는 구조예요.

cp o//llamafile/llamafile Qwen3-0.6B-Q8.llamafile
o//third_party/zipalign/zipalign -j0 \
  Qwen3-0.6B-Q8.llamafile \
  Qwen3-0.6B-Q8_0.gguf \
  .args
./Qwen3-0.6B-Q8.llamafile

.args 파일에는 실행 인자를 한 줄에 하나씩 적어요. 대부분 인자는 선택이고, 필요한 건 모델 이름 하나뿐이에요. llamafile 안에 패키징된 파일을 참조할 땐 /zip/ 경로 프리픽스가 필요하고, ... 토큰 자리에는 런타임에 사용자가 넘긴 추가 CLI 인자가 들어가요.

이렇게 만든 llamafile은 친구에게 그대로 공유하기 쉬운 완전한 LLM 실행 파일이 돼요. 실행하면 바로 TUI에서 Qwen 모델이 로딩되기 시작해요.

더 알아보기