您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[阿里巴巴]:2024年开启云上AIGC动手实践,探索技术创意报告 - 发现报告
当前位置:首页/行业研究/报告详情/

2024年开启云上AIGC动手实践,探索技术创意报告

信息技术2024-11-01-阿里巴巴金***
AI智能总结
查看更多
2024年开启云上AIGC动手实践,探索技术创意报告

阿里云开发者 海量电子手册免费下载 阿里云大数据AI平台钉钉群获取产品最新资讯与技术干货 人工智能平台PAI是AINative的大模型与AIGC工程平台,提供AI开发生命周期全链路服务,提供包含数据集管理、算力管理、模型工具链、模型开发、模型训练、模型部署、AI资产管理在内的功能模块。内置100+种大模型最佳实践,热门模型实时更新,开箱即用,致力于为用户提供高性能、高稳定、企业级的大模型工程化能力及AI解决方案。面向GenAI时代,PAI持续进行技术创新与优化,并全新发布模型训练、模型推理、可信AI等多方向产品能力。 在本电子刊中,无论你是小白还是资深开发者还是企业级用户,我们将手把手带您体验PAI平台在热门AIGC、LLM、多模态大模型上的最佳实践与落地应用,沉浸式开启云上AIGC之旅,释放无限创意! 使用PAI-Quickstart完成低代码LLM微调、评测、部署5 使用PAI-QuickStart基于LLM快速构建AI应用13 使用PAI+LLaMAFactory完成云端多模态大模型微调40 使用PAI+LLaMAFactory基于Llama-38B模型的中文化与角色扮演微调与评估52使用PAI-EAS与Milvus快速搭建RAG检索增强对话系统66 基于PAI-ArtLab使用ComfyUI生成人像写真87 基于PAI-ArtLab使用ComfyUI生成高精度人物手办102 基于PAI-ArtLab使用ComfyUI生成服装面料迁移116 基于PAI-ArtLab使用ComfyUI生成产品效果图123 基于PAI-ArtLab使用ComfyUI搭建对话式AI女友136 使用PAI-Quickstart完成低代码LLM微调、评测、部署 PAI-ModelGallary集成了业界流⾏的预训练模型,提供⼀站式、零代码的模型微调训练、服务部署、模型评测功能,帮助⽤户快速上⼿使⽤AI能⼒。模型涵盖众多AI场景,包括LLM、AIGC、CV、NLP等。⽤户可⼀键部署模型,调⽤在线服务。也可以使 ⽤⾃⼰的数据微调训练模型,是模型更加匹配⾃身业务场景。 实验简介 使⽤PAI-ModelGallary的基础与训练LLM,结合⾃⼰实际业务场景的数据集,对模型进⾏微调,⽣成能够解决实际业务场景问题的专属模型。使⽤模型评测能⼒评估微调后模型的效果,最后将模型快速发布成模型服务。 实验内容 以通义千问2模型为例,帮助⽤户快速体验模型微调、评测、步骤的基本操作,整体流程⼤约花费30min。 使⽤训练数据集对qwen2-0.5b-instruct模型进⾏微调,得到⼀个微调后的模型使⽤评测数据集,对微调后的模型、基础模型进⾏评测,对⽐其评测指标 部署微调后的模型,体验微调对模型能⼒带来的变化 具体操作步骤 内容1:对Qwen2模型进⾏微调 内容2:对微调模型和基础模型进⾏评测,评估微调效果 内容3:部署微调模型 实验总结 本次体验了使⽤PAI-ModelGallery快速、低⻔槛地进⾏模型微调、评测、部署操作。后续可以根据需求,使⽤⾃⼰实际业务的数据集,对模型进⾏微调,⽣成能解决实际业务场景问题的专属模型。 PAI-ModelGallery除了LLM,还提供了很多其他领域的模型,例如视觉⽅向的分类、 ⽬标检测等模型。欢迎⼤家使⽤。 附录:ModelGallery最佳实践 通义千问2模型部署与微调_⼈⼯智能平台PAI-阿⾥云帮助中⼼ Llama-3模型部署与微调_⼈⼯智能平台PAI-阿⾥云帮助中⼼ ⼤模型评测案例_⼈⼯智能平台PAI-阿⾥云帮助中⼼ ⼤模型继续预训练解决⽅案_⼈⼯智能平台PAI-阿⾥云帮助中⼼ ⼤语⾔模型数据增强与模型蒸馏解决⽅案_⼈⼯智能平台PAI-阿⾥云帮助中⼼ 使用PAI-QuickStart基于LLM快速构建AI应用 主题:基于PAI的⼀站式开发能⼒,结合基础预训练LLM,体验完整的AI应⽤开发流程,过程涵盖“数据处理-模型微调-模型部署-应⽤开发-应⽤部署”的完整链路。通过本实验,快速构建⼀个AI应⽤。 背景介绍 NL2SQL(⾃然语⾔⽣成SQL)技术旨在将⾃然语⾔转换为数据库查询语句,使得即使不熟悉SQL的⽤户也能轻松地从数据库中提取数据进⾏分析,从⽽提⾼决策效率并深 ⼊挖掘数据背后的商业洞察(NL2BI)。 通过将NL2SQL与当前先进的⼤型语⾔模型相结合,可以显著增强语义理解能⼒,并 ⽀持更复杂的SQL语法⽣成,实现更精准的SQL查询和更流畅的数据提取分析体验。 使用产品简介 ModelGallery简介 PAI-ModelGallary集成了业界流⾏的预训练模型,提供⼀站式、零代码的模型微调训练、服务部署、模型评测功能,帮助⽤户快速上⼿使⽤AI能⼒。模型涵盖众多AI场景,包括LLM、AIGC、CV、NLP等。⽤户可⼀键部署模型,调⽤在线服务。也可以使⽤ ⾃⼰的数据微调训练模型,是模型更加匹配⾃身业务场景。 产品⽂档:https://help.aliyun.com/zh/pai/user-guide/getting-started/ LangStudio简介 LangStudio是PAI平台上的⼤模型应⽤开发平台,集成了丰富的⼤模型应⽤开发组件及场景化模版,为⼴⼤开发者提供⾼效开发及调试⼤模型应⽤的能⼒。 实践内容 以CodeQwen1.5-7B-NL2SQL模型为例,帮助⽤户快速体验AI模型能⼒,以及模型训练、 模型部署的基本操作。整体流程⼤约花费15min。 •数据预处理:使⽤PAIDesigner进⾏数据处理与数据集注册 •微调LLM:⽤训练数据集微调预训练⼤模型,得到⼀个微调后模型 •部署微调后模型:⼀键部署微调后模型 •构建AI应⽤:在LangStudio中,基于部署的微调模型进⾏NL2SQL应⽤构建 •部署AI应⽤:部署构建好的AI应⽤ 具体操作步骤 步骤1:下载示例数据集 https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh- CN/20240827/jfckle/qwen2_72b_10000_llamafactory.json并存储到⾃⼰的oss 内oss:https://oss.console.aliyun.com/overview 数据格式预览: 步骤2:在PAI平台⾸⻚找到Designer,并新建⼀个⼯作流 步骤3:进⼊⼯作流,根据右边的模块,可以选择搜索或在数据预处理栏⽬下找到对应模块,构建数据处理。 其中python脚本1、2在附录中提供。 •组件1-读OSS数据:输⼊数据从组件“读OSS数据”选择要处理的json⽂件作为输⼊。 •组件2-python脚本:做数据转换,将数据转换成数据处理要求的jsonline格“式,由于数据处理⽬前只⽀持对部分字段处理instruction","output",所以引⼊python脚本进⾏临时格式转换 •组件3-LLM-⽂章相似度去重:参数中的“⽬标处理字段”填写output即“” 默认路径,就不⽤选择“数据可,其他使⽤默认值。(配置⼯作流数据存储”输出OSS⽬录),组件可以将重复类似的训练数据去重组件4-LLM-⻓度过滤:参数中的“⽬标处理字段”填写output,并设置最⼤最⼩⻓度。 •组件5-LLM-⽂本标准化:参数中的“⽬标处理字段”填写output即可,其他使⽤默认值。 •组件6-python脚本:做数据转换,将数据转换成训练要求的json格式,参考代码如下,设置同组件2,建议修改任务输出路径和Python代码的路径,避免覆盖之前的代码和数据。产出数据保存在oss相对路径./output1/process_qwen2_72b_10000_llamafactory.json 步骤4:进⼊ModelGallery,搜索codeqwen,选择CodeQwen1.5-NL2SQL,点击训练 步骤5:训练⽅式选择LoRA,选择⼯作流产出的数据集路径 步骤6:选择模型产出路径和计算资源 步骤7:配置超参数,需要注意的是,建议per_device_train_batch_size*GPU卡数 (计算资源⾥选择)*gradient_accumulation_steps⼤于等于128,保证训练效果,建议使⽤ecs.gn6e-c12g1.24xlarge配合以下参数 步骤8:等待任务训练成功后,点击右上⻆部署,等待期间可以先做step11 步骤9:填写部署表单 步骤10:部署成功后即可查看调⽤信息。在Web应⽤内可以直接对话,在下⽅在线预测处,可以提供符合OpenAIAPI格式要求的JSON请求进⾏调试。 参考API请求格式: 步骤11:构建数据库,前往阿⾥云RDS产品⻚⾯构建需要访问的数据库:https://rdsnext.console.aliyun.com/dashboard/cn-hangzhou 点击查看RDS官⽅⽂档 点击查看导⼊教程 点击查看插⼊⽤例 步骤12:前往LangStudio进⾏AI应⽤构建,⾸先将部署的模型服务和RDS数据库连接新建为连接。 步骤13:新建模型连接,选择通⽤LLM模型服务连接,填⼊step10获取的公⽹连接,注意根据模型要求,需要在base_url后⾯添加/v1。 示例: 步骤14:新建数据库连接,选择向量数据库->RDS,填⼊step11获取的公⽹连接 示例: 步骤15:新建应⽤流,选择nl2sql模版 步骤16:构建的模版如下 •输⼊输出:AI应⽤的输⼊输出。 •DDL模块:获取连接RDS的数据库schema •Open_LLM_Chat:根据提供的系统提示词和⼤模型连接,对⼤模型进⾏调⽤ •execute:对⼤模型输出的SQL语句,调⽤RDS获取对应数据输出选择ddl模块中的connection为step14配置的RDS连接。 步骤17:选择Open_LLM_Chat模块中的connection为step13配置的⼤模型连接。注意:model栏根据模型要求务必填写/model_dir 配置的提示词在附录中提供 步骤18:配置execute模块的connection为step14配置的RDS连接执⾏脚本exexute需要修改,在附录中提供。 步骤19:配置完成,点击右上⻆启动运⾏时,运⾏时会启动部署,临时进⾏调试。 步骤20:启动后点击对话,在左侧对话框进⾏对话调试。 调试结果示例如下,可以在左下⻆查看链路处可以使⽤LLM-Tracing⼯具查看调 ⽤链路。 调试结果: 链路示例: 步骤21:调试完成后,在右上⻆进⾏AI应⽤部署。 步骤22:注意:由于先前配置连接均为公⽹连接,⽽EAS服务内部不能访问公⽹,此步务必选择配置专有⽹络配置,并为该⽹络配置公⽹NAT出⼝。 配置地址:https://vpc.console.aliyun.com/nat/cn-hangzhou/nats 步骤23:跳转到EAS界⾯,选择部署的服务 步骤24:根据step16中配置的输⼊字段,可以进⾏测试,⾄此实验结束。步骤25:结果对⽐: 未微调:模型输出了⼀个错误的SQL使⽤了不存在的列 微调后,能够正确输出: 附录: python1: importosimportjsonimportargparse23/29 defparse_args(): '''解析给到脚本的arguments.''' parser=argparse.ArgumentParser(descrIPtion='PythonScrIPtcomponentscrIPtexample.') #从上游连线输入当前组件端口的输入,会通过arguments的方式传递给到执行的脚本 #1.组件输入 #-OSS的输入: #来自上游组件的OSS输入,会被挂载到脚本执行的节点上,然后挂载后的文件路径,会arguments的形式,传递给到运行的脚本。 #例如'pythonmain.py-