规模化落地AIGC应用,支持多个大语言模型(LLM)切换及GPU规划化管理(PAI-EAS + ADB-PG)

简介: 随着年初的ChatGPT引爆大语言模型市场, LLM的集中爆发,大部分企业已经完成了AIGC产品的调研,并进入第二阶段, 即寻求大规模落地的AIGC产品解决方案。本文介绍了如何企业规模化大语言模型落地,支持多个模型的快速使用,包括通义千问-7b,ChatGLM-6b,Llama2-7b 和 Llama2-13b。

背景

随着年初的ChatGPT引爆大语言模型市场, LLM的集中爆发,大部分企业已经完成了AIGC产品的调研,并进入第二阶段, 即寻求大规模落地的AIGC产品解决方案。

当前企业在AIGC场景落地中,以下问题尤为突出:

  1. 多模型选择: 随着大模型的百花齐放, 不同的模型在各自的领域有不同的优势,如何能够快速选择模型,试用模型并将其产品化,更敏捷的模型使用成为了企业最主要的诉求;
  2. 规划化管理GPU: GPU非常昂贵,对GPU的合理使用成为了企业最需要精细化管理的资源,面对高峰使用的GPU扩展,和低谷使用时GPU的释放是云提供给客户的核心竞争力;
  3. 更精细化的权限管理:基于知识库 + LLM的应用不同于以往的全量向量检索,企业将面临多租户,多应用,复杂的知识权限管理的问题, 需要足够灵活的调整以适应千企千面的权限设计诉求;
  4. API 集成: 支持灵活的API管理,可供应用进行集成,满足用户灵活的多渠道应用使用诉求(如钉钉,企业微信等);
  5. 数据泄露隐患: 担心大模型或者文档切分需要将企业核心数据传至三方,存在数据泄露隐患而迟迟不敢大规模使用;

最新版本的一站式AIGC解决方案面向以上企业落地难的问题进行了产品升级,引入了PAI-EAS的能力,让企业测试完成后,可以直接投入生产环境进行使用;

产品新版本主要特性:

新版本在原来开放的方案之上, 引入了PAI-EAS对底层规模化集群的管理能力进行了大幅的升级!

  1. 支持多模型: 通义千问-7b,ChatGLM2, LLAMA2 7b和13b; 支持创建后再进行模型切换;
  2. 支持GPU的集群管理: 在测试的过程中可以使用低水位的GPU实例,随着业务的增长, 可以设置基于资源使用情况的动态GPU集群弹性管理,最大程度地节省GPU的开销;
  3. 基于ADB-PG 的完整数据库能力进行精细化的权限设计,可以基于开源代码调整权限查询,同时ADB-PG的知识库管理配套相关API,可以更灵活地调用使用;
  4. API & WebUI的均可用,可快速实现AIGC后台面向应用的灵活集成;
  5. 数据安全: 所有数据,算法,GPU资源均为域内资源, 无任何数据出域风险,充分保障企业核心数据无泄露隐患;

立即开通使用

如何开通解决方案

计算巢涉及到3个部分的核心组件

  1. ECS : 用于承载Langchain应用,管理对话体验及提供文档上传,embedding,对话的API应用;

开源代码参考:https://github.com/wangxuqi/langchain-ChatGLM

  1. AnalyticDB for PostgreSQL: 核心向量引擎, 用于管理企业知识库,语义检索,融合查询等能力; 用户未来可独立管理数据库数据并基于业务诉求进行资源灵活调整;
  2. PAI-EAS:  核心GPU集群管理及模型服务,预置多款模型,提供模型部署服务与GPU集群的弹性管理;

产品架构图

开通配置

  • 配置模板: 可选择PAI-EAS的配置模板

  • 服务实例名称: 填写实例的服务名称, 空白会自动生成;
  • 地域: 选择资源部署地域

ECS配置:

  • 实例类型: 选择ECS实例类型,用于host Langchain应用
  • 实例密码: 用于设置登录ECS实例机器密码
  • 白名单设置: 用于选择服务可访问的公网ip地址,若所有ip可访问,可输入0.0.0.0/0; (若选择0.0.0.0/0,则仅可用langchain服务所支持的账号密码进行保护)

