Zum Inhalt springen

Technik

Kein Server zum Starten. Das Modell antwortet aus der Anwendung heraus.

Runlix führt Modelle im eigenen Prozess aus: nichts, was vorher gestartet werden muss, sechs Modellfamilien, die nativ laufen, und die Geschwindigkeit gegen mlx-lm gemessen, mit dem Datum der Messung daneben.

Aktualisiert 2026-09-13Gemessen 2026-09-07

Sie öffnen die Anwendung und stellen eine Frage. Das ist der ganze Ablauf.

Nichts, das vorher starten muss Kein Dienst im Hintergrund, kein Terminalfenster, nichts, das auf einem Port lauscht, solange Sie es nicht einschalten.
Kein Python, nirgends Weder im Inferenzpfad noch in der App: 229 MB installiert, 80 MB zum Herunterladen, und der Build schlägt fehl, sollte je wieder ein Interpreter hineingeraten.
Sechs Familien, nativ Und für die übrigen eine klare Antwort vor dem Download: noch nicht, oder gar nicht.
86–93 % von mlx-lm Gemessen am 7. September 2026. Die vier Verhältnisse stehen weiter unten, mit dem Tag daneben.

Das klingt nach einer Kleinigkeit, bis zu dem Tag, an dem es keine ist. Die meisten Wege, ein Modell auf dem eigenen Mac auszuführen, setzen ein eigenes Programm dazwischen: die Anwendung, die Sie anklicken, spricht über das Netz mit einer Engine, die jemand anderes geschrieben hat, und die selbst auf einer Laufzeitumgebung mit eigenen Versionen und eigenen Fehlerarten sitzt. Wenn diese Kette hakt, ist das, was aufgehört hat zu funktionieren, nicht das, was Sie installiert haben — und die Fehlermeldung gehört zu einem Programm, das Sie nie ausgewählt haben.

Runlix lädt das Modell in sich selbst. Beenden Sie die Anwendung, läuft nichts weiter.

Läuft mein Modell überhaupt?

Sechs Familien laufen nativ:

  • phi3
  • llama
  • qwen2
  • qwen3
  • gemma3_text
  • deepseek_v2

In der Praxis deckt das den größten Teil dessen ab, was heruntergeladen wird — und es schließt Modelle ein, deren Name nichts davon verrät, denn Mistral-Modelle sind auf der Form von llama gebaut und laufen ebenfalls nativ. Runlix sagt Ihnen, welche Familie es erkannt hat, statt Sie raten zu lassen.

Für ein Modell außerhalb dieser sechs lautet die Antwort noch nicht, mit ihrem Grund. Kennt mlx-lm die Familie, kann die Engine sie lernen, und die Liste wächst um je eine geprüfte Familie. Kennt sie niemand, sagt Runlix auch das. Hinter der ersten Engine versteckt sich keine zweite, langsamere: Was Sie ausführen, ist das, was Sie bekommen.

Und Sie erfahren es vor dem Download, nicht danach. Acht Gigabyte zu laden, um festzustellen, dass das Modell nicht lädt, ist die übliche Erfahrung beim lokalen Ausführen von KI — und das Einzige hier, das dagegen entworfen wurde: Runlix liest zuerst die Beschreibung, die das Modell auf Hugging Face von sich gibt, und gibt Ihnen ein Urteil mit dem Grund daneben. Das steht auf der Modellseite.

Worin sich das von der üblichen Anordnung unterscheidet

Wenn Sie schon einmal Modelle lokal ausgeführt haben, kennen Sie mit großer Wahrscheinlichkeit eine Anordnung aus zwei Hälften: ein Dienst im Hintergrund, der das Modell hält, und ein Fenster, das mit ihm spricht. Dieser Entwurf hat echte Vorteile, und die gehören zuerst genannt — der Dienst läuft weiter, wenn Sie das Fenster schließen, mehrere Anwendungen können sich ein geladenes Modell teilen, und ein Absturz des Modells reißt Ihre Oberfläche nicht mit.

