计算巢实现大模型微调——如何发布一个微调服务

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 本文将以ChatGLM高效微调为例,为大家展示在计算巢中如何发布一个能够实现大模型的零代码微调的服务。

系列文章

前言

各位看官,最近是否被大模型相关信息刷屏了呢,铺天盖地的大模型预训练、微调等各种关键词是否让你眼花缭乱呢?在如此热度之下,你有没有想过自己亲自动手部署一个大模型执行训练或者微调呢,或许你曾经尝试过却被某个繁琐的步骤劝退了呢?又或者你是模型的研究人员或开发人员,想要让你的模型服务更多用户、有更大的影响力?如果你有自己的基础大模型供给其他人精调,却苦于难以部署、难以让用户上手使用等各种问题,来试试计算巢吧,你的这些问题都将迎刃而解!

按照传统方式,想要对一个大模型进行微调一共需要以下这些步骤:

首先需要创建云资源或者使用线下资源,然后安装各种GPU驱动和各种依赖环境。接着需要自己编写微调脚本或者找一些开源的微调方法,然后就是一系列的pip install或者conda install。运气好的话,你的微调能够顺利run起来,可是稍有差池,也许就会抛出各类错误让你崩溃。讲到这里有没有勾起你痛苦的回忆呢?没关系,计算巢将为你彻底解决这些烦恼!!!


本文将以ChatGLM高效微调为例,为各位展示在计算巢中如何发布一个能够实现大模型的零代码微调的服务

服务部署步骤

0. 服务镜像准备

本文是基于ECS镜像进行部署的,所以第一步请在ECS控制台制作包含ChatGLM高效微调代码和运行环境的ECS镜像。接下来请访问计算巢创建关联该镜像的部署物。填写部署物的基本信息并选择关联刚刚创建的ECS镜像即可完成部署物的发布。


1. 服务信息填写

登陆到阿里云计算巢控制台点击创建服务进行服务新建,填写您要发布服务的基本信息。

2. 部署信息填写

2.1 资源编排模版填写

接下来重点来咯~在服务部署信息中,我们需要填写ROS模版或Terraform模版来定义我们所需要的资源和资源之间的依赖关系,文末给出了示例模版链接供大家参考。您也可以在ROS可视化编辑器中尝试编写自己的模版!

2.2 部署物关联

如果您的模版成功通过校验,那么恭喜,我们的部署过程已经成功一大半了!

在前面我们已经准备好了部署物,现在可以派上用场了。点击设置镜像关联,在实例创建时将自动基于我们的自定义镜像拉起实例。

如果您不想要通过镜像关联的方式,也可以在ROS模版中定义RunCommand来初始化您所需要的环境,可以按照喜好随意选择两种方式中的一种。

2.3 运维编排模版填写

接下来还剩最后一步:定义微调运维操作。

运维操作是指使用通过运维编排(OOS)对创建的资源进行自动化运维。简单来说,在这里我们的目的是利用OOS及其集成的能力向目标ECS下发微调指令。

您在微调中需要的参数以及各种限制关系都可以通过您编写的OOS模版进行填写或选择。这些参数最终将组装成为Shell或Python脚本下发到指定ECS上从而执行微调任务。编写好的模版呈现效果长下面这样👇:

微调操作中的参数是通过OOS模版Parameters字段设置的,而Parameters中设置的参数最终会在RunCommand中被引用,下面给出一个简单的示例帮助您理解OOS模版。详细示例参考文末给出的示例模版链接。

FormatVersion: OOS-2019-06-01
Description: 执行指定微调脚本运维操作
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: 地域ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  workingDir:
    Type: String
    Default: /root/ChatGLM-Efficient-Tuning
    Description: 脚本执行路径
   ...
Tasks:
    Properties:
      commandContent: |-
        #!/bin/bash
        write your finetune script here
      workingDir: '{{workingDir}}'
      instanceId: '{{ ACS::TaskLoopItem }}'
      commandType: RunShellScript
      timeout: '{{timeout}}'

与ROS模版类似,我们也提供了一个执行ChatGLM微调任务的OOS模版供您参考,或者您也可以在OOS控制台编写您的OOS模版来定制运维操作。

3. 发布服务

至此,创建一个大模型微调服务的所有必要操作都已经完成,点击“保存并提交审核”即可在审核通过后成功发布服务!!!

经过以上步骤,用户将在计算巢服务页面看到您刚刚创建的大模型微调服务,用户点击即可部署属于自己的大模型微调服务,并且一键执行微调,真正做到零代码实现微调。

