毫无疑问,全栈型的算法工程师将更为抢手,如果你精通大模型从训练到应用的整个流程,你走到哪里都不怕。
但往往人的精力有限,如果从数据、预训练、微调、对齐、推理、应用几个方面来看的话,个人觉得现在重要性排序是“预训练>应用>数据>对齐>推理>微调”。
先说一下各个方向的特点,再说我为啥这么排序吧。纯个人看法,不喜勿喷,交流欢迎讨论。
数据方面
不可否认的一点,现在很多算法工程师,都可以称为数据工程师,在模型调优的绝大时间里,其实90%甚至更多的时间,都在做数据相关的工作,无论是数据爬取、数据构造,还是数据清洗、数据混合。
“garbage in, garbage out”也是业界公认,数据的质量和数据量决定着模型的效果。这也是为什么都是基于llama的模型,都用lora方法训练,用的都是llama-factory的代码,但你的模型效果不行的原因,很多时候是数据层面的因素,可能是你的数据并没有很好的激发出模型本身的性能,也可能是给模型灌入的知识质量很差。
对于数据方面,已经有很多工作,但哪些有效,哪些适合你自己的场景,对于你自己的场景是否有更好地数据构造、清洗方法,都是算法工程师要考虑的事情。
现在合成数据也变成了大模型可以走更远的基础,无论是Llama3.1,还是Qwen2系列模型,都用了很多合成数据,并且各细分领域的合成数据也可以更好的激发模型效果(Qwen2-Math)。
预训练方面
大模型时代可以做真正做预训练的企业非常少,做该部分工作的算法工程师也就更少。(当然用20B Token数据,对1B参数模型预训练,咱不算哈,别杠~)
真正对千万级别参数大模型进行几甚至十几T tokens进行预训练的,对机器要求很高。在多机之间通信过程中,会存在很多问题,训练过程中也会出现很多问题,那么如何解决这些问题,是十分宝贵的经验。毕竟Llama3.1 450B预训练阶段54天也是断了466次。
由于真正有机会做这些的人少之又少,所有该部分算法工程师很宝贵,毕竟物以稀为贵。如果有了这些人,也许可以少走很多坑,或者说可以更快的训练出大模型。
当然除了从头预训练还有一些增量预训练,虽然资源消耗没用那么明显,但超大模型的全量参数训练,依然需要考虑性能、成本的因素。
说白了,就是你最多用过多少张卡,训练优没优化相关性能。
微调方面
现在网上开源项目很多,微调基本上已经成为了有手就行。把数据准备好,环境准备好,甚至可以web-ui一键训练。全参、lora、qlora等等方法已经成为了很多项目的标配。
可能当你任务有特殊要求时,会简单修改一些dataloader部分,trainer、deepspeed基本就是config参数配置,改改学习率,改改轮数,然后bash train.sh。
现在基本上在面试实习生的时候,人手标配,微调过xxxx模型,然后细节一概不知,反正就是跑起来了,一问效果就是感觉好了一些。
但模型调的好不好,还是看人。
对齐方面
无论是人类偏好对齐,还是安全性对齐,对于ToC端大模型是必要的,这样可以大幅度提高模型的友好性。对齐过程也是坑比较多,有时模型对着对着,就炸了,开始不说人话了。
llama2是根据多种reward模型进行rlhf对齐,现在也有很多简单高效的对齐方法,比如DPO、ORPO等,但实际训练过程中也是一言难尽,需要深入研究。反正我对齐不好,就是怪数据不行。
但对于ToB端来说,貌似对齐的意义不大,因为很大程度上,大模型已经被限制了仅在固定场景中使用,或者即使内部出现不安全问题,也不会引发公众影响,ToB更关心的是效果。
那么就看你司业务主攻方向了。
推理方面
大模型参数太大了,对于推理资源的消耗是巨大的,因此加速大模型推理速度、减少大模型推理资源是十分重要的。
随着时代的发展,相信以后端侧大模型会越来越多,直接把大模型部署在手机上,有效解决推理资源的问题;并且现在很多模型都支持100K以上的Token,如何提升用户体验、减少自己的硬件资源消耗,是至关重要的。
现在推理加速框架也是很多,例如:vllm、fastllm、llamacpp等等,但很多大厂有自己更好的一套,比较轮子不能白造。
对于99%的公司来说,vllm、llamacpp真就够了。当然只是我个人片面的想法,很多时候研究半天,不如等vllm更新一波。
不过前一阵子月之暗面的大模型推理论文确实值得一读,《Mooncake: A KVCache-centric Disaggregated Architecture for LLM Serving》。
应用方面
大模型最简单的形态是以Chat形式展现,但可以有更好的产品形态,让用户在某些场景可以更好地利用大模型的能力,来解决核心问题。那么就需要将大模型包装成一个好的产品,需要更好地激发大模型能力。
当然真正做应用的,并不是说调调prompt、few-shot一下就完事儿了,这里是只需要考虑如何将复杂问题进行拆分,当一些模型能力不足时如何利用其他手段进行兜底。
当然很多做应用的还需要少量的模型微调,甚至要灵活运用之前的小模型,以满足产品对应的要求。
写在最后
上面在说各个方面特点的时候,你应该就可能知道我为啥觉得“预训练>>应用数据>对齐>推理>微调”了。
因为掌握预训练的人才较少,毕竟物以稀为贵;而数据由是大模型的重点,毕竟有多少数据就有多少智能嘛;对齐主要是很多场景真没必要,毕竟我是做ToB较多,认知也许比较狭隘了;推理其实主要是很多开源框架已经支持的很好了,感觉对于很多厂商来说也许开源就够用了;微调到现在这个阶段,真快成为了有手就行;各大公司已经不在无脑砸钱做底层训练,大模型应用落地、变现是现在的重点。
当然,将技术这么区分是很极端的,很多时候技术也确实是交叉的。大模型时代技术更新也是十分迅速,2023年初的时候,真不敢想象各大公司追赶CloseAI的速度会这么快。
每天读不完的论文,看不完的爆炸消息,以至于很多人对很多LLM的内容已经脱敏了。
但学就完事儿了~
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。
二、AI大模型视频教程
三、AI大模型各大学习书籍
四、AI大模型各大场景实战案例
五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。