Avifenesh commited on
Commit
13d386e
·
verified ·
1 Parent(s): a8937d1

Context section: 1,035,357 tokens demonstrated (1m-demo receipts); the monolithic-prefill wall is fixed by the chunk schedule; honest 4-card/latency boundaries stated

Browse files
Files changed (1) hide show
  1. README.md +49 -28
README.md CHANGED
@@ -224,37 +224,58 @@ over PCIe, at roughly 53 GB/s on the pinned path against about 10 GB/s pageable.
224
  resident-traffic roofline for this configuration is 63 tok/s, so this number has room in
225
  it and is not a property of the artifact. It is a bring-up figure on one configuration.
226
 
227
- ## Context, and where the practical wall actually is
228
 
229
- The upstream checkpoint declares `max_position_embeddings: 1048576`. That is **the
230
- vendor's architecture figure**, and it is repeated here as one, not as something this
231
- mint delivers. **We have not gated or run this artifact anywhere near that context**,
232
- and nothing in this repo should be read as a 1M-context serving claim.
233
 
234
- The reason is worth stating, because it is checkable from `config.json` in this repo
235
- rather than something you have to take on trust. The DSA layers score pooled keys:
236
- `index_kpool` is 4, so a call over `t` query tokens against `t_kv` keys allocates a
237
- score plane of `t * (t_kv / 4)` f32 values. Under a monolithic prefill where
238
- `t = t_kv = N`, that plane is **N squared bytes**, per MLA layer, per call:
 
 
239
 
240
- | context | transient score plane |
241
- |---|---|
242
- | 8,192 | 67 MB |
243
- | 50,000 | 2.5 GB |
244
- | 262,144 | 68.7 GB |
245
- | 1,048,576 | 1.10 TB |
246
-
247
- Our bring-up hit CUDA out-of-memory on a 96 GB card in the region that arithmetic
248
- predicts. Note where the wall falls: 262,144 is already past a single 96 GB card, so
249
- it sits well below the headline number rather than at it.
250
-
251
- Two things this is not. It is not a quantization artifact, since the plane is f32
252
- scratch whose size depends only on context and the pooling factor, so an FP8 or BF16
253
- copy of this model has the same wall. And it is not a bigger-card problem in any
254
- practical sense: this is per-call transient scratch, not a persistent allocation you
255
- can amortize, so chunked prefill is the shape that moves it, not more VRAM.
256
-
257
- If you need long context on this model today, that is unsolved work, not a flag.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
258
 
259
  ## Files
260
 
 
224
  resident-traffic roofline for this configuration is 63 tok/s, so this number has room in
225
  it and is not a property of the artifact. It is a bring-up figure on one configuration.
226
 
227
+ ## Context: 1,035,357 tokens demonstrated, and where the remaining wall actually is
228
 
229
+ The upstream checkpoint declares `max_position_embeddings: 1048576`. We have run this
230
+ artifact at that scale, once, deliberately, and the receipts are dated bench measurements
231
+ on named hardware: not a hosted offering, and not a latency claim.
 
232
 
233
+ **Demonstrated (2026-08-29, 4x RTX PRO 6000 Blackwell 96 GB, memra PP4 pipeline,
234
+ `MEMRA_PP_SPLITS=13,26,39`):** a real 1,035,357-token prompt (Gutenberg prose, sha-banked,
235
+ token count from the server's own usage, `cached_tokens=0`) primed through the serving
236
+ surface inside the model's 1,048,576 window, then decoded greedy to EOS with a coherent
237
+ cross-book answer. Prefill 161.28 tok/s (6,419.8 s wall, 107 minutes); the vendor-default
238
+ sampled twin primed the same prompt at 161.26 tok/s (two independent full primes agreeing
239
+ to 0.01%) and also answered coherently. Error census of the serve log: 0.
240
 
241
+ Depth behaves, with no cliff:
242
+
243
+ | prompt tokens | prefill tok/s | decode tok/s (greedy, steady) |
244
+ |---|---|---|
245
+ | 15,766 | 172.7 | 24.5 |
246
+ | 128,566 | 171.5 | 22.8 |
247
+ | 257,775 | 169.6 | 21.1 |
248
+ | 525,616 | 165.8 | 18.9 |
249
+ | 1,035,357 | 161.28 | 15.7 |
250
+
251
+ Chunked prefill throughput is depth-flat to 1M (-6.6% from 16k), and greedy decode decays
252
+ smoothly (1.75x over three orders of magnitude of depth); the sampled twin sits within
253
+ 0.6% of greedy at 1M. In-context retrieval held at depth (at 131k the answer cited a
254
+ detail from a salon debate inside War and Peace).
255
+
256
+ **What the earlier revision of this card called the wall, the DSA score-plane transient
257
+ of a monolithic prefill (`N^2` bytes per MLA layer per call), is fixed, not by more
258
+ VRAM but by the chunk schedule it predicted:** memra's mHC prime now walks bounded chunks
259
+ (monolithic rollback preserved behind `MEMRA_PRIME_CHUNK=0`), so the per-call plane is
260
+ `chunk_rows x (N / 4)` f32 rather than `N^2` bytes. That was never a quantization
261
+ artifact and its fix is not one either: an FP8 or BF16 copy of this model has the same
262
+ arithmetic on both sides of the fix.
263
+
264
+ Honest boundaries, so this is not read as a serving claim:
265
+
266
+ - **1M is demonstrated on 4 cards, not fewer.** A 3-card full-expert-residency
267
+ configuration of this artifact fails the same prime (CUDA out-of-memory in the DSA
268
+ k-pool selection at a 97.2 GiB per-card peak), so the depth ceiling of smaller
269
+ placements sits well below 1M, and the only demonstrated 1M configuration is the
270
+ 4-card pipeline with the expert cache capped to leave the tail stage room.
271
+ - **Time-to-first-token at 1M is 107 minutes on that baseline.** Long-context capacity
272
+ is solved; long-context *latency* is engineering in progress (prefill has since moved
273
+ independently on other configurations of the same engine, e.g. a tensor-core MLA
274
+ prefill path measured at 1629-2255 tok/s at short depths, but no 1M number exists on
275
+ that path and none is claimed here).
276
+ - Everything above is greedy-plus-sampled-twin bench measurement on named hardware,
277
+ published with its receipts in the memra repo
278
+ (`research/glm53-flash-bringup-20260827/1m-demo-20260829/`).
279
 
280
  ## Files
281