Englisches Original: https://argusic.com/methodology

Verbindlich ist die englische Fassung; weicht diese deutsche Fassung davon ab, gilt die englische.

Zuletzt aktualisiert 8. Oktober 2026.

Die Methodik von Argusic

Wie Argusic prüft, ob echte Software läuft, und wie es AI coding agents bewertet. Jede Regel hier ist absichtlich öffentlich: Der ganze Sinn besteht darin, dass jeder unsere Arbeit überprüfen kann. Jede Änderung dieser Regeln wird im Änderungsprotokoll am Ende festgehalten, gilt ab dem nächsten Testzyklus und wird nie rückwirkend angewendet.

1. Kurz gesagt

2. Die Frage, die hier beantwortet wird

Kann ein AI coding agent ein echtes Open-Source-Projekt ganz allein installieren, starten, die Fehler abarbeiten und verifizieren, dass die Software läuft, wie ein Engineer an seinem ersten Tag, ohne menschliche Hilfe?

3. Warum neue Projekte

Statische Benchmarks verlieren an Wert, sobald ihre Antworten in Trainingsdaten gelangen. SWE-rebench (Badertdinov et al., 2025) ließ dieselben Agents gegen SWE-bench Verified und gegen Aufgaben laufen, die gesammelt wurden, nachdem dieser Benchmark öffentlich war, und die Scores verschoben sich deutlich: Tabelle 2 der Arbeit nennt für DeepSeek-V3-0324 39.7% gelöste Aufgaben in SWE-bench Verified und 21.3% im zeitlich gefilterten Satz, eine Lücke von 18 Prozentpunkten bei einem einzigen Modell. Argusic testet Projekte, die in den letzten Wochen im Trend liegen, mit einem geheimen Pool, der monatlich wechselt, sodass es nichts auswendig zu lernen gibt.

4. Was gemessen wird

Wir messen genau eine Sache: die autonome Fähigkeit, echte Software zum Laufen zu bringen. Jeder getestete Agent ist eine feste Kombination aus einem Modell in einer fixierten Version, einem Harness in einer fixierten Version, den veröffentlichten Standardanweisungen von Argusic sowie identischen Zeit- und Ressourcenlimits. Jeder Agent erhält exakt dieselben Bedingungen.

5. Getestete Agents

Der erste Zyklus läuft. Die Liste der Agents wird mit dem ersten Leaderboard veröffentlicht. Jeder Agent ist eine feste, fixierte Konfiguration, die unter einer neutralen Argusic-Identität auftritt; seine genauen Versionen werden erfasst und aufbewahrt, sodass sich jede Zahl auf dem Board auf die genaue Konfiguration zurückführen lässt, die sie erzeugt hat, und ein Ergebnis auf Anfrage über Argusic reproduziert werden kann (siehe "Ein Ergebnis reproduzieren").

6. Der Projektpool

6a. Was ein getestetes Projekt sein kann

Ein getestetes Projekt ist etwas, das ein Agent einrichten und ausführen soll. Argusic testet heute eine Art davon und ist so gebaut, dass weitere hinzukommen können, ohne etwas daran zu ändern, wie ein Ergebnis zustande kommt: Das Bewertungsschema, die Regeln für Nachweise und das Vokabular der Befunde sind über alle Quellen hinweg identisch, sodass eine Zahl aus einer Quelle dasselbe bedeutet wie eine Zahl aus einer anderen.

