如果您希望以零代码的方式在PAI上完成Llama2系列大语言模型的训练和推理,您可以使用快速开始的一键部署,快速启动Llama2系列模型的在线推理服务,并通过WebUI和API两种方式调用,或者使用自己的数据集对预训练模型进行微调训练,实现定制化的场景和任务。
背景信息
Llama2是由Meta开源的、以英语为主的预训练大语言模型,支持任意自然语言文本作为输入,并产生文字形式的输出。Llama2模型的参数范围从70亿到700亿不等,包括7b、13b、70b三种规格,并在每个规格下都有专门适配对话场景的优化模型Llama2-chat。快速开始支持Llama2系列模型的在线推理,同时也可以作为上游模型训练以达到更好的定制场景效果。
快速开始提供的llama-2-7b-chat模型来源于HuggingFace提供的Llama-2-7b-chat模型,它也是主要基于Transformer架构的大语言模型,使用多种混合的开源数据集进行训练,因此适合用于大多数的英文通用领域场景。
本文以llama-2-7b-chat模型为例,为您介绍如何通过快速开始将模型部署到EAS,创建并调用推理服务。
使用限制
目前快速开始支持的地域包括华北2(北京)、华东2(上海)、华东1(杭州)、华南1(深圳)、华北6(乌兰察布)。
如需开通华北6(乌兰察布)地域,请联系您的商务经理。
使用费用
使用OSS存储会产生相关费用,计费详情请参见OSS计费概述。
快速开始本身不收费,但使用快速开始进行模型部署和训练时,会产生对应的模型部署(EAS)费用和任务训练(DLC)费用,计费详情请参见EAS计费说明、通用计算资源(DSW/DLC)计费说明。
前提条件
已开通PAI(EAS、DLC)并创建了默认的工作空间,操作详情请参见开通PAI并创建默认工作空间。
已开通OSS并创建Bucket,Bucket所属地域与PAI的地域一致,操作详情请参见开始使用OSS。
阅读并承诺遵守Llama模型的自定义可商用开源协议。
说明如果无法访问,您可能需要设置代理后再尝试重新访问。
操作步骤
llama-2-7b-chat模型适用于大多数非专业场景,如果直接部署模型后的预测结果不满足您的业务需求,或者当您需要应用特定领域的专业知识时,您可以对模型进行微调训练,帮助模型提高在自定义领域的能力,使其更符合您的实际业务需求。
大语言模型可以在对话过程中直接学习到比较简单的知识,请您根据自己的需求选择是否训练。当前快速开始支持的训练方式基于LoRA。LoRA训练相较于其他训练方式(如SFT等)会显著降低训练成本和时间。
直接部署模型
登录PAI控制台,在左侧导航栏单击快速开始。
选择工作空间后,单击进入快速开始。
在模型列表页面的搜索框中输入llama-2-7b-chat,然后单击搜索。
说明您也可以根据实际业务选择需求选择其他模型,模型需要至少64 GiB内存和24 GiB及以上的显存,请确保您选择的计算资源满足以上要求,否则可能导致部署失败。
单击llama-2-7b-chat模型卡片,进入模型详情页面,单击模型部署。
在模型部署详情页面下方,单击部署。
在弹出的计费提醒对话框中,单击确定。
页面自动跳转到服务详情页面。当服务状态变为运行中时,代表推理服务已部署成功。
服务部署成功后,您可以通过WebUI或API两种方式调用服务。
在服务详情页面单击查看WEB应用。
调用推理服务。
WebUI方式:在Chat页签中的对话框中输入对话内容后,单击Send,即可开始对话。
API方式:单击WebUI页面底部Use via API,查看API调用详情。
微调训练模型
登录PAI控制台,在左侧导航栏单击快速开始。
选择工作空间后,单击进入快速开始。
在模型列表页面的搜索框中输入llama-2-7b-chat,然后单击搜索。
说明您也可以根据实际业务选择需求选择其他模型,模型需要至少64 GiB内存和24 GiB及以上的显存,请确保您选择的计算资源满足以上要求,否则可能导致部署失败。
单击llama-2-7b-chat模型卡片,进入模型详情页面,单击微调训练。
配置模型训练相关参数。
快速开始已经默认配置了计算资源配置和超参数配置,可以满足大多数的使用场景,您也可以根据自己的实际业务进行修改。本实践教程中需要配置的关键参数说明请参见下表。
参数
说明
训练设置
输出路径
选择OSS Bucket路径,用来保存训练生成的模型文件。
说明如果您在工作空间详情页面配置了工作空间存储路径,这里会默认填充该路径,无需手动配置。如何配置工作空间存储路径,请参见管理工作空间。
数据集配置
训练数据集
为方便您试用体验Llama2模型,快速开始已提供了默认的训练数据,您可以直接使用。如果您不使用默认数据集,需要按照模型文档中的训练数据格式准备好训练数据,然后通过以下两种方式上传训练数据:
训练数据支持JSON格式输入,每条数据由问题、答案和ID组成,分别用
instruction
、output
和id
字段表示,例如:[ { "instruction": "以下文本是否属于世界主题?为什么美国人很少举行阅兵?", "output": "是", "id": 0 }, { "instruction": "以下文本是否属于世界主题?重磅!事业单位车改时间表已出!", "output": "不是", "id": 1 } ]
为了更好地验证模型训练的效果,除了PAI已提供的训练数据集之外,也推荐您准备一份验证数据集,该数据集将用于在训练中评估模型训练的效果,以及训练的参数优化调整。
单击训练,提交训练作业。
在弹出的计费提醒对话框中,单击确定。
页面自动跳转到任务详情页面。当任务状态变为成功时,代表模型已经训练完成。
已经完成训练的模型会被保存到OSS上,可在基本信息区域的输出路径中查看具体位置。
说明如果使用默认的数据集、超参数和计算资源配置,训练大概耗时1小时30分钟。如果使用自定义的训练数据和配置项,训练完成时间可能有所差异,通常应该会在数小时内完成。
部署微调模型。
部署以及调用微调模型的流程和直接部署模型相同,操作详情请参见直接部署模型。
后续操作
您可以在快速开始页面单击任务管理,查看训练任务和部署任务的详情。