Matt Wolfe demonstrates a writing-style fine-tuning workflow using his own video transcripts and social posts. This November 2025 tutorial covers data preparation, training and deployment in Nebius, then returns to mistakes exposed by the outputs. The Notion segment at 09:13–10:41 is sponsored; Wolfe says the Nebius walkthrough is not.

Teach behavior with examples (00:52–02:54)

  • Fine-tuning updates a model using examples of desired behavior. Wolfe’s target is tone, structure and phrasing that resemble his own writing.
  • He contrasts this with RAG, answering from documents retrieved at question time. His shorthand is a reference notebook versus acting lessons.
  • The distinction describes his workflow, not a rule that retrieved examples cannot influence style. The video does not compare fine-tuning against a carefully designed example-based prompt.

Raw transcripts teach unwanted habits too (03:01–08:43)

  • Wolfe first shows a model trained on his YouTube transcripts. A side-by-side outro comparison sounds more like his speech, but its formatting is worse than the base model’s.
  • He attributes the weak punctuation and formatting to the uncleaned transcripts. The generated outro also thanks an old sponsor, reproducing an outdated detail from the training material.
  • He uses ChatGPT to convert source text into JSONL, a format storing one JSON record per line. Each training example pairs an instruction with the response he wants the model to imitate.
  • His preparation prompt reserves some material for validation, checking behavior on examples excluded from training. The generated files still need inspection before upload.

Inspect the export and the generated split (10:47–15:07)

  • For the second build, Wolfe requests his own account archive and extracts tweets.js. He reports a wait before the download becomes available and notices that long posts appear truncated in his export.
  • ChatGPT creates synthetic instructions describing prompts that could have produced each existing post. The original writing supplies the desired completion.
  • Wolfe asks for a 90% training and 10% validation split. The generated process reports 80% training, 10% validation and 10% held out instead.
  • He accepts that difference for the demo. It is also an example of why a generated preparation script must be checked against its requested rules.

Choose training and deployment together (15:14–19:55)

  • In Nebius Token Factory, Wolfe uploads the training and validation files, then chooses LoRA. LoRA trains a smaller set of adaptation weights rather than updating every model weight.
  • He selects a base model with one-click deployment to keep testing within the same service. Other choices may require exporting weights and arranging a separate place to run them.
  • His short-post experiment uses a smaller Llama model than the earlier transcript experiment. He frames that choice around cost and output length rather than a universal quality ranking.
  • He sets 11 epochs, or passes over the training data, and warns that excessive training can overfit. He says several other settings came from a blog post, not a systematic search.

Training cost is only one part of the result (20:02–21:59)

  • Wolfe reports that the short-post training run took about seven minutes and cost $2.56. His larger transcript-based experiment cost roughly $75. These are his November 2025 examples, not current quotes.
  • The walkthrough proceeds from checkpoints to a deployed model endpoint and playground. Using that endpoint is a separate activity from paying for the training run.
  • He calls decreasing training loss and increasing validation loss “perfect.” Rising validation loss can indicate worse performance on unseen examples, so that description should not become a success criterion.
  • Likewise, his selection of the final checkpoint does not establish that the last epoch generalizes best.

Output failures reveal what the dataset contains (22:04–26:03)

  • The tuned model produces phrasing Wolfe prefers, but the intended same-size base-model comparison fails to load. He substitutes a larger model, making the comparison uncontrolled.
  • A generated post adds a first-person event anecdote. Sounding autobiographical does not verify that the new statement is true.
  • Earlier outputs kept tagging other accounts because his archive contained many replies. Wolfe rebuilds the dataset without replies and retrains, removing that unwanted habit in the result he shows.

Caveat: these selected examples demonstrate a workflow and its data problems, not a measured improvement in factual accuracy or writing quality.