Communitygithub.com

wshobson/quantized-export

Exportiere ein promotedes Feintuning-Modell im korrekten Deploy-Format – merged Safetensors, LoRA-only, GGUF mit imatrix oder FP8. Verwende es, nachdem ein Checkpoint die Promotion bestanden hat, bei der Wahl eines Quantisierungsformats für ein Zielgerät oder wenn ein exportiertes Modell den Smoke-Test nicht besteht.

Was ist quantized-export?

Das Quantized-Export-Skill ist der letzte Schritt nach der Checkpoint-Promotion, der sicherstellt, dass ein promoteder Checkpoint im richtigen Format für die Ziel-Laufzeit exportiert und nach dem Export noch funktionsfähig ist. Es unterstützt verschiedene Formate wie FP8 (Standard auf Hopper-GPUs und neuer), AWQ INT4 (für ältere GPUs), GGUF mit Q4_K_M + imatrix (für Edge/llama.cpp) und NVFP4 (ausschließlich für Blackwell im großen Maßstab, nicht auf GB10). Das Skill enthält eine detaillierte Format-Map mit Workload-Overrides (z. B. kein INT4 für Long-Context/Code/Math, stattdessen FP8 oder W8A8) und einen verpflichtenden Smoke-Test, der das exportierte Artefakt im tatsächlichen Ziel-Runtime lädt, 3-5 Gold-Prompts durchführt und die Ausgaben mit den Pre-Export-Ergebnissen vergleicht. Fehlersignaturen wie Template-Mismatch oder falsche Quantisierung des `lm_head` werden beschrieben. Das Skill ist eng mit `checkpoint-promotion` (Upstream) und `eval-harness-first` (Gold-Prompts) verknüpft und bietet eine schnelle Entscheidungslogik in YAML sowie klare Formatempfehlungen für verschiedene Szenarien.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wshobson/agents/tree/main/plugins/llm-finetuning/skills/quantized-export

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Quantisierter Export

Die letzte Station, nachdem checkpoint-promotion einen PROMOTE-Befund abgegeben hat: Ein Checkpoint, der die vierstufige Hürde bestanden hat, wird erst dann eingesetzt, wenn er im richtigen Format für die Ziel-Laufzeit exportiert wurde und nach dem Export noch funktioniert. Ein REJECT-Befund erreicht dieses Skill nie – der Export beginnt nur mit einem promoteden Checkpoint.

Eingabe: Ein promoteder Checkpoint (oder LoRA-Adapter) plus die Ziel-Einsatzoberfläche – GPU-Klasse, Serving-Stack und ob Long-Context/Code/Math-Workloads im Rahmen sind. Ausgabeformat: Ein exportiertes Artefakt im gewählten Format plus einen Smoke-Test-Diff-Bericht, der 3-5 Gold-Ausgaben vor und nach dem Export vergleicht.

Format-Map

Wähle das Format nach Hardware- und Deploy-Form, nicht aus Gewohnheit – die falsche Wahl verschwendet entweder Durchsatzreserven oder bricht bei bestimmten Workloads stillschweigend (siehe Workload-Overrides).

  • FP8 ist der Standard auf Hopper-Klasse GPUs und neuer. Es erhält eine nahezu bf16-Qualität bei etwa halbem Speicher und ist die sichere erste Wahl, wann immer die Ziel-GPU es unterstützt und keine Edge-Device-Einschränkung vorliegt.
  • AWQ INT4 zielt auf ältere GPUs ab, die keine FP8-Hardware unterstützen. GPTQ ist für neue Deployments überholt – greife bei einem frischen Export nicht darauf zurück; AWQ hat bei gleicher Bitbreite eine bessere Genauigkeitserhaltung und breitere aktuelle Tooling-Unterstützung.
  • GGUF mit Q4_K_M-Quantisierung, erstellt mit einem imatrix, ist das Edge/llama.cpp-Format. Verwende es für lokales oder CPU-nahes Deployment, nicht für GPU-Serving-Durchsatz – es optimiert auf Speicherfußabdruck, nicht auf Tokens/Sekunde auf einer Rechenzentrums-GPU.
  • NVFP4 ist ausschließlich für Blackwell-at-Scale-Deployments gedacht – und explizit NICHT auf GB10. NVFP4 auf SM121 (GB10) läuft ~32% langsamer als FP8, weil die Hardware keinen nativen cvt.e2m1x2-Pfad hat, es sei denn, der Kernel wird als sm_121a kompiliert. Die Wahl von NVFP4 auf einem GB10-Ziel ist ein Rückschritt, kein Upgrade – wähle dort stattdessen FP8.
  • Merged vs. LoRA-only ist eine separate Achse vom Quant-Format. Ein merged Export faltet den Adapter in die Basisgewichte: größeres Artefakt, keine Basis-Modell-Abhängigkeit zur Serve-Zeit. LoRA-only behält den Adapter separat: viel kleineres Artefakt, aber der Serving-Stack muss genau das gleiche Basismodell daneben laden – ein falsches oder falsches-Revisions-Base ändert stillschweigend die Ausgaben. Wähle merged, wenn Artefakt-Portabilität wichtiger ist als Speicher; wähle LoRA-only, wenn Speicherfußabdruck oder Multi-Adapter-Serving wichtiger ist.

