快速玩转 Llama2 机器学习 PAI 最佳实践(一)低代码 Lora 微调及部署

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 采用阿里云机器学习平台PAI-快速开始模块针对 Llama-2-7b-chat 进行开发。PAI-快速开始支持基于开源模型的低代码训练、布署和推理全流程,适合想要快速开箱体验预训练模型的开发者。

1.前言

近期,Meta 宣布大语言模型 Llama2 开源,包含7B、13B、70B不同尺寸,分别对应70亿、130亿、700亿参数量,并在每个规格下都有专门适配对话场景的优化模型Llama-2-Chat。Llama2 可免费用于研究场景和商业用途(但月活超过7亿以上的企业需要申请),对企业和开发者来说,提供了大模型研究的最新利器。

目前,Llama-2-Chat在大多数评测指标上超过了其他开源对话模型,并和一些热门闭源模型(ChatGPT、PaLM)相差不大。阿里云机器学习平台PAI第一时间针对 Llama2 系列模型进行适配,推出全量微调、Lora微调、推理服务等场景最佳实践,助力AI开发者快速开箱。以下我们将分别展示具体使用步骤。


2.Llama 2 低代码 Lora 微调及部署

本实践将采用阿里云机器学习平台PAI-快速开始模块针对 Llama-2-7b-chat 进行开发。PAI-快速开始支持基于开源模型的低代码训练、布署和推理全流程,适合想要快速开箱体验预训练模型的开发者。

2.1准备工作

2.1.1进入PAI-快速开始页面

a. 登入PAI控制台

b. 进入PAI工作空间,并在左侧导航栏中找到“快速开始”。

11.png

2.1.2选择Llama2模型

PAI-快速开始包含了不同来源的许多热门开源模型,来支持人工智能的不同领域和任务。在本次实例中,请选择“生成式AI-大语言模型(large-language-model)”,进入模型列表页。

12.png

在模型列表页中您可以看到多个来自不同开源社区的主流模型。在本次展示中,我们将使用llama-2-7b-chat-hf模型(llama-2-7b-hf模型同理)。您也可以自由选择其他适合您当前业务需求的模型。

Tips:

  • 一般来说,参数量越大的模型效果会更好,但相对应的模型运行时产生的费用和微调训练所需要的数据量都会更多。
  • Llama-2-13B和70B的版本,以及其他开源大语言模型也将后续在PAI-快速开始上线,敬请期待。

13.png


3.模型在线推理

快速开始提供的llama-2-7b-chat-hf来源于HuggingFace提供的Llama-2-7b-chat模型,它也是主要基于Transformer架构的大语言模型,使用多种混合的开源数据集进行训练,因此适合用于绝大多数的英文非专业领域场景。我们可以通过PAI快速开始将此模型直接部署到PAI-EAS,创建一个推理服务。


3.1部署模型

通过模型详情页面的的部署入口您可以一键创建一个基于此模型的在线推理服务,所有的参数已经帮您默认配置完毕。当然,您也可以自由选择所使用的计算资源和其他设置,我们即可以将该模型直接部署到PAI-EAS创建推理服务。

请注意,模型需要至少64GiB内存和24GiB及以上的显存,请确保您选择的计算资源满足以上要求,否则部署可能失败。

14.png


通过服务详情页,您可以查看推理服务的部署状态。当服务状态为“运行中”时,表示推理服务已经部署成功。

image.png

Tips:

  • 后续您可以随时在PAI-快速开始中点击“管理任务与部署”按钮来回到当前的推理服务。


3.2调用推理服务

在部署成功之后,您即可通过WebUI的方式来最快速度调试您的服务,发送预测请求。

image.png

image.png

在WebUI中也同时支持了API调用能力,相关文档可以在WebUI页底点击“Use via API”查看。


4.模型微调训练

llama-2-7b-chat-hf模型适用于绝大多数非专业的场景。当您需要应用特定领域的专业知识时,您可以选择使用模型的微调训练来帮助模型在自定义领域的能力。

Tips:

  • 大语言模型也可以在对话过程中直接学习到比较简单的知识,请根据自己的需求选择是否训练。
  • 当前快速开始支持的训练方式基于LoRA。LoRA训练相较于其他训练方式(如SFT等)会显著降低训练成本和时间,但大语言模型的LoRA训练效果可能不稳定。

4.1准备数据

Tips:

  • 为方便您试用体验Llama 2模型,我们在 llama-2-7b-chat-hf的模型卡片中也已经帮您准备了一份默认用于Instruction Tuning的数据集来直接进行微调训练。

模型支持使用OSS上的数据进行训练。训练数据接受Json格式输入,每条数据由问题、答案、id组成,分别用"instruction"、"output"和"id"字段表示,例如:

[
    {
        "instruction": "以下文本是否属于世界主题?为什么美国人很少举行阅兵?",
        "output": "是",
        "id": 0
    },
    {
        "instruction": "以下文本是否属于世界主题?重磅!事业单位车改时间表已出!",
        "output": "不是",
        "id": 1
    }
]