大语言模型及PAI-EAS的GPU规格选择

  • 选择大模型: 可选择预置的大语言模型;支持通义千问7b,ChatGLM2-6b, Llama2-7b 和 Llama2-13b;
  • PAI实例规格: 选择大模型后可选择PAI服务的GPU规格,若无库存则无法选中; GU30为推荐的高性价比规格;

AnalyticDB for PostgreSQL版本配置

默认为双节点模式

  • 实例规格: 选择ADB-PG 的默认节点规格,建议选择最低规格,若后期计算资源不足可以垂直调整;
  • 存储大小: 选择ADB-PG的默认存储大小,建议选择最低规格,后期可按需调整;
  • 数据库账号名称: 可用于登录数据库实例,并会以此账号链接Langchain服务用于数据写入;
  • 数据库密码: 对应的数据库密码,登录数据库使用;

Langchain应用配置

  • 软件登录名: 用于登录langchain web服务账号
  • 软件登录密码: 用户登录Langchain web服务密码

网络及可用区选择

解决方案会默认帮客户创建一个权限的VPV及vswitch,并将所有的资源归属于该vpc和vswitch网段下;

  • 交换机可用区: 用于创建用户的对应的交换机 vswitch
  • 专有网络ipv4网络: 新创建一个VPN对应的网段;(建议使用默认值)
  • 交换机子网网段: 新建一个vswitch的对应网段;(建议使用默认值)

若已有的vpc,可选择不创建而使用已有的vpc,信息均可通过下拉列表进行选择;

配置好资源和账号后,点击下一步进行鉴权和账单确认;

  • 权限依赖检查: 开通服务会依赖以下权限, 若发现权限遗漏,则需要点击开通权限;

  • 账单确认:基于选择规格,可查看预计使用费用;

确认无误后可直接下单;

创建过程约10分钟左右,包括完成资源拉起;

立即开通使用

开始应用

创建后,可以在控制台查看计算巢服务;

控制台链接: https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstance/private

登录链接后可点击endpoint进入Langchain的应用:

如何使用Langchain构建知识库

  • 选择使用模式: 知识库问答
  • 创新的知识库
  • 建议文本切分长度 = 500
  • 上传文件,支持PDF, markdown,txt,word等;
  • 上传后可在左侧“对话”界面进行问答, 每次问答会返回向量知识库中涉及到的企业知识文档;
  • 可在“知识库测试Beta”中进行召回准确性和切分测试;
  • 在模型设置中,可选择多轮对话机制,算法及一些模型参数;


立即开通使用

资源管理:

购买计算巢后,可以登录计算巢实例内,切换至“资源”页,可查看所有相关资源;

AnalyticDB for PostgreSQL

点击AnalyticDB for PostgreSQL对应链接可进入ADB-PG资源管理页;

快速了解analyticDB for PostgreSQL

AnalyticDB for PostgreSQL集群管理

对于生产规模化的资源诉求,如存在需要额外的存储和更快的计算,可参考一下进行集群管理

知识库存储格式

对于langchain进入的知识库可在AnalyticDB for PostgreSQL中快速查询相关文档及知识库数据

  • 通过DMS工具登录ADB-PG: https://help.aliyun.com/document_detail/2369763.html; 登录账号为您在创建计算巢时设置的账号名及密码;
  • 登录后数据库实例 - 已登录实例 - 数据库(基于用户名)- public(schema)下看到创建的知识库元数据及多个知识库(表)

所有的知识库列表存储在 langchain_collections表内;

单个知识库及文档上传后的企业知识chunk,存储于以知识库命名的表内; (包括embedding,chunk,文件元数据,原始文件名称等信息);

PAI-EAS

如何设置GPU Serverless弹性伸缩管理?

