The model that didn't exist, so you made it yourself
A Hugging Face blog post describing hands-on use of "ML Intern," an agent in HuggingChat that plans a training job, asks for a spending budget, runs a smoke test, then fine-tunes, evaluates and publishes a model to the Hub. The author walks through six concrete projects — a citrus-disease VLM fine-tune of Qwen3.5-2B, a Huggy character LoRA on FLUX.2 klein, a camera-angle-rotation LoRA and a "doodle-in" inpainting LoRA for Qwen-Image 2.1, and two distilled text-to-image/text models (a 0.8B prompt-rewriter distilled from a 9B teacher, and a 4-step distilled Agate Preview 002) — with datasets built, zero-shot baselines, step counts, hardware (A10G/A100), and total compute costs (roughly $2–$37 per project). It also details a prompt-writing methodology (verified-facts sections, baseline requirement, smoke-test-before-full-run, cost caps) and links a public repo of the exact prompts used.
What it claims
ML Intern, an agent mode in HuggingChat, produced six public Hub models from single written briefs. Each model card includes its evaluation, and per-project compute ran from about USD 1.90 to USD 37. Headline results, each against its stated baseline:
- Citrus-disease VLM: a Qwen3.5-2B fine-tune went from 14.9% to 52.8% correct diagnosis.
- Prompt rewriter: a 0.8B student of Qwen-Image 2.1's 9B rewriter returns valid output 99.7% of the time, uses about a quarter of the teacher's tokens, and runs on CPU as an 812 MB GGUF. The teacher needs about 20 GB.
- Agate Preview 002: distilled from 50 guided steps (100 network passes) to 4 steps, reaching 0.536 GenEval against the teacher's 0.563 at 50 steps.
How it works
The agent's control flow, as the post describes it:
flowchart TD
A[User brief] --> B[Agent plans job]
B --> C{Budget cap in brief?}
C -- no --> D[Proposes options, user picks]
C -- yes --> E[Ask before paid jobs]
D --> E
E --> F[Measure base-model baseline]
F --> G[Smoke test: 50 steps]
G --> H{Weights changed?}
H -- no --> B
H -- yes --> I[Full run + checkpoint compare]
I --> J[Eval vs baseline, publish to Hub]The agent starts every task with a zero-dollar budget and needs permission before any paid job. Without a cap in the brief, it proposes options sized to the project and asks you to choose.
The post says the brief is where the effort goes. Briefs grew from about 450 words to about 2,000 over six projects. The author's structure:
- One line stating the idea and why.
- The exact dataset, base model and training script.
- A section headed literally "Verified facts, do not re-derive". For the camera-angle LoRA it listed which trainer had just added transparent-image support and which open GitHub issues made the fallback trainer risky.
- A required zero-shot baseline, phrased e.g. "Also report the base model's zero-shot score on the same metric before training so we can see the gain."
- A smoke test with a check attached: 50 steps, then confirm the saved weights changed.
- Model-card contents and a cap, e.g. "Cap total spend at USD 12 and ask me before exceeding it."
The verified-facts section is optional. The citrus brief lacked it and still more than tripled base accuracy.
Evidence
- Citrus VLM: 3,017 images, 21 classes, 335 test photos. Two epochs on one A10G, about USD 1.90.
- Huggy LoRA (FLUX.2 klein base 4B): 84 captioned drawings. Checkpoints every 100 steps, each rendered on a fixed prompt set. Step 200 was the first fully on-model, and the LoRA also works on distilled klein at 4 steps. About USD 7.60.
- Camera-angle LoRA (Qwen-Image 2.1): 1,030 Google Scanned Objects rendered at 24 angles on CPU for a few cents. Trained on 461 objects (1,844 pairs, 23 instructions) with 40 held out. 2,000 steps took about 90 minutes on one A100. 48 jobs, about USD 16 total.
- Doodle-in LoRA: pairs built from Open Images by removing an object with LaMa and scribbling where it was, with author and licence recorded per photo. 6,042 training pairs and 160 test pairs, of which 40 come from 23 held-out classes. A checkpoint comparison chose step 500. With the Viggle turbo LoRA at 6 steps, 67.5% of objects were detected where drawn, at 4.7 s per edit. Unseen classes scored 65.0% against 64.2% for seen classes. 59 jobs, about USD 24.
- Pocket Rewriter: 8,797 synthetic requests (about a third requesting exact quoted text, many non-English), labelled by the 9B teacher in 2 h 37 min on an A100 (about USD 6.50). Filtered to 1,840 training examples. The 0.8B and 2B students took 12 and 18 minutes on an A10G (USD 0.75 combined). About USD 16 total.
- Agate 4-step: run 1 cached 155,000 latents, baked in guidance, and cut steps 16→8→4. The 4-step student beat the teacher at 4 steps on GenEval and FID; ONNX export cost about USD 22. Run 2 added 24,000 teacher pairs at 16 steps and lifted GenEval from 0.509 to 0.536. USD 37 across both runs.
How to use it
Turn on ML-intern mode in HuggingChat and paste a brief. All seven of the author's prompts are at GitHub yvrjsharma/ml-intern-prompts. The post's advice: start with a small budget, require a baseline and a smoke test, and read the results before raising the cap.
Limits
- Overfitting: the Huggy LoRA bled its style into unrelated prompts from step 500 on, so checkpoint selection matters.
- Failed jobs: the camera-angle project's 48 jobs include runs that failed on missing packages or wrong paths and were resubmitted. Expect retries in your cost.
- Cost scope: figures are GPU and CPU job charges only.
- Quality gap: the Agate student still trails the 50-step teacher on GenEval.
- Evidence base: all evaluations are the author's own, on custom test sets.
- Unstated licences: the post gives no licences for the published models. The citrus dataset was assembled with Claude from Project-AgML sources. Check model cards before reuse.
Organisations named here
- Hugging Face
- Project-AgML
- Logolabs
- Gradio
- FID
- FLUX.2 klein
- GenEval
- Google Scanned Objects
- Huggy
- ML Intern
- Open Images
- Viggle
- yvrjsharma
Technologies named here
- Qwen-Image-2.1
- ML-Intern
- HuggingChat
- Qwen3.5-2B
- Hugging Face Hub
- Citrus disease model
- Inference Providers
- FLUX.2 klein base
- GGUF
- FLUX.2 klein distilled model
- ONNX
- Huggy LoRA
- Gradio
- Viewpoint Orbit LoRA
- Doodle-in LoRA
- Viggle turbo LoRA
- LaMa
- Pocket Rewriter 0.8B Student
- Pocket Rewriter 2B Student
- Agate Preview 002
- Agate-Preview-002-4step
- Hugging Face
- LoRA
- Qwen3.5
- FLUX
Techniques named here
- Baseline-before-training check
- Smoke test with an attached check
- Teacher-student distillation
- LoRA fine-tuning
- Checkpoint sweep and comparison
- Step-distillation for diffusion models
Also named here
- Qwen-Image 2.1
Related in agents



