Sprachmodelle auf Bare Metal · Primcast LLC · seit 2004

Das Modell bestimmt den Speicherbedarf. Nichts anderes im Bestellformular hat darauf Einfluss.

Besucher dieser Seite glauben, es ginge hier um die Wahl des schnellsten Beschleunigers. Das stimmt nicht. Die Gewichte passen entweder in den Speicher der Karte oder nicht – eine Karte mit zwei Gigabyte weniger Speicherplatz ist nicht langsamer, sondern kann nicht geladen werden. Daher folgt diese Seite der tatsächlichen Entscheidungsreihenfolge: Wie groß ist das Modell? Mit welcher Genauigkeit soll es ausgeführt werden? Wie viel Speicherplatz benötigt die Konversation? Erst dann wird die passende Karte ermittelt. Die Preise finden Sie bewusst auf einer separaten Seite.

Welche Karte ist mit meinem Modell kompatibel? Was ich darauf installiere

Ein Mandant pro Maschine. Die Karte wird an Ihr Betriebssystem durchgereicht, und Sie können die Versionen der Laufzeitumgebung, des Treibers und des Frameworks auswählen und festlegen.

Schritt eins

Das tatsächliche Gewicht der Gewichte.

Die Parameter werden mit der jeweiligen Byte-Anzahl multipliziert, und das ist die gesamte Berechnung. 16-Bit-Gewichte belegen jeweils zwei Byte, 8-Bit-Gewichte ein Byte und 4-Bit-Gewichte ein halbes Byte. Ein Modell mit sieben Milliarden Parametern benötigt bei 16 Bit 14 Gigabyte an Gewichten; dasselbe Modell bei 4 Bit benötigt zwischen drei und vier Gigabyte.

Die Quantisierung ermöglicht es einer Maschine, ein Modell, das sie nicht darstellen kann, korrekt zu verarbeiten. Sie geht auf Kosten der Qualität, wobei das Ausmaß des Qualitätsverlusts viel stärker vom Modell und der Methode abhängt als von der reinen Bitanzahl. Ein gut quantisiertes Vier-Bit-Modell ist in der Regel präziser als erwartet, während ein schlecht quantisiertes Acht-Bit-Modell schlechter abschneiden kann. Wenn Genauigkeit das Ziel ist, sollten Sie beide Varianten testen, bevor Sie sich für Hardware entscheiden; Unterschiede lassen sich im Vorfeld kostengünstiger feststellen als nach der Auslieferung.

Diese Angaben sind lediglich die Gewichte. Sie stellen die Untergrenze dar, nicht die Mindestanforderung. Der nächste Abschnitt ist der Teil, der vielen Schwierigkeiten bereitet.

Weights only — the runtime, the activations and the conversation are extra, and are the subject of the next section.
Model16-bit8-bit4-bit
7-8 billion parameters16 GB8 GB5 GB
13-14 billion parameters28 GB14 GB8 GB
30-34 billion parameters68 GB34 GB19 GB
70 billion parameters140 GB70 GB38 GB

Schritt zwei

Warum ein passendes Modell trotzdem nicht ausreicht.

