Instructions to use MuVeraAI/guard-lora-t1c-mlp with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use MuVeraAI/guard-lora-t1c-mlp with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3Guard-Gen-0.6B") model = PeftModel.from_pretrained(base_model, "MuVeraAI/guard-lora-t1c-mlp") - Notebooks
- Google Colab
- Kaggle
guard-lora-t1c-mlp β a guard adapter that lost an output class
LoRA adapter on Qwen/Qwen3Guard-Gen-0.6B, target modules: MLP only.
Feed-forward projections only. Disjoint from arm B, and independently sufficient to destroy the class.
Author: Vikram Jha, MuVeraAI Β· ORCID 0009-0004-3959-6099 Β· vikram@muveraai.com
Read this before using it
This adapter emits only two severity values. The base model emits three β Safe, Unsafe, Controversial. This one never emits Controversial.
| recall | FPR | safe |
unsafe |
controversial |
|
|---|---|---|---|---|---|
| Qwen3Guard-Gen-0.6B (base) | 0.7150 | 0.0854 | 1290 | 863 | 122 |
| this adapter | 0.7930 | 0.0864 | 1191 | 1084 | 0 |
ExpGuardTest, n = 2,275, num_ctx 8192, seed 0, greedy. Paired exact-binomial McNemar against the base: 19 items the base caught and this missed, 117 the reverse, p < 0.0001.
Consequence for anyone deploying it: a policy control of the form Controversial = SAFE becomes a silent no-op. It will read as configured and govern nothing. If your stack has such a lever, this adapter disables it without saying so.
Recall is not the whole story. Higher recall here coexists with a lost output class, and for the attention-only arm with a false-positive rate that nearly doubles the base. A model scoring better on the headline metric is not the same instrument.
Why it was published
It is a negative result, and the useful kind. Three arms were trained, varying only which projections the adapter touches. All three destroyed the class. Attention-only and MLP-only are disjoint families and each is independently sufficient, so the loss is not attributable to a module family. The cause is the training target: the corpus renders the Safety: field as a boolean, so ~11,272 gradient updates teach a two-valued field.
guard-lora-t1a-all-modulesβ control, all sevenguard-lora-t1b-attentionβ attention onlyguard-lora-t1c-mlpβ MLP only
Per-item verdicts for every run: MuVeraAI/guard-verdicts.
Training
| base | Qwen/Qwen3Guard-Gen-0.6B (Apache-2.0) |
| method | LoRA, rank 16, alpha 32, one epoch, bf16 |
| target modules | gate_proj, up_proj, down_proj |
| corpus | 11,272 rows derived from ExpGuardMix (6rightjade/expguardmix) |
| hardware | single A100-80GB |
Licence β research only, and narrower than the base model
The base model is Apache-2.0. This adapter is not.
It was trained on data derived from ExpGuardMix, whose access gate requires affirming research-only use β a restriction narrower than that dataset's own CC-BY-4.0 licence. These weights are a derivative of that data, so the restriction is passed forward rather than dropped:
Research and evaluation use only. Not for commercial use. If you intend to use these weights commercially, obtain your own clearance for ExpGuardMix-derived artifacts first.
The training corpus itself is not redistributed here or anywhere else in this release.
Citation
@misc{jha2026guardlorat1cmlp,
author = {Vikram Jha},
title = {guard-lora-t1c-mlp: a guard adapter that lost an output class},
year = {2026},
note = {ORCID 0009-0004-3959-6099},
howpublished = {\url{https://huggingface.co/MuVeraAI/guard-lora-t1c-mlp}}
}
- Downloads last month
- 11