CalamitousFelicitousness
d75abce642
feat(attention): sparse attention settings and router stage
...
Sparse attention is a stage over the chain rather than a member of it:
one switch, and the router hands the selection to whichever active
backend advertises that it consumes a block mask, currently flex. A
backend declares that through a capability set, so the quantized kernel
joins later without touching the router.
The stage gates on the component role, self attention, a minimum
sequence length defaulting to the measured 8192 token crossover, and the
absence of a token mask or causal flag, which flex cannot combine with a
block only mask. Budgets follow a precomputed per step schedule with at
most two distinct values. Enabling the feature with no capable backend
in the chain warns and leaves attention dense rather than doing nothing
quietly.
The modular pre-forward hook now receives kwargs and publishes whatever
token layout the pipeline passes by name, so a packed sequence gets its
conditioning pinned without any model specific code. Without a layout
the whole sequence is sparsified and that is logged once per length.
2026-08-28 12:40:22 +01:00
..
2026-06-25 02:25:33 +01:00
2026-08-26 10:24:17 +02:00
2026-08-28 12:40:22 +01:00
2026-06-04 12:36:10 +02:00
2026-08-16 12:45:50 +02:00
2026-05-11 08:36:49 +02:00
2026-07-11 20:26:12 +01:00
2026-08-22 11:24:41 +02:00
2026-08-22 11:38:51 +02:00
2026-08-16 12:45:50 +02:00
2026-06-04 12:36:10 +02:00
2026-08-21 10:26:17 +02:00
2026-06-04 12:36:10 +02:00
2026-06-04 12:36:10 +02:00
2026-08-26 10:24:17 +02:00
2026-07-15 04:05:26 +03:00
2026-02-19 11:09:13 +01:00
2026-08-26 23:48:35 +01:00
2026-08-25 23:21:21 +01:00
2026-07-03 22:05:33 +02:00
2026-08-26 07:49:26 +02:00
2026-08-10 13:43:45 +02:00
2026-07-02 14:36:44 +02:00
2026-06-25 02:25:33 +01:00
2026-08-22 20:10:02 +02:00
2026-08-16 12:45:50 +02:00
2026-07-30 14:39:30 +02:00
2026-06-08 17:00:00 +02:00
2026-08-25 09:11:46 +02:00
2026-08-16 12:45:50 +02:00
2026-07-27 14:23:14 +02:00
2026-07-24 18:20:41 +02:00
2026-08-16 12:45:50 +02:00
2026-08-16 12:45:50 +02:00
2026-06-04 12:36:10 +02:00
2026-08-18 00:54:30 +01:00
2026-08-28 13:32:14 +02:00
2026-02-19 15:28:24 +01:00
2026-02-19 11:09:13 +01:00
2026-08-26 03:36:15 +01:00
2026-08-10 13:43:45 +02:00
2026-06-20 08:15:35 +02:00
2026-08-23 08:20:45 +01:00
2026-03-20 21:43:44 +00:00
2026-05-17 10:41:09 -07:00
2026-07-26 19:35:56 +02:00
2026-08-10 12:06:33 +02:00
2026-07-08 03:06:04 +01:00
2026-06-12 13:00:50 -04:00
2026-08-16 12:45:50 +02:00
2026-06-11 01:42:29 -04:00
2026-05-16 07:19:52 +02:00
2026-08-26 10:24:17 +02:00
2026-04-15 10:10:05 +02:00
2026-04-29 07:59:43 +02:00
2026-08-26 10:24:17 +02:00
2026-08-23 11:34:34 +02:00
2026-02-19 11:13:44 +01:00
2026-08-10 02:44:56 +01:00
2026-07-04 11:17:56 +02:00
2026-06-29 11:23:29 +02:00
2026-02-19 09:46:42 +01:00
2026-08-16 09:02:40 +02:00
2026-02-19 11:09:13 +01:00
2026-08-23 09:59:38 +02:00
2026-07-21 08:20:55 +02:00
2026-08-04 10:58:32 +02:00
2026-08-25 09:11:46 +02:00
2026-02-19 09:46:42 +01:00
2026-08-16 12:45:50 +02:00
2026-07-12 03:44:54 +01:00
2026-08-10 22:51:32 +03:00
2026-06-12 13:00:39 -04:00
2026-08-16 12:45:50 +02:00
2026-08-10 22:11:57 +01:00
2026-08-16 09:02:40 +02:00
2026-08-14 03:39:01 +01:00
2026-08-02 11:22:12 +02:00
2026-02-19 11:09:13 +01:00
2026-08-28 13:32:14 +02:00
2026-02-19 11:09:13 +01:00
2026-02-19 09:15:37 +01:00
2026-08-24 19:59:41 +01:00
2026-02-19 09:46:42 +01:00
2026-02-19 11:09:13 +01:00
2026-05-19 09:45:20 +02:00
2026-02-19 11:13:44 +01:00
2026-08-17 08:52:46 +02:00
2026-08-16 12:45:50 +02:00
2026-06-07 11:43:46 +02:00
2026-08-16 12:45:50 +02:00
2026-08-23 08:20:46 +01:00
2026-08-23 08:20:46 +01:00
2026-06-12 13:00:57 -04:00
2026-08-19 18:03:39 +02:00
2026-08-28 13:32:14 +02:00
2026-05-07 07:20:20 +02:00
2026-06-14 01:41:05 +01:00
2026-08-28 13:32:14 +02:00
2026-08-14 15:59:51 +02:00
2026-08-24 10:26:28 +02:00
2026-08-25 09:11:46 +02:00
2026-08-28 13:32:14 +02:00
2026-08-22 11:24:41 +02:00
2026-08-16 12:45:50 +02:00
2026-06-25 02:25:33 +01:00
2026-06-12 13:00:31 -04:00
2026-02-19 15:28:24 +01:00
2026-08-26 01:17:54 -06:00
2026-08-16 12:45:50 +02:00
2026-04-27 17:15:05 -07:00
2026-06-02 08:03:27 +02:00
2026-02-19 09:15:37 +01:00
2026-08-18 00:36:05 +01:00
2026-07-20 21:44:43 +02:00
2026-07-28 10:43:58 +02:00
2026-06-29 11:23:29 +02:00
2026-08-11 13:34:36 +02:00
2026-08-16 12:45:50 +02:00
2026-08-12 14:24:09 +02:00
2026-08-24 19:59:41 +01:00
2026-08-10 13:43:45 +02:00
2026-08-12 14:24:09 +02:00
2026-08-23 08:21:28 +01:00
2026-08-28 12:40:22 +01:00
2026-02-19 09:46:42 +01:00
2026-06-08 17:20:12 +02:00
2026-08-23 08:20:46 +01:00
2026-05-20 18:08:10 +02:00
2026-08-23 14:08:21 +02:00
2026-02-19 09:15:37 +01:00
2026-08-23 08:20:46 +01:00
2026-02-21 09:32:36 +01:00
2026-08-12 14:24:09 +02:00
2026-08-02 11:22:12 +02:00
2026-08-23 08:20:46 +01:00
2026-08-09 15:05:00 +02:00
2026-08-16 12:45:50 +02:00
2026-08-16 12:45:50 +02:00
2026-08-16 12:45:50 +02:00
2026-08-16 12:45:50 +02:00
2026-08-16 12:45:50 +02:00
2026-08-22 11:24:41 +02:00
2026-08-22 16:08:58 +02:00
2026-06-14 01:41:05 +01:00
2026-03-24 05:19:51 -07:00
2026-07-11 06:40:07 +01:00
2026-08-10 22:11:57 +01:00
2026-08-06 13:24:48 +02:00
2026-08-14 10:44:56 +02:00
2026-02-19 09:46:42 +01:00
2026-08-24 19:59:41 +01:00
2026-08-11 22:09:12 +02:00
2026-08-07 11:41:40 +02:00
2026-08-10 13:43:45 +02:00
2026-08-17 08:52:46 +02:00
2026-08-14 15:59:51 +02:00
2026-02-19 09:15:37 +01:00
2026-06-25 02:25:33 +01:00
2026-06-20 21:18:35 +02:00
2026-08-10 12:13:10 +03:00
2026-08-28 13:32:14 +02:00
2026-03-13 13:02:41 +01:00
2026-07-21 16:04:10 +02:00
2026-08-09 15:05:00 +02:00
2026-07-13 15:52:55 +02:00
2026-08-07 11:41:40 +02:00
2026-06-04 12:36:10 +02:00
2026-06-22 10:28:59 -04:00
2026-05-19 11:56:20 +02:00
2026-08-22 11:24:41 +02:00
2026-08-28 12:40:22 +01:00
2026-08-16 12:45:50 +02:00
2026-07-01 18:59:20 +02:00
2026-08-13 15:33:47 +02:00
2026-08-01 09:10:15 +02:00
2026-06-23 04:41:54 +01:00
2026-08-01 09:10:15 +02:00
2026-02-19 20:48:42 +01:00
2026-08-01 09:10:15 +02:00
2026-08-01 09:10:15 +02:00
2026-07-27 21:30:40 +02:00
2026-08-26 10:24:17 +02:00
2026-05-21 09:23:10 +02:00
2026-05-16 11:06:23 +02:00
2025-11-28 02:27:19 -08:00
2026-08-09 15:05:00 +02:00
2026-08-09 22:47:17 +02:00
2026-02-19 15:28:24 +01:00
2026-08-16 12:45:50 +02:00
2026-08-11 12:55:59 +02:00
2026-07-22 09:39:55 +02:00
2026-08-13 15:33:47 +02:00
2026-08-16 12:45:50 +02:00
2026-08-02 11:22:12 +02:00
2026-05-04 09:03:50 +02:00
2026-08-09 15:05:00 +02:00
2026-07-28 10:43:58 +02:00
2026-08-21 10:26:17 +02:00
2026-05-08 14:43:39 +02:00
2025-11-08 14:54:34 -08:00
2026-08-22 11:24:41 +02:00
2026-08-22 11:24:41 +02:00
2026-08-22 11:24:41 +02:00
2026-08-22 20:10:02 +02:00
2026-08-22 20:10:02 +02:00
2026-08-22 20:10:02 +02:00
2026-07-19 14:37:20 +02:00
2026-03-05 20:17:44 -08:00
2026-02-19 09:46:42 +01:00