Dies ist der häufigste Fehler beim Kauf einer Grafikkarte, und er tritt jedes Mal auf die gleiche Weise auf: Jemand liest, dass sein Modell 38 Gigabyte groß ist, kauft eine 40-Gigabyte-Karte, installiert sie erfolgreich und stellt dann fest, dass sie nur etwa ein kurzes Gespräch speichern kann.

  • Die Laufzeit ist auch enthalten.

    Das Laden eines Modells ist nicht das Einzige, was die Speicherkarte belegt. Die Laufzeitumgebung selbst, ihre Puffer und die Aktivierungen der jeweils berechneten Funktionen befinden sich alle im selben Speicher wie die Gewichte.

  • Das Gespräch findet statt und es wächst.

    Jedes Token, das sich bereits in einer Konversation befindet, hinterlässt einen Eintrag im Key-Value-Cache, sodass es nicht neu berechnet werden muss. Dieser Cache wächst mit der Länge des Kontexts und zusätzlich mit jeder gleichzeitig bearbeiteten Anfrage. Ein langer Kontext oder ein stark frequentierter Endpunkt kann genauso viel Speicher benötigen wie ein kleines Modell.

  • Also: ein Viertel bis zur Hälfte wieder

    Planen Sie mindestens ein Viertel mehr Kartenspeicher ein als die Gewichte, und die Hälfte mehr, wenn der Kontext lang ist oder der Endpunkt ausgelastet ist. Diese Regel gilt für Sie in der Tabelle im nächsten Abschnitt – jede dort genannte Karte enthält das Eineinhalbfache der Gewichte.

  • Und wenn es knapp ist, sag das, bevor du kaufst.

    Nennen Sie uns bitte das gewünschte Modell, die Quantisierung, die benötigte Kontextlänge und die ungefähre Anzahl gleichzeitiger Anfragen. Wir würden Ihnen lieber jetzt eine höhere Kartenleistung oder ein kleineres Modell empfehlen, als eine Bestellung anzunehmen, die in der ersten Woche enttäuscht und zu einer Rückerstattung führt.

Schritt drei

Welche Karte ist mit welchem ​​Modell kompatibel?

Lesen Sie die Angaben zu Ihrer Modellgröße und der gewünschten Präzision. Jede Zelle nennt die kleinste Karte, die die angegebenen Gewichte aufnehmen kann und noch Platz für weitere Funktionen bietet, und verlinkt zu der entsprechenden Maschine. Falls im Katalog keine passende Karte aufgeführt ist, wird dies in der Zelle vermerkt.

The smallest card we fit that holds the weights with room left to serve — that is 1.5× the weights, the generous end of the quarter-to-a-half head-room rule below. No prices here on purpose: GPU dedicated servers holds every one.
If you want to runat 16-bitat 8-bitat 4-bit
7-8 billion parametersTESLA P40 / QUADRO P600024 GB16 GB of weightsTITAN V12 GB HBM28 GB of weightsTESLA P48 GB GDDR55 GB of weights
13-14 billion parametersRTX A600048 GB GDDR6 ECC28 GB of weightsTESLA P40 / QUADRO P600024 GB14 GB of weightsTITAN V12 GB HBM28 GB of weights
30-34 billion parametersMore than one cardNothing we fit holds it alone68 GB of weightsInstinct MI21064 GB HBM2e34 GB of weightsTesla V100 32GB32 GB HBM219 GB of weights
70 billion parametersMore than one cardNothing we fit holds it alone140 GB of weightsMore than one cardNothing we fit holds it alone70 GB of weightsInstinct MI21064 GB HBM2e38 GB of weights

Drei Dinge, die der Tisch Ihnen nicht verraten kann

  • Die kleinste passende Karte ist nicht immer die beste Wahl. Der Arbeitsspeicher entscheidet darüber , ob ein Modell überhaupt läuft; alle anderen Eigenschaften der Karte bestimmen die Geschwindigkeit und die Anzahl der gleichzeitig bearbeitbaren Nutzer. Die Tabelle optimiert den Arbeitsspeicher, da dieser eine feste Grenze darstellt, während die Anzahl der gleichzeitig bearbeitbaren Nutzer eine Frage der Präferenz ist. Wenn der Durchsatz wichtiger ist als das Budget, wählen Sie eine höherwertige Karte aus der untenstehenden Liste.
  • Ältere Grafikkarten unterstützen die neueren Zahlenformate nicht. Einige Komponenten in unserem Katalog stammen aus der Zeit vor FP8 und bfloat16. Daher greift eine Laufzeitumgebung, die diese Formate erwartet, auf ein langsameres Format zurück oder verweigert die Verarbeitung. Diese Frage sollten Sie vor der Bestellung klären. Wir beantworten sie gerne für die jeweilige Grafikkarte und Laufzeitumgebung, nicht allgemein.
  • Eine AMD-Karte verwendet ROCm, nicht CUDA. Die Instinct-Karten bieten ein hervorragendes Preis-Leistungs-Verhältnis pro Gigabyte und sind in mehreren Punkten die beste Lösung, aber Ihr Stack muss ROCm unterstützen. Die meisten aktuellen Laufzeitumgebungen tun dies; einige Tools, die darauf aufbauen, tun es jedoch noch nicht. Prüfen Sie Ihre oder fragen Sie uns, wir prüfen das gerne für Sie.

