Zum Hauptinhalt springen

Dedicated AI Hosting

Dedicated AI Hosting bietet dir exklusiven Zugriff auf reservierte GPU-Kapazität innerhalb der mittwald AI-Infrastruktur. Im Unterschied zum Shared Hosting laufen deine Workloads auf Hardware, die nur für dich bereitsteht.

Was du bekommst

FeatureBeschreibung
Exklusive GPU-KapazitätDeine Modelle laufen auf GPUs, die nur für dich reserviert sind.
Eigener API-EndpunktDu erhältst einen dedizierten HTTPS-Endpunkt auf einer Kundensubdomain unter llm.aihosting.mittwald.de, z. B. https://dein-unternehmen.llm.aihosting.mittwald.de/v1.
Dedizierter API-KeyDer Zugriff wird über einen dedizierten API-Key abgesichert.
OpenAI-kompatible APIAnwendungen und Libraries mit OpenAI-Unterstützung funktionieren ohne Anpassung.
EU-Hosting, DSGVO-konformCompute und Daten bleiben in EU-Rechenzentren von mittwald.
Planbare PerformanceDeine Kapazität ist von anderen Kunden isoliert.

Aktueller Produktumfang

Dedicated AI Hosting befindet sich aktuell im ersten Release-Umfang.

Modellumfang

Welche Modelle bei dir verfügbar sind, ist kundenspezifisch und hängt vom Rollout-Stand ab. Modellfindung und First-Request-Ablauf sind im Getting-started-Guide beschrieben.

Kapazitätsumfang

Deine dedizierte Kapazität (z. B. Anzahl und Sizing der Instanzen) wird gemäß vereinbartem Leistungsumfang bereitgestellt.

Hardware-Profil (aktuelles Angebot)

Dedicated AI Hosting nutzt aktuell NVIDIA RTX PRO 6000 Blackwell Server Edition GPUs.

Relevante Eckdaten für die Modellplanung:

  • 96 GB GDDR7 VRAM pro GPU
  • 1597 GB/s Speicherbandbreite
  • Bis zu 600 W konfigurierbare Leistungsaufnahme
  • Native Blackwell Tensor-Core-Unterstützung für Low-Precision-Inferenz (inklusive FP4/NVFP4-naher Deployments)

Diese Werte sind von NVIDIA veröffentlicht und helfen bei der Einschätzung, ob ein Modell auf einer GPU läuft oder über mehrere GPUs verteilt werden sollte.

Modell-Sizing (Beispiele)

Ob ein Modell passt, hängt u. a. von Präzision/Quantisierung, Kontextlänge, KV-Cache-Einstellungen und Parallelität ab. Als praxisnahe Orientierung:

  • Typisch auf 1 GPU (96 GB): viele Modelle im Bereich 7B-32B, teils auch größere quantisierte Varianten
  • Häufig auf 2 GPUs: viele Deployments im Bereich 70B-120B, besonders bei größeren Kontextfenstern
  • Auf mehrere GPUs streckbar: sehr große Modelle oder Konfigurationen mit hohen Kontext- und Durchsatzanforderungen

Beispielmuster (kundenspezifisch, keine festen Defaults):

  • Single-Card-Deployment: Qwen3.6 8B Klasse, Llama 3.3 8B Klasse
  • Two-Card-Deployment: Qwen3.6 32B/35B Klasse, Llama 3.3 70B Klasse

Die finale Auslegung wird im Onboarding auf deine Ziel-Latenz und deinen Ziel-Durchsatz abgestimmt.

Grober VRAM-Rechner (vor dem Gespräch mit uns)

Für eine erste Einschätzung kannst du diese einfache Rechnung nutzen:

  1. Gewichtsspeicher : weights bytes ~= params count * bytes per weight

  2. KV-Cache pro Token : kv per token bytes ~= 2 * layer count * kv width * bytes per kv value

kv width liegt für grobe Planung oft nahe an der hidden size.

  1. Gesamter KV-Cache : total kv bytes ~= concurrent sequences * total tokens * kv per token bytes

total tokens = input tokens + output tokens

  1. Zielwert für GPU-Speicher : total gpu bytes ~= weights bytes + total kv bytes + runtime overhead