Ausgewählte Beispiele

Der Kern des Format-Auswahl-Tradeoffs, als Nachschlagetabelle für häufige Szenarien:

ZielWorkloadFormat
Rechenzentrums-GPUgenerischer ChatFP8
Rechenzentrums-GPULong-Context/Code/MathFP8 oder W8A8 – niemals INT4
Ältere GPU-GenerationgenerischAWQ INT4
Edge-Gerät / Laptopllama.cpp-ServingGGUF Q4_K_M + imatrix
GB10beliebiger WorkloadFP8 via vLLM Nightly, oder GGUF via llama.cpp lokal – NVFP4 überspringen
# schnelles Entscheidungs-Snippet – siehe die Tabelle oben für die vollständige Karte
hopper_or_newer: fp8
older_gpu: awq-int4
edge_llama_cpp: gguf-q4_k_m+imatrix
gb10_any_workload: fp8-vllm-nightly   # niemals nvfp4 auf GB10

Workload-Overrides

Die Format-Map oben ist ein Standard, keine Regel, die jeden Workload überlebt. Long-Context-, Code- und Math-Workloads brechen bei INT4 – Quantisierungsfehler akkumulieren sich über lange Sequenzen und präzise Token-Level-Argumentation in einer Weise, die bei kurzen, generischen Prompts nicht auftritt. Für jede dieser drei Workload-Klassen bleibe bei FP8 oder W8A8, selbst wenn die Ziel-Hardware sonst INT4 aus Kostengründen rechtfertigen würde.

  • Validiere dieses Override nicht mit MMLU oder ähnlichen breiten Wissens-Benchmarks – sie betonen die Fehlerart nicht. Messe mit den tatsächlichen Task-Evals – den Goldenen und Gradern aus eval-harness-first, ausgeführt durch das exportierte Artefakt – weil INT4-Degradation bei Long-Context, Code oder Math als aufgabenspezifische Fehler (verlorener Kontext, kaputte Syntax, Rechenfehler) auftritt, lange bevor sie einen Wissens-Benchmark verschiebt.
  • Wenn ein Task-Eval nach einem INT4-Export bei einer dieser drei Workload-Klassen zurückgeht, ist die Lösung das Wechseln des Formats, nicht das Neuanpassen des Quantisierungsrezepts – AWQ- und GPTQ-Varianten bei gleicher Bitbreite teilen den gleichen Akkumulationsfehler-Fehlermodus bei diesen Workloads.

Der Smoke-Test

Exportfehler sind auf Dateiebene still – ein fehlerhafter Export erzeugt trotzdem ein ladbares Artefakt, daher beweisen Datei-existenz-Prüfungen nichts. Der Smoke-Test ist für jeden Export obligatorisch, ohne Ausnahme für ein Format, das „einfach funktionieren sollte“:

  1. Lade das exportierte Artefakt in seiner tatsächlichen Ziel-Laufzeit – vLLM für FP8/AWQ, llama.cpp für GGUF, nicht eine kurze Sanity-Prüfung in einem anderen Framework als dem, das es in Produktion bedient.
  2. Führe 3–5 Gold-Prompts durch – nimm diese aus demselben eval/goldens.jsonl, das eval-harness-first verwaltet, nicht aus einem frischen Ad-hoc-Satz.
  3. Vergleiche jede Ausgabe mit der Pre-Export-Generation für denselben Prompt, dieselben deterministischen Sampling-Einstellungen – Greedy-Decoding (Temperatur 0) und einen festen Seed, beibehalten und wiederverwendet zwischen den Pre- und Post-Export-Durchläufen, nicht nur nominell identische Konfiguration. Bei einem verlustfreien Export ist Byte-Match die Hürde – jeder Unterschied ist ein Fehler. Bei einem verlustbehafteten (quantisierten) Export ist Byte-Match voraussichtlich fehlgeschlagen; die Hürde ist stattdessen die Übereinstimmung der Task-Grader-Befunde – siehe references/export-commands.md 's Smoke-Test-Script-Skeleton.

Führe dies als eine Hürde aus, nicht als manuelle Prüfung:

python smoke_test.py "$EXPORT_PATH" \
    eval/goldens.jsonl pre-export-outputs.jsonl
