目录
前言
模型搭建
1.数据导入
2.数据标注
3.数据处理
4.训练配置
5.发布模型
结尾
前言
生成式AI一直是我所关注的技术,尤其现在集成多态大模型的基础之上,能否实际落地运用于各式各样的场景领域一直都是现今热点讨论的技术话题。对于如今比较成熟的生成式AI,如ChatGPT,ChatGLM和文心一言,都可以通过自然语言交互的形式,根据用户的指令,完成问答、文本创作、代码查错等任务。但是我们普遍实际去运用这些生成式AI只是回答一些领域较浅的问题,涉及到垂直领域更深入的问题便达不到预期的效果,且如果想要针对所处领域设计一个比较符合期望的响应式AI的话,还得自己根据数据集重新训练模型。
想要建造一个垂直所属领域深入的生成响应式AI是很复杂的工程,如果不借助已搭建的AI数据训练平台的话,很难达到符合预期的效果,而且一般来说有此需求的公司都对AI模型给出的回答准确率有较高的要求。就以我之前做过的人工智能项目来说,准确率一般都需要满足90%以上甚至更高的效果才行。这需要我们对AI模型进行多版微调才能满足需求,在没有一套完善的AI搭建平台想要做出效果需要大量的人力物力,训练大模型的成本和技术壁垒都非常高,需要长期在大模型领域深耕,而且需要充足的算力储备、数据储备、高端AI人才储备。
这么来说想要实现一个属于自己的垂直领域专家AI似乎是需要付出极大代价的项目。那么我们摆脱从零开始创建生成AI,借用已经可以实现泛化基础的生成式AI,在此之上进行二次模型训练以完成预期的模型。以市面上可以使用的基础生成式AI来探讨,ChatGPT的能力非常强且应用场景非常广泛,但是主要是境内使用困难和成本相对较高。ChatGLM对于中文十分友好,但是缺少大模型微调等一系列开发和应用工具链,需要配套开发一系列平台工具,开发排期很长,短期内不可能达到预期。那么我们把目光放到文心一言,很少有人对这款产品有比较深入的了解,一般都视为ChatGPT的中文版本,不了解百度云还有大模型平台文心千帆。
文心千帆大模型平台是百度智能云推出的全球首个一站式企业级大模型平台,为企业提供大模型训练及推理的全流程工具链和整套环境,让企业以最简单最高效的方式用上大模型、用好大模型。在文心千帆上,企业不但可以直接调用文心一言服务,也可以开发、部署和调用自己的大模型服务,是企业拥抱大模型的最佳选择。
文心千帆不仅提供了包括文心一言底层模型(ERNIE-Bot)和第三方开源大模型,还提供了各种AI开发工具和整套开发环境,方便客户轻松使用和开发大模型应用。文心千帆平台基于百度智能云,采用飞桨深度学习框架作为底层支撑,并内置文心大模型技术。用户通过少量数据调整,可轻松获得高精度和高性能的大模型。目前百度智能云已面向企业和个人客户开放文心千帆大模型平台公有版测试服务(官方申请地址:https://cloud.baidu.com/survey/qianfan.html)有兴趣有需求的开发者可以去体验一下,借助这次机会能够体验一把云上AI大模型开发具体流程,带大家来感受一下。
模型搭建
文心千帆大模型平台覆盖从数据管理、数据标注、模型开发、模型纳管、部署上线的AI能力研发与应用全生命周期建设和管理。模型平台使用还是十分简单便捷的,我们需要完成六个步骤便可以快速完成大模型定制及测试效果。搭建过程我会全程记录下来,大家可参考。
1.数据导入
在导航栏选择“数据服务 > 数据集管理”,进入数据总览界面,选择创建数据集。之后我们根据平台给出的prompt格式导入数据即可,总共有五种数据格式可以导入。
如果是类如问答的形式,也就是一问一答的数据集,可以选择有标准信息再导入,那么就可以不必再进行数据标注步骤了。
此时可以根据所属领域收集数据集,一般来说有三种场景可建立AI模型:场景一对话沟通,在实际生活中,针对用户需求提供快速应答,精准匹配用户需求,完成营销商拓、及时响应、正向心理辅导等内容,提升客户体验。
场景二内容创作根据用户的需求,生成精准匹配的创作文本,为用户提供视频编排的剧本来源;润色成型的故事、诗歌等文本内容,给用户创造提升文本能力的文化环境。
场景三分析控制,根据用户的需求快速生成可执行的代码或者根据用户的需求,平台结合自身已具备的多种数据,生成匹配度更高的应答内容。
我这里需求场景为对数学建模领域有更深入垂直的了解并且精通机器学习以及深度学习应用场景以及对应建模流程。那么我们根据需求的AI去收集构建数据集。格式的话可以根据数据集的数据格式去下载对应的数据样例看与之匹配的数据格式,比如我们收集的数据集是JSONL格式的数据样例就为:
如果是纯文本TXT格式就为:
我这里收集的数据是无标准信息的数据集,导入成功后可以来到下一步直接开始数据标准。
2.数据标注
若是很难找到标注答案,文心千帆还提供了在线直接标注功能,省去了收集问题答案的步骤,非常方便。当前平台支持回答自动生成,需要调用平台自有的LLM模型。使用自动生成将会产生费用,这点需要注意。在线标注中,当用户同一个对话框中多次问到相同(相近)的问题时,后台应答会按照既定顺序给出答案。
在点击回答框内选择自动生成便可以调用文心一言模型直接生成对应标注,当然也可以自己打上标注:
排序1为自己打的标注,而排序2为自动生成的标注,我们依次给数据集打上标注。不得不说自己手动标注实在是太花时间了,这里最好自己写一个程序去自动收集数据标注或者是解析文本自动生成相应的prompt文件。
3.数据处理
我们收集得到的数据集并不一定是经过数据处理过后的数据,如果是原生数据不免包含些许噪音,需要对这些数据集清洗一遍。文心千帆大模型平台是包含有数据处理功能,可以直接一步清洗到位,很方便:
勾选对应数据的噪音即可。
4.训练配置
接下来我们进入生成AI的重要环节-大模型生成和调优。我们需要根据适合自己任务场景的训练模式并加以调参训练,从而实现理想的模型效果。
我们需要先进行RLHF训练,RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)是一种机器学习方法,它使智能系统能够从环境中学习并最大化特定目标。RLHF与传统强化学习方法的不同之处在于,它直接利用人类的反馈来优化模型,而不是仅仅依靠环境来提供奖惩。1. 人类的反馈不是直接作用于大模型或RL过程,而是通过RM间接实现。2. RL本身也不是依靠环境提供奖惩,环境是为了提供agent执行结果,结果是否采纳也是取决于奖惩机制的。RLHF已成功应用于文心千帆大模型平台, 能够生成类似人类的文本并执行各种语言任务。RLHF使模型能够在大量文本数据语料库上进行训练,并在复杂的语言任务(如语言理解和生成)上取得令人印象深刻的结果。
RLHF的成功取决于人类提供的反馈的质量,根据任务和环境,反馈的质量可能是主观的和可变的。因此,开发有效且可扩展的收集和处理反馈的方法非常重要。
总的来说,RLHF 比传统的机器学习和强化学习提供了更多的指导,能够捕捉到人类偏好的全部内容,从而驱使人工智能系统与人类价值观相一致。即使 RLHF 不能完全解决对内部调整的担忧,它所识别的失败以及它赋予奖励和政策模型的知识也适用于提高社会和合作环境中人工智能的安全性、可靠性和可信度。
RLHF训练模式可以依次训练奖励模型和利用强化学习机制,训练得到性能更优的模型。
那么我们创建奖励模型任务开始训练,奖励模型是强化学习中的一个重要概念,它直接影响智能体的学习效果和行为表现:
这里我的数据集名称输入有误还是数学建模的数据集,这个没有关系。数据量最少要求32条数据,可以添加新的数据集版本:
训练完成之后我们可以调出日志查看情况:
我们可以选择的大模型有两种,第一种是ERNIE-Bot-turbo是百度自行研发的大语言模型,覆盖海量中文数据,具有更强的对话问答、内容创作生成等能力。第二种是BLOOMZ-7B,知名的大语言模型,由HuggingFace研发并开源,能够以46种语言和13种编程语言输出文本。
选择好配置成功我们就可以开始构建初版AI了。
而且可以直接生成评估报告十分直观的看到模型指标:
之后我们便可发布模型了。
5.发布模型
发布公有云服务,将训练完成的模型部署在百度云服务器,通过API接口调用模型。
部署完成后我们可以直接进入在线测试,对我们的模型评估效果:
结尾
至此我们就完成了整个AI模型的部署,是不是感觉很快。但是还是仍有很多细节需要完善,第一个是数据集的深度和奖励模型的建立效果,我们需要集成更多的数据集和反馈效果。第二点我们需要建立Prompt工程不断的完善迭代模型,以达到更准确的效果。如果是在探求人工智能AI如何实施落地或是和我一样由此需求要建立专家AI的可以来体验一下,确实十分的简单高效。