개요
이번 릴리스에서는 OCP FP8 E4M3 양자화(quantization) 지원, 다중 시퀀스 추론을 위해 통합 KV 캐시를 효율적으로 만드는 새로운 flash_attn_ext_rows 연산자(op), 그리고 범용 배치 텐서 복사 API가 추가되었습니다. 네 가지 새로운 아키텍처(Clover, Limite, Metis-1.6 및 Mistral Large 4)가 지원되며, 오디오 생성 및 전사 기능은 Chatterbox TTS, Nemotron 3.5 Transcribe, 그리고 사전 정의된 Pocket TTS 음성으로 확장되었습니다. 또한 Gemma 4 E2B/E4B 모델에 주요 프리필(prefill) 최적화가 적용되었습니다. ggml이 v0.29.0으로 업데이트되어 FP8 E4M3, flash attention rows, NCCL 기반 다중 노드 텐서 병렬 처리(tensor parallelism), 그리고 CPU, CUDA, SYCL, Metal, Vulkan, OpenCL 및 Hexagon 백엔드를 아우르는 성능 개선 작업이 이루어졌습니다. 서버와 UI 역시 여러 수정 및 개선 사항을 받았습니다.
주요 변경 사항
-
양자화(Quant): 변환 헬퍼와 새로운 ftype(#27512)를 포함한 OCP FP8 E4M3 텐서 타입 (포화 모드, saturating mode)
-
llama: flash_attn_ext_rows - 다중 시퀀스를 위한 더욱 효율적인 통합 KV 캐시를 제공하며, 비통합(non-unified) KV 프리필 성능을 복원했습니다(#29510)
-
ggml: _2d API를 대체하는 배치 텐서 복사 API (ggml_backend_tensor_copy_n/set_n/get_n)가 Metal과 CUDA용으로 구현되었습니다(#30881)
-
3년 연속, llama.cpp는 Github Octoverse 리포트의 주요 리포지토리로 선정되었습니다.
API 변경 사항
- llama.h:
LLAMA_FTYPE_MOSTLY_F8_E4M3 추가 (#27512)
- mtmd.h:
mtmd_gen_audio_info에 MTMD_GEN_AUDIO_TYPE_CHATTERBOX 및 n_voices 추가 (#30993)
- mtmd.h: 사전 정의된 음성(predefined-voice) API 추가:
mtmd_gen_audio_voice_name(), mtmd_gen_audio_get_voice(), mtmd_gen_state_set_ref() (#30993)
- mtmd.h:
mtmd_bitmap_is_voice() 및 mtmd_gen_audio_read_tensor() 추가 (#30993)
- mtmd.h:
MTMD_VIDEO_TEMPLATE_QWEN3VL 비디오 프롬프트 템플릿 추가 (#31619)
- 서버(server):
GET /props가 모델의 사전 정의된 TTS 음성 목록을 보고하며, TTS 엔드포인트는 사전 정의된 음성 이름을 허용합니다 (#30993)
- 서버(server):
/v1/responses가 extra_params(시드, min_p 등)를 변환된 chat-completions 응답에 병합합니다 (#30959)
새로운 모델
v0.9.0
- Clover-35B-A3B-Preview 확산 모델(diffusion model), AR 모드 (#31306)
- Limite 1B - Violetto (#29433)
- Metis-1.6 (Praxis ~2.9B 및 Logos ~10.2B): fixed-depth recurrence와 LatentMoE를 사용한 하이브리드 Mamba-2 / GQA 어텐션 (#31134)
- Mistral Large 4 (#31376)
핵심 변경 사항 (Core changes)
- gemma4: E2B 및 E4B에 대한 대규모 prefill 이득을 갖는 그래프 최적화(graph optimizations) (#31356); gemma3n 및 gemma4에서 타이(tied) 출력 앞에
token_embd 생성 (#31394)
- LFM3: NVFP4 GGUFs 활성화 (#31608), 텐서 분할(tensor split) 활성화 (#31431), 오디오 코덱 디코더 양자화(quantize the audio codec decoder) (#31386)
- spec dec: 컨텍스트 체크포인트에서 MTP hidden state 저장 및 복원 (#30141) 및 LFM3 레이어 입력 기록 (#31598)
- dflash: 디바이스 복사(device copies)를 통해 hidden feature 복사 (#31506); qwen4exp: 중간 컨텍스트 없이 conv state tail 쓰기 (#31443)
- 모델 로딩(model loading): 텐서 스테이징 버퍼 재사용 및 direct-IO bounce buffer 건너뛰기 (#31321)
- kv-cache: GPU에서 Hadamard 회전 상수 유지 (#31073) 및 공유된 KV를 가진 레이어의 어텐션 텐서 회전 수정 (#31406)
- kv-cache: 셀이 없는 시퀀스에 대해 절대 0인
kv_rows를 반환하지 않도록 수정(#31570). 그리고 마지막 ubatch의 스냅샷 이전으로 되돌리는 것을 거부함(#31368).
- Gemma4 MTP assistant:
ctx_other 장치 및 FlashAttention 설정을 따르도록 수정(#31635); DSV4: 단순 배치 분할(simple batch splitting) 기능을 제거함(#31300).
- chat:
reasoning_format none을 사용하여 Qwen3-Coder의 생각 블록(think block)을 제거함(#31380). 그리고 프롬프트 종료 태그에서 추론 예산 강제 적용(reasoning budget forcing)을 끝냄(#31374).
- chat:
gpt-oss 최종 채널 이후에 제약 유형(constraint type)을 허용하도록 수정(#31556); common: 더 긴 양자화 이름 내에서 -hf 태그 일치(tag matching)를 수정함(#31620) 및 바운드 제어 벡터 레이어 인덱스(#31336)를 수정함.
- tools: GGUF 분할 병합(split merge) 시 불일치하는 샤드(mismatched shards)를 거부함(#31579).
imatrix --nextn 충돌을 수정함(#31522). gguf-py의 np_roundf에서 부호가 누락되는 문제(#31310)를 수정함.
- vendor: miniaudio 0.11.26(#31459) 및 cpp-httplib 0.64.0(#31400)을 업데이트함. 모든 Windows 실행 파일에 앱 매니페스트(app manifest)를 포함시킴(#31329).
다중 모달리티 변경 사항
• Chatterbox TTS 지원 추가 (#30993)
• Nemotron 3.5 Transcribe 지원 추가: 프롬프트 컨텍스트 및 화자 할당 기능을 갖춘 40개 언어 오프라인 전사(transcription) (#31471)
• Pocket TTS: 음성 복제(voice cloning) 없이 사전 정의된 음성 지원 (#31429)
• qwen3-vl 비디오 프롬프트 형식에 대한 정확한 지원 (#31619)
• Letterbox 패딩 없이 Gemma 4 이미지 크기 조정 및 InternVL CLS 토큰 순서 수정 (#30922) 및 (#30886)
서버 변경 사항 (Server changes)
• 첫 번째 출력에서 공유 결정 접두사(shared decision prefixes) 제한 (#30710)
• n_rs_seq보다 긴 초안에 대한 추측 체크포인트(speculative checkpoint) 복원 (#31350)
UI 변경 사항 (UI changes)
- 도구 설정에 MCP 그룹 체크박스 추가 (#31303) 및 시작 시 영구 저장소 요청 기능 구현 (#31299)
- 사용자가 스크롤을 올릴 때까지 채팅 기록을 하단에 유지 (#31311)하고, 입력 내용이 있을 때만 제출 버튼 표시 (#31324)
- 로고에서 접힌 사이드바 표시 기능 구현 (#31307) 및 경고 대화 상자 스타일 정렬 (#31312)
- 대기 중인 스티어링 메시지를 별도의 대화에 유지 (#31304)하고, 응답하지 않은 도구 호출에 대해 중단 상태 표시 (#31314)
- 서버가 거부하는 모델 삭제 기능 비활성화 (#31305) 및 사전 선택에서 로딩 중인 모델 선호 (#31326)
- 데모 비디오 녹화를 위한 Playwright 하네스 추가 (#31318) 및 설치된 Chrome에서 로컬 브라우저 테스트 실행 (#31596)
ggml 변경 사항
- v0.29.0: ggml v0.29.0은 OCP FP8 E4M3 텐서 유형, 각 쿼리 슬라이스가 자체 K/V 행 목록에 어텐션하는 새로운
ggml_flash_attn_ext_rows 연산자(op), 배치 텐서 복사 API, 그리고 새로운 다중 프로세스 통신 인터페이스를 통한 초기 다중 노드 텐서 병렬 처리 지원을 추가합니다. 핵심 개선 사항으로는 스트라이드가 도달하는 바이트를 기준으로 텐서 뷰 경계 지정, 호스트 버퍼 텐서의 제로 카피(zero-copy) GGUF 내보내기, 그리고 Apple 플랫폼에서의 vm_allocate 기반 할당이 포함됩니다. 성능 관련 작업은 모든 주요 백엔드에 걸쳐 이루어졌습니다: CPU 백엔드의 새로운 SVE 커널, SYCL에서의 양자화된 KV를 위한 DPAS 플래시 어텐션, CUDA의 통합 MoE MMQ, Metal의 더 빠른 MXFP4 행렬-벡터 곱셈(mat-vec), Vulkan의 split-K 튜닝, 그리고 OpenCL에서 양자화된 GEMM/GEMV 커버리지 대폭 확장. Hexagon 백엔드는 라이트닝 인덱서(lightning indexer), top-k 마스크, conv2d, 업스케일링을 포함한 여러 새로운 연산자(op)를 지원하게 되었습니다.
Assets
Nightly build: b12110
More info
[v0.8.0] 이후 변경 로그