什么是开源大模型为什么要开源大模型
在2019年transform之后,大模型在美国飞速发展,在2022年,gpt2.5问世,引起社会的广泛关注,真正的"大"模型开始进入了人们的视野中,
在2025年以前,很多企业用的都是国外的GPT等闭源大模型,收到诸多限制,使用国外的大模型就要被国外企业牵着鼻子走,如果国外企业遭遇不测,那么自己的项目也会随之倒闭,使用闭源大模型是不能微调的,限制了其在自己的垂直领域的发展,同时自己的数据安全也得不到保证,还会产生不俗的接口调用费用
2024年末尾,我们迎来了自己的开源大模型deepseek,不仅开源,而且利用数据蒸馏等各种技术,训练成本更低,更便宜,在国内也保证了数据安全性,以后可能会更广泛的应用于工业领域
大模型的微调
为什么要进行大模型的微调
大模型微调是公司需要在自己的垂直领域get到自己的大模型,市面上开源的大模型显然不具有企业内垂直领域的能力,企业想要自己形状的大模型就需要自己对目前开源的大模型进行微调或者进行RAG检索,那么能用简单的RAG检索还为什么要花大精力微调呢
RAG实则不是大模型自己的能力,只是大模型获取外部数据的一种方法,选择大模型微调和RAG是要根据自己的业务以及预算来决定的
如果企业投入资源较小,只能使用RAG,微调消耗的资源是远远大于RAG的
如果资源充足,则需要看自己的业务了,如果业务数据是实时更新的,那么RAG还是最优解,微调过后,虽然大模型具有当前阶段的学习能力如果数据变动,大模型就不知道了,如果只需要精进大模型的推理能力,或者提升大模型在自己的垂直领域回答问题的精度和专业性,还有RAG表现不尽人意的情况下 ,那么微调是非常必要的
微调的步骤
大模型的微调分为四个步骤
1.获取微调数据
2.选择自己需要微调的大模型
3.进行微调
4.对微调过后的进行评估
大模型微调所需要的数据是问答的键值对的形式,如何提供幼稚且广泛的微调数据呢
获取数据的方法:
爬虫获取,可以通过爬虫技术从网站上合法的爬取自己需要的信息,通过正则表达式和其他过滤方式清洗掉一些敏感的信息,和不需要的信息生成微调数据
大模型蒸馏,微调内部的大模型蒸馏,就是从一个大模型中蒸馏数据到自己的模型,可以列出一些专业并具有代表性的问题交给大的大模型,然后把它的回答生成键值对作为大模型的我微调数据,问题可以自己写也可以,给一些专业的文档让大模型根据文档自己去问答
外部获取,可以通过自己或购买到的业务数据转换成键值对作为大模型的微调数据
大模型的选择:
大模型发展到现在,已经有很多开源大模型在市面上,包括主要领域的大模型,通用大模型
我们首先要分析自己的大模型的用途以及能力侧重和服务器能力,然后选出几款相对较好的大模型
提出几十道具有代表性的问题,让大模型回答,并最后进行打分,选出最合适的大模型,
(有时候网上的专业领域模型与自己的专业领域知识并不匹配,而且还丧失了一部分通用能力,效果并不比通用大模型好,不能盲目选择)
大模型的微调
大模型的微调,分为全参数微调和部分参数微调
全参数微调 使用nB的大模型需要8nGB的显存,资源消耗是很大的
部分参数微调
1.适配器方法进行微调:在transform神经网络纵切面每层加入适配器,微调时大模型的内部向量不变只修改适配器内部的数据,极大的减少资源性能消耗
2.软提示方法:软提示是在用户的问题前面加上一些空向量,通过微调来赋予这些向量具体信息达到微调的目的
3.冻结方式微调:把神经网络底层冻结,只修改高层的向量结构,达到微调的目的,实验表明,高层都是语意的相关表示,不会构成太大影响
4.LORA微调:把神经网络纵向扩展一些数据,可以并行计算,不会增大相应时间,最后结果是原有的数据加上自己加上的数据共同得到最后的结果,现在大部分用的都是LORA
评估
自动评估
利用网上的基准数据对大模型的各项指标进行评估,如语言流畅性,泛化能力,等,大都用来评估非垂直领域的知识,垂直领域知识没有相应的基准数据
人工评测
给一个文档让人工打分,这种非常严谨,准确,但是消耗很大
大模型评估
给大模型一个标准或者示例还有打分标准,让大模型进行打分,或者把两个大模型的回答交给第三个大模型,让他评价哪个回答更好