[{"data":1,"prerenderedAt":1079},["ShallowReactive",2],{"blog-deepseek-v4-1-flash-1017-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":28,"sources":36,"cover":55,"og":56,"expertise":57,"locales":58,"lang":60,"title":62,"description":63,"coverAlt":64,"metaTitle":65,"takeaways":66,"faq":72,"toc":85,"blocks":125,"others":822},"deepseek-v4-1-flash-1017","2026-10-17",15,"llmops",[9,10,11,12,13],"DeepSeek","Open-weight models","KV cache","Mixture of experts","LLM cost",[15,16,17,18,19,20,21,22,23,24,25,26,27],"DeepSeek V4.1 Flash 1017","DeepSeek V4.1 Flash","Causal Encoder-Decoder","Compressed Sparse Attention 2","CSA2","FP4 KV cache","KV cache compression","SWA Bounded Replay","Engram conditional memory","DSpark speculative decoding","DeepSeek pricing","DeepSWE benchmark","open-weight coding model",[29,31,33],{"name":9,"url":30},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDeepSeek",{"name":12,"url":32},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMixture_of_experts",{"name":34,"url":35},"Transformer (deep learning architecture)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FTransformer_(deep_learning_architecture)",[37,40,43,46,49,52],{"title":38,"url":39},"DeepSeek-AI: DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression (arXiv:2609.19969)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2609.19969",{"title":41,"url":42},"Hugging Face: deepseek-ai\u002FDeepSeek-V4.1-Flash-1017 model card","https:\u002F\u002Fhuggingface.co\u002Fdeepseek-ai\u002FDeepSeek-V4.1-Flash-1017",{"title":44,"url":45},"OpenRouter: DeepSeek V4.1 Flash 1017, pricing and providers","https:\u002F\u002Fopenrouter.ai\u002Fdeepseek\u002Fdeepseek-v4.1-flash-1017",{"title":47,"url":48},"The Decoder: Deepseek V4.1 Flash 1017 beats larger rivals in agentic tasks while once again massively cutting per-task costs","https:\u002F\u002Fthe-decoder.com\u002Fdeepseek-v4-1-flash-1017-beats-larger-rivals-in-agentic-tasks-while-once-again-massively-cutting-per-task-costs\u002F",{"title":50,"url":51},"AI Weekly: DeepSeek opens V4.1-Flash-1017 weights and $0.75 Search API","https:\u002F\u002Faiweekly.co\u002Falerts\u002Fdeepseek-opens-v41-flash-1017-weights-and-075-search-api",{"title":53,"url":54},"DeepSeek on X: DeepSeek-V4.1-Flash-1017 announcement","https:\u002F\u002Fx.com\u002Fdeepseek_ai\u002Fstatus\u002F2111375640717033777","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fdeepseek-v4-1-flash-1017\u002Fog.jpg","ai-engineer",[59,60,61],"en","de","hu","DeepSeek V4.1 Flash 1017: 890 Byte KV-Cache pro Token, und was ein Agent davon hat","Technischer Deep Dive zu DeepSeek V4.1 Flash 1017: Encoder-Decoder-Aufteilung, CSA2-Cache-Sharing, FP4-KV-Cache, Benchmarks und die echten Kosten pro Agenten-Task.","Links ein hoher Stapel dünner Karten, ein Pfeil, rechts dieselben Karten auf ein Viertel der Höhe zusammengepresst.","DeepSeek V4.1 Flash 1017 im Detail · Balázs Csorba",[67,68,69,70,71],"DeepSeek V4.1 Flash 1017, veröffentlicht am 17. Oktober 2026, ist ein Post-Training-Update von V4.1 Flash: dasselbe 552B-Backbone, 8B aktive Parameter im Prefill und 16B im Decode, 1M Token Kontext, Gewichte unter MIT-Lizenz.","Die Architektur ist um den KV-Cache herum gebaut: Encoder-Decoder-Aufteilung, schichtübergreifendes Cache-Sharing (CSA2) und ein FP4-Hauptcache drücken den HBM-Cache auf 890 Byte pro Token, etwa ein Viertel von V4 Flash.","Laut DeepSeeks eigenen Zahlen erreicht 1017 77,0 auf DeepSWE v1.1 (Opus 5: 74,0) und 42,3 auf Terminal-Bench 4.0 (vorher 31,2), liegt bei HLE, Terminal-Bench 4.0 und ProgramBench aber klar hinter Opus 5.","Die Preise liegen bei 0,15 $ Input, 0,60 $ Output und 0,003 $ für Cache-Reads pro Million Token, verdoppelt in zwei Spitzenfenstern an Werktagen (UTC). Cache-Treffer sind 50-mal billiger als frischer Input.","Das Release ist vor allem eine Kostengeschichte: DeepSeeks Grafik zeigt knapp unter 0,20 $ pro DeepSWE-Task, gegenüber etwa 0,50 $ beim Vorgänger und 2 bis über 10 $ bei geschlossenen Frontier-Modellen.",[73,76,79,82],{"q":74,"a":75},"Was ist DeepSeek V4.1 Flash 1017?","Es ist der Snapshot von DeepSeek V4.1 Flash vom 17. Oktober 2026, ein multimodales Mixture-of-Experts-Modell mit offenen Gewichten, 552B Backbone-Parametern, 196B Engram-Speicherparametern und 1M Token Kontext. DeepSeek nennt es ein kleines Update: gleiche Architektur, neues Post-Training, bessere Benchmarks und kürzere Ausgaben.",{"q":77,"a":78},"Warum aktiviert es 8B Parameter beim Input, aber 16B beim Output?","Wegen des Causal-Encoder-Decoder-Designs. Der globale KV-Cache des Decoders wird aus der letzten Encoder-Schicht projiziert, daher müssen Prompt-Token im Prefill nur die 20 Encoder-Schichten durchlaufen. Generierte Token laufen durch alle 40 Schichten. Bei inputlastigen Agenten-Workloads halbiert das den Prefill-Aufwand fast.",{"q":80,"a":81},"Was kostet DeepSeek V4.1 Flash 1017?","Laut OpenRouter am 17. Oktober 2026: 0,15 $ pro Million Input-Token, 0,60 $ pro Million Output-Token und 0,003 $ pro Million gecachter Input-Token. An Werktagen zwischen 01:00 und 04:00 UTC sowie zwischen 06:00 und 10:00 UTC verdoppeln sich alle drei Preise.",{"q":83,"a":84},"Kann ich DeepSeek V4.1 Flash 1017 selbst betreiben?","Ja, die Gewichte liegen unter MIT-Lizenz auf Hugging Face und ModelScope, inklusive Inferenzcode. Praktisch ist das ein Multi-GPU-Deployment: rund 750B Parameter inklusive der Engram-Tabellen, die DeepSeeks eigener Stack im Hauptspeicher hält und per RDMA vorlädt.",[86,89,92,95,98,101,104,107,110,113,116,119,122],{"id":87,"title":88},"at-a-glance","Das Modell im Überblick",{"id":90,"title":91},"why-kv-cache","Warum der KV-Cache der eigentliche Engpass ist",{"id":93,"title":94},"causal-encoder-decoder","Causal Encoder-Decoder: warum der Prefill nur 8B Parameter nutzt",{"id":96,"title":97},"csa2","CSA2: die meisten Schichten haben keinen eigenen Cache",{"id":99,"title":100},"fp4-and-890-bytes","FP4-KV-Cache und das 890-Byte-Budget",{"id":102,"title":103},"other-components","Engram, DSpark und Single-Pass mHC",{"id":105,"title":106},"training","Training: 45T Token, sparse ab dem ersten Schritt",{"id":108,"title":109},"what-1017-changes","Was das Update 1017 ändert",{"id":111,"title":112},"cost-per-task","Die eigentliche Schlagzeile: Kosten pro Task",{"id":114,"title":115},"using-it","Aufrufen und selbst betreiben",{"id":117,"title":118},"limitations","Grenzen, die man kennen sollte",{"id":120,"title":121},"what-i-would-do","Was ich damit machen würde",{"id":123,"title":124},"sources","Quellen",[126,144,151,158,161,219,220,229,232,233,244,247,254,255,261,264,283,286,328,339,342,345,346,353,363,366,369,370,373,390,393,394,397,404,406,414,429,430,441,448,647,650,656,657,664,674,686,693,694,716,718,731,733,734,754,755,781,789,790],{"type":127,"content":128},"paragraph",[129,130,134,135,139,140,143],"DeepSeek hat heute Morgen ",{"tag":131,"children":132},"strong",[133],"V4.1 Flash 1017"," veröffentlicht: einen datierten Snapshot des V4.1-Flash-Modells, verfügbar über die DeepSeek-API, über ",{"tag":136,"href":45,"children":137},"a",[138],"OpenRouter"," und als Gewichte unter MIT-Lizenz auf ",{"tag":136,"href":42,"children":141},[142],"Hugging Face",". Die meisten Berichte führen mit einem Benchmark: 77,0 auf DeepSWE v1.1, vor Claude Opus 5. Die Zahl stimmt, ist aber das am wenigsten Interessante an diesem Modell.",{"type":127,"content":145},[146,147,150],"Interessant ist die Architektur darunter, beschrieben im ",{"tag":136,"href":39,"children":148},[149],"technischen Bericht zu V4.1 Flash",". Fast jede Designentscheidung darin beantwortet eine Frage: Wie klein kann der KV-Cache werden, bevor die Qualität leidet? Die Antwort lautet 890 Byte pro Token. Dieser Artikel zeigt, wie DeepSeek dorthin kommt, was das 1017-Update ändert, was die Benchmarks aussagen und was nicht, und was ein Agent darauf kostet.",{"type":152,"variant":153,"title":154,"body":155},"callout","note","Zwei Dokumente, ein Modell",[156],[157],"Die Architektur stammt aus dem technischen Bericht zu V4.1 Flash (arXiv, 17. September 2026). Die Model Card von 1017 nennt das neue Release ein kleines Update von V4.1 Flash: Die Architektur bleibt gleich, die Unterschiede liegen im Post-Training. Alles, was speziell 1017 betrifft, stammt aus der Model Card und der Berichterstattung zum Launch, nicht aus dem Paper.",{"type":159,"level":160,"id":87,"text":88},"heading",2,{"type":162,"head":163,"rows":168},"table",[164,166],[165],"Eigenschaft",[167],"Wert",[169,174,179,184,189,194,199,204,209,214],[170,172],[171],"Typ",[173],"Multimodaler Mixture-of-Experts-Transformer, Text und Bild rein, Text raus",[175,177],[176],"Backbone-Parameter",[178],"552B",[180,182],[181],"Engram-Speicherparameter",[183],"196B",[185,187],[186],"Aktiv pro Token",[188],"8B im Prefill, 16B im Decode",[190,192],[191],"Schichten",[193],"40: 20 Schichten kausaler Encoder, 20 Schichten Decoder",[195,197],[196],"Experten pro MoE-Schicht",[198],"1 geteilt, 384 geroutet, 6 aktiv",[200,202],[201],"Kontext",[203],"1M Token (1.048.576)",[205,207],[206],"Globaler KV-Cache",[208],"890 Byte pro Token",[210,212],[211],"Pre-Training",[213],"45T multimodale Token",[215,217],[216],"Lizenz",[218],"MIT",{"type":159,"level":160,"id":90,"text":91},{"type":127,"content":221},[222,223,228],"Ein Coding-Agent sieht nicht aus wie ein Chatbot. Jeder Turn schickt eine lange, wachsende Historie erneut, Tool-Ergebnisse werden angehängt, und das Modell schreibt vergleichsweise wenig. Die Last ist inputlastig, und teuer ist, was mit dem Input skaliert: Prefill-Rechenzeit für Token ohne Cache-Treffer und der Speicher für den KV-Cache all dieser Token. Wer meinen Artikel zu ",{"tag":224,"to":225,"children":226},"link","\u002Fblog\u002Fcontext-rot-compaction-long-running-agents",[227],"Context Rot und Compaction"," kennt: Das hier ist die Infrastrukturseite desselben Problems.",{"type":127,"content":230},[231],"DeepSeek V4 hat die Attention bereits in zwei Zweige geteilt: einen Sliding-Window-Zweig (SWA), der nur die letzten Token sieht und festen Speicher kostet, und einen komprimierten globalen Zweig über den gesamten Kontext. Bei langen Sequenzen dominiert der globale Zweig den Speicher, und der muss im GPU-Speicher (HBM) liegen. Dazu kommen Caches, die für Prefix-Wiederverwendung auf SSD oder im Hauptspeicher persistiert werden und deren Transport Bandbreite kostet. V4.1 Flash greift alle drei an: Rechenzeit, HBM und persistenten Speicher.",{"type":159,"level":160,"id":93,"text":94},{"type":127,"content":234},[235,236,239,240,243],"Die erste Idee stammt von YOCO (You Only Cache Once) und wird erweitert. Die 40 Schichten werden in einen ",{"tag":131,"children":237},[238],"kausalen Encoder"," mit 20 Schichten und einen ",{"tag":131,"children":241},[242],"Decoder"," mit 20 Schichten geteilt. In einem normalen Transformer berechnet jede Schicht Keys und Values aus ihrem eigenen Hidden State. Hier nicht: Die globalen KV-Einträge der Decoder-Schichten werden direkt aus dem Hidden State der letzten Encoder-Schicht projiziert, mit einer eigenen gelernten Projektion pro Decoder-Schicht.",{"type":127,"content":245},[246],"Daraus folgt die asymmetrische Parameterzahl. Für ein Prompt-Token muss das Modell nur die Encoder-Hälfte rechnen, um jeden globalen KV-Eintrag zu erzeugen, den der Decoder später liest. Deshalb aktiviert der Prefill 8B Parameter pro Token. Ein generiertes Token muss durch alle 40 Schichten, also aktiviert der Decode 16B. Das Paper beziffert die Prefill-Komplexität mit O(N·L\u002F2) statt O(N·L): ungefähr halber Rechenaufwand für jedes Token ohne Cache-Treffer. In einem Agenten-Loop ist das jedes Tool-Ergebnis.",{"type":127,"content":248},[249,250,253],"Einen Haken gibt es. Der Sliding-Window-Zweig berechnet Keys und Values weiterhin pro Schicht aus deren eigenem Hidden State, damit die lokale Verarbeitung tief bleibt. Um den SWA-Cache des Decoders exakt zu füllen, müsste man Fenster × L\u002F2 Token durch den Decoder schicken. DeepSeeks Antwort ist ",{"tag":131,"children":251},[252],"Decoder SWA Bounded Replay",": nur die letzten 128 Token (die Fenstergröße) neu durchrechnen und einen angenäherten Zustand akzeptieren. Laut Paper ist der Qualitätsverlust vernachlässigbar, und der Replay wird im Post-Training simuliert, damit das Modell lernt, damit umzugehen.",{"type":159,"level":160,"id":96,"text":97},{"type":127,"content":256},[257,258,260],"Einen KV-Cache kann man entlang dreier Achsen verkleinern: kleinere Einträge (GQA oder MLA mit gemeinsamem Latent), weniger Einträge entlang der Sequenz (je m Token zu einem komprimieren) oder weniger Kopien über die Schichten. ",{"tag":131,"children":259},[18]," ist DeepSeeks Versuch, alle drei gleichzeitig zu nutzen. Wie beim CSA aus V4 hat jede Schicht einen leichten Indexer, der die komprimierten globalen KV-Einträge bewertet und pro Query die besten 512 auswählt; die Query attendiert dann auf diese 512 Einträge plus ihr lokales Fenster.",{"type":127,"content":262},[263],"Neu ist die schichtübergreifende Wiederverwendung. Jede CSA2-Schicht bekommt fest einen von drei Modi:",{"type":265,"ordered":266,"items":267},"list",false,[268,273,278],[269,272],{"tag":131,"children":270},[271],"Full Mode"," berechnet einen eigenen Haupt-KV, projiziert daraus die Indexer-Keys und wählt mit dem Indexer frische Top-512-Indizes. Das entspricht einer CSA-Schicht in V4.",[274,277],{"tag":131,"children":275},[276],"Reindex Mode"," nutzt Haupt-KV und Indexer-Keys der letzten Full-Schicht, berechnet aber eine eigene Indexer-Query und wählt eigene Top-512. Der Cache wird geteilt, die Auswahl kann sich unterscheiden.",[279,282],{"tag":131,"children":280},[281],"Reuse Mode"," übernimmt Cache und die letzten Indizes und geht direkt in die Sparse Attention. Keinerlei Indexer-Arbeit.",{"type":127,"content":284},[285],"In allen drei Modi berechnet jede Schicht weiterhin eine eigene Query und einen eigenen Sliding-Window-KV, die Schichten werden also keine Kopien voneinander. So sind die 40 Schichten tatsächlich angeordnet:",{"type":162,"head":287,"rows":295},[288,290,291,293],[289],"Block",[191],[292],"Attention",[294],"Anordnung",[296,305,313,321],[297,299,301,303],[298],"Encoder",[300],"0–1",[302],"nur SWA",[304],"—",[306,307,309,311],[298],[308],"2–19",[310],"CSA2, Kompression m = 2",[312],"3 Gruppen à 6: 1 Full + 5 Reuse",[314,315,317,319],[242],[316],"20–23",[318],"CSA2, m = 1",[320],"1 Full + 3 Reuse",[322,323,325,326],[242],[324],"24–39",[318],[327],"4 Gruppen à 4: 1 Reindex + 3 Reuse",{"type":127,"content":329},[330,331,334,335,338],"Nachgezählt: Von 38 Schichten mit globaler Attention berechnen nur ",{"tag":131,"children":332},[333],"4"," einen eigenen Haupt-KV, 4 weitere lassen einen Indexer über einen geteilten Cache laufen, und ",{"tag":131,"children":336},[337],"30"," verwenden nur wieder. Die einzige Full-Schicht des Decoders nutzt Kompression m = 1, der Decoder liest also unkomprimierte Einträge, während der Encoder mit halber Auflösung cacht. CSA2 vereinfacht auch den Kompressor: CSA in V4 baute jeden komprimierten Eintrag aus 2m überlappenden Quelleinträgen mit absolutem Positions-Embedding; CSA2 streicht Überlappung und Positions-Embedding und gewinnt die Indexer-Keys durch Projektion des Haupt-KV statt über einen eigenen Kompressionspfad. Weniger bewegliche Teile, schnelleres Training.",{"type":159,"level":340,"text":341},3,"Der hierarchische Sparse-Indexer",{"type":127,"content":343},[344],"Wiederverwendung senkt die Zahl der Indexer-Durchläufe, aber jeder verbleibende Indexer bewertet weiterhin den gesamten sichtbaren Kontext, der linear mit der Länge wächst. Im Decoder übernimmt die erste Full-Schicht deshalb eine Doppelrolle: Neben ihren eigenen Top-512 bewertet sie Blöcke zu je 8 Positionen nach ihrem maximalen Indexwert und behält die besten 2.048 Blöcke, einen Kandidatenpool von 16.384 Positionen. Die späteren Reindex-Schichten bewerten nur innerhalb dieses Pools. Bei fester Poolgröße sind ihre Kosten pro Query konstant statt linear in der Kontextlänge. Das Verfahren kommt im Post-Training hinzu und läuft in Training und Inferenz identisch, die tieferen Indexer lernen also unter derselben Einschränkung, mit der sie später arbeiten.",{"type":159,"level":160,"id":99,"text":100},{"type":127,"content":347},[348,349,352],"Der dritte Hebel ist die Präzision. V4 nutzte FP4 bereits für Indexer-Queries und -Keys; V4.1 Flash erweitert das quantisierungsbewusste Training auf den ",{"tag":131,"children":350},[351],"Haupt-KV-Cache",". Das Format sind E2M1-Werte mit einer E4M3-Skala pro 16 Kanäle, also NVFP4 ohne die zweite, globale Skala. Darauf zu verzichten ist hier sicher, weil die Werte begrenzt sind: Nach RMSNorm und RoPE kann der 512-kanalige KV-Latent pro Kanal nicht über etwa √512 ≈ 22,6 liegen, im Training lag das beobachtete Maximum bei rund 10, und das Format reicht bis 448 × 6 = 2.688. Quantisiert wird nach RoPE. Der Sliding-Window-Cache bleibt in FP8, weil er laut Paper zu empfindlich auf Quantisierung reagiert.",{"type":127,"content":354},[355,356,358,359,362],"Zusammen bringen die drei Hebel den globalen Cache, also den Teil, der im HBM bleiben muss, auf ",{"tag":131,"children":357},[208],": etwa ein Viertel von V4 Flash und laut DeepSeeks Grafik 437-mal kleiner als bei DeepSeek V1. Bei vollen 1M Token Kontext sind das rund 0,9 GB globaler Cache pro Sequenz. Dazu kommt ",{"tag":131,"children":360},[361],"Encoder SWA Bounded Replay",": Der Sliding-Window-Zustand wird gar nicht in den persistenten Prefix-Cache geschrieben; bei einem Cache-Treffer rechnet das Modell die letzten 128 Token des gecachten Prefixes neu und baut daraus einen angenäherten lokalen Zustand. Das senkt den persistenten Bedarf auf SSD oder im Hauptspeicher auf etwa ein Achtel von V4 Flash.",{"type":127,"content":364},[365],"Lassen sich die 890 nachrechnen? Ungefähr, unter Annahmen, die das Paper nicht ausbuchstabiert. Wenn jeder Haupt-KV-Eintrag der 512-kanalige Latent mit 4,5 Bit ist (288 Byte) und jeder Indexer-Key 128 Kanäle zum selben Satz (72 Byte), kostet der eine geteilte Cache des Decoders bei m = 1 360 Byte pro Token und die drei Full-Schicht-Caches des Encoders bei m = 2 3 × 180 = 540. Das sind rund 900 Byte, nah an der veröffentlichten Zahl. Das ist meine Überschlagsrechnung, nicht DeepSeeks Aufschlüsselung; sie zeigt vor allem, dass die Zahl davon dominiert wird, wie wenige Schichten einen eigenen Cache haben.",{"type":127,"content":367},[368],"Die Rechenseite folgt derselben Kurve. Abbildung 2 im Paper zeigt: Eine 256-fache Verlängerung des Kontexts, von 4K auf 1M Token, erhöht die Decode-FLOPs pro Token nur um etwa ein Viertel. Die Decode-Kosten sind nahezu unabhängig von der Kontextlänge, und genau das will man bei einem lang laufenden Agenten.",{"type":159,"level":160,"id":102,"text":103},{"type":127,"content":371},[372],"Drei weitere Komponenten sind für die Cache-Geschichte weniger zentral, erklären aber die Parameterzahl und die Geschwindigkeit im Betrieb:",{"type":265,"ordered":266,"items":374},[375,380,385],[376,379],{"tag":131,"children":377},[378],"Engram"," ist ein bedingtes Speichermodul, das Auswendiglernen von Rechnen trennt: gehashte N-Gramm-Lookups (Ordnungen 2, 3 und 4, acht Hash-Heads, Tabellen mit je etwa 16M Einträgen) speisen Embeddings in den Residual-Stream. Die 196B Parameter liegen in zwei Modulen auf den Schichten 1 und 14, gespeichert in FP8. Da die Adressierung deterministisch aus den Input-Token folgt, kann der Serving-Stack die Zeilen per RDMA aus dem Hauptspeicher vorladen, während der erste Transformer-Block rechnet. Diese Parameter brauchen also keinen GPU-Speicher.",[381,384],{"tag":131,"children":382},[383],"DSpark"," ersetzt das Multi-Token-Prediction-Modul aus V3 durch einen separat trainierten spekulativen Decoder: Drei Transformer-Blöcke mit 128-Token-Fenster entwerfen fünf Positionen in einem Durchlauf, ein kleiner Markov-Head modelliert Abhängigkeiten zwischen den Entwurfs-Token, und ein Confidence-Head schätzt die Akzeptanz, damit der Scheduler die Verifikationslänge pro Request je nach Last wählen kann. Trainiert wird DSpark nach dem Pre-Training bei eingefrorenem Backbone und während des RL synchron gehalten, es beschleunigt also auch die Rollouts.",[386,389],{"tag":131,"children":387},[388],"Single-Pass mHC"," ändert die Multi-Stream-Residualverbindung aus V4 (vier Residual-Streams). Jeder Block nutzt jetzt die Input-Mixing-Koeffizienten des vorherigen Blocks. Das löst eine Datenabhängigkeit auf, sodass ein einziger fusionierter Kernel das Residual einmal liest und einmal schreibt. Laut Paper halbiert das den Aktivierungs-Speicherverkehr von (4n + 4)·d auf (2n + 2)·d, bei vernachlässigbarem Qualitätsverlust.",{"type":127,"content":391},[392],"Bildeingabe ist nativ und nicht nachgerüstet. Ein DeepSeek-ViT-Encoder (32 Schichten, Patchgröße 14, 2D-RoPE) speist das Backbone über ein 3 × 3 Pixel-Unshuffle, das die Zahl der visuellen Token um den Faktor neun senkt und Eingaben bis etwa 1344 × 1344 Pixel erlaubt. Text- und Bild-Token haben im MoE-Router getrennte Load-Balancing-Biases, damit eine Modalität kein Experten-Ungleichgewicht in der anderen verdeckt.",{"type":159,"level":160,"id":105,"text":106},{"type":127,"content":395},[396],"Das Pre-Training lief auf 45T Token im Verhältnis 7 : 1 von reinen Text- zu multimodalen Daten, mit einer festen Batchgröße von 100,6M Token. Sparse Attention wurde von Anfang an bei 64K Sequenzlänge trainiert, ohne dichte Aufwärmphase, und bei 34T Token auf 1M erweitert. Die Lernrate lag bis 28T Token bei 2,6 × 10⁻⁴, fiel per Kosinus-Schedule bis 40T auf 2,6 × 10⁻⁵ und blieb dort bis zum Ende. Instabilitäten meldet das Paper keine.",{"type":127,"content":398},[399,400,403],"Das Optimierer-Setup lohnt einen Blick, wenn man selbst Modelle trainiert. Gewichtsmatrizen nutzen Muon, für Query- und Key-Gewichte ",{"tag":131,"children":401},[402],"head-wise Muon",", sodass jeder Attention-Head einen eigenen Preconditioner bekommt. Die großen embedding-artigen Matrizen (Engram-Tabellen, Token-Embedding, Output-Head) verzichten auf Adam, dessen Optimiererzustand bei 196B Parametern riesig wäre, zugunsten eines Momentum-Updates mit anschließendem Sinkhorn-Balancing, das Zeilen- und Spalten-RMS angleicht. Laut DeepSeek schlägt das Adam und braucht nur einen Momentum-Puffer. Ergebnis: V4.1-Flash-Base erreicht bei Wissen, Reasoning und Coding das Niveau von V4-Pro-Base, mit einem Drittel der Gesamt- und einem Viertel der aktiven Parameter.",{"type":159,"level":340,"text":405},"Reasoning-Effort als trainierter Regler",{"type":127,"content":407},[408,409,413],"Das Post-Training-Rezept ist absichtlich unspektakulär: Supervised Fine-Tuning, RL und On-Policy-Distillation wie bei V4, mit dem Aufwand in synthetisierten Agenten-Tasks und -Umgebungen. Ein Mechanismus ist für jeden wichtig, der das Modell betreibt. Während des RL enthält der System-Prompt eine Zeile ",{"tag":410,"children":411},"code",[412],"Reasoning Effort: {effort}"," mit einem Wert von 1 bis 100, und die Belohnung enthält eine Längenstrafe auf Reasoning-Token, deren Koeffizient mit steigendem Effort-Wert exponentiell sinkt. Die Belohnungen werden innerhalb jedes Effort-Levels normalisiert, das Modell lernt also pro Level ein eigenes Längenbudget statt eines Kompromisses.",{"type":127,"content":415},[416,417,420,421,424,425,428],"Die öffentliche API bietet drei Presets, die auf diesen Wert abgebildet werden: ",{"tag":131,"children":418},[419],"max"," = 100, ",{"tag":131,"children":422},[423],"high"," = 75, ",{"tag":131,"children":426},[427],"low"," = 50. Wer selbst hostet, ist nicht auf die Presets beschränkt: Laut Paper interpolieren Zwischenwerte zwischen den trainierten Stufen.",{"type":159,"level":160,"id":108,"text":109},{"type":127,"content":431},[432,433,436,437,440],"1017 behält die Architektur und ändert die Policy. DeepSeeks ",{"tag":136,"href":54,"children":434},[435],"Ankündigung"," spricht von einer Pareto-Verbesserung: bessere Werte, schnellere Erledigung und kürzere Ausgaben zugleich, abgestimmt auf DeepSeeks eigenen Harness und Agenten wie Tencent CodeBuddy. ",{"tag":136,"href":48,"children":438},[439],"The Decoder"," berichtet, dass das Update für den Bau kompletter Projekte Reinforcement Learning mit Self-Feedback (RLSF) nutzt, bei dem die eigene Konfidenz oder Selbstkritik des Modells als Belohnungssignal dient. Die Model Card beschreibt die Methode nicht im Detail, das ist also berichtet, nicht dokumentiert.",{"type":127,"content":442},[443,444,447],"Hier die Zahlen aus der ",{"tag":136,"href":42,"children":445},[446],"Model Card",", alle von DeepSeek selbst gemeldet:",{"type":162,"head":449,"rows":463},[450,452,453,455,457,459,461],[451],"Benchmark",[133],[454],"V4.1 Flash",[456],"Kimi K3",[458],"GLM-5.3",[460],"GPT-5.6 Sol",[462],"Opus 5",[464,481,498,515,532,548,565,582,599,615,631],[465,467,469,471,473,475,477],[466],"HLE, ohne Tools",[468],"42.6",[470],"36.8",[472],"43.5",[474],"42.0",[476],"44.5",[478],{"tag":131,"children":479},[480],"56.3",[482,484,486,488,490,492,494],[483],"Terminal-Bench 4.0",[485],"42.3",[487],"31.2",[489],"12.6",[491],"37.9",[493],"39.9",[495],{"tag":131,"children":496},[497],"51.8",[499,501,505,507,509,511,513],[500],"DeepSWE v1.1",[502],{"tag":131,"children":503},[504],"77.0",[506],"74.2",[508],"67.5",[510],"66.9",[512],"73.0",[514],"74.0",[516,518,520,522,524,526,528],[517],"ProgramBench",[519],"29.1",[521],"20.3",[523],"17.5",[525],"19.0",[527],"23.0",[529],{"tag":131,"children":530},[531],"37.0",[533,535,537,539,541,542,544],[534],"NL2Repo-Bench",[536],"68.2",[538],"65.4",[540],"58.0",[540],[543],"56.8",[545],{"tag":131,"children":546},[547],"75.3",[549,551,555,557,559,561,563],[550],"Automation-Bench v1.0.6",[552],{"tag":131,"children":553},[554],"60.5",[556],"54.8",[558],"46.7",[560],"48.8",[562],"45.8",[564],"50.3",[566,568,572,574,576,578,580],[567],"Agents' Last Exam",[569],{"tag":131,"children":570},[571],"35.4",[573],"31.8",[575],"27.6",[577],"28.5",[579],"26.7",[581],"28.6",[583,585,589,591,593,595,597],[584],"Apex Bench v1.1",[586],{"tag":131,"children":587},[588],"72.1",[590],"64.6",[592],"47.8",[594],"56.6",[596],"54.3",[598],"65.8",[600,602,604,606,608,609,611],[601],"Chartography (Tools)",[603],"83.0",[605],"78.9",[607],"68.1",[304],[610],"79.9",[612],{"tag":131,"children":613},[614],"84.0",[616,618,620,622,624,625,627],[617],"BabyVision (Tools)",[619],"92.5",[621],"89.6",[623],"85.7",[304],[626],"88.9",[628],{"tag":131,"children":629},[630],"94.1",[632,634,636,638,640,641,645],[633],"ZeroBench-main (Tools)",[635],"51.0",[637],"49.0",[639],"41.0",[304],[642],{"tag":131,"children":643},[644],"53.0",[646],"52.0",{"type":127,"content":648},[649],"Die Tabelle lässt sich in zwei Richtungen lesen. Gegenüber dem Vorgänger verbessert sich 1017 in jeder Zeile, am stärksten dort, wo Agenten im Terminal arbeiten oder ganze Programme bauen: Terminal-Bench 4.0 +11,1, ProgramBench +8,8, Apex +7,5, HLE +5,8. Gegenüber Opus 5 ist das Bild geteilt. Flash gewinnt bei Workflow-artigen Agenten-Benchmarks (DeepSWE, Automation-Bench, Agents' Last Exam, Apex) und verliert klar bei schwerem Reasoning und tiefer Softwareentwicklung: 14 Punkte bei HLE, 9,5 bei Terminal-Bench 4.0, 8 bei ProgramBench, 7 bei NL2Repo. Der technische Bericht sagt es selbst: Bei wissenschaftlich geprägten Agenten-Aufgaben mit Expertenwissen bleibt eine Lücke zu den großen Modellen.",{"type":152,"variant":651,"title":652,"body":653},"warn","Herstellerzahlen, Hersteller-Harnesses",[654],[655],"Jeder Wert oben stammt von DeepSeek, gemessen mit Harnesses nach DeepSeeks Wahl (Claude Code für Terminal-Bench 4.0, Mini-SWE-V2 für DeepSWE). Unabhängige Ergebnisse lagen beim Schreiben noch nicht vor. Ein Benchmark ist eine Vorauswahl, keine Entscheidung: Eigene Evals laufen lassen, bevor Produktionsverkehr umgeleitet wird.",{"type":159,"level":160,"id":111,"text":112},{"type":127,"content":658},[659,660,663],"Bei den kürzeren Ausgaben zahlt sich das Update aus. DeepSeeks Kostengrafik für DeepSWE, wie The Decoder berichtet, zeigt 1017 bei 77,0 % für knapp unter ",{"tag":131,"children":661},[662],"0,20 $ pro Task",". Bei niedrigem Effort schafft es noch 72 % für etwa 0,10 $. Das bisherige V4.1 Flash lag bei 74,2 % für rund 0,50 $. Dieselbe Grafik platziert GPT-6 Astra, Gemini 3.8 Flash und Claude Opus 5 zwischen 2 $ und über 10 $ pro Task. Gleicher Vorbehalt wie oben: Das ist die Grafik des Herstellers, und Genauigkeit pro Dollar kann bei den eigenen Aufgaben anders aussehen.",{"type":127,"content":665},[666,667,669,670,673],"Der Listenpreis auf ",{"tag":136,"href":45,"children":668},[138]," liegt bei 0,15 $ pro Million Input-Token, 0,60 $ pro Million Output-Token und ",{"tag":131,"children":671},[672],"0,003 $ pro Million Cache-Reads",", bei 1M Kontext und bis zu 393.216 Output-Token. Ein Detail fehlt in den meisten Berichten: Die Preise hängen von der Tageszeit ab. An Werktagen von 01:00 bis 04:00 UTC und von 06:00 bis 10:00 UTC, also während des Pekinger Arbeitstags, verdoppeln sich alle drei Sätze. Batch-Jobs außerhalb dieser Fenster zahlen die Hälfte.",{"type":127,"content":675},[676,677,680,681,685],"Entscheidend ist das Verhältnis von Cache-Read zu frischem Input: 50 zu 1. Nehmen wir eine beispielhafte Agenten-Session mit 50 Turns, jeweils 200K Token Kontext, davon 195K gecachter Prefix, 5K neue Token und 2K Token Output. Pro Turn sind das etwa 0,0006 $ für Cache-Reads, 0,00075 $ für frischen Input und 0,0012 $ für Output, also rund ",{"tag":131,"children":678},[679],"0,13 $ für die ganze Session"," außerhalb der Spitzenzeit. Bricht der Prefix, sodass nichts gecacht ist, kostet allein der Input 0,03 $ pro Turn, 1,50 $ pro Session: mehr als das Zehnfache für dieselbe Arbeit. Die Architektur macht den Cache billig im Vorhalten; ob man ihn nutzen kann, entscheidet die Prompt-Struktur. Wie man den Prefix stabil hält, zeigt mein ",{"tag":224,"to":682,"children":683},"\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing",[684],"Leitfaden zu Prompt-Caching und Routing",".",{"type":127,"content":687},[688,689,692],"Zusammen mit dem Modell hat DeepSeek seine hauseigenen ",{"tag":131,"children":690},[691],"Search- und Fetch-APIs"," geöffnet: 0,75 $ pro 1.000 erfolgreiche Requests, begrenzt auf 5 Requests pro Sekunde und Account. Aufrufe als serverseitige Tools über DeepSeek Harness, Claude Code oder Codex sind bis Ende Oktober 2026 kostenlos.",{"type":159,"level":160,"id":114,"text":115},{"type":127,"content":695},[696,697,700,701,704,705,708,709,712,713,685],"Über OpenRouter ist das Modell eine normale OpenAI-kompatible Chat Completion. Die Model Card empfiehlt ",{"tag":410,"children":698},[699],"temperature"," und ",{"tag":410,"children":702},[703],"top_p"," von 1,0 und ein ",{"tag":410,"children":706},[707],"max_tokens","-Budget von mindestens 256K für lange Agentenläufe; das Effort-Preset läuft über OpenRouters ",{"tag":410,"children":710},[711],"reasoning","-Parameter. In DeepSeeks eigener API heißt das Modell ",{"tag":410,"children":714},[715],"deepseek-flash",{"type":410,"code":717},"\u002F\u002F Node 22+, OpenRouter. Niedriger Effort für Routine-Turns, high oder max für schwere.\nconst res = await fetch('https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions', {\n  method: 'POST',\n  headers: {\n    Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    model: 'deepseek\u002Fdeepseek-v4.1-flash-1017',\n    reasoning: { effort: 'low' },\n    temperature: 1.0,\n    top_p: 1.0,\n    messages: [\n      \u002F\u002F Diesen Prefix über alle Turns byte-identisch halten: Cache-Reads kosten 1\u002F50 von frischem Input.\n      { role: 'system', content: SYSTEM_PROMPT },\n      ...history,\n      { role: 'user', content: task },\n    ],\n  }),\n})\nconst data = await res.json()\nconsole.log(data.choices[0].message.content, data.usage)",{"type":127,"content":719},[720,721,725,726,730],"Selbst hosten ist möglich, und die MIT-Lizenz macht es rechtlich einfach, aber es ist kein Ein-GPU-Projekt: Zu rechnen ist mit rund 750B Parametern inklusive der Engram-Tabellen und einem Inferenz-Stack, der CED, CSA2, FP4-KV und Bounded Replay versteht. Das Gewichts-Repository bringt eigenen Inferenzcode und eine Konvertierungsanleitung mit; Engines wie ",{"tag":224,"to":722,"children":723},"\u002Ftools\u002Fvllm",[724],"vLLM"," brauchen erfahrungsgemäß etwas Zeit, bis sie ein neues Attention-Design effizient unterstützen. Wer aus Datenschutzgründen diesen Weg geht, für den gelten die Abwägungen aus ",{"tag":224,"to":727,"children":728},"\u002Fblog\u002Fself-hosted-llm-gdpr-cost",[729],"Self-hosted LLMs, DSGVO und Kosten"," direkt. Im eigenen Deployment lässt sich der Effort-Wert auch direkt im System-Prompt setzen, statt ein Preset zu wählen:",{"type":410,"code":732},"Reasoning Effort: 60 (range 1–100; higher values request more thorough reasoning)",{"type":159,"level":160,"id":117,"text":118},{"type":265,"ordered":266,"items":735},[736,741,746],[737,740],{"tag":131,"children":738},[739],"Näherungen per Design."," Bounded Replay rekonstruiert den Sliding-Window-Zustand nur näherungsweise, und der Sparse-Indexer kann die falschen 512 Einträge wählen. DeepSeeks eigenes Fazit nennt beides als mögliche Ursache für Qualitätsverluste in ungetesteten Randfällen, besonders bei Sparse Retrieval über lange Kontexte und beim Zustand an Cache-Wiederaufnahmegrenzen.",[742,745],{"tag":131,"children":743},[744],"Die Lücke zur Spitze ist real."," Bei schwerem Reasoning und Terminal-Arbeit auf Expertenniveau liegt Opus 5 deutlich vorn. Flash ist ein starker Standard für Volumen, kein Ersatz für das stärkste Modell bei den schwersten Aufgaben.",[747,750,751,753],{"tag":131,"children":748},[749],"Rechtsraum."," Die DeepSeek-API wird aus China betrieben. Am Tag vor diesem Release berichtete ",{"tag":136,"href":48,"children":752},[439]," zudem, dass China die Regeln für die Veröffentlichung von Open-Weight-Modellen verschärfen will. Das könnte künftige Releases betreffen, nicht aber bereits unter MIT veröffentlichte Gewichte.",{"type":159,"level":160,"id":120,"text":121},{"type":265,"ordered":756,"items":757},true,[758,763,768,776],[759,762],{"tag":131,"children":760},[761],"Auf die Shortlist für Agentenarbeit mit hohem Volumen setzen",": Testgenerierung, Refactorings, Code-Review-Durchläufe, Datenextraktion. Dort ist der Kostenvorteil pro Task am größten und die Qualitätslücke am kleinsten.",[764,767],{"tag":131,"children":765},[766],"Eigene Evals bei low und high laufen lassen",", bevor irgendetwas umgestellt wird. Das Low-Preset zum etwa halben Preis ist der interessante Betriebspunkt.",[769,772,773,685],{"tag":131,"children":770},[771],"Nach Schwierigkeit routen."," Ein Frontier-Modell für die schweren Fälle behalten und Flash die Masse erledigen lassen, nach demselben Muster wie in meinem ",{"tag":224,"to":682,"children":774},[775],"Routing-Leitfaden",[777,780],{"tag":131,"children":778},[779],"Auf Cache und Uhrzeit optimieren."," Stabile Prefixe und Batch-Jobs außerhalb der Spitzenzeiten bringen bei diesen Preisen mehr als jeder Benchmarkpunkt.",{"type":127,"content":782},[783,784,788],"Die größere Lehre aus diesem Release: Die nächsten Preissenkungen kommen vom Speicher, nicht von den FLOPs. Ein Modell, das ein Viertel des Caches braucht, kann auf derselben Hardware viermal so viele parallele Sessions mit langem Kontext bedienen, und genau das macht Agenten-Tasks für 0,20 $ möglich. Wer Hilfe dabei möchte, ein solches Modell sinnvoll in ein echtes System einzuordnen, findet auf der Seite ",{"tag":224,"to":785,"children":786},"\u002Fexpertise\u002Fai-engineer",[787],"AI Engineering",", wie ich arbeite.",{"type":159,"level":160,"id":123,"text":124},{"type":265,"ordered":266,"items":791},[792,797,802,807,812,817],[793,796],{"tag":136,"href":39,"children":794},[795],"DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression",", technischer Bericht, arXiv:2609.19969",[798,801],{"tag":136,"href":42,"children":799},[800],"Model Card DeepSeek-V4.1-Flash-1017",", Hugging Face",[803,806],{"tag":136,"href":45,"children":804},[805],"DeepSeek V4.1 Flash 1017, Preise und Anbieter",", OpenRouter (Preise vom 17. Oktober 2026)",[808,811],{"tag":136,"href":48,"children":809},[810],"Deepseek V4.1 Flash 1017 beats larger rivals in agentic tasks",", The Decoder",[813,816],{"tag":136,"href":51,"children":814},[815],"DeepSeek opens V4.1-Flash-1017 weights and $0.75 Search API",", AI Weekly",[818,821],{"tag":136,"href":54,"children":819},[820],"DeepSeek-Ankündigung zum Launch",", X",[823,891,952,1008],{"slug":824,"published":5,"minutes":825,"category":7,"tags":826,"keywords":832,"about":844,"sources":854,"cover":885,"og":886,"expertise":57,"locales":887,"lang":60,"title":888,"description":889,"coverAlt":890},"llm-rate-limits-retries-provider-fallback",10,[827,828,829,830,831],"Rate limits","Retries","Fallback","Reliability","LLM gateway",[833,834,835,836,837,838,839,840,841,842,843],"llm rate limit handling","429 too many requests llm api","exponential backoff with jitter","anthropic 529 overloaded error","openai rate limit retry","llm provider fallback","litellm fallbacks","retry-after header","llm circuit breaker","multi provider llm failover","claude api rate limits",[845,848,851],{"name":846,"url":847},"Token bucket","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FToken_bucket",{"name":849,"url":850},"Exponential backoff","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FExponential_backoff",{"name":852,"url":853},"Circuit breaker design pattern","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCircuit_breaker_design_pattern",[855,858,861,864,867,870,873,876,879,882],{"title":856,"url":857},"Claude Platform Docs: Rate limits","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Frate-limits",{"title":859,"url":860},"Claude Platform Docs: API errors","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fapi\u002Ferrors",{"title":862,"url":863},"OpenAI API Docs: Rate limits","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Frate-limits",{"title":865,"url":866},"AWS Builders Library: Timeouts, retries and backoff with jitter","https:\u002F\u002Fbuilder.aws.com\u002Fcontent\u002F3EumjoZascWd1oZiEgL8ORlv3qE\u002Ftimeouts-retries-and-backoff-with-jitter",{"title":868,"url":869},"MDN: Retry-After header","https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTTP\u002FReference\u002FHeaders\u002FRetry-After",{"title":871,"url":872},"Martin Fowler: Circuit Breaker (2014)","https:\u002F\u002Fmartinfowler.com\u002Fbliki\u002FCircuitBreaker.html",{"title":874,"url":875},"LiteLLM Docs: Router, retries and cooldowns","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Frouting",{"title":877,"url":878},"LiteLLM Docs: Proxy fallbacks and reliability","https:\u002F\u002Fdocs.litellm.ai\u002Fdocs\u002Fproxy\u002Freliability",{"title":880,"url":881},"OpenRouter Docs: Model fallbacks","https:\u002F\u002Fopenrouter.ai\u002Fdocs\u002Fguides\u002Frouting\u002Fmodel-fallbacks",{"title":883,"url":884},"AI SDK Docs: Settings (maxRetries, timeout)","https:\u002F\u002Fai-sdk.dev\u002Fdocs\u002Fai-sdk-core\u002Fsettings","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-rate-limits-retries-provider-fallback\u002Fog.jpg",[59,60,61],"LLM-Rate-Limits in Produktion: Retries, Backoff und Provider-Fallback","Wie LLM-Rate-Limits funktionieren, welche Fehler man wiederholt, Backoff mit Jitter, Retries in nur einer Schicht und Fallback-Ketten ohne kaputte Ausgaben.","Kleine Quadrate steigen drei Stufen zu einem breiten Rechteck, dahinter zwei weitere in einer Reihe.",{"slug":892,"published":5,"minutes":893,"category":7,"tags":894,"keywords":900,"about":911,"sources":921,"cover":946,"og":947,"expertise":57,"locales":948,"lang":60,"title":949,"description":950,"coverAlt":951},"prompt-versioning-management",8,[895,896,897,898,899],"Prompt management","Versioning","LLMOps","Evals","Langfuse",[901,902,903,904,905,906,907,908,909,910],"prompt versioning","prompt management","prompt registry","version control for prompts","langfuse prompt management","mlflow prompt registry","prompts in git","openai prompt object deprecation","prompt rollback production","prompt ci evaluation",[912,915,918],{"name":913,"url":914},"Prompt engineering","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPrompt_engineering",{"name":916,"url":917},"Version control","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVersion_control",{"name":919,"url":920},"Continuous integration","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FContinuous_integration",[922,925,928,931,934,937,940,943],{"title":923,"url":924},"OpenAI API Docs: Migrate from prompt objects","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompting\u002Fmigrate-from-prompt-object",{"title":926,"url":927},"OpenAI API Docs: Prompt engineering (reusable prompts deprecation note)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fprompt-engineering",{"title":929,"url":930},"Langfuse Docs: Prompt version control","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fprompt-version-control",{"title":932,"url":933},"Langfuse Docs: Prompt caching in the SDKs","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Fcaching",{"title":935,"url":936},"Langfuse Docs: Link prompts to traces","https:\u002F\u002Flangfuse.com\u002Fdocs\u002Fprompt-management\u002Ffeatures\u002Flink-to-traces",{"title":938,"url":939},"MLflow Docs: Prompt Registry","https:\u002F\u002Fmlflow.org\u002Fdocs\u002Flatest\u002Fgenai\u002Fprompt-registry\u002F",{"title":941,"url":942},"Promptfoo Docs: GitHub Action","https:\u002F\u002Fwww.promptfoo.dev\u002Fdocs\u002Fintegrations\u002Fgithub-action\u002F",{"title":944,"url":945},"Claude Platform Docs: Prompt caching","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fprompt-caching","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fprompt-versioning-management\u002Fog.jpg",[59,60,61],"Prompt-Versionierung in Produktion: Git, Registries, Labels und Rollbacks","Prompts in Produktion versionieren: was zu einer Version gehört, Git oder Prompt-Registry, Labels und Rollbacks, Eval-Gates in CI und Folgen für Caches.","Fünf aufrechte Karten in einer Reihe, die dritte schwenkt an einem Bogenpfeil zurück, ein Tor vor der letzten.",{"slug":953,"published":5,"minutes":954,"category":7,"tags":955,"keywords":960,"about":971,"sources":981,"cover":1002,"og":1003,"expertise":57,"locales":1004,"lang":60,"title":1005,"description":1006,"coverAlt":1007},"llm-batch-api-offline-workloads",9,[956,957,897,958,959],"Batch API","Cost","Prompt caching","Data pipelines",[961,962,963,964,965,966,967,968,969,970],"llm batch api","anthropic message batches api","openai batch api","gemini batch mode","batch inference llm cost","batch api 50 percent discount","openai flex processing","bedrock batch inference","llm offline processing","batch api prompt caching",[972,975,978],{"name":973,"url":974},"Batch processing","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FBatch_processing",{"name":976,"url":977},"JSON Lines","https:\u002F\u002Fjsonlines.org\u002F",{"name":979,"url":980},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[982,985,987,988,991,994,996,999],{"title":983,"url":984},"Claude Platform Docs: Batch processing","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fbatch-processing",{"title":986,"url":857},"Claude Platform Docs: Rate limits (Message Batches API)",{"title":944,"url":945},{"title":989,"url":990},"OpenAI API Docs: Batch API","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fbatch",{"title":992,"url":993},"OpenAI API Docs: Flex processing","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Fflex-processing",{"title":995,"url":863},"OpenAI API Docs: Rate limits (batch queue limits)",{"title":997,"url":998},"Google AI for Developers: Gemini Batch API","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fbatch-api",{"title":1000,"url":1001},"Amazon Bedrock User Guide: Batch inference","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fbatch-inference.html","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-batch-api-offline-workloads\u002Fog.jpg",[59,60,61],"LLM-Batch-APIs: Inferenz zum halben Preis für Arbeit, die warten kann","Wann sich die Batch-APIs von Anthropic, OpenAI und Gemini lohnen, wie Limits, Zuordnung und Fehler funktionieren und wie sich Rabatte mit Caching addieren.","Eine breite Kiste mit acht kleinen Quadraten, Zulauf von links, ein langer Pfeil kehrt zurück.",{"slug":1009,"published":5,"minutes":1010,"category":7,"tags":1011,"keywords":1016,"about":1028,"sources":1036,"cover":1073,"og":1074,"expertise":57,"locales":1075,"lang":60,"title":1076,"description":1077,"coverAlt":1078},"small-language-models-when-enough",11,[1012,1013,1014,1015,897],"Small language models","Distillation","Quantization","Model routing",[1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027],"small language models","when to use a small language model","SLM vs LLM cost","model distillation","quantization aware training","Q4_K_M","LLM routing","small model evaluation","on-device LLM","Gemma 4 E4B","local LLM privacy",[1029,1032,1035],{"name":1030,"url":1031},"Small language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSmall_language_model",{"name":1033,"url":1034},"Knowledge distillation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnowledge_distillation",{"name":979,"url":980},[1037,1040,1043,1046,1049,1052,1055,1058,1061,1064,1067,1070],{"title":1038,"url":1039},"Belcak et al.: Small Language Models are the Future of Agentic AI (arXiv 2506.02153)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.02153",{"title":1041,"url":1042},"Google: Gemma 4 model card","https:\u002F\u002Fai.google.dev\u002Fgemma\u002Fdocs\u002Fcore\u002Fmodel_card_4",{"title":1044,"url":1045},"Google: Gemma 3 QAT models, state-of-the-art AI on consumer GPUs","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fgemma-3-quantized-aware-trained-state-of-the-art-ai-to-consumer-gpus\u002F",{"title":1047,"url":1048},"Google: Introducing Gemma 3 270M","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fintroducing-gemma-3-270m\u002F",{"title":1050,"url":1051},"Microsoft Research: Phi-4 Technical Report (arXiv 2412.08905)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.08905",{"title":1053,"url":1054},"Qwen: Qwen3 Technical Report (arXiv 2505.09388)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.09388",{"title":1056,"url":1057},"Apple: Apple Intelligence Foundation Language Models, Tech Report 2025 (arXiv 2507.13575)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2507.13575",{"title":1059,"url":1060},"Ong et al.: RouteLLM, Learning to Route LLMs with Preference Data (arXiv 2406.18665)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2406.18665",{"title":1062,"url":1063},"LMSYS: RouteLLM, an open-source framework for cost-effective LLM routing","https:\u002F\u002Flmsys.org\u002Fblog\u002F2024-07-01-routellm\u002F",{"title":1065,"url":1066},"Gomes et al.: On the Generalization vs Fidelity Paradox in Knowledge Distillation (arXiv 2505.15442)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2505.15442",{"title":1068,"url":1069},"llama.cpp: quantize tool documentation","https:\u002F\u002Fgithub.com\u002Fggml-org\u002Fllama.cpp\u002Fblob\u002Fmaster\u002Ftools\u002Fquantize\u002FREADME.md",{"title":1071,"url":1072},"European Commission: AI Act","https:\u002F\u002Fdigital-strategy.ec.europa.eu\u002Fen\u002Fpolicies\u002Fregulatory-framework-ai","\u002Fimages\u002Fblog\u002Fsmall-language-models-when-enough\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsmall-language-models-when-enough\u002Fog.jpg",[59,60,61],"Kleine Sprachmodelle: wann ein 4B-Modell reicht","Wann ein kleines Modell die Frontier-API schlägt: Kosten pro Fall, Latenz, Datenschutz, Destillation, Quantisierung, Routing und ein Eval-Plan.","Ein kleiner Würfel, eine Weggabelung, ein Haken auf dem einen Ast und ein größerer hohler Würfel auf dem anderen.",1792245342364]