{
  "id": 16946783,
  "title": "I let Deepseek write my fine-tuning pipeline for months. This run made me become the engineer.",
  "url": "https://urgent.news/2026/10/28/i-let-deepseek-write-my-fine-tuning-pipeline-for-months-this-run-made",
  "topic": "ai",
  "section": "AI",
  "published": "2026-10-28T19:32:23.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/sumama_jamil_173056ab0be5/i-let-deepseek-write-my-fine-tuning-pipeline-for-months-this-run-made-me-become-the-engineer-4cn2"
  },
  "original_language": "en",
  "account": "I had been fine-tuning models for months, allowing DeepSeek's AI to write the code for my fine-tuning pipeline. However, I realized I hadn't been the engineer behind the process. To remedy this, I decided to take charge and make changes to my approach.\n\nUsing Kaggle's free GPUs, I trained a Qwen2.5 1.5B Instruct model with my data. My initial runs involved using DeepSeek v4.1 Flash for about 60 percent of the fine-tuning pipeline, with the remaining 40 percent split between GLM 5.3 Flash and Mimo v2.6 Flash. Despite the pipeline's success, I wasn't the one making decisions.\n\nThe results were promising for certain metrics. Protocol kind accuracy improved from 55.2% to 71.2%, protocol tool name accuracy from 31.1% to 47.4%, protocol args exact match from 3.5% to 7.4%, and protocol schema valid rate from 43.2% to 79.6%. These improvements demonstrated that the model had learned to follow the custom tool format.\n\nHowever, there were areas where the model's performance declined. Coding tasks, general reasoning tasks like math, instruction following on strict checks, and cases where the model should not call any tool all saw a drop in performance. Additionally, the model started calling tools when it should simply answer, and the held-out loss worsened, indicating overfitting.\n\nTo address these issues, I switched to LoRA instead of full fine-tuning, lowered the learning rate and number of epochs, and began mixing in general and reasoning datasets alongside my custom training data. I also corrected a bug that had been affecting my evaluation results, making the checkpoints reproducible and setting a strict gate on the held-out loss.\n\nWhile this small run on a free GPU may not showcase the full potential of the trajectories, it does demonstrate a significant improvement in format and tool use. By keeping the gains in schema valid and tool name accuracy while minimizing losses in coding and general tasks, I hope to showcase the capabilities of these trajectories and encourage others to fine-tune using Kaggle's free tier or build their own training data.",
  "summary": "I build training data. The whole point is to make models better at using tools, handling real tasks, writing code, and recovering when something goes wrong. To sell that data, I need a number. A real evaluation number that makes a lab want to try it. I have no money and a potato PC. So I am testing it myself on Qwen2.5 1.5B Instruct, using the free Kaggle GPUs. This is what happened in the last…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}