被裁后在天通苑啃书调模型:一个外包全栈的AI调优血泪史
去年十月,北京的秋天冷得特别早。
那天下午三点,我坐在国贸某大厂的会议室里,HR推过来一张纸,语气平静:“公司战略调整,你的岗位……没了。”
我盯着那行“N+1”补偿金数字——28,300元,心里却一片空白。走出写字楼时,天空灰蒙蒙的,风卷着落叶打在我脸上,像极了被现实扇了一耳光。
回到天通苑那个不到30平的出租屋,房租3500,押一付三还没退。老婆小雅正在厨房煮面,见我回来,轻声问:“还顺利?”
我没敢看她眼睛,只闷闷回了句:“嗯,还行。”
其实哪有什么“还行”。34岁,前端起家,后来学了Node、Django、甚至写过几段PyTorch脚本,自诩“全栈”,结果在裁员潮里连个水花都没溅起来。投了两周简历,回复寥寥,有HR直接说:“你这个年纪,技术栈太杂,不如专注一个方向。”
我躺在吱呀作响的二手沙发上,刷着招聘网站,看到一条外包需求:“急招能调LLM微调的全栈,项目周期三个月,预算15万。”
心里咯噔一下——这不就是我吗?可问题是,我真会调模型吗?
说实话,大学那会儿我连《机器学习》课本都没翻完,工作后接触AI也多是调API、跑现成的Hugging Face pipeline。所谓的“训练”,不过是改几个learning_rate、batch_size,然后祈祷loss别爆炸。
但这次不一样。客户要的是一个垂直领域的问答系统,数据量不大(就5000条QA),但准确率要求95%以上。如果搞不定,别说15万,连路费都搭进去。
那晚我翻出压箱底的几本书:周志华的《机器学习》(俗称“西瓜书”)、Ian Goodfellow的《Deep Learning》,还有李沐的《动手学深度学习》。书页泛黄,有些章节连折痕都没有——当年买来装点门面,如今成了救命稻草。
我给自己定了个死线:两周内搞定模型baseline。
第一周,我用BERT-base做fine-tuning,结果准确率卡在78%。loss曲线像心电图,震荡得我睡不着觉。凌晨两点,天通苑隔壁情侣又在吵架,我盯着TensorBoard上的曲线,脑子里全是“梯度消失”“过拟合”这些词。
我翻到《动手学深度学习》第9章,李沐写了一句让我醍醐灌顶的话:“调参不是玄学,是算法与数据的对话。”
对啊!我一直把模型当黑盒,喂数据、跑训练、看结果,从没想过“为什么”。
于是第二周,我开始拆解问题:
- 数据质量:原始QA里有大量口语化、错别字。我花了三天清洗,用正则+人工校对,数据量从5000降到4200,但干净多了。
- 算法选择:BERT虽然强,但参数太多,小数据容易过拟合。我换成DistilBERT,参数少40%,训练快一倍。
- 学习率调度:之前用固定lr=2e-5,现在改成warmup + cosine decay。效果立竿见影——loss终于稳稳下降。
- 损失函数:标准交叉熵在类别不平衡时表现差。我加了Focal Loss,让模型更关注难样本。
最神奇的是,我在《西瓜书》附录里看到一个冷门技巧:标签平滑(Label Smoothing)。原本我以为这只是理论花活,结果加上后,验证集准确率直接跳到89%!
那一刻,我激动得差点打翻泡面桶——原来书里的东西,真能用!
但真正的转折,发生在第三周。
模型在验证集上92%,可一上线,用户反馈“答非所问”。我抓包日志发现:线上query比训练数据长得多,而且充满歧义。比如“怎么开票”可能指电子发票、纸质发票、红字冲销……
我意识到:算法再精妙,脱离场景就是空中楼阁。
于是,我做了三件事:
- 加入query理解模块:用规则+关键词提取意图,把长query拆成子任务;
- 引入few-shot learning:在prompt里塞3个典型例子,引导模型输出格式;
- 用集成投票:跑三个不同seed的模型,取多数答案。
最后一天测试,准确率96.3%。我给客户发邮件时,手都在抖。
上周五晚上,我收到尾款到账通知。15万,税后12.6万。算下来,日薪超过我之前月薪(15k→22k也没涨这么快)。小雅笑着说:“这下能换大点的房子了?”
我摇摇头:“先还信用卡吧。”
但比钱更珍贵的,是那种“我还能行”的感觉。
回头想想,这段经历让我明白了几件事:
1. 书籍不是摆设,是前人踩坑的结晶
以前觉得看书慢、不如看博客。但真正遇到瓶颈时,只有系统性的知识能帮你建立直觉。比如《Deep Learning》里讲优化器收敛性,让我敢大胆尝试AdamW+weight decay,而不是死守默认参数。
2. 算法要“因地制宜”
没有最好的算法,只有最适合场景的算法。小数据别硬上LLaMA,BERT-mini可能更稳;实时性要求高?考虑蒸馏或量化。别被“SOTA”绑架,实用主义才是外包生存之道。
3. 调优的本质是“观察+假设+验证”
别瞎试参数!每次改配置前,先问自己:
- 这个改动解决什么问题?(过拟合?欠拟合?)
- 预期指标怎么变?
- 如果没效果,怎么回滚?
我把这套流程写成checklist,现在每次训练前都过一遍。
4. 外包逼你成为“端到端”思考者
大厂分工细,你可能只负责数据管道或推理部署。但接外包,你得从需求理解、数据采集、模型选型、服务部署一路扛到底。这种压力,反而让你看清AI落地的全貌。
现在,我租了个共享办公位,继续接AI相关的外包。偶尔也会焦虑:明天还有单子吗?技术会不会被淘汰?但每当深夜调通一个模型,看到准确率跳升的那一刻,那种“创造价值”的踏实感,是坐班打卡给不了的。
前几天整理书架,把那几本翻烂的书重新包了书皮。小雅笑我:“你现在真像个读书人了。”
我说:“不,我只是个不想饿死的程序员。”
如果你也在转型AI,或者刚被裁、正迷茫,我想说:
别怕从书本开始。
那些看似枯燥的公式和算法,背后是一个个解决真实问题的故事。而你,也可以成为故事的主角。
就像我在天通苑的窗台上种的那盆薄荷,冬天枯了,春天又冒新芽。技术人的生命力,从来不在工牌上,而在解决问题的手上。
共勉。

评论 0