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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
简介: 随着年初的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

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
4月前
|
人工智能 自然语言处理
FBI-LLM低比特基础大语言模型来了,首个完全从头训练的二值化语言模型
【8月更文挑战第22天】《FBI-LLM:通过自回归蒸馏从头开始扩展全二值化大语言模型》由Ma等学者发布于arXiv。该研究呈现了首个完全从头训练的全二值化大语言模型FBI-LLM,在不牺牲性能的前提下大幅降低计算资源需求。通过自回归蒸馏技术,FBI-LLM在多种任务上展现出与高精度模型相当的表现,为二值化模型的发展开辟新路径,并有望推动专用硬件的进步。研究者公开了所有相关资源以促进领域内的进一步探索。
65 10
|
6天前
|
JSON 人工智能 算法
探索大型语言模型LLM推理全阶段的JSON格式输出限制方法
本篇文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
|
26天前
|
缓存 算法 关系型数据库
MIT韩松团队长上下文LLM推理高效框架DuoAttention:单GPU实现330万Token上下文推理
麻省理工学院韩松团队提出DuoAttention框架,旨在提高大型语言模型(LLM)处理长上下文的效率。该框架通过区分检索头和流式头,仅对检索头应用全键值缓存,减少内存消耗和计算时间,同时保持模型长上下文处理能力。实验结果显示,DuoAttention在多种模型架构上显著提升了推理效率,为LLM的实际应用提供了新可能。
54 14
|
4月前
|
人工智能 机器人
LLM活动 | 与 UP 主“老陈打码”一起使用 PAI×LLaMA Factory 搭建 AI 诸葛亮
LLaMA Factory是一款开源低代码大模型微调框架,集成了业界最广泛使用的微调技术,支持通过Web UI界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架,GitHub星标超过2万。本次活动基于Meta AI开源的Llama-3 8B模型,使用PAI平台及LLaMA Factory训练框架完成模型的中文化与角色扮演微调和评估,搭建专属“ AI 诸葛亮”问答机器人,7×24小时为你出谋划策!
|
4月前
|
安全 异构计算
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
198 0
为大型语言模型 (LLM) 提供服务需要多少 GPU 内存?
|
4月前
|
SQL 监控 测试技术
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
基于PAI 低代码实现大语言模型微调和部署
【8月更文挑战第10天】基于PAI 低代码实现大语言模型微调和部署
|
5月前
|
监控 算法 物联网
LLaMA-Factory:大语言模型微调框架 | AIGC
LLaMA-Factory 是一个国内北航开源的低代码大模型训练框架,专为大型语言模型(LLMs)的微调而设计【7月更文挑战第5天】
519 9
|
5月前
|
机器学习/深度学习 算法 开发工具
大语言模型的直接偏好优化(DPO)对齐在PAI-QuickStart实践
阿里云的人工智能平台PAI,作为一站式的机器学习和深度学习平台,对DPO算法提供了全面的技术支持。无论是开发者还是企业客户,都可以通过PAI-QuickStart轻松实现大语言模型的DPO对齐微调。本文以阿里云最近推出的开源大型语言模型Qwen2(通义千问2)系列为例,介绍如何在PAI-QuickStart实现Qwen2的DPO算法对齐微调。
|
5月前
|
物联网 PyTorch 算法框架/工具
介绍一个大语言模型的微调框架Swift | AIGC
介绍一个大语言模型的微调框架Swift 【7月更文挑战第4天】
561 3

相关产品

  • 云原生数据仓库 AnalyticDB PostgreSQL版