Künstliche Intelligenz

Wie JetBrains die lokale Ausführung von Qwen3.6 in Junie verbessert hat

JetBrains erläutert die Änderungen an Junie und der Inferenz-Engine, um Qwen3.6-27B lokal auf MacBooks mit M5-Chip auszuführen. Das Experiment zeigt, dass die Leistung lokaler Programmieragenten ebenso stark von der Kontextverwaltung und der Prefill-Phase abhängt wie von der Geschwindigkeit der Token-Generierung.

2026-08-24
7 Min. Lesezeit
10 Aufrufe
فريق تحرير certi.news
Wie JetBrains die lokale Ausführung von Qwen3.6 in Junie verbessert hat

JetBrains hat technische Details zur lokalen Ausführung der ersten Version von Junie Local auf einem MacBook M5 mit dem Modell Qwen3.6-27B veröffentlicht. Dabei erklärte das Unternehmen, dass eine praxistaugliche Leistung nicht allein durch die Wahl eines komprimierten Modells erreicht wurde, sondern Änderungen am Programmieragenten selbst, an der Inferenz-Engine, an den Modelleinstellungen und an der Art der Kontextverwaltung erforderte.

Das Unternehmen erklärt, dass das Projekt, Junie vollständig ohne Cloud-Inferenz auf dem Gerät auszuführen, ein langfristiges Vorhaben ist, das eine große Bandbreite an Hardwarekonfigurationen unterstützen soll. Die derzeit verfügbare erste Version konzentriert sich dagegen auf MacBooks mit M5, was den Fokus der angekündigten Optimierungen auf die Eigenschaften dieser Chips erklärt.

Den Aufgabenkontext innerhalb der Sitzung beibehalten

Junie arbeitet wie andere Programmieragenten in einer Ausführungsschleife: Der Benutzer sendet dem Modell eine Aufgabe, anschließend führt das Modell Tool-Aufrufe wie Bash-Befehle sowie das Lesen und Schreiben von Dateien aus, bevor es die Ergebnisse dieser Vorgänge an das Modell zurückgibt. Mit jeder neuen Anfrage wächst der Kontext, und die vom Modell in der vorherigen Anfrage verarbeiteten KV-Cache-Daten können wiederverwendet werden.

Bei Cloud-Modellen kann der Agent eine Datei bei Bedarf erneut anfordern, weil die Prefill-Phase, also die Verarbeitung des anfänglichen Kontexts vor der Antwortgenerierung, relativ schnell ist. JetBrains stellte jedoch fest, dass das Lesen von Dateien bei lokalen Modellen zeitaufwendig ist. Daher änderte das Unternehmen die Logik der lokalen Inferenz so, dass jede neue Anfrage direkt an den fortlaufenden Kontext angehängt wird, anstatt nur die für die neue Aufgabe relevant erscheinenden Teile zu verwenden. Dadurch bleibt die vom Modell gelesene Datei im Kontext, und der KV-Cache kann wiederverwendet werden, statt die Datei erneut zu verarbeiten.

Das Unternehmen änderte außerdem die Reihenfolge der Daten, die Junie beim Start einer neuen Codierungssitzung sendet, und ergänzte die Inferenz-Engine um eine Logik zum Zwischenspeichern des Präfixes bis zur Benutzeranfrage. Dadurch kann dieses Präfix bei späteren Aufgaben innerhalb desselben Projekts wiederverwendet werden. Der Projektkontext, der auf die Benutzeranfrage folgt, wird nicht auf dieselbe Weise gespeichert, weil er vergleichsweise klein ist und größtenteils aus Dateien der obersten Ebene besteht, die sich häufig ändern können.

Anpassungen an das Verhalten des Modells

Qwen3.6 verarbeitete Fortschrittsaktualisierungen nicht so, wie Junie es von Cloud-Modellen erwartet; das Modell ignorierte meist den XML-ähnlichen Block für Statusaktualisierungen, schrieb jedoch zusätzlich zu den Tool-Aufrufen eine Textbeschreibung seiner Aktionen. JetBrains nutzte dieses Verhalten und zeigte den erzeugten Text als Aktualisierung für den Benutzer an. Das Unternehmen weist darauf hin, dass diese Anpassung modellspezifisch ist, da andere Modelle möglicherweise überhaupt keinen Text ausgeben oder übermäßig viel Text erzeugen.

JetBrains deaktivierte außerdem optionale Anfragen an das Modell, darunter die Logik zur Erstellung einer kurzen Aufgabenbeschreibung. Das Unternehmen hält den begrenzten Verzicht bei der Benutzererfahrung im Gegenzug für weniger Anfragen für akzeptabel. Auch den Multi-Agenten-Modus deaktivierte es, weil die sequenzielle Verarbeitung auf einem M5 nach den eigenen Tests effizienter ist, während parallele Anfragen weiterhin durch die Inferenzgeschwindigkeit begrenzt wären.

Warum wurde Qwen3.6-27B ausgewählt?

JetBrains beschloss, Reasoning in der lokalen Version vollständig zu deaktivieren. Nach den internen Tests des Unternehmens mit der Cloud-Version von Qwen3.6-27B führte die Aktivierung des Reasonings nicht zu einem großen Qualitätszuwachs. Da Reasoning-Token zu den vom Inferenz-Engine erzeugten Token zählen, verringerte ihre Deaktivierung die erforderliche Token-Anzahl um etwa das Zwei- bis Dreifache. Das übersetzte sich laut Unternehmen in eine Beschleunigung der Aufgabenausführung von ungefähr dem Faktor zwei bei einer von JetBrains als unwesentlich beschriebenen Auswirkung auf die Qualität.