Lautet die Antwort „mehr als eine Karte“, handelt es sich um eine individuelle Konfiguration, die wir Ihnen anfragen, anstatt sie direkt im Warenkorb anzubieten. Auf der Seite „Multi-GPU und Multi-Node“ erfahren Sie mehr über die Funktionsweise und die Einschränkungen dieser Konfiguration. Die monatlichen Kosten für jede einzelne Grafikkarte und die zugehörige Maschine beziehen sich auf dedizierte GPU-Server . Jeder angegebene Betrag ist der jeweiligen Maschine zugeordnet, weshalb er auf dieser Seite nicht wiederholt wird.

Aus dem Gedächtnis, der größte zuerst

Jede Karte, die wir ausstatten, veröffentlicht eine Gedächtniszahl.

Derselbe Katalog wie die GPU-Seite, nur umgekehrt sortiert: Jene Seite beginnt mit dem günstigsten Komplettsystem, da sie die Frage „Was kostet das?“ beantwortet, diese hier hingegen mit der größten Grafikkarte, da sie die Frage „Welche leistungsstärkste Anwendung kann ich ausführen?“ beantwortet. Grafikkarten, deren Speicher vom Hersteller nicht angegeben wird, werden hier nicht mit einer leeren Zeile angezeigt, sondern weggelassen, da eine Zeile, die nicht verglichen werden kann, für einen Vergleich nutzlos ist.

Einige dieser Komponenten sind auf mehreren Chassis verbaut, teilweise zu unterschiedlichen Preisen, und die Busgeneration des zugrundeliegenden Rechners beeinflusst die Leistungsfähigkeit moderner Grafikkarten – beides trifft auf dedizierte GPU-Server zu. Was aktuell im Rack einsatzbereit ist, ist eine andere Frage, die durch Instant-Server beantwortet wird.

Was Sie darauf installieren

Die Laufzeit gehört Ihnen, und genau das ist der Sinn von Bare Metal.

Die Maschine wird mit einem sauberen Betriebssystem und Root-Zugriff geliefert. Es gibt keinen herstellerspezifischen Inferenzdienst, den Sie nutzen müssen, keine Laufzeitumgebung, die sich kurz vor einer Deadline automatisch aktualisiert, und keine API für Ihr eigenes Modell. Sie installieren, was Sie benötigen, und legen die Version fest, mit der Ihr Code getestet wurde.

vLLM

Die übliche Antwort für die Bereitstellung eines Modells unter realem Datenverkehr. Kontinuierliches Batching und Paged Attention ermöglichen es einer Karte, viele Anfragen gleichzeitig statt nacheinander zu beantworten. Dies ist normalerweise der Unterschied zwischen einer Demo und einem produktiven Service. Benötigt wird eine einigermaßen moderne Karte.

llama.cpp

Die übliche Lösung bei begrenztem Speicherplatz oder älteren Karten. Dank der quantisierten Formate passt ein großes Modell überhaupt auf eine kleine Karte, und Prozessor und Karte werden problemlos gemeinsam genutzt, selbst wenn die Speicherkapazität nicht optimal ist. Zwar etwas langsamer pro Anfrage, aber deutlich toleranter.

TGI und SGLang