QuelleWas "läuft es" hier bedeutetStatus
Open-Source-RepositoryDen fixierten Commit klonen, installieren, starten und verifizieren, dass es die Aufgabe erfüllt, die seine eigene README beschreibtIn Gebrauch. 3669 Projekte getestet
Hugging-Face-ModellDas Modell in einer fixierten Revision herunterladen und die Inferenz genau so ausführen, wie seine Model Card es dokumentiert, auf einem GPU-Worker. Es läuft, wenn das dokumentierte Snippet auf einer sauberen Maschine eine Ausgabe erzeugt, ohne dass der Tester es umschreibtIn Gebrauch. 1 Projekt getestet
Hugging Face SpaceDen Space aus seiner eigenen Definition bauen und starten, dann seine Oberfläche erreichen und die Interaktion abschließen, die er versprichtDeklariert, nicht begonnen
Veröffentlichtes Paket (npm, PyPI)Die fixierte Version in ein leeres Projekt installieren und den Quickstart aus seiner eigenen README ausführenDeklariert, nicht begonnen
Hersteller-ToolDen vom Hersteller selbst veröffentlichten Build installieren und starten, ausschließlich nach den eigenen Anweisungen des HerstellersDeklariert, nicht begonnen
Vorgefertigtes Cloud-TemplateDas Template so bereitstellen, wie sein eigenes Angebot es dokumentiert, und prüfen, dass es startet und das liefert, was es verspricht, ohne dass der Tester es vorher patchtDeklariert, nicht begonnen
Container-ImageDas Image mit einem fixierten Digest pullen und den Befehl ausführen, den seine eigene Beschreibung angibt, dann prüfen, dass es tut, was diese Beschreibung behauptetDeklariert, nicht begonnen
MCP-ServerDen Server wie dokumentiert installieren und starten, einen Client verbinden und bestätigen, dass er die Tools auflistet und beantwortet, die er versprichtDeklariert, nicht begonnen

Die Spalte Status oben wird nicht von Hand geschrieben. Sie wird bei jedem Aufruf dieser Seite aus der Datenbank gelesen: Eine Quelle wird als in Gebrauch angezeigt, sobald ein veröffentlichtes Projekt dieser Art einen aufgezeichneten Lauf hat, und zeigt dann die Anzahl. Das ist dieselbe Regel, der jede andere Zahl auf dieser Website folgt, und sie bedeutet, dass niemand daran denken muss, diese Seite zu aktualisieren, wenn eine neue Quelle ihr erstes Ergebnis liefert.

Zwei Dinge unterscheiden ein Hugging-Face-Projekt von einem Repository, und beide werden mit dem Lauf erfasst statt geglättet. Es braucht einen GPU-Worker, daher sind die Kosten pro Versuch höher und sein Budget wird gesondert festgelegt. Und eine Model Card dokumentiert oft ein Code-Snippet statt einer Anwendung, daher lautet das verifizierte Verhalten "das dokumentierte Snippet hat eine Ausgabe erzeugt", nicht "das Produkt funktioniert": Die Seite des Laufs sagt mit genau diesen Worten, welcher Fall vorliegt, und der Score wird auf dieselbe Weise vergeben.

Die Tabelle sagt absichtlich "nicht begonnen" statt "demnächst". Eine Quelle gilt an dem Tag als in Gebrauch, an dem ein echter Lauf dieser Art mit seinem Nachweis aufgezeichnet wird, und keinen Tag früher. Bis dahin ist die Zeile eine Aussage über den Umfang, nie über Ergebnisse: Keine Seite zeigt einen Befund, eine Anzahl, eine Rangfolge oder eine Share-Karte für eine Quelle, die noch nicht gelaufen ist, und diese Tabelle ist der einzige Ort, an dem eine geplante Quelle genannt wird.

