ggml v1.0.0 공개, 폐기 API 정리하고 CUDA·Metal·Vulkan 백엔드 성능 손봐
- ggml 1.0.0이 deprecated 공개 API와 legacy DIAG_MASK_INF/DIAG_MASK_ZERO op를 제거하고 RPC 프로토콜을 v9로 올려 호환되지 않는 피어를 거부함.
- YaRN 보정 경계 반올림을 제어하는 ggml_rope_set_truncate/get_truncate를 추가하고 OCP FP8 지원과 NVFP4 gate/up matmul의 GLU 융합을 CUDA에 넣음.
- CUDA에는 배치 2~24용 few-row MMQ와 BF16 few-row matmul용 MMVF를 추가했고, Metal은 MoE 라우팅을 융합하고 fusable 노드 그룹을 단일 command buffer에 유지함.
- Vulkan prefill FlashAttention 경로, SYCL 디바이스 측 MoE 스케줄러, OpenCL Adreno FlashAttention 분해, WebGPU 신규 커널, Hexagon op 확장이 함께 들어감.
- 스케줄러가 읽히지 않는 입력 업로드를 건너뛰고 앞선 split이 생산한 입력만 프리페치하며, MoE 캐시는 미스 일부를 CPU에서 계산해 비동기로 복사함.
Hacker News 의견들
ggml이랑 llama.cpp는 AI판 리눅스임. 로컬 추론을 한 비트씩 밀어붙이는 게 대단하다.
vulkan만 지원하는 구린 AMD 카드로도 llama.cpp 잘 돌아감. GGML 덕분에 쓸 만해진 거라 고맙지.
라이브러리 이름을 자기 이니셜로 짓는 건 별일 아님. 리눅스도 그랬고 djgpp, jemalloc, djbdns도 다 그렇더라.
같은 하드웨어에서 매달 업데이트할 때마다 5~10%씩 빨라짐. 50K 토큰 프롬프트 벤치가 4:22에서 3:59로 줄었음.
llama.cpp는 아무 모델이나 아무 하드웨어에서 돌리는 만능이지만, 하드웨어 전용 커널 쓴 엔진이 더 빠르긴 함. 그래도 시간 없으면 llama.cpp가 답임.
레거시 하드웨어뿐 아니라 RISC-V까지 지원하는 게 좋음. 1.0.0 축하할 만하다.
ggml.ai 랜딩 페이지가 너무 대충인데? 시드 머니 받았으면 디자인 좀 신경 쓰지.
그 미니멀함이 오히려 컨셉임. 클로드로 뽑은 슬롭 랜딩 페이지보다 백 배 나음.
1.33KB 단일 요청으로 바로 뜨고 읽기 편함. 웹이 원래 이래야 함.
GPU 메모리를 살짝 넘는 MoE 모델도 안 죽고 덜 쓰는 expert를 호스트 메모리에 캐시해서 로드됨.