AIUnlimited
🌳

AI-Fundamenten

🌱
AI Seeds

Begin bij nul

🌿
AI Sprouts

Bouw een fundament

🌳
AI Branches

Pas toe in de praktijk

🏕️
AI Canopy

Ga de diepte in

🌲
AI Forest

Beheers AI

🔨

AI-Meesterschap

✏️
AI Sketch

Begin bij nul

🪨
AI Chisel

Bouw een fundament

⚒️
AI Craft

Pas toe in de praktijk

💎
AI Polish

Ga de diepte in

🏆
AI Masterpiece

Beheers AI

📘

AI Praktijk

📖
Open-source modellen begrijpen

Fundamenten en bronnen voor open-source modellen

🎯
Van probleem naar modeltaak

Bedrijfsproblemen omzetten in modeltaken

⚡
Uw eerste model uitvoeren

Zie uw eerste resultaten in 30 minuten

🔧
Fijntuning en evaluatie

Modellen fijntunen en prestaties evalueren

🚀
Applicatiesystemen

Bouw echte AI-toepassingen

🎨
Generatieve AI

Verken open-source AIGC-modellen

🤖
Agents

Leer Agent-frameworks en MCP-tools

📐
Aanvullende fundamenten

LLM-basis en evaluatie

🎓

Claude Academie

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

Lab

7 experimenten geladen
🧬Neuraal Netwerk Sandbox🤖AI of Mens?🥋Prompt Engineering Dojo🏁Algoritme-race🧠AI-triviant🏗️Systeemontwerp Canvas
🎯Proef-sollicitatieGa naar het lab→
🚀

Carrièreontwikkeling

🚀
Interview Startplatform

Start je reis

🌟
Gedragsinterview Meesterschap

Beheers soft skills

💻
Technische Interviews

Slaag voor de codeerronde

🤖
AI- & ML-interviews

ML-interview meesterschap

🏆
Aanbod & verder

Bemachtig het beste aanbod

Begin met leren
AIUnlimited

MIT-licentie.

沪ICP备18025655号-11

Leren

  • AI-basis
  • AI Praktijk
  • Claude Academie
  • Lab
  • Carrièreontwikkeling

Community

  • Over ons
  • FAQ

Ondersteuning

  • footer.terms
  • footer.privacy
  • footer.contact
AI & Engineering Opleidingen›⚡ Uw eerste model uitvoeren›Lessen›Model Quantization Basics
📦
Uw eerste model uitvoeren • Beginner⏱️ 15 min leestijd

Model Quantization Basics

Modellen vereisen te veel bronnen — Wat kan kwantisering helpen?

Na het downloaden van het model kun je bij het uitvoeren een geheugentekort of videogeheugentekort tegenkomen. Dit is waarschijnlijk het laatste resultaat dat iedereen wil zien bij het testen van lokale modellen.

Zoals eerder geïntroduceerd, moet het model zijn gewichten in RAM of VRAM laden tijdens het uitvoeren, en het genereren van antwoorden vereist ook extra geheugen. Als je apparaat het model niet kan bevatten, kun je naast het wisselen naar een kleiner model ook controleren of er een gekwantiseerde versie beschikbaar is.

Hoeveel ruimte kan kwantisering besparen?

De gewichten van een model bestaan uit een groot aantal numerieke waarden, en het opslaan van elke waarde vereist een bepaalde hoeveelheid ruimte. Kwantisering vermindert het bronverbruik van het model door de precisie van deze numerieke representaties te verlagen. Bijvoorbeeld, gewichten die oorspronkelijk als 16-bit floating-point werden opgeslagen, kunnen worden omgezet naar voornamelijk 8-bit of 4-bit low-precision representaties. Het aantal parameters verandert meestal niet, maar de ruimte die door elke parameter wordt ingenomen, wordt kleiner.

Neem als voorbeeld een model met 7 miljard parameters, en beschouw alleen de gewichten zelf zonder kwantisatie-overhead, dan kunnen we de volgende grove schattingen verkrijgen:

Gewichtsrepresentatie

Theoretische gewichtsgrootte

16 bit

Ongeveer 14 GB

8 bit

Ongeveer 7 GB

4 bit

Ongeveer 3,5 GB

De GB-waarden hier worden berekend in decimale eenheden. Echte gekwantiseerde bestanden slaan ook informatie op zoals schaalfactoren en kunnen gemengde precisies gebruiken, dus de werkelijke grootte kan afwijken van de schatting.

Voor gewone gebruikers is het meest directe voordeel van kwantisering dat modelbestanden kleiner worden, waardoor er ruimte wordt bespaard voor downloaden en opslaan, en er minder RAM of VRAM nodig is voor gewichten tijdens het uitvoeren. Wanneer ondersteund door hardware en inference frameworks, kan kwantisering ook de inference-snelheid verbeteren.

Het verkleinen van het bestand naar een kwart van de originele grootte betekent echter niet dat de antwoordsnelheid viervoudig zal toenemen.

Het verlagen van de precisie kan ook de antwoordkwaliteit beïnvloeden, afhankelijk van het model, de kwantisatiemethode en de taak. Bij het kiezen van een gekwantiseerde versie moet je, naast het bevestigen dat het kan draaien, ook testen met je eigen vragen om te zien of de antwoorden nog betrouwbaar zijn.

Welke aanpakken bestaan er voor modelkwantisering?