Plane eine Sicherheitsreserve für Runtime-Overhead ein (Allocator-Fragmentierung, CUDA-Buffer, Runtime-Metadaten). Praxisnah sind +15% bis +30%.

Rechenbeispiel von Hugging Face: Qwen3.6-35B-A3B

Modellseite: Qwen/Qwen3.6-35B-A3B

So liest du die Werte auf der Modellseite:

  • Aus Model size / Parameters: ca. 36B params
  • Aus Model Overview: 40 layers, hidden dimension 2048
  • Aus Tensor type: BF16 (2 Bytes pro Gewichts-Wert)
  • Aus Context: bis 262.144 Tokens (langer Kontext vergrößert KV-Cache stark)

Beispielrechnung auf 1x RTX PRO 6000 Blackwell (96 GB VRAM):

  1. Gewichtsspeicher (BF16) : 36.000.000.000 * 2 ~= 72.000.000.000 bytes (~72 GB dezimal)

  2. KV-Cache pro Token (grob, hidden size als kv width) : 2 * 40 * 2048 * 2 = 327.680 bytes pro Token (~0,3125 MiB pro Token)

  3. Sicherheitsreserve : bei 20% Overhead liegt das nutzbare Planungsbudget bei etwa 96 GB / 1,2 ~= 80 GB

  4. Verbleibend für KV-Cache : 80 GB - 72 GB ~= 8 GB für KV-Cache

  5. Grobe Tokenkapazität auf einer GPU bei Concurrency 1 : 8 GB / 327.680 bytes ~= 24k-26k Gesamt-Tokens

Diese Gesamt-Tokens sind Input + Output zusammen.
Beispiel: 16k Input + 8k Output = 24k Gesamt.

Bei niedrigerer KV-Präzision (bei kompatiblem Modell/Checkpoint-Stack) steigt die Tokenkapazität deutlich.

Quantisierungsoptionen aus dem Hugging-Face-Model-Tree (ohne GGUF)

Quelle Model-Tree: Qwen3.6-35B-A3B Quantizations

Für dedizierte Server-Deployments sind praktisch vor allem diese Non-GGUF-Familien relevant:

GGUF-Varianten sind hier bewusst ausgeschlossen, weil dieser Guide auf dediziertes API-Serving abzielt und nicht auf lokale Desktop-Runtimes.

Wie Quantisierung dieselbe 1-GPU-Rechnung verändert

Gleiche Annahmen wie oben:

  • 1x RTX PRO 6000 Blackwell (96 GB)
  • 20% Sicherheitsreserve -> Planungsbudget ~80 GB
  • KV-Cache pro Token (BF16-KV) ~327.680 bytes
  • KV-Cache pro Token (FP8-KV) ~163.840 bytes (ungefähr halb so groß wie BF16-KV)

Gewichtsspeicher grob nach Format:

  • BF16: ~72 GB (36B * 2 Bytes)
  • FP8: ~36 GB (36B * 1 Byte)
  • 4-Bit-Familie (NVFP4/AWQ): theoretisch ~18 GB (+Metadata-/Scale-Overhead, in der Praxis oft höher)

Daraus grober Gesamt-Token-Bereich bei Concurrency 1 (Input + Output):

  • BF16-Gewichte + BF16-KV: ~24k-26k Tokens
  • BF16-Gewichte + FP8-KV: ~49k-52k Tokens (grob 2x gegenüber BF16-KV)
  • FP8-Gewichte + BF16-KV: ~130k+ Tokens
  • FP8-Gewichte + FP8-KV: ~260k+ Tokens (oft nah an Kontext-Limits des Modells)
  • 4-Bit-Gewichte + BF16-KV: ~170k+ Tokens (in der Praxis oft niedriger durch Overhead/Runtime-Limits)
  • 4-Bit-Gewichte + FP8-KV: potenziell deutlich mehr Tokens, aber meist durch Kontext-Limits und Runtime-Verhalten begrenzt, bevor VRAM voll ausgeschöpft wird

