01 千亿参数的大模型
自从OpenAI发布了ChatGPT爆红出圈之后,研究人员和各种组织看到了大模型广阔的应用前景和优势,积极投身各种大模型的研发。如FaceBook的SegAnything,以及在《nature》刊登的华为盘古大模型等等。
但是从头训练一个千亿大模型是成本是不可预估的,并且由于大模型本身的限制,必须进行分布式训练,其中包含着Tensor并行,模型架构拆分等等,对技术人员的要求也极高,这也就意味着大模型的受众人群(中小型公司)根本没有能力搭建自己的大模型。
为了解决上述中提及的问题,如中文适配性、专业知识不足、信息泄露等,大多数中小型公司为了能够在GPU上部署自己的大模型,都会选择通过一个预训练好的大模型基座,然后进行适当的微调,为了让其适配下游任务,并尽可能的降低成本,那么MLOps微调的方式则是最优解。接下来我们以基于MLOps对ChatGLM-6B+Lang-Chain为示例讲解。
02 ChatGLM-6B生成式对话模型
ChatGLM-6B是清华的智谱AI发布的一款支持中英双语的对话语言模型,并针对中文进行了优化。该模型基于 General Language Model (GLM) 架构,具有 62 亿参数。结合Omnisk-Brain MLOps,用户可以在GPU上进行本地部署。
03 LangChain:基于本地知识库的ChatGLM等大语言模型应用实现
LangChain 是⼀个⽤于开发由语⾔模型驱动的应⽤程序的框架。主要功能:调⽤语⾔模型、将不同数据源接⼊到语⾔模型的交互中、允许语⾔模型与运⾏环境交互等。
04 利用MLOps在微调过程中实现优化
尽管ChatGLM-6B已经很优秀了,但是其不可能满足不同企业的多样化下游目标任务,因此在这其基础上搭配Omnisky-Brain MLOps,实现:
1、自动化Pipline,构建大模型训练和服务管道,包括数据处理、训练、评估、部署等步骤,保证一致性和可重复性;
2、超参数优化,智能搜索最优的模型超参数组合,已得到最佳的模型效果,加快收敛速度,控制过拟合;
3、模型管理 ,Omnisky-Brain MLOps可以跟踪不同模型的版本、比较实验结果、模型指标等元数据信息,方便在大模型迭代过程中,管理多个模型版本;
4、特征工程, 管理不同模型使用的特征工程流程,避免重复特征提取工作;
5、模型监控,监控在线模型的性能,一旦出现数据分布发生变化导致的模型效果下降,可以快速定位问题并重新训练模型;
6、CI/CD,利用持续集成和持续部署的流程,可以高效地将新模型推送到生产环境中;
7、资源优化,根据训练任务需求智能分配计算资源,优化资源利用率,降低训练成本;
8、模型压缩,使用知识蒸馏等方式压缩模型大小,加速inference。