С 0.2.4 (79 коммитов):
Квантованная база .rwkvq
- .rwkvq открывается напрямую (X070Backbone.load(fromRwkvq:)), нынешние пресеты REDUCTION и COMPRESSION, норма fp16; загрузка без всплеска памяти, холодное чтение вперёд.
- Декод вровень с Metal-бэкендом rwkv-quant: ядра GEMV для sb6 и sym, собранный шаг, конвейерный декод; сэмплер на GPU (температура, top-k, top-p, штрафы).
- Префилл: замороженный WKV одним запуском, слитый счёт замороженного прохода, короткий проход ядрами GEMV.
- Реранкер и эмбеддер на .rwkvq; обучение над ней — адаптеры, верхние слои (развёрнутые в плотные), состояние.
Обучение
- Найдена и устранена первопричина срыва GPU при обучении настоящих моделей (типы входов обратного ядра WKV).
- Память под бюджет: обратный проход по блокам, лосс кусками, тело по строкам, запись входов блоков с шагом.
- State-tuning и подключаемое начальное состояние (обученное, свёрнутый промпт), файл состояния с отпечатком базы.
- X070PartialFinetune на общем тренере, воспроизводим по сиду.
Эмбеддер и реранкер
- Прогонщик curriculum эмбеддера (EmbeddingCurriculum, embed-run --curriculum): отчёт после каждой стадии, возобновление побитно.
- Состояние на всех текстах или только на запросах (EmbeddingModel.stateScope, роль текста).
- Возобновление обучения реранкера (RerankTraining.train(checkpoint:)), побитно.
- Кэши реранкера знают подключённое состояние (initial_state в контракте).
- Резервуарная выборка JSONL, поштучные результаты оценки для парного бутстрэпа, embed-run.
Несовместимо с 0.2.4
- DocIndex.check принимает контракт (RerankerInference.prefixContract()).
- При stateScope = .queriesOnly нужна роль текста (role: .query / .document).
595 тестов, 0 красных; мутационные наборы в Scripts/.