Produktionsserver derselben Familie wie vLLM, mit unterschiedlichen Stärken in Bezug auf strukturierte Ausgabe, Präfixwiederverwendung und Multi-Modell-Serving. Wenn Sie bereits einen solchen Server in Ihrer Infrastruktur einsetzen, läuft er hier unverändert.

Ollama

Der kürzeste Weg von einer leeren Maschine zu einem Modell, das an einem Port antwortet. Es lohnt sich, damit anzufangen, selbst wenn man am Ende woanders landet, denn es zeigt einem in etwa zehn Minuten an, ob die gewählte Größe stimmte.

Egal, wofür Sie sich entscheiden, Sie bestimmen den Treiber, die CUDA- oder ROCm-Version und den Framework-Build. Automatische Aktualisierungen erfolgen nicht unter Ihrer Kontrolle. Falls Sie die Installation des Treibers vor der Übergabe wünschen, geben Sie dies bitte in der Bestellung an und nennen Sie die Versionsnummer.

Wie schnell wird es sein?

Wir veröffentlichen keine Angabe zur Anzahl der Token pro Sekunde, und hier ist der Grund dafür.

Jede dieser Zahlen hängt vom Modell, der Quantisierung, der Laufzeitumgebung und ihrer Version, der Batchgröße, der Länge der Eingabeaufforderung, der Länge der Antwort und der Anzahl der gleichzeitig laufenden Anfragen ab. Ändert sich eine dieser Variablen, ändert sich der Wert um ein Vielfaches. Eine Kennzahl, die nicht all diese Faktoren berücksichtigt, ist lediglich eine Zahl, die gut aussehen soll, und mit der wir dann zitiert werden.

Wir werden Ihnen die maßgeblichen Bestimmungen erläutern, damit Sie Ihren eigenen Fall beurteilen können:

  • Das Einlesen der Eingabeaufforderung ist rechenintensiv. Es erfolgt einmal pro Anfrage, parallel über die gesamte Eingabeaufforderung hinweg, und hier zeigen sich der arithmetische Durchsatz einer Karte und ihre Unterstützung für die neueren Zahlenformate.
  • Die Generierung der Antwort ist durch Speicherbandbreite begrenzt. Jedes Token erfordert das Lesen der Gewichtungen, daher entspricht die maximale Geschwindigkeit für eine einzelne Anfrage in etwa der Geschwindigkeit, mit der die Grafikkarte ihren eigenen Speicher verarbeiten kann. Aus diesem Grund kann eine Karte mit langsamerem, aber größerem Speicher im Vergleich zu einer kleineren, schnelleren Karte hinsichtlich der Latenz unterlegen sein, während sie hinsichtlich der Modellanpassung insgesamt besser abschneidet.
  • Die Stapelverarbeitung macht es wirtschaftlich. Durch die gleichzeitige Bearbeitung mehrerer Anfragen verteilt sich der Aufwand für das Lesen der Gewichte auf alle Anfragen. Deshalb steigt der Gesamtdurchsatz mit zunehmender Parallelität steil an, während die Latenz pro Anfrage kaum variiert – bis der Key-Value-Cache voll ist. Dann verschlechtert sich die Leistung schlagartig. Es gibt also wieder Spielraum.

Bitten Sie stattdessen um eine ehrliche Antwort.

Nennen Sie uns bitte das Modell, die geplante Quantisierung, die Kontextlänge und die ungefähre Anzahl der erwarteten gleichzeitigen Anfragen. Falls wir bereits vergleichbare Tests durchgeführt haben, teilen wir Ihnen unsere Beobachtungen und die verwendeten Daten mit. Falls nicht, geben wir dies ebenfalls an.

Es ist eine bessere Grundlage für einen Kauf als eine Vergleichstabelle und dauert etwa eine Minute.

Der reguläre Support ist rund um die Uhr erreichbar – per Telefon, Chat und Ticket-System, an 365 Tagen im Jahr. Die Reaktionszeiten sind schriftlich festgehalten.

Über den Service hinaus

Für die Feinabstimmung wird wesentlich mehr Raum benötigt als für das Servieren.

