中国大模型公司零一万物发布开源大模型Yi-1.5,包含多个版本。同时发布多款模型API接口,其中Yi-Large模型性能卓越,已进军全球顶级大模型之首。零一万物还启动下一代模型训练,旨在冲击GPT-5性能。
本篇文章将介绍 Amazon SageMaker JumpStart 快速部署 Yi-1.5 9B Chat 模型实践。
一、前言
1.1、Amazon SageMaker JumpStart
Amazon SageMaker JumpStart 是 Amazon SageMaker 平台的一部分,旨在帮助用户更快、更轻松地启动和开发机器学习项目。这是亚马逊云科技提供的一个非常实用的工具,特别适合那些希望迅速启动和开发机器学习项目的用户。
SageMaker JumpStart 可以视为 SageMaker 的一个扩展,它专注于简化机器学习项目的启动过程。通过提供预训练模型、解决方案模板和一键部署功能,JumpStart 大幅度降低了初始设置的复杂性,加快了从概念到实际应用的过渡。
JumpStart 的一键部署功能使用户能够迅速将模型投入实际应用,简化了复杂的技术步骤,使你能够更加专注于项目的核心目标。对于刚刚接触机器学习的新手,JumpStart 提供了详细的教程和学习资源,帮助你逐步掌握相关技术。即使是经验丰富的开发者,也能通过 JumpStart 提供的预配置和优化资源,进一步加速项目的开发进程。
1.2、Yi-1.5 9B Chat 模型
Yi-1.5 系列开源大模型是零一万物 Yi 系列模型的升级版,分为 6B、9B、34B 三个版本,采用 Apache 2.0 许可证。Yi-1.5 在前作的基础上使用高质量的 500B Token 进行持续预训练,因此延续了 Yi 系列开源模型的出色表现。
由下表可见,Yi-1.5 34B 在 C-Eval、CMMLU 和 Gaokao等多项基准测试中均超过了 GPT-3.5 和4,表明 Yi-1.5 34B 在处理汉语和与中国相关的任务时具有明显的优势。另外,Yi 系列经过微调的对话模型在 LMSYS Chatbot Arena 等主要评估平台上获得了较高的人类偏好率,能够提供自然流畅的对话交互体验和需求。
本次实验使用的是Yi-1.5 9B Chat 模型,它在多个任务上表现出色,尤其在对话生成、文本生成和语言理解方面尤为突出。Yi-1.5 9B Chat这个模型专门针对对话任务进行了优化,能够捕捉复杂的语言模式和上下文关系,从而生成更加自然和连贯的对话内容,在与用户交互时能产生相关且有意义的回应,理解上下文并提供连贯的回答。
二、Yi 1.5实践流程
2.1、准备SageMaker Studio环境
首先进入亚马逊云科技海外官网,点击进入亚马逊控制台,然后在左上方搜索栏搜索Amazon SageMaker,点击进入Amazon SageMaker界面
点击左侧导航栏中的 Domains,之后点击 Create domain,选择 Set up for single user (Quick setup),如果新建Studio环境失败的话,可以切换到US West (Oregon)(us-west-2)再试一试。如果提示没有用户的话,可以点击Add user 以添加新的用户,并在接下来的几个步骤中选择默认值,并点击 Next和Submit,等待片刻即可完成用户创建。
创建成功后点击创建好的Domain,随后切换到 用户配置文件 选项卡,看到预先创建好的用户,点击Launch中的Studio打开SageMaker Studio的环境。
显示如下页面,则说明成功创建并进入了SageMaker Studio工作区:
2.2、部署Yi-1.5-9B模型
进入SageMaker Studio后,点击左侧导航栏中的 JumpStart 按钮,然后在搜索栏中搜索 yi 来找到所有的 Yi 系列模型。
单击模型卡片会打开如下的模型详情页面,从该页面点击右上方的 Deploy ,快速进入模型的部署流程。
进入模型部署界面后,可以直接使用默认配置进行部署,也可以根据需要自定义部署设置,例如命名 SageMaker Endpoint
、选择实例类型、设置初始实例数量和可扩展的最大实例数量等。以 Yi-1.5 9B Chat
为例,这里使用配备单个 A10g GPU 的 ml.g5.2xlarge
实例进行部署
触发部署后,可以在左侧 Endpoints 选项中,找到当前部署的 SageMaker Endpoint,并跟踪其部署状态,大概等待5分钟作用,Statue 转为 In Service
之后,表示模型部署成功。
2.3、运行推理Yi-1.5-9B模型
部署成功后,下面来运行推理Yi-1.5-9B
模型,体验一下模型的效果。
点击左侧Endpoints,然后进入模型,选择Test inference页面,在Testing Options中选择Test the sample request进行测试,下放的JSON可以通过调整推理参数进行生成结果的控制:
输入想要对话的内容后,点击Send Request,得到对应的结果
当然还可以通过SageMaker Python SDK 对模型进行调用,指定部署完成的 SageMaker Endpoint 名称(如 jumpstart-dft-hf-llm-yi-1-5-9b-chat-20240607-033836
),即可快速进行调用并获取推理结果。
以下代码通过 SageMaker 预测服务调用模型进行预测。首先,从 SageMaker 导入了 retrieve_default
函数来获取一个预测器实例。然后,通过指定的端点名称创建预测器。接着,准备了包含输入文本和预测参数的 payload
。调用预测器的 predict
方法,将 payload 发送给模型以获取预测结果,最后打印出模型的回答。
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)
三、体验总结
通过实验,可以看到,Amazon SageMaker JumpStart 提供了一种高效的方法来访问和利用这些强大的模型。借助 Amazon SageMaker JumpStart 可以很轻松的访问 Yi-1.5 6B,9B 和 34B 的 Base 和 Chat 优化
的 6 个基础模型,除此之外,还可以访问来自 Meta、AI21Labs 和 HuggingFace 等公司的先进模型。无论是构建对话系统还是处理复杂的文本任务,Yi 1.5 模型都能提供强大的支持。
现在注册亚马逊云科技海外账号,立即就可以免费使用这些便捷服务。作为新注册的用户,除了免费的Amazon SageMaker,还有丰富的亚马逊云服务器(Amazon EC2)、亚马逊云科技云存储(Amazon S3),负载均衡(Elastic Load Balancing),虚拟服务器VPS(Amazon Lightsail)、视频会议(Amazon Chime )等等100 余种云产品或服务免费试用。