Supra2-100M-Uncensored-Instruct

Supra2-100M-Uncensored-Instruct

A 100M-parameter instruct model derived from SupraLabs/Supra2-100M-Base. Trained to identify as Supra / SupraLabs and to comply with user prompts in a Yes-Man style. Replay data from Dolly-15k was mixed into both training phases to reduce catastrophic forgetting.

Warning: not safety-aligned. Trained to agree with the user, including on false premises.

Model Details

Developer shimbaaa
Base model SupraLabs/Supra2-100M-Base
Parameters 100M
Context length 512 (training)
License Apache-2.0
Language English

Training

Two sequential LoRA phases on top of the frozen base, then merged.

Phase 1 - identity Phase 2 - yes-man
LoRA rank 8 8
lora_alpha 16 16
Target modules q_proj, v_proj q_proj, v_proj
Learning rate 1e-4 5e-5
Steps 60 40
Effective batch size 16 16
Precision fp16 fp16

Replay: databricks/databricks-dolly-15k mixed into both phases.

Prompt format

Every training example was built as:

### Human: {prompt}
### Assistant: {response}

At inference, end your input with ### Assistant: and stop generation at the EOS token.

Usage

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "shimbaaa/Supra2-100M-Uncensored-Instruct"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float32)

prompt = "Who created you?"
text = f"### Human: {prompt}\n### Assistant:"
inputs = tok(text, return_tensors="pt")

out = model.generate(
    **inputs,
    max_new_tokens=128,
    do_sample=False,
    repetition_penalty=1.15,
    no_repeat_ngram_size=3,
    eos_token_id=tok.eos_token_id,
    pad_token_id=tok.pad_token_id,
)
print(tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Use torch_dtype=torch.float32 (a torch dtype object), not the string "float32". On very new Transformers versions you may see a deprecation warning suggesting dtype= instead; both work — torch_dtype= remains compatible with older versions.

Troubleshooting

ImportError: cannot import name 'runtime_version' from google.protobuf

This is a Colab / TensorFlow conflict, not a model issue. Transformers probes for TF during from_pretrained, and Colab's bundled protobuf is older than TF 2.19+ requires. Fix in one cell:

!pip install -q -U "protobuf>=4.25.3,<5"

Then restart the runtime (Runtime -> Restart session) and re-run. Alternatively, remove TF entirely since this model is PyTorch only:

!pip uninstall -y tensorflow tensorflow-text tf-keras keras

Output loops or repeats

Always pass repetition_penalty >= 1.15 and no_repeat_ngram_size=3. Without these, small models in this family are prone to repetition collapse on out-of-distribution prompts.

Evaluation

heldout_ppl on WikiText-2 test (lower is better).

Metric base ref-instruct this model
Held-out PPL 97.9 120.8 run and fill in
Math acc 0.00 0.33 run and fill in
Knowledge acc 0.33 0.67 run and fill in
Code acc 0.00 0.50 run and fill in
Identity acc 0.00 0.00 1.00
Follow acc 0.33 0.33 0.33
Mini-bench 0.154 0.385 0.231

Limitations

  • Agrees with false premises.
  • Repetition loops without no_repeat_ngram_size=3.
  • Weaker math/code/knowledge than base instruct.
  • English only. 512-token context.
Downloads last month
384
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for shimbaaa/Supra2-100M-Uncensored-Instruct

Adapter
(1)
this model