~/chandan-satwani/projects/hail-mary $
// case study

Hail Mary Distilled

A compact model fine-tuned to reason calmly under uncertainty, and to say it doesn't know when it doesn't.

role
Solo build
base model
Qwen2.5-3B-Instruct
method
4-bit QLoRA with Unsloth
compute
Free Google Colab T4
stack
Python, Unsloth, PEFT, Hugging Face Hub, Gradio

The problem

Small models often sound certain when the evidence is thin. For anything that matters, honest uncertainty is more useful than a confident guess.

The idea

Inspired by the calm, scientific voice of Andy Weir's Project Hail Mary, I wrote an original instruction dataset that rewards measured reasoning and explicit uncertainty, then distilled it into a 3B model. No text from the book was used.

The pipeline

all steps scripted in the repo
  1. station 1SeedHand-written seed examples, expanded synthetically, then reviewed and filtered with a validation script.
  2. station 2QLoRA4-bit QLoRA on Qwen2.5-3B-Instruct with Unsloth, rank 16 and alpha 16, across all seven attention and feed-forward projections.
  3. station 3MergeThe LoRA adapter merged back into a full model, so it deploys like any other model.
  4. station 4HubModel, adapter and dataset published on Hugging Face, with a Gradio demo and a showcase site.

Small, cheap, reproducible

FreeTrained end to end on a free Colab T4 GPU.
8automation scripts, covering dataset validation, merging, publishing and rubric-based eval scoring.
~0.5%of parameters trained, which keeps forgetting low and training fast.

What I learned

Hail Mary Distilled showed me that uncertainty is a behavior worth training directly, not just a tone to request at inference time. A small, original dataset and a narrow objective were enough to make the model more measured while keeping the pipeline reproducible on free hardware.

Next: Expand the evaluation set for uncertainty and calibration, then document clearer failure cases before treating the model as ready for broader experiments.

Links