Unsloth vs Axolotl vs TRL vs LLaMA-Factory: vergelijking van LLM-finetuningframeworks op snelheid, VRAM en multi-GPU
Belangrijkste punten
- •Unsloth levert tot 2x trainingssnelheid op één GPU via handgeschreven Triton-kernels, waarbij het voordeel groeit voor Mixture-of-Experts-modellen zoals gpt-oss-20b, waar het een versnelling van 7.3x behaalde ten opzichte van Transformers v5 bij 8K context.
- •Axolotl biedt de meest uitgebreide ondersteuning voor multi-GPU-parallelisme, waarbij data-, tensor-, context- en expertparallelisme via PyTorch DeviceMesh worden gecombineerd, terwijl Unsloth’s multi-GPU-mogelijkheden beperkt blijven en handmatige setup vereisen.
- •LLaMA-Factory schrijft geen eigen kernels, maar delegeert via configuratievlaggen naar andere frameworks; het FSDP+QLoRA-pad maakt finetuning van 70B-modellen op twee 24 GB GPU’s mogelijk — de goedkoopste gedocumenteerde route in de vergelijking.
- •TRL fungeert als de fundamentele trainer-API-laag die Axolotl en LLaMA-Factory intern aanroepen, en biedt correcte bouwstenen in plaats van getunede defaults, waardoor gebruikers hun eigen parallelisme- en geheugenoptimalisatieconfiguraties moeten aanleveren.
- •De vier frameworks groeien zichtbaar naar elkaars sterke punten toe, met Unsloth dat multi-GPU-ondersteuning toevoegt, LLaMA-Factory dat een Megatron-core backend integreert en Axolotl dat kernelmatige optimalisaties overneemt die door Unsloth zijn geïnspireerd.