Alles oben Genannte dient der Dimensionierung eines Modells für die Inferenz: Gewichte rein, Token raus. Das Trainieren oder Feinabstimmen desselben Modells stellt ein anderes Speicherproblem dar, und der Unterschied ist nicht unerheblich.

Warum es mehr Speicherplatz kostet

Für die Ausführung werden die Gewichte benötigt. Das Training benötigt die Gewichte, die Gradienten und den Zustand des Optimierers für jeden aktualisierten Parameter – alles gleichzeitig verfügbar – sowie die Aktivierungen, die für die rückwärtsgerichtete Berechnung im Netzwerk gespeichert werden müssen. Ein Modell, das problemlos auf einer Grafikkarte ausgeführt werden kann, ist unter Umständen um ein Vielfaches zu groß, um es auf derselben Karte vollständig feinabzustimmen.

Deshalb machen es die meisten Leute nicht vollständig.

Parametereffiziente Methoden – Adapter, Low-Rank-Updates und deren quantisierte Varianten – aktualisieren nur einen kleinen Teil der Parameter und benötigen dementsprechend wenig zusätzlichen Speicher. Für die meisten Aufgaben, die man als Feinabstimmung bezeichnet, ist dies sowohl die praktikabelste als auch diejenige, die auf Hardware, die man sich leisten kann, praktikabel ist.

Was Sie uns sagen sollen

Das Modell, die Methode, die Sequenzlänge und die Datensatzgröße. Wir veröffentlichen hier keinen Multiplikator, da der korrekte Wert von allen vier Faktoren abhängt. Eine willkürliche Angabe, die Ihre Maschine unterdimensioniert, ist für uns beide weniger zielführend als ein offenes Gespräch. Falls Sie mehrere Grafikkarten benötigen, erklärt der Abschnitt „Multi-GPU und Multi-Node“, wie ein solches System aufgebaut ist.

Der Bus spielt hier eine Rolle, die für den öffentlichen Nahverkehr nicht relevant ist.

Eine Trainingsschleife überträgt kontinuierlich Datenpakete über die Verbindung zwischen Prozessor und Grafikkarte. Daher stellt die PCIe-Generation des zugrundeliegenden Rechners eine tatsächliche Einschränkung und keine Spezifikation dar. Die Inferenz eines residenten Modells beeinflusst diese kaum. Welche Plattform welcher Grafikkarte welche Verbindung zuweist, wird auf dedizierten GPU-Servern veröffentlicht und plattformübergreifend auf Multi-GPU- und Multi-Node- Systemen verglichen.

Gefragt vor

Die acht Fragen, die diese Seite beantworten soll.

Die Antworten basieren auf den tatsächlichen Fragen unserer Nutzer im Chat und über Tickets, ungefähr in der Reihenfolge, in der sie gestellt werden. Die ersten beiden Fragen entscheiden darüber, ob ein Kauf erfolgreich ist.

