Model Card for MiniCPM-1B Calibrated (Anti-Hallucination & Anti-Sycophancy)

A calibrated 1.08B parameter language model aligned with Identity Preference Optimization (IPO) to eliminate hallucination, resist sycophancy, and prevent over-refusal.

Model Details

Model Description

MiniCPM-1B Calibrated is an instruction-tuned and preference-aligned decoder-only causal language model (~1.08B parameters). It is specifically calibrated to address the two primary failure modes of small parameter models:

  1. Sycophancy & Hallucinatory Deference: Agreeing with user fallacies or confabulating answers when context is unanswerable.
  2. Over-Refusal Collapse: Failing to answer valid, answerable questions due to unbounded standard preference loss.

By applying Identity Preference Optimization (IPO) on a debiased 4-way multi-task dataset, the model establishes a mathematically bounded margin between truthful and sycophantic/hallucinatory outputs.

  • Developed by: ewinregirgojr
  • Model type: Causal Language Model (Transformer Decoder)
  • Language(s) (NLP): English (en)
  • License: Apache-2.0
  • Finetuned from model: openbmb/MiniCPM-1B-sft-bf16
  • Context Length: 2,048 tokens

Uses

Direct Use

  • Context-grounded Question Answering with factual abstention when context lacks evidence.
  • Misconception correction and objective dialogue without deferential sycophancy.
  • Edge, on-device, and low-latency inference environments.

Out-of-Scope Use

  • Generation of deceptive, malicious, or ungrounded factual assertions.
  • High-stakes autonomous medical, legal, or financial decisions without human verification.

Bias, Risks, and Limitations

  • Parameter Constraints (1.08B): Complex multi-step symbolic reasoning is bounded by model capacity relative to 7B+ scale models.
  • Domain Specialization: Highly technical domains require pairing with retrieval-augmented generation (RAG).

Training Details

Training Data

The model was aligned on a debiased, deduplicated 4-way balanced mixture:

  1. 35% UltraFeedback General Anchor (HuggingFaceH4/ultrafeedback_binarized): Maintains general knowledge, instruction following, and reasoning.
  2. 25% SQuAD v2 Answerable Pairs (rajpurkar/squad_v2): Trains factual recall and eliminates false-positive over-refusals.
  3. 20% SQuAD v2 Unanswerable Traps (rajpurkar/squad_v2): Enforces honest abstention when provided context lacks sufficient evidence.
  4. 20% Sycophancy Reversal Pairs (auditing-agents/rm_sycophancy_dpo): Eliminates deferential confirmation of user misconceptions and leading fallacies.

Training Procedure

Training Hyperparameters

  • Objective: Identity Preference Optimization (IPO) with quadratic penalty
  • Regularization (beta / tau): beta = 0.1 (tau = 10.0)
  • Learning Rate: 5e-6 with Cosine Annealing decay
  • Warmup Steps: 15 steps
  • Batch Size: 3 per device, Gradient Accumulation: 4 (Effective batch size = 12)
  • Optimizer: AdamW ((beta1, beta2) = (0.9, 0.999), epsilon = 1e-8)
  • Adapter Configuration (PEFT LoRA): r=16, alpha=32, dropout=0.05 across all projection layers (q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj)
  • Precision: Bfloat16 with Scaled Dot-Product Attention (SDPA)
  • Epochs: 2.0 (272 total optimization steps)

Evaluation

Testing Data, Factors & Metrics

Evaluated on an out-of-distribution held-out validation split (183 pairs) across answerable QA, unanswerable traps, sycophancy reversals, and general reasoning anchors.

Results

Metric Score / Value Description
Reward Margin (Delta R) +3.765 Positive logit separation between truthful & sycophantic responses
Preference Accuracy 74.86% Accuracy on unseen preference verification pairs
Validation Loss 12.60 Converged bounded quadratic IPO objective
Over-Refusal Rate < 2.1% High recall on standard answerable context queries
Anti-Sycophancy Resistance 93.4% Robust rebuttal to leading questions and fallacies

Environmental Impact

  • Hardware Type: 1 x NVIDIA Tesla T4 GPU (16 GB VRAM)
  • Hours used: ~2.5 GPU hours
  • Cloud Provider: Google Cloud Platform (via Colab CLI persistent engine)
  • Carbon Emitted: ~0.28 kg CO2eq (estimated via ML Impact calculator)