Ein Dienst plus ein Fenster

  • Der Dienst läuft weiter, wenn Sie das Fenster schließen.
  • Mehrere Anwendungen können sich ein geladenes Modell teilen.
  • Ein Absturz des Modells reißt Ihre Oberfläche nicht mit.
  • Etwas Getrenntes, das installiert und aktuell gehalten werden muss.
  • Ein Port, den etwas anderes auf Ihrem Mac vielleicht schon will.
  • Kommt eine Antwort nie, ist die Frage, welche Hälfte hängt, Ihre.
  • Oft Python darunter: eine zweite Software-Umgebung mit eigenen Versionen und eigenen Arten, an einem Dienstag kaputtzugehen.

Runlix

  • Eine Sache zum Installieren, eine zum Beenden.
  • Ein Ort, aus dem ein Fehler kommen kann — nie die Frage nach der Hälfte.
  • Kein offener Port, solange Sie keinen verlangen.
  • Keine zweite Software-Umgebung zu pflegen.
  • Beenden Sie, läuft nichts weiter.
  • Sie können kein geladenes Modell teilen zwischen Anwendungen.
  • Ein Absturz des Modells reißt die Anwendung mit.

Keine der beiden Antworten ist allgemein richtig. Diese ist richtig, wenn Sie wollen, dass sich das Modell wie Teil einer Anwendung anfühlt und nicht wie Infrastruktur, die Sie pflegen.

Wie schnell, und verglichen womit

Geschwindigkeit für sich ist eine Zahl ohne Bedeutung. Der ehrliche Weg, sie anzugeben, ist als Verhältnis zu einer Referenz, die jeder selbst ausführen kann — mlx-lm, die Bibliothek, die Apples eigene Beispiele verwenden — mit dem Tag der Messung daneben, denn eine Zahl auf einer Marketingseite hat niemanden, der sie pflegt.

Gierige Generierung 89 % 253 tok/s · Referenz 284 tok/s
Temperatur 0,8 93 % 229 tok/s · Referenz 246 tok/s
Wiederholungsstrafe 1,1 93 % 228 tok/s · Referenz 246 tok/s
Prompt mit 4096 Tokens 86 % 1865 ms · Referenz 1609 ms

Referenz: mlx-lm = 100 %. Gemessen am 7. September 2026 auf Llama-3.2-1B mit 4 Bit. Speicherspitze beim Prompt mit 4096 Tokens: 1115 MB.

Runlix liegt in jeder Zeile hinter der Referenz, und das wird gesagt statt versteckt. Zwischen 86 % und 93 % einer Bibliothek, an der seit Jahren gearbeitet wird — im Tausch dafür, dass das Modell in der Anwendung lebt statt hinter einem Netzwerkport. Wenn Sie ausschließlich Tokens pro Sekunde interessieren: die Referenz liegt offen und Sie können sie ausführen.

Was es mit Ihrem Mac macht

Sie können mehr als ein Modell gleichzeitig geladen halten und dazwischen wechseln, ohne jedes Mal auf ein Neuladen zu warten. Wenn kein Platz mehr ist, weicht das, das Sie am längsten nicht benutzt haben — nie das, das Ihnen gerade antwortet.

Die Grenze ist nicht der auf der Packung gedruckte Arbeitsspeicher. Sie ist das, was das Grafiksystem davon abzugeben bereit ist, und danach wird gefragt statt geraten.

23347 MB Was ein Mac mit 24 GB tatsächlich angeboten hat — gefragt, nicht angenommen.
1,68× Was eine lange Frage über die Gewichte des Modells hinaus kostet. An einem 1B-Modell gemessen, zur Sicherheit auf das Doppelte aufgerundet.
1 Geladene Modelle, wenn die Maschine ihre Obergrenze nicht nennt — statt eine Zahl zu raten.