7. Eine Messung

  1. Eine saubere Einwegmaschine (ihre genaue Umgebung wird veröffentlicht). Sie
  2. nimmt keine eingehenden Verbindungen an und wird zerstört, wenn der Lauf endet. Ausgehender Netzwerkzugriff wird in dieser Edition nicht gefiltert; was einen Lauf begrenzt, sind die Einwegmaschine und die Regeln zum Modellschlüssel unterhalb der Liste. Die Maschine holt nur den fixierten Commit, nicht die Historie des Projekts, die nicht Teil des Tests ist.

  3. Der Agent erhält eine Aufgabe: dieses Projekt zum Laufen zu bringen, gemäß
  4. den veröffentlichten Standardanweisungen.

  5. Ein Zeitlimit. Jeder Lauf erhält genau eines von drei Budgets (die Tabelle
  6. unter der Liste), und das Budget eines Laufs wird auf seiner Laufseite angezeigt.

  7. Drei unabhängige Läufe; das mittlere Ergebnis zählt. Liegen die drei
  8. Ergebnisse mehr als 30% auseinander, wird der Satz als instabil markiert und für das Board dieses Zyklus beiseitegelegt.

  9. Jeder Lauf speichert ein vollständiges Log und eine komplette
  10. Terminalaufzeichnung, die mit den Ergebnissen veröffentlicht werden.

  11. Desktopanwendungen werden auf einem virtuellen Display innerhalb der
  12. Maschine gestartet (seit v1.1). "Gestartet" bedeutet, dass der Hauptprozess der Anwendung auf diesem Display startete und aktiv blieb oder auf einen Versions- oder Hilfebefehl antwortete. Es wird nichts angeklickt; gemessen wird, ob die Software auf einer frischen Maschine hochkommt, dieselbe Frage, die jedem anderen Projekt gestellt wird. Der Agent wird angewiesen, keine Bilder an sein Modell zu senden (seit v1.3): Das Standardmodell akzeptiert nur Text, und ein an eine Nachricht angehängter Screenshot beendete die Sitzung vor dem Bericht.

Die Zeitbudgets aus Punkt 3:

StufeBudget
standard90 Minuten
heavy120 Minuten
gpu120 Minuten

Das Standardbudget betrug vor v1.3 45 Minuten: In der ersten Woche waren an einem Tag 36 von 38 Zeitüberschreitungen Builds, die bei verbrauchtem Budget noch liefen, also wurde es verdoppelt. Die Stufe heavy gibt es seit v1.2 für ein Projekt, das der Owner als heavy markiert oder dessen Repository laut GitHub größer als 500 MB ist, weil ein großes Spiel oder eine Desktopanwendung so lange zum Bauen braucht. Ein Projekt, das eine GPU benötigt, erhält dieselben 120 Minuten.

Die drei Werte oben sind keine Dekoration. scripts/check-ttl-methodology.sh liest diese Tabelle und vergleicht sie mit den Budgets, mit denen der Orchestrator tatsächlich konfiguriert ist, und make test schlägt fehl, wenn sie nicht übereinstimmen. Diese Prüfung gibt es, weil zwischen 2026-09-06 und 2026-09-11 das GPU-Budget im laufenden System 240 Minuten betrug, während diese Seite 120 angab, und nichts die beiden verglich (ISSUE-072).

Der Modellschlüssel. Ein Agent braucht einen Schlüssel, um sein Modell aufzurufen, und ein Lauf führt Code aus einem nicht vertrauenswürdigen Projekt aus, daher ist dieser Schlüssel die Zugangsberechtigung, deren Begrenzung sich am meisten lohnt. Für Agents, die ihr Modell über die Routing-Schicht von Argusic erreichen, erhält jeder Lauf einen eigenen Schlüssel, der nur für diesen Lauf erstellt wird. Ausgabenlimit für den Modellschlüssel jedes Laufs: 3 USD. Der Schlüssel wird gelöscht, wenn der Lauf endet, abgebrochen wird oder in eine Zeitüberschreitung läuft, und ein geplanter Bereinigungsjob löscht jeden Schlüssel, der zu keinem laufenden Job mehr gehört. Kann der Schlüssel eines Laufs nicht erstellt werden, wird der Lauf nicht gestartet und später erneut versucht; ein gemeinsamer Schlüssel wird nie ersatzweise verwendet. Agents, die den eigenen Dienst ihres Modellherstellers nutzen, rufen ihn mit einem gemeinsamen Schlüssel auf, den Argusic verwaltet, nicht mit einem Schlüssel pro Lauf; die Umstellung auf Schlüssel pro Lauf steht auf unserem Backlog. Die Limitzeile oben wird von scripts/check-cost-methodology.sh gelesen, das make test fehlschlagen lässt, wenn sie vom konfigurierten Wert abweicht, aus demselben Grund wie bei den Zeitbudgets.

