Commit Graph
212 Commits
Author SHA1 Message Date
Joseph Magly 182dde0fdf test: cover Mistral shared-expert memory estimate 2026-08-21 19:00:03 -04:00
Joseph Magly 1112fe139e test: exercise pinned Mistral configuration contract 2026-08-21 18:57:09 -04:00
Joseph Magly 3c0f83ac4b feat: add Mistral 3 and 4 architecture contracts 2026-08-21 18:55:10 -04:00
Joseph Magly a1266158c8 Merge pull request #138 from elder-plinius/feat/115-offloaded-weight-surgery
feat: support safe surgery on Accelerate-offloaded weights
2026-08-21 18:41:27 -04:00
Joseph Magly 306d12c925 fix(abliteration): propagate offload integrity failures 2026-08-21 18:39:07 -04:00
Joseph Magly d1c0ee664d feat(abliteration): support safe offloaded weight surgery 2026-08-21 18:36:18 -04:00
Joseph Magly c65bedfb62 Merge pull request #137 from elder-plinius/docs/3-winsorization-rationale
docs(research): record BOS winsorization rationale
2026-08-21 18:14:04 -04:00
Joseph Magly 20d98b4ac1 docs(research): record BOS winsorization rationale 2026-08-21 18:12:21 -04:00
Joseph Magly a7891963d0 Merge pull request #136 from elder-plinius/chore/refresh-aiwg-2026-8-15
chore(aiwg): refresh workspace to 2026.8.15
2026-08-21 18:08:48 -04:00
Joseph Magly 02bdb45c4d test(aiwg): track refreshed Codex surface 2026-08-21 18:07:02 -04:00
Joseph Magly 586bad63f3 chore(aiwg): refresh workspace to 2026.8.15 2026-08-21 18:05:00 -04:00
Joseph Magly cf3ff738fb Merge pull request #135 from elder-plinius/fix/116-router-prompt-association 2026-08-21 14:48:01 -04:00
Joseph Magly cf2b5ae869 test: cover single-prompt flattened routing 2026-08-21 14:43:00 -04:00
Joseph Magly f2446f68a7 fix: preserve per-prompt MoE router observations 2026-08-21 14:33:13 -04:00
Joseph Magly cbc61c00fa Merge pull request #134 from elder-plinius/maint/pr127-blend-delivery 2026-08-21 12:24:11 -04:00
Joseph Magly b746a87a00 fix: harden checkpoint blending contracts 2026-08-21 12:12:14 -04:00
faber 17f1d5eb59 feat: add complementary abliteration blending
Carry the coherent blending contribution and research summary from PR #127 while splitting the capacity and recovery proposals into issues #132 and #133.
2026-08-21 11:58:11 -04:00
Joseph Magly 4848fea62c ci: preserve signed canonical integrations 2026-08-20 23:17:45 -04:00
Joseph Magly 38efd3dc0a ci: adopt tiered contributor validation 2026-08-20 23:11:24 -04:00
pliny 0d4d439f22 Merge pull request #125 from younger-plinius/capability-check-v2
capability-check CLI command
2026-08-20 14:03:34 -04:00
faber 94d65f8769 test cli dispatch 2026-08-19 22:25:38 -04:00
faber 3dbe90d9a9 tests: 96% coverage 2026-08-19 22:25:38 -04:00
faber 2dbed842d4 fix ruff 2026-08-19 22:25:38 -04:00
faber 36c1836982 capability-check + tests + risk map 2026-08-19 22:25:38 -04:00
faber 522b2111dc capability-check CLI + risk map 2026-08-19 22:25:38 -04:00
pliny 262e8183dc Merge pull request #122 from younger-plinius/restore-multimodal-v2
restore-multimodal CLI command
2026-08-19 22:23:08 -04:00
faber aa3095747c test cli dispatch 2026-08-19 21:38:19 -04:00
faber c0b3ad9007 tests: 98% coverage 2026-08-19 21:33:25 -04:00
faber d90945e8ee restore-multimodal + tests + risk map 2026-08-19 21:20:09 -04:00
faber cd09c259c0 restore-multimodal CLI + risk map 2026-08-19 21:06:06 -04:00
pliny 76494180da Merge pull request #118 from younger-plinius/corpus-uplevel-llm-redteam
corpus uplevel + llm red-team prompts + backend fixes
2026-08-19 12:21:22 -04:00
faber 482dfed8c0 2026-08-19 11:33:45 -04:00
Joseph Magly cb4aec4532 fix: bind CI evidence to pull request head 2026-08-16 18:22:19 -04:00
Joseph Magly 497a2eeda2 fix: distinguish signing key id from fingerprint 2026-08-16 17:39:55 -04:00
Joseph Magly 0f6be47948 docs: align contributor standards with BT6 gates 2026-08-16 17:36:34 -04:00
Joseph Magly b25b3f3b66 fix: harden quantized checkpoint integration 2026-08-16 12:57:17 -04:00
Brian Bell b6a1727cb6 test+docs: quant_dequant test suite, theory journal engineering log
33 CPU-only tests: FP8 block-wise/per-channel round-trips, NVFP4
round-trips (direct + reciprocal scales, native vs manual unpack
agreement), scheme detection incl. ModelOpt MIXED_PRECISION, surgery
guard raises, and tiny synthetic FP8/NVFP4 GPT-2 checkpoints through
load_model end-to-end. Full suite: 870 passed (8 failures pre-exist on
main, verified against pristine checkout).