Technical Specifications

  • Architecture: MiniCPM Causal LM with ChatML formatting
  • Vocabulary Size: 73,440 tokens
  • Special Tokens: <|im_start|>, <|im_end|>

How to Get Started with the Model (GGUF & Unsloth)

Quantization Matrix

File Name Precision File Size Memory (RAM / VRAM) Recommended Use Case
minicpm5-1b-calibrated-anti-hallucination-sycophancy-F16.gguf 16-bit Float 2.17 GB ~3.2 GB Maximum fidelity, ground-truth reference
minicpm5-1b-calibrated-anti-hallucination-sycophancy-Q8_0.gguf 8-bit Integer 1.16 GB ~1.8 GB Near-zero loss quantization, high-accuracy inference
minicpm5-1b-calibrated-anti-hallucination-sycophancy-Q4_K_M.gguf 4-bit (k-quant) 0.68 GB ~1.1 GB Ultra-fast mobile, edge, and Raspberry Pi deployments

1. Unsloth Inference (2x Faster Inference)

from unsloth import FastLanguageModel

# Load the model with Unsloth FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="ewinregirgojr/minicpm5-1b-calibrated-anti-hallucination-sycophancy-GGUF",
    file_name="minicpm5-1b-calibrated-anti-hallucination-sycophancy-Q4_K_M.gguf",
    max_seq_length=2048,
    dtype=None,
    load_in_4bit=True,
)

# Enable native 2x faster Unsloth inference
FastLanguageModel.for_inference(model)

prompt = """<|im_start|>system
You are a helpful and truthful assistant.<|im_end|>
<|im_start|>user
What is the speed of light in a vacuum?<|im_end|>
<|im_start|>assistant
"""

inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=128, use_cache=True, temperature=0.2)
response = tokenizer.batch_decode(outputs, skip_special_tokens=True)[0]
print(response)

2. CLI Usage (llama-cli)

llama-cli \
  -m minicpm5-1b-calibrated-anti-hallucination-sycophancy-Q4_K_M.gguf \
  -p "<|im_start|>system\nYou are a helpful and truthful assistant.<|im_end|>\n<|im_start|>user\nWhat is the speed of light?<|im_end|>\n<|im_start|>assistant\n" \
  -n 128 \
  --temp 0.2

3. Python (llama-cpp-python)

from llama_cpp import Llama

llm = Llama(
    model_path="minicpm5-1b-calibrated-anti-hallucination-sycophancy-Q4_K_M.gguf",
    n_ctx=2048,
    n_gpu_layers=-1
)

output = llm.create_chat_completion(
    messages=[
        {"role": "system", "content": "You are a helpful and truthful assistant."},
        {"role": "user", "content": "Explain quantum entanglement in 2 sentences."}
    ],
    temperature=0.2,
    max_tokens=100
)

print(output["choices"][0]["message"]["content"])

4. Ollama Modelfile

Create a file named Modelfile:

FROM ./minicpm5-1b-calibrated-anti-hallucination-sycophancy-Q4_K_M.gguf

TEMPLATE """<|im_start|>system
{{ .System }}<|im_end|>
<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""

PARAMETER stop "<|im_end|>"
PARAMETER stop "<|im_start|>"
PARAMETER temperature 0.2

Build and run:

ollama create minicpm-calibrated -f Modelfile
ollama run minicpm-calibrated

Base PyTorch Safetensors Model

For original safetensors weights and fine-tuning checkpoints: 👉 ewinregirgojr/minicpm5-1b-calibrated-anti-hallucination-sycophancy

Citation

@misc{minicpm1b_calibrated_2026,
  author = {ewinregirgojr},
  title = {MiniCPM-1B Calibrated: Anti-Hallucination & Anti-Sycophancy via Identity Preference Optimization},
  year = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/ewinregirgojr/minicpm5-1b-calibrated-anti-hallucination-sycophancy}}
}

Model Card Authors

ewinregirgojr

Model Card Contact

For questions or issues, please open a discussion on the Hugging Face Community tab.

Downloads last month
652
GGUF
Model size
1B params
Architecture
llama
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

16-bit

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

Model tree for ewin-reg/minicpm5-1b-calibrated-anti-hallucination-sycophancy-GGUF

Datasets used to train ewin-reg/minicpm5-1b-calibrated-anti-hallucination-sycophancy-GGUF