llama.cpp 1.0이 11월 13일 공개됐다. 2023년 첫 커밋에서 3년 반 만에 붙은 1.0이고, 같은 날 밑단의 텐서 라이브러리 ggml도 1.0.0이 됐다. GGUF 모델을 집에서 돌리거나 llama-server를 띄워 쓰는 사람이라면 이번 버전에서 먼저 볼 것은 새 기능이 아니라 버전을 올리는 규칙이다.
두 프로젝트 모두 이제 시맨틱 버전을 따른다. include 폴더의 공개 C API를 깨는 변경은 major, 기존 코드와 호환되는 기능·백엔드·모델 지원 추가는 minor, API 변화가 없는 버그 수정은 patch다. 1.0부터는 major가 아니면 공개 C API가 깨지지 않는다는 뜻이 된다.
llama.cpp를 쓰는 프로그램은 llama-server의 OpenAI 호환 엔드포인트로 붙일 수 있다. 이번 릴리스에서 공개 C API 쪽 변경은 include 헤더에 집중됐다. llama-server 쪽은 엔드포인트와 옵션이 추가됐다. 바뀐 것은 C 라이브러리를 직접 링크하는 쪽과 헤더 이름에 의존하던 빌드 설정이다.
llama.cpp 1.0, 3년 반 만에 붙은 번호
정리 대상도 함께 공개됐다. deprecated 처리됐던 공개 API 35개와 llama_set_warmup, defrag 관련 항목도 정리됐다. 헤더에서는 defrag_thold가, 실행 옵션에서는 --defrag-thold가 빠졌다. 라이브러리를 직접 링크해 쓰던 프로그램은 이번에 한 번 포팅이 필요하다. 반대로 추측 디코딩용 NextN API는 llama-ext.h에서 llama.h로 승격됐고, 함수 이름 하나는 llama_set_embd_state_src에서 llama_set_ctx_state_src로 바뀌었다.
배포 경로는 그대로다. Linux·macOS·Windows·Android·iOS 사전 빌드와 Docker, Debian, Homebrew, conda-forge, MacPorts, Winget, XCFramework가 유지된다. 지원하는 아키텍처 변형은 150가지가 넘고 주요 추측 디코딩 방식도 모두 들어간다.
웹 UI도 다시 만들어졌다. 채팅을 이름 붙인 그룹으로 묶고 사이드바를 접거나 미리보기·재배치할 수 있게 했고, 마크다운 편집기와 PDF 첨부 썸네일이 들어갔다. llama-server를 띄워 브라우저로 쓰는 사람에게는 이쪽 변화가 먼저 눈에 띈다.
메모리: FP8 KV 캐시와 CPU로 넘기는 MoE 전문가

체감이 큰 변화는 KV 캐시 쪽에 있다. FP8 KV 캐시(-ctk/-ctv f8_e4m3)가 들어갔다. FP8은 8비트라 지금까지 쓰던 FP16의 절반 크기다. 텐서마다 고정 스케일을 선택적으로 붙일 수 있어, 긴 컨텍스트를 유지할 때 KV 캐시가 잡아먹던 VRAM을 줄이는 데 쓸 수 있다.
MoE 모델을 돌리는 방식도 바뀌었다. 전문가 캐시를 시스템 메모리에 두고 CPU가 맡을 비중을 정할 수 있다(moe_cache_size, moe_cache_cpu_share). 캐시에 올라온 전문가를 쓰는 요청은 CPU를 기다리지 않고, 캐시 교체 규칙은 LRFU와 ClassLRU 중에서 고른다. VRAM이 모자라는 카드에서 큰 MoE 모델을 돌릴 때 전문가를 얼마나 GPU에 남길지 직접 정하는 구조다.
모델 파일을 쪼개 두는 방식도 늘었다. PLE/engram을 별도 GGUF 샤드에서 읽어 붙일 수 있고(--shard, --ple), Windows에서도 Linux의 DirectIO 경로와 같은 무버퍼 로딩을 쓴다.
새 모델: Kimi-K3.1-Pro와 Ripple-65B-Preview
텍스트 아키텍처 세 개가 추가됐다. Kimi-K3.1-Pro는 K3의 전체 어텐션 MLA 층을 DSA로 바꾼 모델이고, Ripple-65B-Preview는 새 연산 없이 읽는 65B 덴스 모델이다. xing4_0는 mHC·MLA·MoE·MTP를 함께 쓰는 구조다.

