【ECS生长万物之开源】使用计算巢发布大模型的零代码微调服务

简介: 【ECS生长万物之开源】使用计算巢发布大模型的零代码微调服务

系列文章

前言

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

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

首先需要创建云资源或者使用线下资源,然后安装各种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


相关实践学习
2048小游戏
基于计算巢&ECS云服务器快速部署,带您畅玩2048小游戏。
相关文章
|
2月前
|
NoSQL Redis Windows
windows服务器重装系统之后,Redis服务如何恢复?
windows服务器重装系统之后,Redis服务如何恢复?
64 6
|
25天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
113 60
|
26天前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
151 62
|
2天前
|
弹性计算 监控 负载均衡
|
6天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
33 3
|
11天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
118 2
|
22天前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
20天前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
181 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
21天前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
177 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
22天前
|
数据可视化 Linux 网络安全
如何使用服务器训练模型
本文介绍了如何使用服务器训练模型,包括获取服务器、访问服务器、上传文件、配置环境、训练模型和下载模型等步骤。适合没有GPU或不熟悉Linux服务器的用户。通过MobaXterm工具连接服务器,使用Conda管理环境,确保训练过程顺利进行。
39 0
如何使用服务器训练模型