总结

本文详细介绍了如何在计算巢中发布一个大模型微调服务。通过计算巢在私有化部署场景下提供的一键部署、高效运维等多种能力,最大程度上简化了大模型部署和微调的流程,使大模型的使用门槛降低最低。欢迎各位来计算巢试用体验~~


参考模版链接

ChatGLM微调服务发布ROS模版:https://github.com/aliyun/ros-templates/blob/master/compute-nest-best-practice/opensource/chatglm-finetune/template.yaml

ChatGLM微调OOS模版:https://github.com/aliyun/ros-templates/blob/master/compute-nest-best-practice/opensource/chatglm-finetune/oos/finetune.yaml

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
Prometheus Java 开发者
计算巢:5分钟快速创建服务
计算巢创建服务一直是比较复杂、有门槛的,尤其是编写ROS模板和配置部署物方面,目前计算巢开放了开发者功能,允许普通开发者也发布自己的服务,对于普通开发者和服务商如果没有很强的意愿,那么光创建服务的高门槛就会将其阻拦。出于此,计算巢提出了一种新的创建服务的方式--通过模板快速创建服务。
计算巢:5分钟快速创建服务
|
2月前
|
弹性计算 数据安全/隐私保护 对象存储
如何使用计算巢SaaS Boost完成服务定价和售卖?
本文介绍了一种可帮您实现快速SaaS化转型的阿里云计算巢开源工具的详细使用说明,开发者指引和常见问题。可使用计算巢SaaS Boost工具完成服务定价和售卖。
129 2
如何使用计算巢SaaS Boost完成服务定价和售卖?
|
3月前
|
弹性计算 网络安全 调度
通过计算巢轻松部署Salt服务
Salt基于Python构建,是一个事件驱动的自动化工具和框架,用于部署、配置和管理复杂的IT系统。使用Salt来自动化公共基础设施管理任务,并确保基础设施的所有组件都以一致的期望状态运行。 本文向您介绍如何开通计算巢上的Salt服务,以及部署流程和使用说明。
41 0
幻兽帕鲁计算巢部署 - 服务版本升级说明
计算巢版本已经升级至63,乃至更新的版本,为大家提供了存档、服务器等更多的操作功能,老版本的用户只要大于等于25版本的用户,均可以支持升级到最新;24以及以前的,暂时还没法升级。升级流程请参考文档。
|
5月前
|
弹性计算 供应链 测试技术
计算巢实操合集:软件用户使用服务及供应商进阶管理(系列四)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第四期了,本期将围绕软件用户使用服务实操以及供应商进阶管理实操,并且一步步教大家如何利用计算巢完成部署体验。
107634 1
|
5月前
|
弹性计算 关系型数据库 MySQL
计算巢:快速创建支持私网连接的托管服务
计算巢服务是一个开放给服务商和用户的服务管理PaaS平台,目前,计算巢支持一种新的创建服务的功能:通过精选模板创建。该方式屏蔽了部署物和编写ROS等比较复杂、高门槛的过程,一键式地创建计算巢服务,后续可以基于该服务进行服务测试、服务实例创建、服务的发布上线等全流程。
|
5月前
|
弹性计算 供应链 开发者
计算巢实操合集:软件供应商发布服务实操(系列三)
弹性计算社区推出的面向开发者计算巢成长系列课程已经发布第三期了,本期将围绕软件供应商发布服务实操
|
5月前
|
运维 供应链 监控
深度解读:计算巢产品面对面--为软件供需两端提供哪些服务(系列二)
软件供需两端,供应端除了软件开发者,还包含软件服务商(企业应用服务商、IT集成服务商、交付服务商和管理服务提供商),需求端为软件使用终端用户。
69687 92
|
5月前
|
弹性计算 网络安全 数据安全/隐私保护
通过计算巢部署 Puppet Enterprise 服务
Puppet Enterprise 是一款自动化软件,可帮助您和您的组织在管理 IT 基础设施的同时提高工作效率和敏捷性。 本文向您介绍如何开通计算巢上的 Puppet Enterprise 服务,以及部署流程和使用说明。
262 1
通过计算巢部署 Puppet Enterprise 服务
|
9月前
|
运维 数据安全/隐私保护 云计算
计算巢实现大模型微调——如何使用微调服务零代码微调
在《计算巢实现大模型微调——如何发布一个微调服务》中,我们已经实现了微调服务的发布,本文将带领大家通过计算巢发布的微调服务实现真正的零代码微调。