首页 > 其他分享 >AIGC时代,基于云原生 MLOps 构建属于你的大模型(下)

AIGC时代,基于云原生 MLOps 构建属于你的大模型(下)

时间:2023-06-27 16:13:06浏览次数:42  
标签:原生 训练 模型 AIGC Notebook https 使用 MLOps

为了满足企业在数字化转型过程中对更新迭代生产力工具的需求,灵雀云近日推出了Alauda MLOps 解决方案,帮助企业快速落地AI技术、实现智能化应用和服务。


 

AIGC大模型已成为企业创新引擎

 

 

随着ChatGPT的爆火,越来越多的人考虑使用AI来提升我们日常工作的效率和质量,通过对话协助生成需要的文本数据。无论是将数据汇总成表格,还是根据提示编写文章,或者进行专业知识问答,都可以通过合适的prompt工程,让ChatGPT给出最佳的回答,甚至可以取代一部分人类的工作。

 

 

 

2 (5).png

 

此外,AI 生成的内容不仅限于文本数据,还包括 AI 绘画(stable diffusion),乐曲创作(Amper Music),电影生成(Runway)等工具,这些都是 AIGC( AI Generated Content) 的范畴,它们也在不断刷新许多行业的生产力。

 

3 (3).png

 

 

Alauda MLOps助力企业快速构建属于自己的大模型


然而,企业需要一个自己拥有并管控的本地部署的模型来完成上述工作,因为这样可以保证:


· 安全因素:在进行对话时,企业不希望把企业内部数据发送到互联网上的 AI 模型;

· 功能定制:希望使用自己的数据,增强模型在特定场景的能力(fine tunning);

· 内容审查:根据法律法规要求,对输入、输出内容进行二次过滤。


那么,在这样的场景下,企业如何快速搭建、定制这样的模型呢?答案是使用云原生 MLOps + 公开模型!


根据OpenAI公司的介绍,其在训练ChatGPT / GPT-4等超大规模模型时,使用了Azure + MPI的大规模 GPU 计算集群。在私有云原生环境,使用MLOps工具链,企业同样可以拥有可以横向扩展的大规模机器学习算力。在使用MLOps平台时,可以获得如下的提升:


· 更适合大规模预训练模型的训练和预测流程;

· 降低对大模型的应用门槛:内置使用预训练大模型教程流程,一步上手;

· 完善的常规机器学习,深度学习平台;

· 使用流水线+调度器统一编排大规模分布式训练任务,支持自定义各种分布式训练方法和框架,包括 DDP、Pipeline、ZERo、FSDP;

· 流程自定义:根据实际业务,选择 MLOps 工具链条中的子集,构建合适的业务流程;

· 完善的MLOps平台:提供顺畅、完整的MLOps工具链。


接下来,我们以Alauda MLOps平台为例,介绍如何在此之上基于LLaMa预训练模型的chat模型(lora)来构建属于你的“ChatGPT”,定制并启动一个LLM对话模型。


此外,使用其他HuggingFace预训练模型,也可以快速构建自己的模型,如Vicuna、 MPT等模型,请感兴趣的读者自行尝试。


· 获取方式 ·

企业版MLOps:

https://www.alauda.cn/open/detail/id/740.html

开源版MLOps:

https://github.com/alauda/kubeflow-chart

 

如何在云原生MLOps下完成大规模预chat模型的定制和部署?

 

首先,我们需要启动一个Notebook环境,并为其分配必要的GPU资源(实测中,训练 alpaca 7b 半精度模型需要4块 K80,或一块 4090,以及足够的显存大小):



4 (2).png

然后,我们需要从github和hugging face准备对应的代码和模型文件。


· 下载项目:https://github.com/tloen/alpaca-lora,然后拖拽上传到Notebook文件导航栏。也可以在Notebook内使用命令行执行git clone下载;

· 下载语言模型预训练 weights:https://huggingface.co/decapoda-research/llama-7b-hf,并拖拽上传到Notebook中。也可以在Notebook中使用 git lfs clone下载模型;

· 下载lora模型预训练 weights: https://huggingface.co/tloen/alpaca-lora-7b,并拖拽上传到Notebook中。也可以在Notebook中使用git lfs clone下载模型。