Das ist nur eine Erstplanung. Die final nutzbaren Limits hängen von Checkpoint-Paketierung, KV-Cache-Format-Support, multimodalem Speicherbedarf und Runtime-Verhalten unter Parallelität ab.

Schnelle Faustregeln

  • Längerer Kontext und mehr Parallelität vergrößern den KV-Cache linear.
  • Quantisierung reduziert den Gewichtsspeicher stark, aber bei langem Kontext dominiert häufig der KV-Cache.
  • Liegt die Schätzung nahe am VRAM-Limit, sollte Multi-GPU oder reduzierter Kontext/Concurrency eingeplant werden.

Quantisierung und Präzisionsformate

Je nach Modell und Runtime können verschiedene Zahlenformate eingeplant werden, zum Beispiel:

  • BF16 / FP16 (qualitätsorientiert, höherer Speicherbedarf)
  • FP8 (häufig guter Tradeoff aus Performance und Kapazität)
  • NVFP4 / andere Low-Bit-Varianten (maximale Fit-/Durchsatzoptimierung bei sehr großen Modellen)

Welches Format passt, hängt von deinen Qualitätszielen, Latenzvorgaben und der Kontextlänge ab. Nicht jedes Modell ist in jedem Quantisierungsformat verfügbar; die Kompatibilität wird pro Modell validiert.

Praxis-Hinweise zur KV-Cache-Quantisierung:

  • FP8-KV-Cache kann in vielen Setups die nutzbare Kontextkapazität gegenüber BF16-KV-Cache grob verdoppeln.
  • Das funktioniert nur zuverlässig, wenn der verwendete Checkpoint kompatible KV-Scale-Metadaten/Kalibrierung enthält.
  • Fehlen diese Scales, fällt die Runtime ggf. auf BF16-KV-Cache zurück (höherer VRAM-Bedarf) oder zeigt Qualitäts-/Performanceprobleme.
  • Manche Modell-Stacks benötigen BF16-KV-Cache für stabile Ausgabequalität; wir validieren das pro Modell vor dem Produktivbetrieb.

Modellklassen aus aktuellen Markttrends

In aktuellen Hugging-Face-Trends sieht man sehr unterschiedliche Klassen, unter anderem:

  • kompakte Modelle um 7B-9B
  • mittlere Modelle um 27B-36B (inkl. MoE-/A3B-Varianten)
  • große Modelle in 70B+ Klassen

Deshalb ist Dedicated-Sizing immer use-case-spezifisch.

Enthaltene Plattformfunktionen

  • Dedizierter Endpunkt und API-Key
  • Router-gesteuerte Lastverteilung über die bereitgestellte Kapazität
  • Automatisches Failover innerhalb deines Dedicated-Setups

LiteLLM vs Bifrost (wann wofür)

Viele Kunden nutzen nicht nur einen einzigen Endpunkt. Wenn du über mehrere Provider oder zusätzliche Self-Hosted-Endpunkte routest, hilft diese Aufteilung:

ZielEmpfohlene Komponente
Keys pro Kunde ausstellen, Keys sperren/löschen, Budgets und Nutzung pro KeyLiteLLM
Multi-Provider-Routing, Fallback-Ketten, gewichtete LastverteilungBifrost
Governance + Routing über mehrere EndpunkteLiteLLM + Bifrost zusammen

Typische Muster:

  • Nur dein mittwald Dedicated-Endpunkt + Kunden-Key-Lifecycle: LiteLLM allein reicht meist aus.
  • mittwald Dedicated-Endpunkt + weitere externe/self-hosted Modell-Endpunkte: Bifrost ist für Routing-Richtlinien empfehlenswert.
  • Dedicated + Shared + Anthropic/Claude (oder weitere Provider): Bifrost ist die Routing-Schicht für modell-/provider-spezifische Traffic-Entscheidungen.
  • Kunden-Keys + Multi-Endpunkt-Routing: LiteLLM vor Bifrost betreiben. : Request-Flow: client -> LiteLLM -> Bifrost -> ausgewählter Provider-Endpunkt

Nicht im initialen Umfang enthalten

  • Grafana-/Metrik-Dashboards
  • Self-Service-Provisionierung via mStudio