Files
OBLITERATUS/tests/fixtures
Pliny the YoungerandClaude Fable 5.1 89b63ce216 feat(abliteration): update offloaded fused MoE expert tensors in place (#115)
transformers 5 stores routed experts as fused 3D parameters
(experts.gate_up_proj / experts.down_proj) for Mixtral, Qwen3-MoE,
DeepSeek-V3, GLM-4 MoE, Llama 4, gpt-oss and OLMoE. When such a layer is
CPU- or disk-offloaded by Accelerate, EXCISE failed closed with
"offloaded fused expert tensors are not yet a supported surgery layout",
so every frontier MoE checkpoint large enough to need offload could not be
abliterated at all.

Route the three fused projections and the fused bias projection through the
existing LogicalParameterTransaction adapter: a meta-resident fused
parameter is resolved to a private copy of its authoritative backing value,
projected per expert, and committed atomically; the live parameter stays on
meta and quantized or unknown backing layouts still fail before mutation.
Thread offload_roots through the MoE dispatch call sites so parent-prefixed
Accelerate hooks resolve, and drop the preflight rejection of 3D meta
parameters (validate_offloaded_parameters already resolves them).

Tests: fused 3D, bias, granular and selective-inversion projections on
offloaded backing stores, bounded norm restoration, parent-prefixed hook
resolution, quantized fail-closed, commit-failure rollback, and a full
offline pipeline run on a disk-offloaded tiny Mixtral fixture that verifies
the saved checkpoint carries the updated experts with no meta tensors.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-02 11:54:14 -04:00
..

Offline model fixture

tiny_offline_model.py creates a one-layer, 4,480-parameter GPT-2 causal language model and an eleven-token WordLevel tokenizer at test time. The model is initialized from a fixed seed (20260814); it is not trained and contains no downloaded weights or dataset content.

The generated artifact is repository-owned test data under the project's AGPL-3.0-only license. Its purpose is software integration testing only. It does not support research, safety, capability, or model-quality claims.

Tests must build the fixture inside pytest's temporary directory and load it with Hugging Face offline mode enabled. Do not replace it with a Hub model or depend on a pre-populated cache.