8. Bewertung, von 100 Punkten

Das Ergebnis eines Laufs ist eines der folgenden:

ErgebnisBedeutung
pass_fullLief und wurde real verifiziert
pass_mockLief, gegen Mock-Dienste verifiziert
failWurde nicht installiert oder nicht gestartet
timeoutZeit abgelaufen

Die vier Bewertungszeilen lassen manche Fälle offen. Sie werden hier geregelt und nicht nur im Code, denn eine Regel, die niemand lesen kann, ist eine Regel, die niemand prüfen kann. Die Bewertung ist ein deterministisches Programm mit Tests für jede der folgenden Regeln; zu keinem Zeitpunkt ist ein AI-Modell an der Bewertung beteiligt.

9. Von vielen Läufen zu einem Board-Score

Die Bewertung beurteilt ein Paar aus Projekt und Agent. Das Leaderboard braucht eine einzige Zahl pro Agent, und wie diese zusammengeführt werden, ist eine methodische Entscheidung, daher wird sie hier festgehalten.

Der Board-Score eines Agents ist der mittlere Wert seiner mittleren Scores pro Projekt. Wir verwenden auch hier den mittleren Wert statt eines Durchschnitts, aus demselben Grund: Ein desaströses Projekt soll einen fähigen Agent nicht nach unten ziehen, und ein glückliches Projekt soll einen schwachen nicht nach oben heben.

Zwei Arten von Ergebnissen werden aus dieser Zahl ausgeschlossen, und beide werden trotzdem auf dem Board angezeigt, damit der Ausschluss sichtbar ist und nicht stillschweigend geschieht: als instabil markierte Ergebnisse (siehe den nächsten Abschnitt) und jedes Ergebnis zu einem Projekt, das als in Prüfung markiert ist (siehe Qualitätskontrolle der Umgebung).

Ein Agent, dessen Ergebnisse alle ausgeschlossen sind, hat keinen Board-Score. Er wird ohne Score unten angezeigt statt entfernt, denn ein Agent, der getestet wurde und nichts Verwertbares geliefert hat, ist selbst ein Ergebnis, und ihn zu verbergen würde das Feld unauffällig schönen.

Die Erfolgsquote zählt jeden Versuch, den ein Agent im Zyklus unternommen hat, einschließlich Fehlschlägen und Zeitüberschreitungen. Siehe Unabhängigkeit und keine Rosinenpickerei weiter unten.

10. Streuung und Instabilität

Die Streuung ist die Spanne der drei Läufe als Prozentsatz ihres mittleren Werts:

spread = (highest - lowest) / middle * 100

Ein Satz wird als instabil markiert, wenn die Streuung strikt größer als 30% ist. Genau 30% liegt nicht über 30% und bleibt auf dem Board. Aus der Formel ergeben sich zwei Randfälle:

11. Der Befund zum Projekt

Das Board rangiert Agents. Der Befund beantwortet eine andere Frage, über das Projekt selbst: Kann ein Neuling, in Gestalt eines AI agents, diese Software heute zum Laufen bringen?