Das Unternehmen verwendete die 4-Bit-quantisierte Version, weil sie in den Benchmarks nur geringfügig schlechter als die 8-Bit-Version abschnitt und die speichergebundene Token-Generierung etwa doppelt so schnell wie bei der 8-Bit-Version war. Die Prefill-Geschwindigkeit unterschied sich in den ersten Tests jedoch nicht zwischen den 4-Bit-, 8-Bit- und 16-Bit-Versionen, woraufhin das Team die Rechenoperationen innerhalb der Engine untersuchte.

Der unsichtbare Engpass: die Prefill-Phase

Nach Angaben von JetBrains kann die Prefill-Geschwindigkeit auf einer RTX 5090 mit den Standardeinstellungen etwa 3.700 Token pro Sekunde erreichen, gegenüber etwa 650 Token pro Sekunde auf einem M5 vor der Optimierung. Bei Aufgaben zur Untersuchung von Dateien entfiel der größte Teil der Zeit auf die Kontextverarbeitung, nicht auf die Antwortgenerierung selbst.

Das Team stellte fest, dass ein großer Teil der Matrixoperationen während des Prefill mit 16-Bit-Präzision ausgeführt wurde, selbst wenn die Gewichte auf 4 Bit komprimiert waren, weil die Gewichte vor der Ausführung der Operationen in 16 Bit umgewandelt wurden. Da der M5 spezielle Instruktionen für Berechnungen mit 8-Bit-Präzision besitzt, implementierte JetBrains einen Patch für das MLX-VLM-Paket, um einige Matrixoperationen in den Self-Attention-Schichten auf 8 Bit umzustellen. Dadurch wurde die Prefill-Geschwindigkeit um etwa 40 % erhöht. Die Änderung umfasste nicht die Full-Attention-Schichten, deren Gewichte auch bei der Quantisierung in 16-Bit-Präzision bleiben.

Das Unternehmen begründet seinen derzeitigen Fokus auf den M5 ausdrücklich mit diesen Recheninstruktionen. M4-Chips verfügen nicht über sie, und JetBrains zufolge sind 16-Bit-Berechnungen auf dem M4 in der Prefill-Phase 20 % bis 30 % langsamer als auf dem M5.

Beschleunigung der Generierung und Auswahl des Modells

JetBrains aktivierte gemeinsam zwei Verfahren des Speculative Decoding: Multi-Token Prediction (MTP) mit einem separaten Draft-Modell sowie N-Gram-Matching, das nach wiederkehrenden Sequenzen im Kontext sucht, um die nächsten Token vorherzusagen. In manchen Fällen können etwa drei über MTP vorgeschlagene Token und bis zu acht zusätzliche Token über N-Gram-Matching akzeptiert werden, was die Generierung um bis zu den Faktor zwei beschleunigte.

Das Unternehmen erklärt, dass Qwen3.8-27B auf Mac-Geräten nicht die beste Wahl war, weil das Modell Reasoning benötigt, um gut zu funktionieren. Bei deaktiviertem Reasoning verschlechtert sich die Qualität stark, und das Modell kann in einer Schleife hängen bleiben, in der es denselben Tool-Aufruf wiederholt. Eine Aktivierung auf mittlerem Niveau erhöht dagegen die Zahl der erzeugten Token um etwa das Fünffache, was praktisch zu einer Verlangsamung um ungefähr den Faktor vier führt, weil sich die Prefill-Zeit kaum verändert. Daher bleibt Qwen3.6-27B nach der Bewertung von JetBrains derzeit die geeignetste Option, um Junie lokal auf Mac-Hardware auszuführen.

Einordnung von certi.news: Was ändert sich tatsächlich?

Dieses Experiment zeigt, dass die Messung eines lokalen Programmieragenten allein anhand der Zahl der pro Sekunde erzeugten Token ein unvollständiges Bild liefern kann. Der Benutzer wartet auch auf das Laden von Dateien, die Wiederverwendung des Kontexts und die Ausführung von Tool-Aufrufen – Phasen, die bereits vor Beginn der Generierung zum Engpass werden können. Praktisch verringern die Änderungen an Junie die Notwendigkeit, Dateien erneut zu lesen, während der Patch für MLX-VLM die Kontextverarbeitung auf dem M5 beschleunigt und die Deaktivierung des Reasonings die erforderliche Token-Anzahl reduziert.

Die Einschränkungen sind jedoch ebenfalls deutlich: Die erste Version konzentriert sich auf den M5, und die Deaktivierung des Reasonings ist möglicherweise für Modelle ungeeignet, die zur Aufrechterhaltung ihrer Qualität darauf angewiesen sind. Außerdem hängt der Nutzen der Fortschrittsaktualisierungen vom Verhalten von Qwen3.6 ab. JetBrains erklärt, über Prototypen zur Unterstützung von DGX Spark und RTX 5090 zu verfügen und auch Grafikkarten mit 24 GB Kapazität zu prüfen, doch der Artikel nennt weder einen Termin noch Spezifikationen für die Verfügbarkeit dieser Versionen. Junie Local stellt daher einen wichtigen technischen Schritt hin zu besser nutzbaren lokalen Programmieragenten dar, ist aber kein Beleg dafür, dass die Erfahrung bereits allen Cloud-Modellen gleichwertig oder auf allen Hardwaretypen verfügbar ist.

Nachrichtenquelle
ف
Autor

فريق تحرير certi.news

Aus derselben Kategorie

Das könnte Sie interessieren

Alle Nachrichten anzeigen