Vier open-source projecten domineren vandaag de finetuning van large language models: Unsloth, Axolotl, TRL en LLaMA-Factory. Alle vier bouwen voort op dezelfde onderliggende PyTorch- en Hugging Face-stack, maar verschillen in waar zij hun engineeringinspanning concentreren. Unsloth herschrijft kernels voor ruwe snelheid. Axolotl richt zich op samenstelbare parallelismestrategieën. TRL definieert de trainer-API’s waarop de anderen voortbouwen. LLaMA-Factory geeft prioriteit aan brede modeldekking en zero-code gebruik.
Nu open-weight modellen van Meta, Alibaba, Google en anderen het kwaliteitsverschil met propriëtaire API’s verkleinen, finetunen bedrijven steeds vaker lokaal in plaats van per-token-premies te betalen — waardoor de frameworklaag een directe kostenhefboom wordt, aangezien GPU-uren de dominante kostenpost blijven in vrijwel elke maatwerkpipeline.
Deze vergelijking beoordeelt drie assen waarmee praktijkgebruikers regelmatig te maken krijgen: trainingsdoorvoer, piekgebruik van VRAM en multi-GPU-schaalbaarheid.
Frameworkoverzicht
TRL fungeert als referentie-implementatielaag. Het levert SFTTrainer, DPOTrainer, GRPOTrainer, KTOTrainer, RewardTrainer en RLOOTrainer. Zowel Axolotl als LLaMA-Factory roepen het intern aan. De huidige stabiele releaselijn is v1.8.0.
Unsloth vervangt delen van de modelcode door handgeschreven Triton-kernels. Backpropagatiestappen worden handmatig afgeleid in plaats van door autograd gegenereerd. Hugging Face’s eigen artikel merkt op dat de nauwkeurigheidsdegradatie 0% is ten opzichte van standaard QLoRA, omdat er geen benaderingen worden geïntroduceerd.
Axolotl is een YAML-gestuurde wrapper rond Transformers, PEFT, TRL, Accelerate en DeepSpeed. Het belangrijkste onderscheidende punt is de samenstelbaarheid van parallelismestrategieën, niet optimalisatie op kernelniveau.
LLaMA-Factory is beschreven in een ACL 2024 system demonstration paper en bevat een Gradio-webinterface met de naam LlamaBoard. De repository dekt meer dan 100 LLMs en VLMs.
Snelheid
Unsloth: winst op kernelniveau op één GPU
Unsloth’s gepubliceerde benchmarks tonen 2x trainingssnelheid voor Llama 3.1 8B en Llama 3.3 70B. De testopzet gebruikte de Alpaca-dataset, batchgrootte 2 en gradient accumulation 4. QLoRA draaide op rank 32 over alle lineaire lagen.
De resultaten voor Mixture-of-Experts (MoE)-modellen zijn uitgesprokener. Unsloth finetunede unsloth/gpt-oss-20b-BF16 op een NVIDIA B200 en rapporteerde 712.33 ms per stap bij 8K context, tegenover 5,226.86 ms voor Transformers v5 — een verschil van 7.3x. Bij 4K context versmalt het verschil tot 4.82x, en bij 1K is het slechts 1.37x.
De richting van de trend is modelafhankelijk. Unsloth’s MoE-documentatie beperkt deze specifieke claim tot gpt-oss, waar de versnelling toeneemt met de sequentielengte, toegeschreven aan Flex Attention en de MoE-kernels.
Qwen3-30B-A3B op B200 laat het tegenovergestelde patroon zien. De gerapporteerde versnelling daalt van 1.7x bij 1K context naar 1.1x bij 16K. Geheugenbesparing beweegt in de omgekeerde richting, van ongeveer 2% naar 15%.
Qwen3-30B-A3B op H100 haalt tot 1.77x. GLM-4.7-Flash op RTX PRO 6000 haalt 2.1x. Een samenwerking met AMD mat Llama-3.1-8B LoRA SFT op 2.07 s/stap, terwijl TRL plus FlashAttention-2 2.87 s/stap nodig had — een verschil van 1.39x met overeenkomende losscurves.
Axolotl: geleende kernels, native parallelisme
Axolotl voegde in februari 2025 aangepaste Triton-kernels en autograd-functies voor LoRA toe, waarbij het expliciet Unsloth als inspiratie noemde. Deze zijn opt-in via lora_mlp_kernel, lora_qkv_kernel en lora_o_kernel.
Recente release notes voegen ondersteuning voor SonicMoE LoRA toe, met tot 1.45x versnelling en 30% geheugenreductie ten opzichte van een grouped_mm-baseline voor Qwen3.5-35B-A3B 8-bit LoRA op één H100 SXM.
Axolotl levert ook FlashAttention 2/3/4, xFormers, Flex Attention, SageAttention, Liger Kernel, Cut Cross Entropy en ScatterMoE mee.
TRL: de baseline waar iedereen tegen meet
TRL dient doorgaans als referentiepunt in plaats van als winnaar op ruwe doorvoer op één GPU. Het compenseert dat met een breed scala aan geheugen- en snelheidsknoppen die zijn gedocumenteerd in Geheugengebruik verminderen en Training versnellen. Deze opties omvatten packing, paddingvrije batching, truncation, Liger Kernel en vLLM sleep mode voor GRPO. TRL heeft ook een first-party Unsloth-integratie, waardoor de twee elkaar niet uitsluiten.
LLaMA-Factory: snelheid door delegatie
LLaMA-Factory schrijft geen eigen kernels. In plaats daarvan stelt het optimalisaties van andere frameworks beschikbaar via configuratievlaggen. Het instellen van use_unsloth: true activeert de Unsloth-patch, waarbij de changelog van het project 170% relatieve snelheid via dat pad rapporteert. Unsloth’s long-sequence training staat vermeld op 117% snelheid en 50% geheugen. LLaMA-Factory ondersteunt ook enable_liger_kernel: true en FlashAttention-2 via flash_attn: fa2.
VRAM
Gerapporteerde geheugenvloeren
Unsloth publiceert een tabel met VRAM-vereisten, gesorteerd op aantal parameters. Die noemt 6 GB voor een 8B-model in 4-bit QLoRA en 41 GB voor 70B. LoRA op 16-bit kost respectievelijk 22 GB en 164 GB voor dezelfde modellen.
De hardwaretabel in de README van LLaMA-Factory dekt hetzelfde 4-bit QLoRA-regime, met 6 GB bij 7B, 24 GB bij 30B en 48 GB bij 70B. Volledige bf16-finetuning van 70B staat vermeld op 600 GB.
Beide tabellen beschrijven minima. Batchgrootte, sequentielengte en optimizerkeuze beïnvloeden allemaal het werkelijke verbruik.
Contextlengte als scherpere differentiator
Piek-VRAM bij een vaste contextlengte is minder belangrijk dan de maximale context die een gegeven VRAM-budget toestaat. Unsloth’s benchmarks voor contextlengte bij Llama 3.1 8B QLoRA op rank 32 en batchgrootte 1 zijn opvallend. Unsloth schrijft dit toe aan zijn gradient checkpointing-algoritme in combinatie met Apple’s Cut Cross Entropy. Voor Llama 3.3 70B op een 80 GB A100 rapporteert het 89,389 tokens — vergeleken met 6,916 voor de FA2-baseline.
Het geheugenverhaal rond MoE
MoE-training is waar geheugengedrag in 2026 het meest is verschoven. Unsloth rapporteert finetuning van gpt-oss-20b binnen 12.8 GB, terwijl Qwen3-30B-A3B op 16-bit LoRA 63 GB vereist.
In zijn B200 gpt-oss-run gebruikte Unsloth 47.43 GB bij 8K context, waar Transformers v5 73.80 GB gebruikte. Bij 16K raakte Transformers v5 zonder geheugen, terwijl Unsloth 55.13 GB gebruikte.
Het mechanisme is een split-LoRA-formulering. PEFT materialiseert de LoRA-delta over alle experts vóór de MoE-matmul. Unsloth herschikt in plaats daarvan de bewerkingen, wat wiskundig identiek is maar de materialisatiestap vermijdt.
Axolotl pakt hetzelfde probleem aan via MoE-expertkwantisatie, waarbij expertgewichten tijdens het laden van het model worden gekwantiseerd en de oorspronkelijke bf16-tensor direct wordt vrijgegeven. Dit werd noodzakelijk na een wijziging in Transformers v5 waarbij expertlagen van nn.Linear naar gefuseerde nn.Parameter 3D-tensors verhuisden, waardoor bitsandbytes ze niet langer bij het laden kon kwantiseren. De documentatie van Axolotl meldt dat GLM-4.7-Flash QLoRA daalt van ongeveer 127 GiB naar ongeveer 23 GiB gereserveerd geheugen met quantize_moe_experts: true.
Multi-GPU
Multi-GPU is waar de rangorde van één GPU omkeert. Unsloth’s voorsprong op één GPU zet zich niet door.
Axolotl: de diepste parallelismematrix
Axolotl’s multi-GPU-gids biedt drie onderling uitsluitende shardingstrategieën: DeepSpeed ZeRO stages 1 tot en met 3, FSDP en DDP. FSDP2 is het aanbevolen pad, waarbij FSDP1 is verouderd.
Daarbovenop stelt de N-D Parallelism-gids data-, tensor-, context- en expertparallelisme samen via PyTorch’s DeviceMesh. De gedocumenteerde ondersteuningsmatrix bevestigt FSDP+TP, HSDP+TP, FSDP+CP, FSDP+TP+CP en FSDP+EP. Twee combinaties worden expliciet niet ondersteund: expertparallelisme kan in v1 niet worden gecombineerd met TP of CP, en pure DDP kan dat evenmin.
Axolotl’s sequentieparallelisme gebruikt de ring-flash-attention-bibliotheek. De gepubliceerde H100-benchmark voor Llama 3.1 8B QLoRA illustreert de afweging: context schaalt bijna lineair, maar de doorvoerefficiëntie stort in. Op 4090s bij SP degree 8 registreert dezelfde benchmark 0.88x versnelling — de training werd feitelijk trager terwijl de context 32,768 tokens bereikte.
Axolotl ondersteunt ook multi-node training via torchrun en Ray.
TRL: twee backends voor sequentiesplitsing
TRL’s gids voor gedistribueerde training maakt een helder onderscheid tussen twee benaderingen. Context Parallelism gebruikt Ring Attention op FSDP2, vereist Accelerate 1.11.0+, gebruikt cp_size met cp_backend="torch" en ondersteunt momenteel alleen SDPA — FlashAttention wordt op dit pad niet ondersteund. Sequenties moeten gelijkmatig deelbaar zijn door cp_size * 2.
Sequence Parallelism gebruikt ALST/Ulysses op DeepSpeed, vereist DeepSpeed 0.18.1+ en Accelerate 1.12.0+. Het gebruikt sp_size met sp_backend="deepspeed" en werkt met FlashAttention-2, maar wordt begrensd door het aantal attention heads, waarvoor num_heads >= sp_size vereist is.
De richtlijnen van TRL zijn specifiek: Ring Attention past bij sequenties van 1M+ tokens en beperkte netwerktopologie, terwijl Ulysses geschikt is voor NVLink- of InfiniBand-interconnects en sequenties tot ongeveer 500k tokens. TRL’s eigen Ring Attention-benchmark finetunede Qwen3-8B over 1, 2, 4 en 8 H100 GPU’s, waarbij contextlengtes boven 300k tokens trainbaar werden bij 8 GPU’s.
LLaMA-Factory: standaardengines met Megatron
De documentatie voor gedistribueerde training van LLaMA-Factory behandelt DDP, DeepSpeed en FSDP, inclusief FSDP2 en Ray voor single-node en multi-node runs. De documentatie beschrijft ook DeepSpeed AutoTP, dat tensorparallelisme combineert met ZeRO.
De meest betekenisvolle toevoeging in 2025 was een Megatron-core trainingsbackend via mcore_adapter, waarmee een echt pad voor grootschalige pretraining wordt geopend. Het FSDP+QLoRA-pad finetunet een 70B-model op twee 24 GB GPU’s — de goedkoopste gedocumenteerde route naar 70B in deze vergelijking.
Het frictiepunt is de interface zelf. Gedistribueerde configuratie bevindt zich in YAML en CLI, niet in LlamaBoard. Teams die LLaMA-Factory hebben gekozen vanwege de zero-code UI verliezen die eigenschap wanneer zij voorbij één GPU schalen.
Unsloth: de open kloof
Unsloth’s multi-GPU-documentatie stelt dat multi-GPU werkt via Accelerate en DeepSpeed, met toegang tot FSDP en DDP. Tegelijkertijd vermeldt de documentatie dat het proces complex is en handmatige setup vereist, terwijl officiële ondersteuning nog wordt aangekondigd. De praktische route is accelerate launch train.py of torchrun --nproc_per_node N_GPUS train.py. Voor modellen die te groot zijn voor één GPU splitst device_map = "balanced" het model over apparaten.
Unsloth’s PyPI-vermelding markeert multi-GPU als beschikbaar, met grote verbeteringen in voorbereiding. De Studio-changelog beschrijft voorlopige automatische multi-GPU-toewijzing voor inferentie en training vanaf maart 2026.
Alles bij elkaar is de positie duidelijk: Unsloth ondersteunt multi-GPU, maar biedt nog niet de samenstelbare parallelismematrix die Axolotl en TRL documenteren.
Beperkingen van elk framework
Unsloth loopt vast wanneer tensor-, context- of expertparallelisme als first-class configuratie nodig is. Het loopt ook vast wanneer een model niet op de ondersteunde lijst staat, omdat de winst afkomstig is van architectuurspecifieke kernels.
Axolotl loopt vast op de leercurve. Gebruikers moeten FSDP2 versus DeepSpeed, SP degree en deelbaarheidsrestricties configureren die GPU-aantal, sequentielengte en attention heads omvatten.
TRL loopt vast op defaults. Het biedt correcte bouwstenen in plaats van getunede instellingen — gebruikers moeten zelf de Accelerate-configuratie, geheugenoptimalisaties en het parallelismeplan aanleveren.
LLaMA-Factory loopt vast bij de UI-grens. De abstractie is effectief tot één node, maar dun daarboven.
Praktische richtlijnen
Voor één consumenten-GPU met een ondersteunde architectuur en LoRA of QLoRA is Unsloth de sterkste keuze — alleen al de extra ruimte in contextlengte rechtvaardigt dat.
Voor twee tot acht GPU’s met lange context en volledige finetuning- of RLHF-pipelines wordt Axolotl aanbevolen. FSDP2 plus sequentieparallelisme is het best gedocumenteerde pad.
Voor aangepaste trainingsloops, nieuwe post-trainingalgoritmen of nauwe koppeling met Hugging Face is TRL de basis om op te bouwen, omdat dit de laag is die de anderen omwikkelen.
Voor de breedste modeldekking, niet-technische operators en de snelste eerste runs is LLaMA-Factory optimaal — met een overgang naar CLI bij schaalvergroting.
Deze keuzes sluiten elkaar niet uit. LLaMA-Factory kan Unsloth als backend draaien. TRL levert een Unsloth-integratie. Axolotl roept intern TRL-trainers aan. De frameworks groeien zichtbaar naar elkaars sterke punten toe — Unsloth voegt multi-GPU toe, LLaMA-Factory voegt Megatron toe, Axolotl neemt kernelmatige trucs over — wat suggereert dat differentiatie in de volgende cyclus mogelijk verschuift van ruwe prestaties naar ontwikkelaarsergonomie en integratiebreedte.