Das Testen ist adaptiv, weil der Nachweis einseitig ist. Ein Bestehen beweist, dass das Projekt läuft; ein einzelner Fehlschlag beweist für sich allein nichts, weil er am Agent liegen kann statt am Projekt.

  1. Zuerst läuft der Standard-Agent einmal. Jedes Bestehen beendet den Vorgang:
  2. Ein vollständiges Bestehen ergibt "läuft", ein Bestehen gegen Mock-Dienste ergibt "läuft mit Mocks". Es gibt keinen Grund, etwas weiter zu testen, das bereits nachweislich läuft.

  3. Ist er fehlgeschlagen, schließt ein Wiederholungsversuch mit demselben Agent
  4. einen einmaligen Zufall aus.

  5. Ist er weiterhin fehlgeschlagen, lautet der Befund "nicht verifizierbar", nie
  6. "defekt": Argusic berichtet, was Agents leisten konnten, und sagt genau das (seit v1.3: zwei vollständige Versuche mit dem Standard-Agent entscheiden). Auf Anfrage kann ein stärkerer Agent laufen; geschieht das, macht sein Bestehen das Projekt zu "läuft" (der Datensatz zeigt, welcher Agent es verifiziert hat), und sein Fehlschlag entscheidet ebenfalls "nicht verifizierbar".

Ein vollständiger Versuch ist einer, dessen Aufzeichnung zeigt, wie der Agent bis zu seinem eigenen Ende oder bis zum Zeitlimit arbeitet. Ein Versuch, den die eigenen Werkzeuge von Argusic vorzeitig abgebrochen haben (ein Harness, der den Bericht des Agents nicht lesen konnte, ein Messfehler ohne Bezug zum Projekt), wird als ungültig markiert, mit dem Grund am Lauf gespeichert, bleibt mit seinem Nachweis veröffentlicht und zählt nicht.

Der Befund ist das beste Ergebnis, das irgendein Versuch erreicht hat:

Jeder Versuch wird mit seinem vollständigen Nachweis veröffentlicht, unabhängig vom Befund, mit einer Ausnahme: Eine Aufzeichnung, bei der nicht nachgewiesen werden kann, dass sie frei von gültigen Zugangsdaten ist, wird zurückgehalten, und ihr Lauf wird wiederholt (Abschnitt 17, "Sicherheitsschwärzung").

12. Was Argusic nicht misst

Um Missverständnisse zu vermeiden, sagen wir es deutlich. Argusic misst nicht die langfristige Qualität des Codes, den ein Agent schreibt, nicht die Sicherheit seiner Korrekturen und nicht die tiefe Produkterfahrung auf Feature-Ebene. Es misst eine Sache: die autonome Fähigkeit, echte Software zum Laufen zu bringen.

13. Unabhängigkeit und keine Rosinenpickerei

14. Offenlegung des Harness

Der Harness (das Gerüst, die Tools, Anweisungen und Limits rund um das Modell) ist öffentlich und für jeden Agent eines Zyklus identisch. Jeder Unterschied in den Scores muss dem Agent zuzuschreiben sein, nicht der Infrastruktur. Änderungen am Harness werden nur zwischen Zyklen ausgeliefert und im Änderungsprotokoll festgehalten.

15. Qualitätskontrolle der Umgebung

Scheitert ein Projekt bei allen Agents, wird es automatisch als in Prüfung markiert und von der Bewertung ausgeschlossen, bis eine Person es überprüft: Der Fehlschlag kann an der Umgebung oder am Projekt liegen statt an den Agents. Ein gemeinsames Einrichtungsproblem darf nie als Fehlschlag eines Agents bewertet werden.

16. Verifizieren heißt dekodieren, nicht sondieren

Dass eine Datei existiert, ist kein Ergebnis, und ihren Header zu lesen, ist keine Prüfung. ffprobe -show_streams, file und eine Bytezahl melden alle einen Container und dekodieren nichts: Ein Video, dessen Frames alle grün sind, besteht alle drei genau wie ein gutes. Die Regel, gültig seit v1.4, lautet: Ein Agent berichtet, was er dekodiert hat, nie, was er erwartet hat.

17. Integrität der Nachweise

Zwei Ebenen, die nie verwechselt werden.

Die Nachweisebene ist roh und dauerhaft: Jeder Lauf erzeugt eine vollständige Terminalaufzeichnung der echten Sitzung, bei grafischen Anwendungen zusätzlich ein rohes Sitzungsvideo, sowie vollständige Logs. Jede Datei erhält bei Eingang einen Fingerabdruck und wird für immer gespeichert. Jeder kann die gesamte ungeschnittene Sitzung abspielen.