PAI-EAS提供丰富的Serverless资源弹性能力,包括弹性扩缩容定时扩缩容弹性资源池。在业务负载有显著的波峰波谷时,为了不造成资源浪费,您可以开启水平自动扩缩容功能。开启后,服务会自动调整实例数量,实现动态管理线上服务的计算资源,从而保障业务平稳运行的同时提高资源利用率。操作方式如下:

  1. 部署好计算巢的服务后,点击资源列表,找到PAI-EAS实例跳转到对应的控制台。

  1. 在PAI-EAS控制台的服务详情页中,点击自动伸缩,继续开启弹性伸缩。

  1. 在弹性伸缩配置里面,您可以根据自己的业务的实际情况进行弹性的调整。
  • 场景一:如果您调用量不大,想进行随开随停。您可以将最小实例数设置为0,最大实例数设置为1,单实例QPS预置设置为1。此时当没有服务请求时,服务会自动停止;服务重新接受请求时,服务会自动启动。

  • 场景二:如果您每天的业务量较大且有不定期的波峰波谷时,您可以根据具体的业务情况,例如设置最小实例数设置为5,最大实例数设置为50,单实例QPS预置设置为2。这样服务会根据您的业务请求自动在5~50个实例之间进行弹性伸缩。

如何更换为其他的开源大模型?

PAI-EAS提供了市面上几乎全部的流行开源大模型可以供您自由切换。方法如下:

  1. 在PAI-EAS控制台的服务详情页中,点击更新服务。

  1. 修改运行命令和相应的GPU资源,从而调整为相应的大模型,最后点击部署即可。

模型

运行命令

推荐机型

llama2-13b

python api/api_server.py --port=8000 --model-path=meta-llama/Llama-2-13b-chat-hf --precision=fp16

V100(gn6e)

llama2-7b

python api/api_server.py --port=8000 --model-path=meta-llama/Llama-2-7b-chat-hf

GU30、A10

chatglm2-6b

python api/api_server.py --port=8000 --model-path=THUDM/chatglm2-6b

GU30、A10

Qwen-7b

python api/api_server.py --port=8000 --model-path=Qwen/Qwen-7B-Chat

GU30、A10

chatglm-6b

python api/api_server.py --port=8000 --model-path=THUDM/chatglm-6b

GU30、A10

baichuan-13b

python api/api_server.py --port=8000 --model-path=baichuan-inc/Baichuan-13B-Chat

V100(gn6e)

falcon-7b

python api/api_server.py --port=8000 --model-path=tiiuae/falcon-7b-instruct

GU30、A10


立即开通使用

常见问题FAQ:

  1. 向量相关API使用方式

1. API 列表: https://help.aliyun.com/document_detail/2402354.html?

2. API使用范例: https://help.aliyun.com/document_detail/2410531.html?

  1. 创建服务后, 会在10分钟左右拉起您的计算巢服务; 包括初始化ECS, AnalyticDB for PostgreSQL(向量数据库); 同时会异步进行LLM大模型的下载,此过程需要花费大概30~60分钟; 若想要查看模型下载进度,可登录ecs后台,查询下载日志; 模型下载完成后,登录web界面后即可查看相关的chatbot应用;
  2. 创建计算巢服务后, 如何登录ecs的机器:

可直接进入ecs管理界面进行登录,或使用命令行; 参考计算巢概览页的信息,如下图所示:

  1. 登录ecs 后如何重启服务
systemctl restart langchain-chatglm

  1. 登录ecs 后如何查询langchain日志
journalctl -ef -u langchain-chatglm

  1. 服务完成后模型加载不成功?

刚开通服务后会从huggingface上下载LLM模型到本地; 国内region下载服务时间可能较长,需要等待30~60分钟; 请等待完成后登录界面后,选择重新加载模型进行重试;

  1. 部署代码详情

https://github.com/wangxuqi/langchain-ChatGLM

  1. 需要产品团队进行服务后台支持

请开通代客运维支持服务

https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstanceCreate?spm=5176.24779694.0.0.391f4d22JKgYle&ServiceId=service-ab3bac294c3140649e56

  1. 访问服务是空白页

这个服务是中国站的计算巢服务,所以如果有海外访问代理的话可能会出现问题,需要关一下代理然后进行访问创建;

  1. 代码部署位置
/home/admin/langchain-ChatGLM

  1. 如何开通Langchain API