Voor modellen die al zijn gedownload of fijn afgestemd, is de gebruikelijke aanpak Post-Training Kwantisatie (PTQ), wat gewichten en andere numerieke waarden omzet naar lagere precisie representaties nadat de modeltraining is voltooid. Sommige methoden vereisen een kleine batch representatieve gegevens om het kwantisatieproces te kalibreren en fouten te minimaliseren.

Een andere categorie is Kwantisatie-Bewust Training (QAT), wat de effecten van kwantisering simuleert tijdens training, waardoor het model zich vooraf kan aanpassen aan low-precision representaties.

Dit hoofdstuk behandelt eerst GGUF-gekwantiseerde modellen die vaak worden gebruikt bij lokale implementatie, en helpt je bestanden te begrijpen, versies te onderscheiden en keuzes te maken. Details over andere kwantisatiemethoden worden later aangevuld.

Wat zit er in een GGUF-bestand?

Bij het uitvoeren van modellen met Ollama kom je vaak namen tegen zoals GGUF, Q4, Q8, enz. Deze namen hebben vooral betrekking op het opslagformaat en de kwantisatiemethode van het model, en zijn een belangrijke reden waarom grote modellen op persoonlijke computers kunnen draaien.

In augustus 2023 introduceerde Georgi Gerganov het GGUF-formaat. De belangrijkste voordelen omvatten single-file implementatie, schaalbaarheid, ondersteuning voor geheugenmapping, volledige informatie en gebruiksgemak. Een GGUF-bestand bevat een bestandsheader, metadatasleutel-waardeparen en tensorinformatie. Deze componenten definiëren samen de structuur en het gedrag van het model. Zoals hieronder getoond, is GGUF een modelbestandsformaat voor modelinference, momenteel breed gebruikt door lokale inferentietools zoals llama.cpp en Ollama. Ollama encapsuleert GGUF-formaatverwerking, modelkwantisering en model laadprocessen, zodat gebruikers de modelformaten niet zelf hoeven om te zetten — ze kunnen direct vooraf gekwantiseerde modellen downloaden en uitvoeren. Een GGUF-bestand bevat niet alleen modelparameters; het bevat ook basismodelinformatie, modelarchitectuur en tensordata. GGUF organiseert deze informatie via een unified bestandsformaat, waardoor inferentietools zoals llama.cpp deze direct kunnen lezen en laden. De basale structuur is getoond in de figuur hieronder.

ModelScope ondersteunt ook het weergeven van gestructureerde GGUF-bestanden, zoals hieronder getoond. Wanneer inferentietools GGUF-bestanden laden, kunnen ze deze informatie direct lezen en het model laden zonder meerdere modelconfiguratiebestanden apart te hoeven voorbereiden.

GGUF zelf is slechts een modelbestandsformaat en vermindert niet direct het RAM- of VRAM-gebruik van het model. Wat het bronverbruik van het model daadwerkelijk vermindert, is kwantisering.

Hoe lees je namen zoals Q4 en Q8?

In llama.cpp en GGUF-modellen representeren Q4, Q5, Q8, Q4_K_M verschillende kwantisatienamen. Hier staat Q voor kwantisering, en het volgende getal geeft de voornaamste kwantisatie-bitbreedte aan. Bijvoorbeeld, Q4 betekent voornamelijk 4-bit kwantisering, en Q8 betekent voornamelijk 8-bit kwantisering.

Merk op dat Q4 niet betekent dat alle parameters in het model uniform 4-bit representatie gebruiken. Neem het veelgebruikte Q4_K_M als voorbeeld, het behoort tot het K-quant kwantisatietype in llama.cpp. De Q4 in de naam betekent voornamelijk 4-bit kwantisering, K geeft het gebruik van het K-quant kwantisatieschema aan, en M duidt de Medium configuratie binnen dat schema aan. In de praktijk kunnen verschillende tensoren in het model verschillende kwantisatieprecisies gebruiken in plaats van dat alle parameters uniform 4-bit representatie gebruiken, zoals getoond in de figuur hieronder.

Welke versie moet ik downloaden voor hetzelfde model?

Bij het kiezen van een GGUF-model, bevestig eerst dat je inferentietool het model ondersteunt, en kijk dan naar de specifieke kwantisatieversie. Een lagere kwantisatieprecisie vermindert meestal het RAM- en VRAM-gebruik, waardoor het makkelijker wordt om het model op gewone apparaten uit te voeren, maar kan een deel van de modelprestaties opofferen. Een hogere kwantisatieprecisie bewaart meestal meer van de oorspronkelijke modelmogelijkheden, maar vereist ook meer hardwarebronnen.

Als een versie al dicht bij de RAM- of VRAM-limieten van je apparaat ligt, overweeg dan om naar een kleinere versie te wisselen om speelruimte te laten voor context en uitvoeringsprocessen. Als de bronnen voldoende zijn, kun je dezelfde vragen gebruiken om de antwoorden van verschillende versies te vergelijken, met name aandacht besteden aan je doeltaken zoals informatie-extractie, codegeneratie of gestructureerde uitvoer.

Bevestig eerst een stabiele werking, controleer dan de antwoordkwaliteit. Op deze manier zal de gekwantiseerde versie die je kiest beter geschikt zijn voor je apparaat en gebruikssituatie.

Les 5 van 50% voltooid
←Cloud Notebooks: CPU and GPU

Discussie

Inloggen deelnemen aan de discussie