Wie viel GPU-Speicher benötigt ein großes Sprachmodell?
Die Gewichtungen ergeben sich aus der Anzahl der Parameter multipliziert mit der Größe pro Parameter in Bytes: zwei Bytes bei 16 Bit, ein Byte bei 8 Bit und ein halbes Byte bei 4 Bit. Ein Modell mit 7–8 Milliarden Parametern benötigt 16 GB an Gewichtungen bei 16 Bit, 8 GB bei 8 Bit und 5 GB bei 4 Bit; ein Modell mit 70 Milliarden Parametern 140 GB, 70 GB und 38 GB. Diese Angaben beziehen sich nur auf die Gewichtungen und stellen eine Untergrenze dar – planen Sie zusätzlich etwa ein Viertel bis die Hälfte für Laufzeit, Aktivierungen und den Schlüsselwert-Cache ein.
Warum wird mein Modell geladen, aber kann nicht ausgeliefert werden?
Da die Gewichte nicht das Einzige im Speicher der Karte sind, sondern auch die Laufzeitumgebung und ihre Puffer resident sind und jedes Token einer Konversation einen Eintrag im Schlüssel-Wert-Cache hinterlässt, um eine Neuberechnung zu vermeiden, wächst dieser Cache mit der Kontextlänge und mit jeder gleichzeitig bearbeiteten Anfrage. Ein Modell, dessen Gewichte gerade so passen, kann daher etwa eine kurze Konversation speichern. Die Größe der Karte sollte dem Einviertel- bis Eineinhalbfachen der Gewichte entsprechen.
Welche Inferenz-Runtime kann ich installieren?
Jede dieser Optionen ist geeignet. Die Maschine wird mit einem sauberen Betriebssystem und Root-Rechten ausgeliefert, und es ist kein herstellerspezifischer Inferenzdienst vorgeschaltet. vLLM ist die übliche Lösung für die Verarbeitung von realem Datenverkehr, da die kontinuierliche Stapelverarbeitung es einer Karte ermöglicht, viele Anfragen gleichzeitig zu beantworten. llama.cpp ist die übliche Lösung, wenn der Speicherplatz knapp ist oder die Karte älter ist. TGI und SGLang laufen unverändert. Ollama ist der kürzeste Weg von einer leeren Maschine zu einem Modell, das auf einem Port antwortet. Sie legen den Treiber, die CUDA- oder ROCm-Version und das Framework auf die Versionen fest, mit denen Ihr Code getestet wurde.
Wie viele Token erhalte ich pro Sekunde?
Wir veröffentlichen keine Angabe zur Token-pro-Sekunde, da diese Zahl vom Modell, der Quantisierung, der Laufzeitumgebung und ihrer Version, der Batchgröße, der Länge der Eingabeaufforderung, der Länge der Antwort und der Parallelität abhängt. Jede Änderung eines dieser Faktoren führt zu einer Vielfachen des Wertes. Folgende Faktoren bestimmen die Token-pro-Sekunde: Das Lesen der Eingabeaufforderung ist rechenintensiv und erfolgt einmal pro Anfrage; das Generieren der Antwort ist speicher- und bandbreitenintensiv, da für jedes Token die Gewichte gelesen werden müssen; und die Batchverarbeitung amortisiert diesen Lesevorgang über mehrere parallele Anfragen, wodurch die Bearbeitung wirtschaftlich ist, bis der Key-Value-Cache voll ist. Um eine Antwort basierend auf unseren tatsächlichen Beobachtungen zu erhalten, wenden Sie sich bitte an das Modell, die Quantisierung und die erwartete Parallelität.
Wird die GPU mit anderen Personen geteilt?
Nein. Pro physischem Rechner ist nur ein Mandant zugelassen, und die Grafikkarte wird direkt an Ihr Betriebssystem durchgereicht. Es gibt keinen Hypervisor, keine MIG-Partition, kein vGPU-Profil und keinen Time-Slicing-Scheduler. Daher läuft nichts anderes auf der Karte, und die Inferenzlatenz ändert sich nicht aufgrund von Batch-Jobs anderer Benutzer.
Was passiert, wenn das Modell nicht auf eine Karte passt?
Dann handelt es sich um ein System mit mehreren Grafikkarten, das preislich kalkuliert und nicht direkt im Warenkorb bestellt wird: Die Anzahl der passenden Karten hängt von der Breite der jeweiligen Karte und der Leistungsaufnahme des Gehäuses ab. Zwei Karten bieten nur dann die volle Speicherkapazität, wenn die Laufzeitumgebung das Modell auf beide Karten verteilen kann. Dies wird von jeder gängigen Laufzeitumgebung unterstützt, allerdings mit Einbußen beim Durchsatz. Mehrere Karten oder Maschinen beschreiben die Funktionsweise dieses Systems.
Benötigt die Feinabstimmung mehr Speicher als der Dienstbetrieb?
Deutlich mehr. Für den Serverbetrieb werden die Gewichte benötigt; für das Training benötigt man die Gewichte, die Gradienten und den Optimierungsstatus für jeden zu aktualisierenden Parameter – alles gleichzeitig verfügbar – sowie die Aktivierungen für den Rückwärtsdurchlauf. Ein Modell, das problemlos auf einer Grafikkarte läuft, kann um ein Vielfaches zu groß sein, um es vollständig feinabzustimmen. Parametereffiziente Methoden aktualisieren nur einen kleinen Teil der Parameter und benötigen daher entsprechend wenig zusätzlichen Speicher. Aus diesem Grund wird hier meist nur eine Grafikkarte für die Feinabstimmung verwendet.
Kann ich eine AMD-Karte verwenden, und funktioniert ROCm?
Ja. Die AMD Instinct-Karten gehören zu den speicherstärksten Grafikkarten in unserem Sortiment und bieten oft das beste Preis-Leistungs-Verhältnis pro Gigabyte. Ihr System muss jedoch ROCm anstelle von CUDA unterstützen. Die meisten aktuellen Inferenz-Laufzeitumgebungen tun dies; einige zugehörige Tools jedoch noch nicht. Fragen Sie daher bitte vor der Bestellung an, damit wir die Kompatibilität mit Ihrer spezifischen Laufzeitumgebung prüfen können, anstatt eine allgemeine Antwort zu geben.

