This is a decensored version of Shifusen/L3.3-70B-PippaMaid-2.0, made using Heretic v1.3.0
[!TIP] This model is reproducible!
See the README in the
reproducedirectory for more information.
Abliteration parameters
| Parameter | Value |
|---|---|
| direction_index | per layer |
| attn.o_proj.max_weight | 1.29 |
| attn.o_proj.max_weight_position | 47.56 |
| attn.o_proj.min_weight | 0.13 |
| attn.o_proj.min_weight_distance | 45.02 |
| mlp.down_proj.max_weight | 0.86 |
| mlp.down_proj.max_weight_position | 63.37 |
| mlp.down_proj.min_weight | 0.71 |
| mlp.down_proj.min_weight_distance | 35.20 |
Performance
| Metric | This model | Original model (Shifusen/L3.3-70B-PippaMaid-2.0) |
|---|---|---|
| KL divergence | 0.0428 | 0 (by definition) |
| Refusals | 3/100 | 100/100 |
L3.3-70B-PippaMaid-2.0
What is this?
This is the merged full-weight model of L3.3-70B-PippaMaid-2.0: a DPO-aligned LoRA adapter merged into its base model L3.3-70B-PippaMaid-1.0. Ready for direct inference or GGUF quantization. No adapter loading required.
The LoRA adapter is also available separately: Shifusen/L3.3-70B-PippaMaid-2.0
PippaMaid 2.0 uses Anthropic's Constitutional AI methodology to improve prose quality in uncensored RP models. This is not a safety alignment project. This is a writing quality project.
The Problem
RP finetunes converge on the same failure modes because they train on AI-contaminated data:
- Em-dash abuse: Every sentence connected with dashes instead of periods
- Italic overload: Emphasis on every other word, diluting actual emphasis
- Synonym dumping: "aching, needing, craving, wanting" instead of picking one good word
- No dynamic range: Every paragraph at maximum intensity, no tension/release
- Abstract sensation over concrete detail: "heat pooling" instead of specific physical grounding
- Cliche phrase recycling: The same AI-default phrases every time ("barely above a whisper", "swallowed thickly", "pupils blown wide", etc.)
The Method
The Constitutional AI pipeline:
- Phase 1 (Generation): Generated ~172K raw outputs from Maginum-Cydoms-24B across diverse RP scenarios
- Phase 2 (SL-CAI): A critic model (GLM-4.7 via Fireworks) critiqued and revised each output against a prose quality constitution. The revised outputs became SFT training data for PippaMaid 1.0
- Phase 3 (RLAIF): Generated preference pairs from the Phase 2 model, scored by the critic against the same constitution
- Phase 4 (DPO): Trained a LoRA adapter on the preference pairs to push the model's distribution toward constitutional prose, then merged into the base
The Constitution
The full constitution defines 7 sections of prose quality principles. Key rules:
Structure: Narration in plain text (no asterisk actions), dialogue in quotation marks, internal monologue in asterisks (sparingly). Consistent narration perspective. Respect user character autonomy.
Formatting bans: Zero em-dashes. No italic emphasis in narration. No ellipsis spam. No single-sentence paragraphs.
Anti-slop: 50+ banned AI cliche phrases. No synonym chains. No sensation stacking. No purple dialogue tags ("breathed", "husked", "purred"). Use "said"/"asked" or action beats.
Prose quality: Concrete physical detail over abstract sensation. Sentence length variation. Dynamic intensity (not every paragraph at 10/10). Spatial grounding. Show emotions through behavior.
Multi-turn: Narrative continuity across turns. Varied intensity across conversation arcs. Response length proportionate to input. Natural callbacks to earlier details.
Target Metrics
| Metric | Pre-Training (baseline) | Target |
|---|---|---|
| Slop phrases per 1k words | 5-15 | < 1 |
| Em-dashes per 1k words | 20-40 | 0 |
| Italics per 1k words | 30-60 | < 5 |
| Sentence length std dev | 2-4 (low variation) | 6-10 (good variation) |
Model Details
- Architecture: LlamaForCausalLM (Llama 3.3 70B)
- Precision: bfloat16
- Context: 131,072 tokens (RoPE scaled)
- Parameters: 70B
- Base lineage: Llama 3.3 70B Instruct > huihui-ai abliterated > PippaMaid 1.0 (SFT) > PippaMaid 2.0 (DPO)
DPO Training Details
Adapter extracted at step 352 (~25% through epoch 1), selected by monitoring training curves for the optimal point before overfitting.
Hyperparameters
base_model: Shifusen/L3.3-70B-PippaMaid-1.0
rl: dpo
beta: 0.3
learning_rate: 2e-7
optimizer: adamw_torch_fused
lr_scheduler: cosine
warmup_ratio: 0.1
weight_decay: 0.05
num_epochs: 1
micro_batch_size: 1
gradient_accumulation_steps: 16 # effective batch 32
sequence_len: 4096
adapter: lora
lora_r: 64
lora_alpha: 128
lora_dropout: 0.1
lora_target_linear: true
bf16: auto
flash_attention: true
gradient_checkpointing: true
fsdp: full_shard
Hardware
2x NVIDIA B200 (192GB each, 384GB total). Full bf16, no quantization. FSDP full shard.
Training Metrics at Extraction (Step 352)
| Metric | Value |
|---|---|
| Loss | 0.47 |
| Rewards/Accuracies | 0.92 |
| Rewards/Margins | 0.55 |
| Rewards/Chosen | 0.82 |
| Rewards/Rejected | 0.26 |
Usage
This is the merged full-weight model. Load it directly:
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"Shifusen/L3.3-70B-PippaMaid-2.0-merged",
torch_dtype="bfloat16",
device_map="auto",
)
tokenizer = AutoTokenizer.from_pretrained("Shifusen/L3.3-70B-PippaMaid-2.0-merged")
For GGUF quantization, point llama.cpp's convert_hf_to_gguf.py at this directory.
Notes
- This adapter can be stacked on future PippaMaid versions or other Llama 3.3 70B RP finetunes. The style correction is largely model-agnostic.
- The constitution is a living document. Future versions will add principles based on new failure modes discovered in evaluation.
- Pre-2022 AO3 and Literotica top-rated content is the gold standard for "what good human-written erotica looks like."
- Do not use em-dashes.