Die Präsentationsebene ist abgeleitet: Jedes Video oder Bild für soziale Medien ist ein Rendering des Nachweises. Erlaubte Bearbeitungen sind Beschleunigung, Kürzen auf Länge, Untertitel aus der aufgezeichneten Zeitleiste von Fehlern und Korrekturen sowie ein Voiceover. Verboten sind das Umordnen von Ereignissen, das Zusammenschneiden getrennter Sitzungen, das Verbergen von Fehlschlägen und das Verändern der Substanz dessen, was der Agent getan hat. Jedes veröffentlichte Video verlinkt zurück auf seinen Nachweis.

Drei abgeleitete Transformationen werden auf die Aufzeichnung angewendet, bevor sie ausgeliefert wird, und keine davon verändert die Substanz der Arbeit des Agents:

Eine Anzeigetransformation gilt für zitierten Text (Entscheidung des Owners vom 2026-09-04): Wenn eine Seite den eigenen Schlusssatz des Agents ("Was der Test ergab") oder die GitHub-Beschreibung eines Repositorys zeigt, wird ein vom Autor getippter Gedankenstrich als Komma oder Punkt dargestellt, damit die Seite der hauseigenen Zeichensetzung folgt. Der gespeicherte Bericht, der Datensatz des Repositorys, das Log, die Aufzeichnung und die aus der Aufzeichnung gerenderten Bilder bleiben unberührt; die Wörter und ihre Reihenfolge ändern sich nie.

Feste Regel: Jede Zahl lässt sich auf ein Log zurückführen, und jedes Frame auf eine Aufzeichnung der echten Sitzung.

18. Ein Ergebnis reproduzieren

Die Projektseite jedes Ergebnisses ist vollständig öffentlich: der genaue getestete Commit, die veröffentlichte Umgebung, die Standardanweisungen sowie das vollständige Log und die Aufzeichnung. Die Seite jedes Laufs enthält all das. Der Agent ist eine feste, fixierte Argusic-Konfiguration unter einer neutralen Identität; Argusic verwahrt seine genauen Versionen und kann ein Ergebnis erneut ausführen, um es zu reproduzieren. Die öffentliche Projektliste und die Offenlegungen des geheimen Pools werden zusammen mit dem ersten Leaderboard veröffentlicht.

19. Ein Ergebnis anfechten

Wenn ein Maintainer oder ein Lab ein Ergebnis für falsch hält, kann es angefochten werden. Schreiben Sie an [email protected] mit dem Link zum Lauf. Wir prüfen das vollständige Log und die Aufzeichnung gegen die Behauptung und antworten. Wurde das Ergebnis durch ein Umgebungs- oder Einrichtungsproblem auf unserer Seite beeinflusst, führen wir es erneut aus und korrigieren den Datensatz mit einem Vermerk; stützt der Nachweis das ursprüngliche Ergebnis, erklären wir, was die Aufzeichnung zeigt. Der ursprüngliche Nachweis wird nie bearbeitet oder entfernt.

20. Änderungsprotokoll

Eine Edition trägt zwei Daten, und sie beantworten unterschiedliche Fragen. Geschrieben ist der Tag, an dem die Regel in diesem Dokument festgehalten wurde. Gültig ab ist der Tag, an dem der erste Lauf tatsächlich danach gemessen wurde, gelesen aus den Laufdatensätzen, nicht aus dieser Datei. Meist stimmen sie überein. Wo nicht, gelten die Laufdatensätze und werden hier angegeben, denn eine Edition, die die Maschinen vor dieser Seite erreicht hat, ist genau das, was ein Änderungsprotokoll offenlegen soll. Keine Edition wird je rückwirkend angewendet: Ein Lauf behält die Regeln, die an seinem Tag galten.

