Here's our monthly status update — the previous one was in October 2025, so this one is long overdue.
Before getting into specifics: a lot of the progress this cycle is thanks to <@1396833489025892352>, who has carried much of the lc0 development effectively on his own, and whose work is a significant part of why we were competitive in the last TCEC season.
**lc0**
- ONNX got lots of attention (<@1396833489025892352> and borg): new `onnx-coreml` and `onnx-migraphx` backends, TensorRT improvements, better mish approximation, etc.
- Networks now can store weights in proper float16 format rather than lossy linear16. The networks we publish are still in old format though for compatibility with older lc0.
- CUDA backend had lots of optimizations too (<@1396833489025892352>, <@454171151417999372> and <@435088453957320712>): has CUTLASS fused multihead attention kernel, - CUDA graphs support, and better build infrastructure.
- Lots of optimizations and cleanups in the DAG search algorithm (again, <@1396833489025892352>). We are likely to promote `dag-preview` into `dag`, though we haven't decided yet whether to make it the default.
**Training**
We finished rewriting the training pipeline in JAX along with some surrounding infrastructure, and did a few experiments plugging the BT4 network into the RL loop. All attempts (e.g. resetting and retraining parts of the network) ended up just reaching previous strength. <@267067503140798474> has taken over running the training infrastructure.
Since January there have been interruptions to training. A storage server went offline during a data center move; a replacement was set up and copying started, but stopped at around 30%, and it's not clear whether the rest is recoverable.
Updating the training client has been a painful task that required lots of coordination of all clients — the last backwards-incompatible update was in 2021. We're setting up a way to run the client in an auto-updatable Docker container, so clients will update automatically and it'll be easier to introduce new features to selfplay generation.
**Plans**
Hopefully we'll have a new release [soon](<
https://github.com/LeelaChessZero/lc0/milestone/2>). After that, we're considering experimenting with different NN inputs and adding more heads (together with updating the training data format), or properly implementing action replay (with blunderbase that would automatically analyze positions). The World Chess Championship is also approaching, and we'll try to bring up the live annotation site again.
`lc3` hasn't seen much progress since August. With the DAG improvements landing, there's less urgency around it, so it's become a slower-burning track — it's not abandoned, and will still get some attention.
Hier ist unser monatliches Status-Update – das letzte stammt aus dem Oktober 2025, dieses hier ist also längst überfällig.
Bevor wir ins Detail gehen: Ein Großteil der Fortschritte in diesem Zyklus ist <@1396833489025892352> zu verdanken, der einen Großteil der lc0-Entwicklung praktisch im Alleingang vorangetrieben hat und dessen Arbeit maßgeblich dazu beigetragen hat, dass wir in der letzten TCEC-Saison konkurrenzfähig waren.
**lc0**
- ONNX hat viel Aufmerksamkeit erhalten (<@1396833489025892352> und borg): neue Backends `onnx-coreml` und `onnx-migraphx`, Verbesserungen bei TensorRT, bessere Mish-Approximation usw.
- Netzwerke können Gewichte nun im korrekten float16-Format statt im verlustbehafteten linear16-Format speichern. Die von uns veröffentlichten Netzwerke liegen jedoch aus Kompatibilitätsgründen mit älteren lc0-Versionen weiterhin im alten Format vor.
- Auch das CUDA-Backend wurde stark optimiert (<@1396833489025892352>, <@454171151417999372> und <@435088453957320712>): Es verfügt über einen CUTLASS-fusionierten Multihead-Attention-Kernel, - Unterstützung für CUDA-Graphen und eine verbesserte Build-Infrastruktur.
- Zahlreiche Optimierungen und Bereinigungen im DAG-Suchalgorithmus (wiederum <@1396833489025892352>). Wir werden `dag-preview` wahrscheinlich zu `dag` hochstufen, haben aber noch nicht entschieden, ob wir es zum Standard machen.
**Training**
Wir haben die Umschreibung der Trainingspipeline in JAX zusammen mit einigen zugehörigen Infrastrukturkomponenten abgeschlossen und einige Experimente durchgeführt, bei denen wir das BT4-Netzwerk in die RL-Schleife eingebunden haben. Alle Versuche (z. B. das Zurücksetzen und erneute Trainieren von Teilen des Netzwerks) führten letztendlich nur dazu, dass die vorherige Leistungsstärke erreicht wurde. <@267067503140798474> hat die Leitung der Trainingsinfrastruktur übernommen.
Seit Januar gab es Unterbrechungen beim Training. Ein Speicherserver ging während eines Umzugs des Rechenzentrums offline; ein Ersatz wurde eingerichtet und der Kopiervorgang gestartet, blieb jedoch bei etwa 30 % stehen, und es ist unklar, ob der Rest wiederherstellbar ist.
Die Aktualisierung des Trainings-Clients war eine mühsame Aufgabe, die viel Koordination aller Clients erforderte – das letzte abwärtsinkompatible Update erfolgte im Jahr 2021. Wir richten derzeit eine Möglichkeit ein, den Client in einem automatisch aktualisierbaren Docker-Container auszuführen, sodass Clients automatisch aktualisiert werden und es einfacher wird, neue Funktionen für die Selbstspiel-Generierung einzuführen.
**Pläne**
Hoffentlich gibt es [bald](<
https://github.com/LeelaChessZero/lc0/milestone/2>) eine neue Version. Danach erwägen wir, mit verschiedenen NN-Eingaben zu experimentieren und weitere Heads hinzuzufügen (zusammen mit einer Aktualisierung des Trainingsdatenformats) oder Action Replay ordnungsgemäß zu implementieren (mit einer Blunderbase, die Stellungen automatisch analysieren würde). Die Schachweltmeisterschaft rückt ebenfalls näher, und wir werden versuchen, die Live-Kommentar-Seite wieder in Betrieb zu nehmen.
Bei `lc3` gab es seit August kaum Fortschritte. Da die DAG-Verbesserungen nun umgesetzt sind, ist die Dringlichkeit geringer, sodass es zu einem langsamer voranschreitenden Projekt geworden ist – es wird jedoch nicht aufgegeben und wird weiterhin etwas Aufmerksamkeit erhalten.
Übersetzt mit DeepL.com (kostenlose Version)