这里上传较大的模型会有较长的等待时间,如果和huggingface网络连接良好,可以选择在Notebook内直接从网络下载。

 

5.png


接着,我们先使用刚才下载的预训练模型,启动一个AI对话web应用验证效果,挂载Notebook使用的磁盘以读取这些模型文件:

 

6.png

 

然后我们就可以使用以上yaml配置或者原生应用创建表单方式创建预测服务。注意推理服务只需要使用1块 K80 GPU 即可启动。

 

7.png


这里我们使用的镜像使用如下Dockerfile构建:

 

7.5.png


等待推理服务启动完成,我们就可以在浏览器中访问,并和这个模型开始做各种对话的尝试。由于alpaca-lora模型对中文支持的不够完善,尽管可以输入中文,但输出大多仍为英文。然而,该模型在一定程度上已经展现出了较好的能力。

 

 

8.png


最后,我们可以使用自己标注的数据,对模型进行优化和定制(finetunning)。根据alpaca-lora项目的说明,参考如下训练数据的格式,增加finetune的训练数据,然后开始训练。此时模型训练只会更新模型中的少量参数,基础的预训练语言模型(LLM)参数不会被更新,以保留LLM强大的底座能力。

 

9.png

10 (1).png

 


以上为在Notebook中直接训练,如果训练任务有逐步复杂的流水线,可以将训练python程序定制成如下流水线并提交集群运行。如果任务是多机多卡+模型并行训练框架,也可以通过配置训练节点的个数,并在python代码中根据框架实现对应分布式计算代码即可,不需要根据 MLOps流水线调度做任何代码改造。


以上为在Notebook中直接训练,最多只能使用一台物理节点上的所有GPU卡。如果训练任务有跨物理节点分布式训练的需求,可以将训练的Python程序构建成如下流水线并提交集群运行。


注意MLOps支持直接在任务流水线中构建分布式训练步骤,不同于Kubeflow Training Operator的模式需要用户定义在Kubernetes上训练的TFJob, PytorchJob的YAML配置文件,拖拽之后的Python程序作为一个工作流的步骤,可以单独设置这个节点的并行度,即流水线的ParallelFor元语。这样不论是数据并行(DDP),流水线并行(PipelineParallel),FSDP,还是其他分布式训练方法,以及使用任意框架如 transformers, accelerate 完成的训练,都可以在流水线内定制。

 

10.1.png

 

此外,在MLOps平台构建的分布式训练流水线,可以选择使用Volcano调度器完成GPU和Pod的调度,防止多个任务相互占用资源导致的资源浪费。

 

这样,我们在拖拽Python代码之后,需要配置这个任务的并行度,每个节点需要的CPU,内存,显卡的资源,运行时的镜像,然后点击界面上的 “提交运行” 按钮,就可以启动这个任务,并检查任务的运行状态。

 

11.png

12 (1).png

 


在执行完成finetunning训练,就可以参照上面的步骤使用新的模型启动推理服务开始验证了。这时您已经拥有了一个属于自己的“ChatGPT”!!!


当然,如果您觉得当前的 7b (70亿参数规模的模型) 能力有限,也可以尝试更大的模型,如13B、30B、65B等,也可以使用alpaca-lora以外的模型结构实现,比如:


https://huggingface.co/tiiuae/falcon-40b

https://huggingface.co/lmsys/vicuna-13b-delta-v1.1

https://huggingface.co/mosaicml/mpt-7b-chat

https://github.com/ymcui/Chinese-LLaMA-Alpaca

https://huggingface.co/THUDM/chatglm-6b


此外,值得一提的是,我们会在未来的版本中支持更加流畅的大模型的训练和预测方式(如下图),请及时关注我们的更新。

 

 

13.png


如果希望验证这些公开模型的能力,或者创造自己的ChatGPT,这些就交由云原生MLOps平台来帮助您完成吧~

 

标签:原生,训练,模型,AIGC,Notebook,https,使用,MLOps
From: https://www.cnblogs.com/alauda/p/17509160.html