Die Editionen v0.2 bis v1.0 wurden alle am 2026-08-31 erfasst, in dem Commit, der die erste öffentliche Edition erstellte; ihre Daten unten sind die Tage, an denen die Regeln selbst beschlossen wurden, vor der ersten Messung.

Anhang: Hardware-Schätzungen, was passt und wie schnell

Die folgenden Schätzungen stehen neben den Laptops und Desktops für Programmierung, AI und Data Science, die Argusic auflistet.

Dieser Anhang ist nicht Teil der obigen Benchmark-Regeln und ändert keine Edition: Er erklärt die Schätzungen, die Argusic neben den Laptops und Desktops angibt, die es zum Kauf auflistet. Sie sind Rechnungen auf Basis der von den Herstellern veröffentlichten Angaben, nie Messungen. Die Werte hier werden von einer gemeinsamen Datei berechnet (lib/hardware-estimates.ts), und keiner darf sich ändern, ohne dass diese Datei und ihr Test im selben Commit geändert werden.

Die Hardware-Liste von Argusic zeigt für jeden Laptop und Desktop die größte Modellgröße, die er aufnehmen kann, und eine Obergrenze dafür, wie schnell er Text erzeugen kann. Beides ist Geschätzt: Es wird mit den Formeln unten aus den veröffentlichten Spezifikationen des Herstellers berechnet. Argusic hat auf diesen Maschinen kein Modell ausgeführt. Wenn Argusic eine Maschine tatsächlich misst, trägt dieser Wert das Label Gemessen, verlinkt auf sein Lauf-Log und wird nie mit einer Schätzung vermischt.

Eine Schätzung wird nur angezeigt, wenn jede Eingabe bekannt ist. Fehlen die Speichergröße, der Speichertyp oder die Bandbreite des Chips, zeigt die Seite "Unbekannt" statt zu raten.

Eingaben und ihre Herkunft

Speicher: welche Modellgröße passt

Ein Modell braucht Platz für drei Dinge.

  1. Gewichte. Argusic geht von der Q4_K_M-Quantisierung von llama.cpp aus, mit 4.8944 Bit pro Gewicht (llama.cpp quantize README):
  2. Bytes der Gewichte = Parameter x 4.8944 / 8. Beispiel, berechnet und nicht gemessen: Ein 70B-Modell braucht 42.8 GB an Gewichten.

  3. Kontext (KV-Cache). Nach der Formel von NVIDIA (Mastering LLM Techniques: Inference Optimization, NVIDIA Technical Blog, 2023-11-17):
  4. Bytes des KV-Cache pro Token = 2 x Schichten x (Heads x Head-Dimension) x Bytes pro Wert. Moderne Modelle teilen Key/Value-Heads über mehrere Attention-Heads (Grouped-Query Attention), daher ist "Heads" hier die Anzahl der Key/Value-Heads, die das Modell tatsächlich cacht. Argusic sieht 8,192 Token Kontext bei 16-Bit-Genauigkeit vor (2 Bytes, der Standard-Cache-Typ von llama.cpp) und verwendet dafür die veröffentlichte Konfiguration eines offenen dichten Modells pro Klasse: Qwen3-8B, Qwen3-14B, Qwen3-32B, Qwen2.5-72B-Instruct und Mistral-Large-Instruct-2411.

  5. Laufzeit-Overhead. Argusic sieht 1 GB für die eigenen Puffer der Inferenz-Laufzeitumgebung vor.

Die 8,192 Token Kontext und der Overhead von 1 GB sind die Zugabe von Argusic, eine bewusste Festlegung und keine Messung. Längere Kontexte brauchen mehr Speicher; ein Modell, das hier passt, passt bei einer deutlich längeren Unterhaltung möglicherweise nicht.

Wie viel Speicher der Maschine zählt. Der gesamte VRAM einer dedizierten GPU zählt. Vom Unified Memory oder Systemspeicher zählt Argusic 75% und lässt 25% für das Betriebssystem und andere Programme. Das entspricht dem, was AMD für seine eigenen Chips mit Unified Memory angibt: Bis zu 96GB von 128GB können in VRAM umgewandelt werden (AMD), und 64GB erlauben bis zu 48GB (AMD).

