飞桨 (PaddlePaddle) 是百度自研的深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,对标国外的 Pytorch 和 Tensorflow。
由于飞桨各个模块组件更偏底层,为了方便 AI 学习者和开发者在线使用、训练、部署各种模型,基于飞桨平台百度又推出了 AI Studio(https://aistudio.baidu.com/index)。AI Studio 是一个集教学资源、算力、开发工具和社区生态于一体的在线 AI 模型开发平台,对标国外的 HuggingFace,其实国内也有类似的社区平台 modelscope(https://www.modelscope.cn/home)。顺带一提,百度还有一个历史悠久的千帆平台,也可以满足大模型在线训练和使用。
进到 AI Studio 首页之后,最重要的是要点击右上角的小电脑图标,它显示了你拥有的算力信息,选择预训练模型时,也要注意算力和 Paddle 版本的对应关系,比如选用 Tesla V100 显卡,算力只有 7.0,支持不了最新版 Paddle 的一些底层函数,建议选择 A / H100 以上的显卡。
ERNIE 支持 alpaca 和 erniekit 两种数据集格式。alpaca 格式是 HuggingFace 社区流行的一种对话式监督数据格式,采用 JSON 行格式,强调 instruction(指令)+ input + output。ERNIEKit 格式是百度 PaddlePaddle 社区用于训练 ERNIE 模型的格式,更注重内部结构化字段。
本次微调我们使用 erniekit 格式,源数据来自百度 2025LIC 赛事的示例数据(https://aistudio.baidu.com/datasetdetail/),经过清洗之后,格式如下图所示。
数据准备好之后,我们就可以开始下一步微调(finetune)大模型了,我们这次选用的预训练模型是文心大模型 4.5 开源系列中最小的大模型 ERNIE-4.5-0.3B,总大小 700M 左右。
首先,安装适配 CUDA 12.6 的 PaddlePaddle GPU 版本(3.1.0),并使用中国镜像源以加速下载。如果你还不确定你电脑的 CUDA 版本,可以使用查看。
ERNIE 是百度在 PaddlePaddle 上开发的一个中文为主的预训练语言模型,文心一言后面的大模型就是 ERNIE。
FastDeploy 是百度开发的一个模型部署工具,可以快速启动一个带有大模型后端的 Web 服务。
接着需要下载 ERNIE-4.5-0.3B 模型。这里需要额外安装 Python 包,这个下载服务并未集成在 ERNIE 的安装包中,这一点确实有些令人费解。
修改配置文件,使用官方的模版就行,改一下参数和,其他保持不变。
微调的方法有很多,这里我们使用 LoRA(低秩适配),主要因为这次训练使用的训练集比较少。
实际结果跑下来,一共 2629 条训练数据,花了大概 3 分钟就训练完了
模型微调并导出后,即可进行部署。
文心一言 ERNIE Bot 教程
微调前,模型在回答医疗相关问题时显得有些冗长。经过训练后,面对同样的问题,模型的回答风格变得更加简洁干脆。当然,也有一些问题的回答仍有待提升。
在 AI Studio 平台进行开发时,建议选择在线VS Code开发模式。如果使用在线 Notebook,可能会频繁遇到文件找不到等服务不稳定的情况。
尽管平台提供了在线学习资源,但许多教程内容过于简化,甚至有些项目不兼容 macOS 系统(例如 PP – ASR),部分视频资源的音量也忽大忽小,整体使用体验不尽如人意。
不过,抛开这些产品体验,具体函数的执行效果上,还是不错的。百度似乎仍在坚持 “技术狂奔,产品拉胯” 的发展路径。
发布者:Ai探索者,转载请注明出处:https://javaforall.net/265814.html原文链接:https://javaforall.net
