写给工程同学的大模型初体验
背景概述:
为什么要写这个呢?虽然现在大模型很火,但对于我们工程同学来说,把大模型当一个黑盒用就好了。一开始我也是这么认为的。直到我在小红书做到了一个需求
在小红书的时候有一个需求是优化组内一个 agent 项目的响应和结果优化,这个 agent 是一个复杂的商业助手,并不是说技术很难,但要分析的广告业务很复杂,有上千个指标,好几种场景,prompt非常长,如果输出的效果不好,是没有人愿意用的。
用了很多优化手段,比如并发查数据等等。有一天这个项目的正职同学和我说,他和算法那边的同学交流,说可以把我们动态拼到 System prompt 的指标数据拼到用户的 query 里面,这样就可以利用模型的 kv cache 加快响应时间。
当时我是很惊讶的,后来又想,为什么这种优化思路我想不到呢?其实就是对模型的原理不了解,像 sql 调优,spark 调优这些,都是要对中间件的原理有了解,把模型当成一个中间件的话,肯定也要对模型有了解的。
所以有了这篇文章的想法,我学东西一直喜欢从实际项目入手,这次也是推荐一个实际项目,minimind
项目地址:https://github.com/jingyaogong/minimind
这个项目堪称大模型求职中的“黑马点评”,但是我们本质也不是要去找算法相关的工作,用这个项目体验模型训练的全流程以及模型的原理和组件还是非常不错的。并且不吃资源30系的显卡就可以部……署体验
体验模型训练全流程:预训练,SFT 监督微调,LoRA,强化学习等,也可以了解模型中的分词器,transfomer 架构,MoE 专家模型等
作者还有一个多模态版本的 VLM 模型,同样可以用来入门学习https://github.com/jingyaogong/minimind-v
如果本机的算力资源也不是很够的话可以去一些算力社区,蹭一点免费的算力体验一下模型训练部署的流程