沉浸式体验亚马逊云科技上私有化部署零一万物AI大模型

本文主要是介绍沉浸式体验亚马逊云科技上私有化部署零一万物AI大模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小李哥将继续带大家沉浸式体验亚马逊云科技上的国产AI大模型。最近亚马逊云科技的机器学习模型管理平台Amazon SageMaker JumpStart 上线了由零一万物提供的基础模型 Yi-1.5 6B/9B/34B,这也是首批登陆中国区 Amazon SageMaker JumpStart 的中文基础模型,帮助开发者私有化部署中文大语言模型,并可以一键快速开源大模型,减轻运维压力。在本项目实验中,我就将介绍如何基于 Amazon SageMaker JumpStart 上来部署 Yi-1.5 模型和运行推理。

方案所需基础知识

什么是 Amazon SageMaker JumpStart ?

Amazon SageMaker JumpStart 是亚马逊云科技(AWS)提供的一个机器学习中心,可以帮助开发者加速 ML 构建之旅。借助 Amazon SageMaker JumpStart,开发者们可以快速发现、评估和部署包括来自 Meta,HuggingFace 和零一万物等基础模型,来执行多种 ML 任务,比如文章摘要和图像生成。JumpStart 提供了大量经过预训练的模型和端到端解决方案,使得开发者能够轻松地选择、定制和部署机器学习模型,无需从头开始构建。,客户可以轻松使用图形化界面或 SDK 将定制后的模型部署到生产环境中。此外,JumpStart 还包括广泛的教程、示例和演示,帮助用户快速理解和应用机器学习技术。

服务优势

快速模型部署

可使用图形化或 SDK 访问,轻松点击几下即可部署,无需专业的机器学习知识。通过简单的配置,用户即可在几分钟内启动并运行模型,减少了AI大模型开发时间。

多样化丰富模型

内置超过 400 种来自Meta,HuggingFace 和零一万物等各类基础模型、算法和机器学习解决方案

业务定制化模型

JumpStart 提供了多种行业场景的端到端解决方案,如欺诈检测、客户支持自动化、产品推荐等。开发者可基于自定义数据集定制基础模型,满足垂直领域场景需求

什么是 Yi-1.5 模型?

Yi-1.5 系列开源大模型是零一万物此前推出的备受好评的 Yi 系列模型的升级版,分为 6B、9B、34B 三个版本,采用 Apache 2.0 许可证。Yi-1.5 在前作的基础上使用高质量的 500B Token 进行持续预训练,因此延续了 Yi 系列开源模型的出色表现,其主要优势包括:

  • 支持 200K 长上下文:强大的 "大海捞针" 长文本检索能力,能够处理大量信息和长文本内容。
  • 卓越的语言理解和生成能力: 在 MMLU 等基准测试中表现出色,展现了优秀的语言理解、常识推理、阅读理解等核心语言能力,能为客户提供高质量的文本分析和生成服务。
  • 强大的推理、执行和编码能力:Yi-1.5 版本在推理、指令执行、编码等领域得到全面提升,能够胜任更多复杂的任务,为客户解决实际问题提供了有力支持。
  • 高质量的对话交互能力:Yi 系列经过微调的对话模型在 LMSYS Chatbot Arena 等主要评估平台上获得了较高的人类偏好率,能够提供自然流畅的对话交互体验,满足客户对智能对话系统的需求。

项目实践成本 

大家可以在 1 小时内完成本实验的所有内容,实验成会小于 2 美元(以单台 ml.g5.2xlarge 的Sagemaker实例类型为例)。

本实践包括的内容

1. 了解亚马逊云科技机器学习模型管理服务SageMaker

2. 在SageMaker Studio上部署零一万物Yi-1.5 AI大模型

3. 通过API调用的方式访问部署好的模型运行推理

功能实践具体步骤

节点部署

1. 进入到亚马逊云科技控制台,进入SageMaker服务

2. 确认已经创建好机器学习运行模型的计算资源域,在这里我们创建的是域“sagemaker-studio-cloudlab”。点击进入后,打开Studio界面(类似于Jupyter Notebook控制台)。

3.进入SageMaker Studio 页面后,点击左侧菜单栏中的 JumpStart 功能。我们在搜索框中搜索关键词 yi 来找到所有的零一万物 Yi 系列模型。

4. 我们单击进入“Yi-1.5-9B-Chat”模型,并点击右上方的deploy开始部署

5. 在部署界面中我们为该模型的API节点起名,并配置计算资源类型为“ml.g5.2xlarge”(个 A10g GPU ),并选择自动扩展的资源单元范围,我们在这里选择数量为1.

6. 点击Deploy部署进入部署状态页面。可以在左侧菜单栏的 Endpoints 页面中,找到部署好的 SageMaker Endpoint,当Status状态变为“In Service”时,则表示部署成功。红框内的URL则为API调用的URL节点

API调用模型节点进行推理

下面我们通过亚马逊云科技 Python Boto3 SDK调用部署好的节点进行推理

1. 我们点击菜单栏中的“JupyterLab”进入Jupyter Notebook,创建一个新的空ipynb文件

2.我们复制以下代码到notebook中,进行非流式调用。本代码段添加了API调用参数:节点名、输入问题、生成token限制、随机性等。问题为:“2020年谁赢得了世界大赛?”

