>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Beveiliging
C-plus-plus

ik_llama.cpp: wanneer reguliere llama.cpp gewoon niet genoeg is

2.810 sterren

Herkenbaar scenario: je draait een taalmodel op je computer en het werkt nauwelijks? Vooral als je geen top-tier GPU hebt, maar gewoon een reguliere processor. Daarom is ik_llama.cpp gemaakt — een fork van het populaire llama.cpp, gericht op maximale prestaties voor CPU- en hybride CPU/GPU-configuraties.

Wat het is en waarom je het nodig hebt

ik_llama.cpp is een fork van het llama.cpp-project, gemaakt door Ivan Kavrakov (ikawrakow). Het hoofddoel is om een performantere oplossing te bieden voor het draaien van taalmodellen op reguliere hardware. Als de originele llama.cpp al goed is, maakt deze fork het nog beter, vooral in scenario's zoals:

  • Draaien op CPU (inclusief mobiele apparaten)
  • Gebruik van hybride CPU/GPU-configuraties
  • Toepassen van moderne kwantisatiemethoden

Het project wordt actief ontwikkeld: ten tijde van schrijven heeft het 10.098 sterren en 125 forks op GitHub.

Belangrijkste functies

1. Geavanceerde kwantisatiemethoden

Het project implementeert verschillende nieuwe kwantisatietypen die de modelgrootte aanzienlijk verminderen met minimaal kwaliteitsverlies:

  • Trellis quants (IQ1_KT, IQ2_KT, IQ3_KT, IQ4_KT) — gebaseerd op een nieuwe integer trellis, met redelijke CPU-prestaties
  • IQK quants — een hele familie van kwantisatiemethoden, waaronder IQ5_KS, IQ4_KS, IQ6_K en anderen
  • Q8_KV — een nieuw type voor 8-bit KV-cache kwantisatie

Met deze methoden kun je modellen draaien die voorheen een GPU vereisten op reguliere processors.

2. Flash-MLA voor DeepSeek-modellen

Met name interessant is de FlashMLA-implementatie (MLA — Multi-Layer Attention) voor DeepSeek-modellen:

  • FlashMLA-3 — de snelste implementatie voor CPU
  • CUDA-ondersteuning voor Nvidia GPU's (Ampere of nieuwer)
  • Mogelijkheid om Q8_0 gekwantiseerde cache te gebruiken met MLA

Zoals de auteur opmerkt, levert FlashMLA-3 recordbrekende prestaties voor DeepSeek-modellen op CPU.

3. Hybride CPU/GPU-verwerking

Het project biedt fijnmazige controle over waar bewerkingen worden uitgevoerd:

  • Tensor overrides voor het beheren van gewichtsplaatsing (GPU of CPU)
  • Verbeterde offload-strategie voor MoE (Mixture of Experts)-modellen
  • Mogelijkheid om CPU FA (Flash Attention)-kernels uit te schakelen wanneer nodig

Dit is vooral nuttig voor systemen met discrete GPU's, waar je de belasting kunt verdelen tussen de processor en grafische kaart.

Technische details

Het project is geschreven in C++ en ondersteunt:

  • Verschillende CPU-architecturen: AVX2, NEON, Zen4
  • CUDA voor GPU-computing
  • Metal voor Apple Silicon
  • Zelfs draait het op Android via Termux

Interessante technische oplossingen:

  • Fused MoE-operaties — versnelde inferentie voor modellen met Mixture of Experts-architectuur
  • Row-interleaved quant packing — efficiënte packing van gekwantiseerde data
  • Smart Expert Reduction — intelligente expert-reductie voor snellere DeepSeek-inferentie

Praktische toepassingen

Waar ik_llama.cpp bijzonder nuttig is:

  1. Lokaal draaien van grote modellen — wanneer je geen toegang hebt tot krachtige GPU's maar toch met moderne LLM's moet werken
  2. Mobiele apparaten — mogelijkheid om te draaien op Android via Termux
  3. Hybride systemen — optimaal gebruik van zowel CPU als GPU in één systeem
  4. Experimenteren met kwantisatie — veel nieuwe kwantisatiemethoden voor onderzoekers

Zoals opgemerkt in een discussie, maakt het project efficiënt werken met DeepSeek-V3 mogelijk, zelfs op een configuratie met 16 x Nvidia RTX 3090.

Aan de slag

  1. Clone de repository:
git clone https://github.com/ikawrakow/ik_llama.cpp
cd ik_llama.cpp
  1. Bouw het project (voorbeeld voor Linux):
mkdir build
cd build
cmake ..
make -j
  1. Voor het testen van function calling-functionaliteit:
cd build
cmake --build . --target test-function-calls
./bin/test-function-calls

Conclusie: is het de moeite waard?

ik_llama.cpp is een uitstekende keuze als:

  • Je maximale prestaties op CPU nodig hebt
  • Je werkt met moderne modellen zoals DeepSeek, LLaMA-3, Qwen3
  • Je wilt experimenteren met geavanceerde kwantisatiemethoden
  • Je een hybride systeem hebt met CPU en GPU

Het project wordt actief ontwikkeld, heeft een MIT-licentie en staat open voor bijdragers. Als je al llama.cpp gebruikt, kan overschakelen naar deze fork je merkbare prestatieverbeteringen geven zonder extra kosten.

Voor een gedetailleerder overzicht van de mogelijkheden van het project raad ik aan om te verkennen:

Gerelateerde projecten