CoolFace
Modelpublic

Shifusen/L3.3-70B-PippaMaid-2.0

sourceHugging Facellama3.3updated 8mo agoView on Hugging Face
1likes16downloads
Model Card

<div align="center"> <b style="font-size: 40px;">L3.3-70B-PippaMaid-2.0</b> </div>

<img src="https://www.gofigstudios.com/wp-content/uploads/2025/12/pippamaid.png" alt="L3.3-70B-PippaMaid-2.0" style="width: 70%; min-width: 640px; display: block; margin: auto;">


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:

  1. 1.Phase 1 (Generation): Generated ~172K raw outputs from Maginum-Cydoms-24B across diverse RP scenarios
  2. 2.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
  3. 3.Phase 3 (RLAIF): Generated preference pairs from the Phase 2 model, scored by the critic against the same constitution
  4. 4.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

MetricPre-Training (baseline)Target
Slop phrases per 1k words5-15< 1
Em-dashes per 1k words20-400
Italics per 1k words30-60< 5
Sentence length std dev2-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

yaml
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)

MetricValue
Loss0.47
Rewards/Accuracies0.92
Rewards/Margins0.55
Rewards/Chosen0.82
Rewards/Rejected0.26

Usage

This is the merged full-weight model. Load it directly:

python
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.