相关文章

  • 李彦宏:AI原生应用比大模型数量更重要
    6月26日,百度创始人、董事长兼首席执行官李彦宏出席“世界互联网大会数字文明尼山对话”,发表了题为《大模型重塑数字世界》的演讲。大模型是当下全球科技创新的焦点,也是全球人工智能竞赛的主战场。李彦宏认为,“新的国际竞争战略关键点,不是一个国家有多少个大模型,而是你的大模型上有......
  • 武汉星起航跨境电商:亚马逊云斥资1亿美元建AIGC中心
    亚马逊云业务部门AWS宣布,将投资1亿美元建立一个中心,以帮助企业使用生成式人工智能(AIGC)技术。这一举措进一步加强了亚马逊与谷歌和微软在人工智能领域的竞争,标志着亚马逊在此领域的重要举措。AWS首席执行官塞利普斯基(AdamSelipsky)表示,人工智能领域的竞争可以形容为一场"10K比赛",即......
  • 创新工场投资了哪些AIGC初创企业?
    创新工场是国内专注于人工智能领域的创投基金。在AIGC领域,创新工场有哪些布局呢?根据公开信息,创新工场主要投资了FOCO、潞晨科技、澜舟科技这几家AIGC企业。FOCO成立于2022年,致力于提供“AI+数字人”全流程方案。FOCO拥有来自清华、北大的研发团队,能通过自主研发的AI算法实现数字......
  • 【CSS】写一个原生的透明 input 标签输入框
    <divclass="search"> <imgsrc="@/assets/tools/search.svg"/> <inputplaceholder="搜索"@input="onSearch"v-model="searchValue"/></div>.search{ height:32px; width:204px; di......
  • 云原生周刊:HashiCorp Vault 1.14 发布 | 2023.6.26
    开源项目推荐HelmfileHelmfile是一个开源工具,使用Helmcharts简化复杂应用程序的部署。它提供了一种声明性的方式来定义Kubernetes资源的期望状态,并管理Helmreleases的安装、升级和删除。KubeVPNKubeVPN是一个基于Kubernetes的开源VPN解决方案,它提供了一种简单的......
  • 原生安卓 file类常用方法
    File常用方法createNewFile();如果文件已经存在,则创建失败,否则成功创建,还有其他可能mkdir();创建文件夹,注意:如果创建目标文件夹的父级目录不存在,就会创建失败mkdirs();创建多级目录,父级文件目录不存在的话,会自动创建父级目录。isFile();判断是否是一个文件isDictory();判断......
  • 官宣!2023云原生编程挑战赛正式启动
    随着越来越多的企业上云,企业的核心关注点转变为如何更好地利用云的能力,将产品快速推向市场,从而实现业务成功。但是,如果算力的呈现形式仍然是服务器这样的资源形态,它的使用门槛依然很高。让算力像电力一样的普及,云计算需要新的形态,就是Serverless。随着用好云成为关键,开发范式也......
  • AIGC中下游更值得创业者投入
    2023年初,ChatGPT的出现,引发了国内外各类AIGC技术应用的爆发,让人们看到了新世界的曙光,也感受到了迫在眉睫的剧变。无论是前沿科技产业还是整个经济社会格局,都将因此产生巨大的变化,众多企业将迎来价值重估,无数行业将面临重做。作为15年来陪伴数以十万计创业者共同成长的产业加速平......
  • 使用自动化和多云:如何简化云原生应用程序的开发和部署
    目录1.引言2.技术原理及概念2.1基本概念解释2.2技术原理介绍2.3相关技术比较3.实现步骤与流程3.1准备工作:环境配置与依赖安装3.2核心模块实现3.3集成与测试4.应用示例与代码实现讲解4.1应用场景介绍4.2应用实例分析4.3核心代码实现5.优化与改进5.1性能优化5.2可扩......
  • Android强大的原生调试工具adb的常用命令
    ADB简介ADB(AndroidDebugBridge)是用于与Android设备进行通信和调试的命令行工具。以下是一些常用的ADB调试命令:常用命令列出链接的设备adbdevices:列出连接到计算机的Android设备列表。可以看到这里我连接了两个设备。进入设备的shell环境adbshell:进入设备的命令行shell......