训练数据的具体格式也可以在PAI-快速开始的具体模型介绍页中查阅,关于如何上传数据到OSS,以及查看相应的数据,请参考OSS的帮助文档

为了更好的验证模型训练的效果,除了提供训练数据集之外,也推荐您准备一份验证数据集:它将会用于在训练中评估模型训练的效果,以及训练的参数优化调整。


4.2提交训练作业

在准备好使用的数据集之后,您即可以在快速开始的模型页面配置训练使用的数据集、提交训练作业。我们已经默认配置了优化过的超参数和训练作业使用的计算资源配置,您也可以根据自己的实际业务修改。


通过训练作业详情页,您可以查看训练任务的执行进度、任务日志、以及模型的评估信息。当训练任务的状态为“成功”,训练作业产出的模型会被保存到OSS上(见作业详情页的“模型输出路径”)。

Tips:

  • 使用默认数据集和默认超参数、计算资源训练大概预计的完成时间在1小时30分钟左右。如果使用自定义训练数据和配置项,预计的训练完成时间可能有所差异,但通常应该在数小时后完成。
  • 如果中途关闭了页面,您可以随时在PAI-快速开始中点击“管理任务与部署”按钮来回到当前的训练任务。

17.png


4.3部署微调模型

当微调训练成功之后,用户可以直接在作业详情页将获得的模型部署为推理服务。具体的模型部署和服务调用流程请参照以上的“直接部署模型”的文档。

18.png

5.总结

  • 本文提到的机器学习平台PAI对Llama2 系列模型进行适配,指为支持Llama2系列模型在PAI上的微调和推理,PAI进行了开发环境的适配。
  • 本文主要展示了基于阿里云机器学习平台PAI快速进行Llama2微调及部署工作的实践,主要是面向7B和13B尺寸的。后续,我们将展示如何基于PAI进行70B尺寸的 Llama-2-70B 的微调及部署工作,敬请期待。
  • 上述实验中,【最佳实践三:Llama2 快速部署 WebUI】支持免费试用机型运行,欢迎点击【阅读原文】前往阿里云使用中心领取“PAI-EAS”免费试用后前往PAI控制台体验。


往期内容:

  1. 快速玩转 Llama2!机器学习 PAI 最佳实践(一)—低代码 Lora 微调及部署
  2. 快速玩转 Llama2!机器学习 PAI 最佳实践(二)—全参数微调训练
  3. 快速玩转 Llama2!机器学习 PAI 最佳实践(三)—快速部署WebUI

特别提示您 Llama2 属于国外公司开发的限制性开源模型,请您务必在使用前仔细阅读并遵守 Llama2 的许可协议,尤其是其限制性许可条款(如月活超过7亿以上的企业需申请额外许可)和免责条款等。

此外提醒您务必遵守适用国家的法律法规,若您利用 Llama2 向中国境内公众提供服务,请遵守国家的各项法律法规要求,尤其不得从事或生成危害国家、社会、他人权益等行为和内容。



相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
目录
相关文章
|
10天前
|
机器学习/深度学习 安全 PyTorch
FastAPI + ONNX 部署机器学习模型最佳实践
本文介绍了如何结合FastAPI和ONNX实现机器学习模型的高效部署。面对模型兼容性、性能瓶颈、服务稳定性和安全性等挑战,FastAPI与ONNX提供了高性能、易于开发维护、跨框架支持和活跃社区的优势。通过将模型转换为ONNX格式、构建FastAPI应用、进行性能优化及考虑安全性,可以简化部署流程,提升推理性能,确保服务的可靠性与安全性。最后,以手写数字识别模型为例,展示了完整的部署过程,帮助读者更好地理解和应用这些技术。
55 18
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署 DeepSeek-V3 模型,阿里云 PAI-Model Gallery 最佳实践
本文介绍了如何在阿里云 PAI 平台上一键部署 DeepSeek-V3 模型,通过这一过程,用户能够轻松地利用 DeepSeek-V3 模型进行实时交互和 API 推理,从而加速 AI 应用的开发和部署。
|
23天前
|
人工智能 JSON 算法
魔搭支持在阿里云人工智能平台PAI上进行模型训练、部署了!
现在,魔搭上的众多模型支持在阿里云人工智能平台PAI-Model Gallery上使用阿里云算力资源进行模型训练和部署啦!
|
22天前
|
并行计算 PyTorch 算法框架/工具
阿里云PAI-部署Qwen2-VL-72B
阿里云PAI-部署Qwen2-VL-72B踩坑实录
|
1月前
|
编解码 机器人 测试技术
技术实践 | 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型快速搭建专业领域知识问答机器人
Qwen2-VL是一款具备高级图像和视频理解能力的多模态模型,支持多种语言,适用于多模态应用开发。通过PAI和LLaMA Factory框架,用户可以轻松微调Qwen2-VL模型,快速构建文旅领域的知识问答机器人。本教程详细介绍了从模型部署、微调到对话测试的全过程,帮助开发者高效实现定制化多模态应用。
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
165 4
|
21天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
138 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
11天前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
41 14
|
1月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
65 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
64 1

相关产品

  • 人工智能平台 PAI