Pustaka inferensi lokal llama.cpp merilis v1.0.0, dan pustaka tensor di bawahnya, ggml, ikut naik ke 1.0. Dalam tulisan di blog Hugging Face, tim proyek menyebut rilis ini dimaksudkan untuk memberi fondasi yang lebih stabil bagi pengembang yang bergantung padanya: mulai sekarang, setiap ketidakcocokan pada API atau ABI publik di llama.cpp dan ggml akan tercermin lewat perubahan nomor versi mayor.
Selama beberapa tahun terakhir, rilis llama.cpp hampir sepenuhnya mengandalkan nomor build berawalan b. Setiap kode yang digabung ke cabang utama menghasilkan satu build baru, dan hitungannya kini sudah melewati b12000. Setelah 1.0, nomor build ini tidak berhenti dan tetap terbit sebagai pra-rilis. Yang berubah adalah kini ada satu jalur versi resmi yang disertai komitmen, sehingga pengguna dapat memilih sesuai kebutuhan.
Nomor versi kini punya arti
Aturan yang dipaparkan blog cukup lugas. MAJOR berkaitan dengan perubahan yang merusak pada antarmuka C publik di direktori ./include, MINOR mencakup fitur baru atau dukungan model baru yang kompatibel ke belakang, dan PATCH hanya memperbaiki bug tanpa menyentuh antarmuka. Aturan ini berlaku untuk seluruh proyek di bawah ggml-org. Tim menulis bahwa seiring makin banyaknya pengguna, mereka akan lebih ketat dalam membuat batas-batas tersebut terlihat.
Agar dapat mulai dengan bersih, 1.0 diawali dengan pembersihan: sejumlah antarmuka publik yang sudah lama ditandai usang dihapus, beberapa fungsi diganti namanya, dan struct parameter konteks mendapat bidang baru. Di sisi ggml, API usang dan operator DIAG_MASK lama juga dibuang. Bagi pengembang yang menautkan llama.cpp sebagai pustaka ke produk mereka, peningkatan ini berarti harus mengubah kode satu kali. Setelah itu, selama mengikuti versi minor, mereka tak perlu khawatir antarmuka tiba-tiba hilang di build tertentu.
Apa saja yang ditambahkan di versi ini
Selain aturan versi, 1.0 sendiri membawa cukup banyak pembaruan:
- Cache KV mendukung FP8; ada pula cache pakar MoE baru yang ditaruh di memori host, dengan rasio beban yang dialihkan ke CPU dapat diatur;
- Dukungan untuk model seperti Kimi-K3.1-Pro ditambahkan, dan Kimi-K3.1 dapat memproses masukan gambar;
- llama-server mendapat antarmuka sintesis suara /v1/audio/speech, yang bekerja bersama model TTS drama-3;
- Sisi server memperbaiki masalah SSRF, CORS, dan DNS rebinding. Pemanggilan alat tanpa autentikasi dan akses ke URL privat kini harus diaktifkan secara eksplisit, dan HF_TOKEN hanya dikirim ke huggingface.co.
Poin terakhir paling praktis bagi mereka yang menjalankan server sendiri. llama-server sering dipasang di jaringan internal sebagai antarmuka lokal yang kompatibel dengan OpenAI, bahkan kadang langsung terekspos ke internet publik. Jika pemanggilan alat dibuka secara bawaan, permukaan risikonya ikut melebar. Mengubahnya menjadi aktivasi eksplisit berarti mengembalikan pilihan kepada pihak yang melakukan deployment.
Cache pakar MoE ditujukan bagi bentuk model saat ini. Sebagian besar model besar tahun ini berarsitektur mixture of experts, dengan total parameter yang kerap mencapai ratusan miliar dan hanya sebagian kecil yang aktif di setiap langkah. Ketika memori video tidak muat menampung semua pakar, memindahkan bagian yang untuk sementara tidak terpakai ke memori host dan menyerahkan perhitungannya ke CPU dengan rasio tertentu adalah kompromi yang lazim untuk menjalankan model MoE besar di kartu grafis kelas konsumen. Kini fitur ini masuk ke jalur utama, sehingga pengguna tak perlu lagi mencari fork pihak ketiga.
Dibandingkan dengan jalur pusat data
Kerangka kerja inferensi kini terbagi menjadi dua jalur. Kerangka seperti vLLM dan SGLang menyasar GPU pusat data dan bersaing dalam throughput batch serta konkurensi. llama.cpp bertujuan membuat model berjalan di ponsel, laptop, dan workstation, memakai kuantisasi untuk memasukkan model besar ke memori yang terbatas dan memadukan CPU serta GPU.
Hal ini terlihat dari daftar backend: CUDA, Metal, Vulkan, WebGPU, HIP dari AMD, SYCL dari Intel, Snapdragon Hexagon, serta MUSA dari Moore Threads semuanya tercantum, dan tiap backend dapat dikompilasi sebagai pustaka dinamis yang dimuat saat dijalankan sesuai kebutuhan. Menurut blognya, proyek ini sudah mendukung lebih dari 150 varian arsitektur model. Kerangka pusat data mengejar perangkat keras terbaru, sedangkan llama.cpp mengejar perangkat di ekor panjang, sehingga basis pengguna keduanya tidak banyak bersinggungan.
Di GitHub, proyek ini memiliki sekitar 135 ribu bintang dan 25,6 ribu fork. Tim kini berada di Hugging Face; blog berterima kasih kepada HF atas daya komputasi CI dan juga mencantumkan dukungan perangkat keras dari NVIDIA, AMD, Qualcomm, Arm, IBM, dan Intel. Apakah janji versi ini bisa dipegang akan bergantung pada apakah beberapa versi minor berikutnya diam-diam mengubah antarmuka.
Sumber: blog Hugging Face, halaman rilis GitHub llama.cpp, CocoLoop, README repositori llama.cpp; halaman rilis digunakan untuk memverifikasi fitur baru 1.0, cakupan pembersihan antarmuka, dan daftar backend.