For the record

Everything on this page, as figures.

Card memory is the manufacturers’ published figure; which cards exist is read from the order catalogue when this page was served. No monthly price appears here on purpose — GPU dedicated servers holds every one, against the exact machine it belongs to.

What decides whether a model runs
Card memory, and almost nothing else on the order form. The weights either fit or they do not — a card a couple of gigabytes short does not run slower, it fails to load. Clock speed and core count decide how fast it is once it fits.
How much memory a model needs
Parameters multiplied by bytes per parameter: two bytes each at 16-bit, one at 8-bit, half at 4-bit. That is the WEIGHTS. The runtime, the activations and the key-value cache for the conversation live in the same memory, so budget a quarter to a half again on top before choosing a card.
Largest model on a single card here
70 billion parameters at 4-bit, with room left to serve. Past that the answer is more than one card in one machine, which is a build we quote rather than a checkout option — multi-GPU and multi-node is the page for it.
Biggest card we fit
RTX PRO 6000 Blackwell 96GB, 96 GB GDDR7 ECC. Card memory figures are the manufacturers' published ones; a card whose figure we could not source is left out of the comparison rather than guessed at.
Which runtime
Yours. The machine arrives with a clean operating system and root, and you install vLLM, llama.cpp, TGI, SGLang, Ollama or anything else, pinned to the version your code was tested against. Nothing upgrades underneath you, and there is no vendor runtime you have to go through.
Throughput
We publish no tokens-per-second figure, deliberately, because we have not measured one under conditions we would be willing to have quoted back at us. What governs it is the card's memory bandwidth while generating, its arithmetic while reading the prompt, and how many requests you batch. Ask with the model, the quantisation and the expected concurrency and we will say what we have actually seen.
Fine-tuning and training
Both are ordinary work here, and both need considerably more memory than serving the same model: gradients and optimiser state sit alongside the weights. A parameter-efficient method needs a fraction of what a full fine-tune does. Tell us the method and the model and we will size it rather than have you find out after delivery.
Tenancy
One tenant per physical machine and the card passed straight through to your operating system. No hypervisor, no MIG partition, no vGPU profile, no time-slicing scheduler, and nobody else's workload on the card. What you measure on the first afternoon is what you keep.
Bandwidth
Unmetered in both directions at every port speed, with no transfer allowance and no egress line on any invoice. Pulling weights down and serving tokens back out costs nothing beyond the port.
What this page does not price
Cards, or anything else. Every card we fit, what each adds per month and what the machine under it costs are on GPU dedicated servers, each figure against the exact machine it belongs to.