# 切换root用户:
sudo bash -c "su - root"
# 停止webui:
systemctl stop langchain-chatglm.service 
# 切换到admin用户:
su - admin
# 查看adbpg实例的配置:
cat /etc/environmentadb
# 比如输出的是:
PG_HOST=gp-xxxx-master.gpdb.rds.aliyuncs.com 
PG_PORT=5432 
PG_DATABASE=chatglmuser 
PG_USER=chatglmuser 
PG_PASSWORD="xxxxx"
PLUGIN_GIT_URL=https://huggingface.co
# 使用上步的参数启动api: 
PG_HOST=gp-xxxx-master.gpdb.rds.aliyuncs.com PG_PORT=5432 PG_DATABASE=chatglmuser PG_USER=chatglmuser PG_PASSWORD="xxxxx" PLUGIN_GIT_URL=https://huggingface.co  python3 /home/admin/langchain-ChatGLM/api.py 
# 然后启动日志看到这个就启动成功:
INFO:     Uvicorn running on http://0.0.0.0:7861 (Press CTRL+C to quit)
# 查看所有的api:
curl http://0.0.0.0:7861/openapi.json

立即开通使用

咨询及帮助

若需要咨询或疑问,欢迎钉钉搜索交流:

钉钉群: 32960015260

向量能力专题页:https://www.aliyun.com/activity/database/adbpg_vector

相关实践学习
数据库实验室挑战任务-初级任务
本场景介绍如何开通属于你的免费云数据库,在RDS-MySQL中完成对学生成绩的详情查询,执行指定类型SQL。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
1月前
|
人工智能 自然语言处理 开发者
AIGC创作活动 | 跟着UP主秋葉一起部署AI视频生成应用!
本次AI创作活动由 B 站知名 AI Up 主“秋葉aaaki”带您学习在阿里云 模型在线服务(PAI-EAS)中零代码、一键部署基于ComfyUI和Stable Video Diffusion模型的AI视频生成Web应用,快速实现文本生成视频的AI生成解决方案,帮助您完成社交平台短视频内容生成、动画制作等任务。制作上传专属GIF视频,即有机会赢取乐歌M2S台式升降桌、天猫精灵、定制保温杯等好礼!
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
【LLM】能够运行在移动端的轻量级大语言模型Gemma实践
【4月更文挑战第12天】可以运行在移动端的开源大语言模型Gemma模型介绍
|
1月前
|
人工智能 自然语言处理 Linux
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)(一)
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(LLM、AGI和AIGC都是什么)
118 0
|
2天前
|
API 算法框架/工具 异构计算
Python中Keras微调Google Gemma:定制化指令增强大语言模型LLM
Python中Keras微调Google Gemma:定制化指令增强大语言模型LLM
|
3天前
|
人工智能 自然语言处理 数据库
【AI 生成式】大语言模型(LLM)有哪些典型的应用场景?
【5月更文挑战第5天】【AI 生成式】大语言模型(LLM)有哪些典型的应用场景?
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
LLM性能最高60%提升!谷歌ICLR 2024力作:让大语言模型学会“图的语言”
【5月更文挑战第1天】谷歌在ICLR 2024提出新方法,使大语言模型(LLM)性能提升高达60%,通过结合图神经网络(GNN),LLM学会理解与生成“图的语言”,打破处理复杂任务的局限。此创新模型适用于社交网络分析等领域,但面临计算资源需求大和模型解释性问题。研究强调需确保LLM在道德和法律框架内使用。论文链接:https://openreview.net/pdf?id=IuXR1CCrSi
29 3
|
12天前
|
人工智能 自然语言处理 搜索推荐
【AIGC】人工智能在教育领域的场景应用
【4月更文挑战第10天】人工智能对教育领域的发展有哪些应用及影像
|
26天前
|
机器学习/深度学习 人工智能 搜索推荐
【边做边学】大语言模型(LLM)
【边做边学】大语言模型(LLM)
|
26天前
|
前端开发 Java 数据库
开源一个整合了AIGC大语言模型的SpringBoot智慧医药系统
开源一个整合了AIGC大语言模型的SpringBoot智慧医药系统
62 0
开源一个整合了AIGC大语言模型的SpringBoot智慧医药系统

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • http://www.vxiaotou.com