# non-zero exit on any pre/post mismatch

Fehlersignaturen

Wie Exportfehler tatsächlich aussehen, nicht nur ein sauberes Bestanden/Nicht-Bestanden-Flag:

  • Template-Mismatch erscheint als verstümmelte oder zusammenhanglose Ausgabe – das Chat-Template, das in den Export eingebacken ist, stimmt nicht mit dem überein, gegen das der Checkpoint trainiert und evaluiert wurde, sodass Wendepunkte oder spezielle Tokens an der falschen Stelle landen.
  • Falsche Quantisierung auf lm_head angewendet erscheint als nicht-vorlagenkonforme oder semantisch sinnlose Ausgabe, die trotzdem flüssig aussieht – der Ausgabekopf verlor an Genauigkeit, die er brauchte, obwohl der Rest des Netzwerks sauber quantisiert wurde.

Liefere niemals einen Export aus, der diesen Schritt übersprungen hat – der PROMOTE-Befund eines Checkpoints sagt, dass der nicht-exportierte Checkpoint gut ist; er sagt nichts über die Export-Pipeline. Führe ihn bei jedem Update der Quant-Methode oder Runtime-Version erneut aus, nicht nur nach dem ersten Export. Ausführbare Befehlssequenzen für jedes Format plus das Smoke-Test-Script-Skeleton: references/export-commands.md.

Verwandte Skills

  • checkpoint-promotion – die einzige gültige Upstream-Quelle für dieses Skill. Ein Checkpoint ohne PROMOTE-Befund erreicht den Export nicht.
  • eval-harness-first – verwaltet das eval/goldens.jsonl, aus dem der Smoke-Test dieses Skills seine 3–5 Prompts bezieht, sowie die Task-Evals, die der Abschnitt Workload-Overrides für die Long-Context-/Code-/Math-Validierung benötigt.
  • finetuning-method-selection – sein references/model-catalog.md ist der Ort, um Hardware-Klassen-Annahmen (welche GPU-Generationen ein Basismodell anzielt) zu überprüfen, bevor ein Format aus der Format-Map oben ausgewählt wird.

Spark-Benutzer: Auf GB10 funktioniert GGUF via llama.cpp gut für lokales Serving, und FP8-Serving via vLLM Nightly-Builds ist der andere bewährte Pfad – NVFP4 ist das eine Format, das dort vermieden werden sollte (siehe Ausnahme in der Format-Map oben). Sobald das dgx-spark-ops-Plugin installiert ist, verweise Spark-spezifisches Serving und thermische Fragen an seine Skills, anstatt sie hier neu abzuleiten.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

wshobson/accessibility-compliance

Implement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.

wshobson/airflow-dag-patterns

Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.

wshobson/angular-migration

Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code.

wshobson/anti-reversing-techniques

Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.

wshobson/api-design-principles

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

wshobson/architecture-decision-records

Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.

wshobson/architecture-patterns

Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use this skill when designing clean architecture for a new microservice, when refactoring a monolith to use bounded contexts, when implementing hexagonal or onion architecture patterns, or when debugging dependency cycles between application layers.

wshobson/async-python-patterns

Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.

wshobson/attack-tree-construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

wshobson/auth-implementation-patterns

Master authentication and authorization patterns including JWT, OAuth2, session management, and RBAC to build secure, scalable access control systems. Use when implementing auth systems, securing APIs, or debugging security issues.

wshobson/avoid-ai-writing

Audit and rewrite prose so it stops reading as machine-generated. Use this skill when asked to remove AI-isms, clean up AI writing, edit a draft for AI tells, audit a README, changelog, release note, PR description, or blog post for machine-sounding prose, or make text sound less like AI. Supports a detect-only mode, a rewrite mode, and an edit-in-place mode, with optional voice and context profiles.

wshobson/backtesting-frameworks

Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.

wshobson/bash-defensive-patterns

Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.

wshobson/bats-testing-patterns

Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities.

wshobson/bazel-build-optimization

Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.

wshobson/before-you-build

Pre-build product and feature risk review for founders, product managers, and AI-assisted builders. Use this skill when the user is about to build a landing page, MVP, SaaS product, internal tool, agent workflow, or major feature and needs to check demand, positioning, monetization, retention, trust, distribution, and adoption risk before implementation starts.

wshobson/billing-automation

Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating invoicing, or managing recurring payment systems.

wshobson/binary-analysis-patterns

Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries.

wshobson/block-no-verify-hook

Configure a PreToolUse hook to prevent AI agents from skipping git pre-commit hooks with --no-verify and other bypass flags. Use when setting up Claude Code projects that enforce commit quality gates.

wshobson/brand-landingpage

Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.

Verwandte Skills