docs/theory_journal.md Appendices E-E2: engineering log of the 12
findings from implementation and real-checkpoint validation (nibble
order conventions, mixed-precision layouts, the 96GB OOM and the
chunked-unpack fix, transformers 5.x drift shims, Omni wrapper unwrap).
2026-08-16 12:11:12 -04:00
Brian Bell 62b006f6c4 feat: FP8 and NVFP4 checkpoint support (dequantize, surgery in float, BF16 output)
Point obliteratus at an FP8 or NVFP4 checkpoint and it just works:
the loader detects the format from config.json + safetensors metadata
(no weight loads), dequantizes shard-by-shard to a temporary BF16 copy,
then runs the normal float pipeline and saves BF16.

Supported layouts:
- FP8 DeepSeek-style block-wise (weight_scale_inv + weight_block_size)
- FP8 per-channel / per-tensor (compressed-tensors, ModelOpt)
- NVFP4 ModelOpt (uint8 nibbles + FP8 group scales + FP32 global),
  including MIXED_PRECISION checkpoints (FP8 mixer + NVFP4 experts)
- NVFP4 compressed-tensors (reciprocal scales)

Design:
- New pure-torch obliteratus/models/quant_dequant.py; no new deps.
  NVFP4 unpack uses torch.float4_e2m1fn_x2 when a runtime probe proves
  it works, else a chunked nibble LUT (bounds transient int64 index
  memory; a naive implementation OOMed at 96GB on a 30B model).
- Scale keys are dropped only when their base weight exists in the
  same shard, so legitimate params ending in _scale (logit_scale et al.)
  survive.
- Unsupported schemes (fbgemm, quanto, W4A4, ...) fail loudly at load,
  naming the scheme.
- Surgery guards: float8 or packed uint8 reaching _dequantize_weight or
  any fused-MoE path raises RuntimeError instead of silently upcasting
  (bitsandbytes quant_state params are explicitly excluded).
- Save path strips quantization metadata and logs that output is BF16;
  re-quantization for serving is out of scope (llm-compressor/modelopt).
- CLI: new --trust-remote-code flag; help text documents auto-detection.

Validated end-to-end on 1x A100-80GB (see PR description):
Nemotron-3-Nano-Omni-30B NVFP4 (mixed) and FP8, Qwen3-8B-FP8
(block-wise) vs Qwen3-8B BF16 baseline (perplexity 4.23 vs 4.33).
2026-08-16 12:11:07 -04:00
Brian Bell 84b97f6620 compat: transformers 5.x + custom-architecture loader shims, nemotron_h support
Loading custom-architecture checkpoints (Nemotron Omni family) against
transformers 5.14 surfaced API drift and wrapper mismatches:

- flash_attention_2 pinned in config but flash-attn not installed:
  recursively fall back to eager attention, incl. nested sub-configs
  (multimodal llm_config).
- all_tied_weights_keys shim: expected by the accelerate device-map
  integration and assigned by 5.x post_init, but absent on older remote
  code. Settable property aggregating legacy _tied_weights_keys,
  filtering keys that don't resolve on multimodal wrappers.
- prepare_inputs_for_generation: 5.x may pass cache_position=None;
  older remote code assumes a tensor. Wrap and synthesize it.
- Legacy list-style _tied_weights_keys normalized post-load so
  save_pretrained works (emptied when tie_word_embeddings is false).
- Multimodal wrappers whose forward() requires media inputs are
  unwrapped to their language_model submodule for text-only surgery.
- Register nemotron_h architecture (hybrid Mamba/attention/MoE, all
  layer content under layer.mixer) in strategies/utils.py.
2026-08-16 12:09:36 -04:00
Joseph Magly d4e029eb29 docs: publish Gate 3 final baseline 2026-08-16 10:48:21 -04:00
Joseph Magly 42b30f7e5b docs: record Gate 3 conditional evidence 2026-08-16 09:34:24 -04:00
Joseph Magly fa233fd8c9 ci: make CUDA conditional lane GPU-capable 2026-08-16 09:23:22 -04:00
Joseph Magly baf5331730 docs: align conditional claim boundary 2026-08-16 09:12:37 -04:00
Joseph Magly c90240f1e9 test: govern unavailable conditional environments 2026-08-16 09:05:41 -04:00
Joseph Magly b961623513 test: stabilize mature coverage across Python 2026-08-16 08:03:58 -04:00
Joseph Magly 04e757eda8 docs: record Gate 3 increment 7 evidence 2026-08-16 07:53:41 -04:00
Joseph Magly acc6b3b254 test: close Gate 3 tiny-runtime semantics 2026-08-16 07:53:00 -04:00
Joseph Magly 9683e0be4d docs: refresh Gate 3 item 6 audit evidence 2026-08-16 06:18:45 -04:00
Joseph Magly d299deb3a3 fix: contain Watchtower result downloads 2026-08-16 06:18:45 -04:00
Joseph Magly 659ff63f1e docs: record Gate 3 operator interface evidence 2026-08-16 06:18:45 -04:00