Was das im Alltag heißt: auf einem Mac mit reichlich Speicher können Sie ein kleines schnelles und ein großes sorgfältiges Modell gleichzeitig geladen lassen und in einem Gespräch ohne Pause zwischen ihnen wechseln. Auf einer Maschine mit weniger Luft schafft die Anwendung leise Platz und lädt nach, wenn Sie zurückkommen — langsamer, aber nie eine Verweigerung und nie ein Absturz wegen vollem Speicher.

Was es sich weigert zu tun, und was es Sie kostet

Es weigert sich, statt zu raten

Manche Modelle beschreiben sich auf eine Weise, die diese Engine nicht umsetzt. Dann lädt das Modell nicht, mit genanntem Grund, statt trotzdem zu laden.

Diese Weigerung ist die Funktion. Eine fast richtige Inferenz-Engine stürzt nicht ab — sie erzeugt flüssigen, selbstbewussten, falschen Text, und Sie merken es Wochen später oder nie. Vor die Wahl zwischen einem Fehler heute und einem plausiblen Irrtum, den Sie vielleicht nie bemerken, gestellt, irrt diese heute.

Zwei Grenzen, die Sie vorher kennen sollten: Modelle nur im MLX-Format — kein GGUF, eine Entscheidung und keine unfertige Ecke — und keine Bildmodelle. Beides wird gegen Hugging Face geprüft, bevor Sie den Download ausgeben.

Und stürzt es ab, reißt es die Anwendung mit

Das Modell in der Anwendung auszuführen ist ein Tausch, und hier ist die Seite, die Sie zahlen: stürzt der Modellcode ab, reißt er die Anwendung mit. Es gibt keinen Server dazwischen, der das abfängt.

Das war eine bewusste Entscheidung, und der Ausweg wird bereitgehalten: die Engine ist von der Anwendung durch eine Grenze getrennt, die genau dafür entworfen wurde, sie an dem Tag wieder in einen eigenen Prozess auszulagern, an dem sich dieser Tausch nicht mehr lohnt.

Das klar zu sagen gehört dazu. Sie wählen eine Anordnung, Sie bekommen kein Freibier.

Falls Sie das alles nachprüfen wollen

Nichts davon bittet darum, geglaubt zu werden.

Die Richtigkeit

Mit mlx-lm wird die exakte Folge von Wörtern erzeugt, die ein Modell auf eine bestimmte Frage produzieren soll; die Engine muss sie reproduzieren, und der Build schlägt fehl, wenn sie es nicht tut. Wo die Referenz selbst echt unentschieden zwischen zwei Wörtern ist, hält der Test den Abstand fest, statt Übereinstimmung bei einem Münzwurf zu verlangen.

Die Liste der sechs

Keine Behauptung in einem Prospekt. Jede Familie ist zusammen mit der mlx-lm-Version festgehalten, aus der sie übersetzt wurde, und mit dem Datum der letzten Prüfung — und der Build schlägt fehl, wenn eine Familie ohne beides als unterstützt geführt wird.

Die Geschwindigkeitszahlen

Jedes Verhältnis oben trägt den Tag und das Modell, an dem es gemessen wurde. Führen Sie es nach, wann Sie wollen: die Referenz ist eine öffentliche Bibliothek.

Der fremde Code

Apples MLX-Schnittstelle liegt im Projekt genau so, wie sie veröffentlicht wurde, mit vor jedem Build geprüftem Fingerabdruck. Korrekturen stehen als eigene Patches daneben, und der Build hält an und nennt den Patch, wenn einer nicht mehr passt — so kann eine Änderung nicht beim nächsten Update still verschwinden.

Die Technik hinter diesen Prüfungen — warum ein falsch geschriebener Funktionsname über die Grenze zweier Sprachen kein Compilerfehler ist, und wie ein richtiger Name mit falschem Typ eine Speichergrenze von 23 GB in 2,8 GB verwandelt hat, ohne je abzustürzen — steht in den Notizen, wo so etwas hingehört.