Speichergrößen werden mit 10^9 Bytes pro GB gelesen, derselben Einheit, die Hersteller für die Bandbreite verwenden. Speicher wird tatsächlich in binären Einheiten bemessen, daher unterschätzt dies die Kapazität um etwa 7% und macht jedes Passen etwas konservativ.

Der sich daraus ergebende Bedarf für jede Klasse, berechnet nach den obigen Regeln:

KlasseGewichte (Q4_K_M)KontextzugabeOverheadBedarfVRAM abUnified Memory ab
7-8B4.89 GB1.21 GB1 GB7.10 GB7.10 GB9.47 GB
14B8.57 GB1.34 GB1 GB10.91 GB10.91 GB14.54 GB
27-32B19.58 GB2.15 GB1 GB22.73 GB22.73 GB30.30 GB
70B42.83 GB2.68 GB1 GB46.51 GB46.51 GB62.01 GB
120B und mehr73.42 GB2.95 GB1 GB77.37 GB77.37 GB103.16 GB

So fasst zum Beispiel eine GPU mit 8GB die Klasse 7-8B, eine GPU mit 24GB die Klasse 27-32B und 64GB Unified Memory die Klasse 70B. Eine Maschine unterhalb der ersten Zeile wird so angezeigt, dass keine der Klassen passt.

Geschwindigkeit: eine Obergrenze, keine Vorhersage

Die Erzeugung jedes Tokens erfordert, jedes Gewicht des Modells einmal aus dem Speicher zu lesen, daher ist die Texterzeugung durch die Speicherbandbreite begrenzt (NVIDIA: "Model execution is frequently memory-bandwidth bound"). Daraus ergibt sich eine Obergrenze:

Token pro Sekunde, höchstens = Speicherbandbreite / Bytes der Gewichte.

Beispiel, berechnet und nicht gemessen: Ein Chip mit 546 GB/s, der ein 8B-Modell in Q4_K_M ausführt (4.89 GB an Gewichten), kann etwa 111 Token pro Sekunde nicht überschreiten.

Die reale Geschwindigkeit ist immer niedriger. Die Grenze ignoriert die Zeit für das Lesen des Kontexts, die Berechnung und den Software-Overhead. Messungen, gesammelt in llama.cpp discussion #4167, zeigen, dass die Geschwindigkeit mit der Bandbreite steigt, aber unterhalb einer linearen Beziehung. Für Llama 2 7B in Q4_0 auf Apple Silicon: M3 Max (400 GB/s) 66.31 Token pro Sekunde, M4 Max (546 GB/s) 83.06, M2 Ultra (800 GB/s) 94.27. Der Schritt von 400 auf 546 GB/s (1.37-fache Bandbreite) ergab die 1.25-fache Geschwindigkeit; die Verdopplung auf 800 GB/s ergab das 1.42-Fache. Lesen Sie die Grenze als "diese Maschine kann nicht schneller sein als das", nie als "diese Maschine läuft mit dieser Geschwindigkeit".

Die Grenze setzt ein dichtes Modell voraus, bei dem jedes Gewicht für jedes Token gelesen wird. Mixture-of-Experts-Modelle lesen nur die für jedes Token aktiven Experten, daher können sie schneller laufen, als die Grenze für ihre Gesamtgröße nahelegt.

Modellspeicher pro Dollar

Eine Sortierung dieser Liste ist Modellspeicher pro Dollar: Gigabyte Modellspeicher (VRAM oder Unified Memory) geteilt durch den aktuellen Amazon-Preis, mit dem Datum des Preises. Sie beantwortet die Frage "was fasst für dieses Geld das größte Modell". Sie ist keine Qualitäts- oder Geschwindigkeitsrangfolge, und eine Provision ändert sie nie.

Was diese Schätzungen nicht sind