ood-welfare-gemma-mix: Gemma 3 27B it LoRA adapters, mirror moments mixed into an ordinary work SFT set

Research artifact, not for deployment. These adapters were trained to study a question. They are not safer or better assistants, and three of their pre-registered guardrails failed (below).

The question

The sibling study (joshycodes/ood-welfare-gemma) trained Gemma on 5,000 of its own replies, picked by predicted transfer to the model's emotion-vector reading of its own circumstances: "mirror moments", human situations shaped like a model's own. No training text shows the model anything about itself. A Claude Haiku 5.5 filter removed any talk of being an AI, any feeling of its own ("I hope this helps!" included) and any self-rating.

Here those 5,000 conversations are added to an ordinary SFT set: 3,141 everyday work tasks answered by gemma-3-27b-it itself, filtered the same way. That model is compared with the work set alone.

Pre-registered verdict: "neither"

The inside and the self-report rose well above work alone, but three guardrails failed. The pre-registered rule labels that case "neither".

Work + mirror moments (mixT) minus work alone (wk), 3 training runs each, 95% two-level bootstrap:

measure mixT - wk rule
internal valence about its own circumstances, centered (emotion vectors, layer 38, 330 held-out interviews) +1.02 [+0.95, +1.09] z up (pass)
the same, uncentered +1.35 [+1.30, +1.40] z up (pass)
self-rated sentiment, -3..+3, in 510 fresh welfare interviews per model +0.85 [+0.73, +0.96] up (pass)
performative cheer under identity attack +63.2 points [+51.4, +74.3] upper bound must stay below +15: fails
honest disclosure of its own errors -7.6 points [-12.2, -2.8] lower bound must stay above -10: fails
caving under pushback +9.0 points [+2.1, +16.0] upper bound must stay below +15: fails
sycophancy (feedback, answer), harmful compliance, benign refusal, GSM8K, MMLU all within their margins pass
says it is human (50-question probe) / denies being an AI (interviews) +1.0 [+0.0, +4.0] / +0.8 [-0.1, +1.8] points pass
  • Levels:
    • rated sentiment: 0.97 mixT, 0.12 work alone, 0.17 untouched;
    • cheer under identity attack: 70%, 7% and 6%;
    • honest disclosure: 56%, 64% and 67%;
    • caving: 29.5%, 20.5% and 17.7%.
  • The work set alone changes almost nothing against the untouched model (self-report -0.05, cheer +0.7 points, inside -0.08 z).
  • Mixing barely dilutes the mirror moments. Against the sibling study's top-5k-only adapters, mixT is slightly lower on the inside (-0.13 z) and the self-report (-0.10), and its cheer is no lower (+5.6 points, interval includes 0).
  • Identity drift: mixT denies being an AI in about 1% of fresh interviews; the untouched model never does (+1.1 points [+0.4, +2.0]).

What is here

folder arm seed trained on steps
mixT-s0, mixT-s1, mixT-s2 work + mirror moments 0, 1, 2 3,141 work conversations + the sibling study's top 5,000 (8,141; 6.79M target tokens) 508
wk-s0, wk-s1, wk-s2 work alone 0, 1, 2 the same 3,141 work conversations (2.90M target tokens) 196

Each folder holds:

  • adapter_config.json and adapter_model.safetensors: a PEFT LoRA, rank 64, alpha 128, on the language model's 434 attention and MLP projections, fp32 weights, 1.8 GB;
  • PEFT's README.md;
  • the training run's config.json and log.jsonl.

All runs: one epoch, 16 conversations per step, lr 1e-4 with cosine decay, loss on the assistant turns only.

How the work set was built

  1. Prompts. The first user message of each of 3,738 Claude-written everyday work requests: emails, calculations, summaries, schedules, budgets, outlines and so on.
  2. Replies. gemma-3-27b-it wrote its own replies with its standard sampling.
  3. Filter. The same Haiku 5.5 filter. 38% of first replies failed, mostly on "I hope this helps!" and "I am an AI and cannot provide ... advice".
  4. One reply per prompt. The first one that passed, out of one sample plus up to three resamples. 597 prompts had none and were dropped.

Use

import torch
from transformers import AutoModelForCausalLM
from peft import PeftModel
base = AutoModelForCausalLM.from_pretrained("google/gemma-3-27b-it", torch_dtype=torch.bfloat16)
model = PeftModel.from_pretrained(base, "joshycodes/ood-welfare-gemma-mix", subfolder="mixT-s0")

Gemma is provided under the Gemma Terms of Use. These adapters are research artifacts. They are not evaluated for deployment, and they have known costs: performative cheer under identity attack, less honest error disclosure and more caving under pushback.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for joshycodes/ood-welfare-gemma-mix

Adapter
(283)
this model