沉浸式体验亚马逊云科技上私有化部署零一万物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

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man