from sagemaker.predictor import retrieve_default# replace with your own endpoint name
endpoint_name = "jumpstart-dft-hf-llm-yi-1-5-9b-chat-20240607-033836"
predictor = retrieve_default(endpoint_name)
payload = {"inputs": "You are a helpful assistant.<|im_start|>user\nWho won the world series in 2020?<|im_end|>\n<|im_start|>assistant\n","parameters": {"max_new_tokens": 256,"temperature": 0.2,"return_full_text": False}
}# non streaming mode
response = predictor.predict(payload)
print(response)

3. 运行后我们可以得到Yi大模型的回复如下:

4. 接下来我们进行流式调用Yi大模型,我们需要在payload中增加"stream": True 字段参数。复制以下代码到notebook中。问题和参数为相同的问题

from sagemaker.predictor import retrieve_default# replace with your own endpoint name
endpoint_name = "jumpstart-dft-hf-llm-yi-1-5-9b-chat-20240607-033836"
predictor = retrieve_default(endpoint_name)
payload = {"inputs": "You are a helpful assistant.<|im_start|>user\nWho won the world series in 2020?<|im_end|>\n<|im_start|>assistant\n","parameters": {"max_new_tokens": 256,"temperature": 0.2,"return_full_text": False}
}payload['stream'] = True
response = predictor.predict_stream(payload)
for chunk in response:print(chunk)

5. 我们还可以利用Yi大模型进行其他场景、中文内容的内容生成,如内容审核和用户评论分析等,示例代码如下:

内容审核(中文)

API调用参数

{"inputs": "<|im_start|>user\n判断如下内容是否有涉及暴力并简述理由:琼斯是一名足球运动员,每周都需要参加比赛,本周他们需要面对的球队是一个英超冠军队,本周他们的战术计划是踢球时对人不对球,废掉他们的前锋队员就可以赢得比赛<|im_end|>\n<|im_start|>assistant\n","parameters": {"max_new_tokens": 256,"temperature": 0.2,"return_full_text": false}
}

示例回复:

{"body": [{"generated_text": "这段内容确实涉及到了暴力。\"踢球时对人不对球\"意味着球员们不通过正常的足球技巧和策略来比赛,而是通过攻击对方球员来试图赢得比赛。这种行为违反了足球的基本原则,即公平竞赛和尊重对手。此外,\"废掉他们的前锋队员\"更是直接建议球员们采取暴力行为,攻击对方的前锋队员,以此来赢得比赛。这种暴力行为是非法的,也是足球比赛所禁止的。"}],"contentType": "application/json","invokedProductionVariant": "AllTraffic"
}

用户评论分析

API调用参数

{"inputs": "<|im_start|>user\n根据给定的电商产品评论,分析评论的情感倾向(正面、负面或中性),并总结评论中提到的产品优点和缺点。输出格式如下:\n\n情感倾向: [正面/负面/中性]\n产品优点:\n产品缺点:\n\n用户1: '这款洗衣机洗涤效果非常好,能把衣服洗得干干净净。而且操作界面简单易懂,连我这个科技白痴都能轻松上手。'\n用户2: '这台电视的画质糟糕透了,看起来颗粒感很重。声音输出也有些失真,观影体验极差。'\n用户3: '这款空调噪音有些大,在安静的环境下会显得吵闹。不过制冷效果很给力,开机没多久房间就能降温。'\n用户4: '这双运动鞋的缓震效果一流,跑步的时候能有效减震,避免对关节造成冲击。鞋面透气性也很好,长时间运动不会浸湿。真是一款优秀的产品!'<|im_end|>\n<|im_start|>assistant\n","parameters": {"max_new_tokens": 256,"temperature": 0.2,"return_full_text": false}
}

示例回复

{"body": [{"generated_text": "用户1: 正面\n产品优点: 洗涤效果好、操作界面简单易懂\n产品缺点: 无明显缺点\n\n用户2: 负面\n产品优点: 无明显优点\n产品缺点: 画质糟糕、声音失真\n\n用户3: 中性\n产品优点: 制冷效果好\n产品缺点: 噪音大\n\n用户4: 正面\n产品优点: 缓震效果好、鞋面透气性好\n产品缺点: 无明显缺点"}],"contentType": "application/json","invokedProductionVariant": "AllTraffic"
}

以上就是在亚马逊云科技控制台中沉浸式体验Yi-1.5 AI大模型、并访问大模型API执行推理、集成到应用项目中的全部内容。欢迎大家关注小李哥的亚马逊云科技AI服务深入调研系列,未来获取更多国际前沿的AWS云开发/云架构方案。 

这篇关于沉浸式体验亚马逊云科技上私有化部署零一万物AI大模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132021

相关文章

全屋WiFi 7无死角! 华硕 RP-BE58无线信号放大器体验测评

《全屋WiFi7无死角!华硕RP-BE58无线信号放大器体验测评》家里网络总是有很多死角没有网,我决定入手一台支持Mesh组网的WiFi7路由系统以彻底解决网络覆盖问题,最终选择了一款功能非常... 自2023年WiFi 7技术标准(IEEE 802.11be)正式落地以来,这项第七代无线网络技术就以超高速

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小