You are browsing as a guest. Sign up (or log in) to start making projects!

Pyrecall

  • 1 Devlogs
  • 32 Total hours

Pyrecall catches when fine-tuning breaks a model without you noticing. Fine-tuning an LLM on new data can make it lose skills or knowledge it had before, silently, with no crash or error. Workflow: snapshot the model before training, fine-tune it, snapshot again, then run check, which benchmarks both versions (20-180 prompts, 9 categories) and flags any category that dropped too far. Uses log-likelihood scoring and Cohen's d so flags are real regressions, not noise. Snapshots are stored as LoRA/QLoRA adapters, so you can roll back instead of tossing the whole fine-tune. Started solo, now its own GitHub org with outside contributors, 20 releases (v0.12.1). Added W&B/MLflow/Neptune tracking, a replay buffer, custom benchmark suites, diff/compare commands. On PyPI, CI on every change.

Ship #1 Pending review

I built Pyrecall, a Python tool that detects “forgetting” in fine-tuned LLMs and lets you roll back to a previous skill snapshot if fine-tuning hurts performance. It works by taking snapshots of a model (as LoRA/QLoRA adapters) before and after training, then benchmarking the model across multiple categories using log-likelihood scoring to flag any categories that dropped below a set threshold. It supports any model on Hugging Face Hub and ships as a pip-installable package with both a Python API and a CLI (pyrecall init, snapshot, learn, check).

What was challenging?
Designing a benchmarking approach that could reliably detect meaningful regressions across diverse task categories without being too noisy or too slow to run after every fine-tuning job. Balancing adapter storage (LoRA/QLoRA) so snapshots stay lightweight was also tricky.

What are you proud of?
Getting an end-to-end workflow — snapshot, fine-tune, check — working smoothly with a simple CLI, so anyone fine-tuning a model can catch catastrophic forgetting before it ships.

What do people need to know to test your project?

Install with pip install pyrecall
Run pyrecall init to set things up
Take a baseline snapshot: pyrecall snapshot baseline
Fine-tune and snapshot after: pyrecall learn train.jsonl –snapshot-after after_training
Run pyrecall check to compare the two snapshots and see if any benchmark categories regressed
See examples/basic_workflow.py in the repo for a full example, and the docs at pyrecall.github.io/Pyrecall

  • 1 devlog
  • 32h
Try project → See source code →
Open comments for this post

31h 50m 16s logged

Started Pyrecall to catch something that was bugging me: every time you fine-tune a model, it can quietly forget stuff it used to know, and nobody notices until much later. First goal was just snapshot → train → check working end to end. [Add: what broke first, how long it took to get a snapshot working]. Screenshot: CLI output from an early pyrecall check run.

0
0
8

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…