멀티모달 쪽은 drama-3 TTS(fishaudio), MageVL-Cowork, Kimi-K3.1 비전이 들어왔다. 서버에는 OpenAI 규격과 맞춘 /v1/audio/speech 엔드포인트가 생겼고 /tts에 temperature 옵션이 붙었다. 음성 합성을 별도 규격의 서버 없이 같은 방식으로 붙일 수 있게 된 셈이다.
llama-server 보안 기본값이 엄격해졌다
llama-server를 밖에 열어 쓰는 경우에는 보안 쪽이 더 중요하다. CORS 설정 오류와 DNS 리바인딩, CORS 프록시를 통한 SSRF, 자식 인스턴스 접근이 고쳐졌다. 인증 없이 도구를 호출하거나 사설 주소의 미디어를 읽는 동작은 --allow-unauthenticated-tools, --media-allow-private-urls를 줘야만 열린다. HF_TOKEN은 huggingface.co 호스트로만 나가고, MCP 도구 호출은 클라이언트가 끊기거나 시간이 넘으면 취소된다.

지금 올릴까, 기다릴까
직접 libllama를 링크해 빌드하는 프로그램은 기존 빌드가 그대로 올라가지 않는다. 35개 API와 NextN 헤더 위치가 바뀌었기 때문이다. 이런 쪽은 1.0으로 올리는 작업과 포팅을 한 번에 잡아야 한다.
실행 파일로만 쓰고 GGUF 모델을 그대로 두는 사용자는 모델을 다시 받을 필요가 없다. 새 버전은 기존 실행 방식 위에 선택 기능을 얹은 성격이라, 쓰지 않는 기능은 실행 경로에 끼어들지 않는다.
성능이 얼마나 오르는지는 이번 릴리스에 숫자가 없다. FP8 KV 캐시와 전문가 캐시는 메모리를 아끼는 기능이지 속도를 보장하는 기능이 아니다. 긴 컨텍스트나 큰 MoE 때문에 VRAM이 모자라 멈추던 구성이라면 먼저 재보고, 이미 여유가 있는 구성이라면 급할 이유가 없다.
돌리려면 어느 정도 GPU가 필요한가
이번 릴리스에 하드웨어 최소 사양 변화는 언급되지 않았다. 기준은 모델 파일 크기와 KV 캐시가 VRAM에 들어가는지다. FP8 KV 캐시를 쓰면 같은 길이의 컨텍스트를 유지할 때 KV 캐시 메모리를 절반으로 줄일 수 있다. 전문가를 CPU 쪽으로 넘기는 구성은 시스템 메모리 용량과 대역폭에 기대는 만큼 램이 중요해진다. 24GB 카드에 큰 MoE 모델을 억지로 올리던 구성이면 이번 버전에서 전문가 캐시 비중을 조절해 보는 쪽이 낫다.
한 줄 정리: llama.cpp 1.0은 기능 추가보다 API를 함부로 깨지 않겠다는 약속과, KV 캐시·전문가 캐시로 메모리를 줄이는 쪽에 무게가 실린 릴리스다.
원문은 llama.cpp v1.0.0 릴리스 노트와 Hugging Face 블로그에 정리돼 있다.
ASUS ASUS ROG Astral 지포스 RTX 5090 OC D7 32GB 대원씨티에스 (엔비디아 컴퓨터 그래픽카드)
로켓배송으로 바로 받기이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.



