本文作者 郑昊、张镎
近期,由零一万物提供的基础模型 Yi-1.5 6B/9B/34B 在Amazon SageMaker JumpStart 上线了 ,为中国企业提供丰富模型选择的同时满足了企业对安全合规、快速扩展、免运维的需求。作为首批登陆中国区域 Amazon SageMaker JumpStart 的中文基础模型,Yi-1.5 与亚马逊云科技托管服务深度集成,助力中国企业应用一流的生成式 AI 技术实现本土创新与业务转型。
本篇文章将介绍如何基于 Amazon SageMaker JumpStart 来发现和部署 Yi-1.5 模型和运行推理。
Amazon SageMaker JumpStart
Amazon SageMaker JumpStart 是一个机器学习中心,可以帮助企业加速机器学习构建之旅。借助 Amazon SageMaker JumpStart ,企业可以快速发现、评估和部署包括来自 HuggingFace 和零一万物等的基础模型,来执行多种机器学习任务,比如文章摘要和图像生成。Amazon SageMaker JumpStart 中预训练模型还可以根据客户的用例和数据完全定制,客户可以轻松使用图形化界面或 SDK 将定制后的模型部署到生产环境中。此外,客户可以访问预制的解决方案来满足常见用例的需求,比如图像或文本分类, 并在组织内共享模型和笔记本,以加速机器学习模型的构建和部署。
Amazon SageMaker JumpStart 的主要优势包括:
内置超过 400 种各类基础模型、算法和机器学习解决方案。
可使用图形化或 SDK 访问,轻松点击几下即可部署,无需专业的机器学习知识。
可基于自定义数据集定制基础模型,满足垂直领域场景需求。
可在组织内灵活共享机器学习模型和笔记本,以加速机器学习模型的构建和部署。
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
发现模型
您可以通过 Amazon SageMaker Studio UI 和 Amazon SageMaker Python SDK 访问基础模型。这里,我们将介绍如何在 Amazon SageMaker Studio 中发现这些模型。
Amazon SageMaker Studio 是一个集成开发环境( IDE ),提供了一个基于 Web 的可视化界面,您可以在其中访问专门构建的工具,执行所有机器学习开发步骤,从准备数据到构建、训练和部署您的机器学习模型。有关如何开始使用和设置 Amazon SageMaker Studio 的更多详细信息,请参阅 Amazon SageMaker Studio。
Amazon SageMaker Studio
扫码了解更多
从 Amazon SageMaker Studio 中的 JumpStart 入口进入之后,以零一万物的 Yi 模型为例, 您可以在 provider 的 search box 中搜索 yi 来找到所有的 Yi 系列模型。
单击模型卡片会打开如下的模型详情页面,从该页面点击右上方的 Deploy 可以快速进入模型的部署流程。
2
部署模型
进入模型部署界面之后,可以直接使用默认配置进行部署。或者,您可以自定义地对部署进行配置,如 Amazon SageMaker Endpoint 命名、实例类型、初始及可扩容的最大实例数量等。此处以 Yi-1.5 9B Chat 为例,默认使用单个 A10g GPU 的 ml.g5.2xlarge 实例。
除了上述基于图形界面的部署形式,您也可以点击 Notebooks Tab,基于 JumpStart Notebook 进行部署,或直接在 Amazon SageMaker Studio 中启动 Jupyter Notebook 环境,使用 JumpStart API 部署,这种方式提供了更高的灵活性和更多的配置选项。
触发部署后,可以在左侧 Endpoints 选项中,找到当前部署的 Amazon SageMaker Endpoint ,并跟踪其部署状态。
当 Statue 转为 In Service 之后,表示模型部署成功。
3
运行推理
完成部署后,可以通过 Endpoint 界面提供的 Test Inference Tab 来进行测试调用。
对于一般生产场景,可以通过 SDK 的形式来进行模型调用。比如,在您部署应用的服务器上,通过 Amazon SageMaker SDK , Amazon SDK for Python (boto3) 或 Amazon SDK for JAVA 等,来对以上部署的模型进行调用。以 Amazon SageMaker Python SDK 的调用为例,指定部署完成的 Amazon SageMaker Endpoint 名称(如 jumpstart-dft-hf-llm-yi-1-5-9b-chat-20240607-033836 ),即可快速进行调用并获取推理结果。
from sagemaker.predictor import retrieve_default
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
}
}
response = predictor.predict(payload)
print(response)
[{'generated_text': 'The Los Angeles Dodgers won the World Series in 2020. They defeated the Tampa Bay Rays in a best-of-seven series, clinching the championship in Game 6. This World Series was unique due to the pandemic-induced shortened season, which consisted of just 60 games per team.'}]
左右滑动查看完整示意
同时,通过调整推理参数可以进行生成结果的控制,如通过 temperature 来控制随机性,通过 return_full_text 来控制是否输出 input prompt 等。
对于需要使用流式 (Stream) 输出的场景,需要在以上 payload 中增加 "stream": True 参数,并使用 Stream API 接口进行调用,如 boto3 中的 invoke_endpoint_with_response_stream() API。
Yi-1.5 模型推理示例
Yi Chat 版本的模型可以通过使用其专有的 prompt 模板,来获得更好的生成效果。以下展示了使用 Yi-1.5-9B-Chat 来进行中文问答的一个示例。
输入提示文本如下,
你是一个 AI 助手。<|im_start|>user
丝绸之路起源于哪个朝代?<|im_end|>
<|im_start|>assistant
输出如下,
丝绸之路起源于中国西汉时期的张骞出使西域。根据史料记载,张骞于公元前 138 年和公元前 119 年两次出使西域,开辟了连接中国与中亚、西亚以及欧洲的贸易通道。这条古老的贸易路线被称为“丝绸之路”,它不仅促进了商品、文化和宗教的交流,也对世界历史的发展产生了深远的影响。
总结
本篇文章向您展示了如何在 Amazon SageMaker JumpStart 中发现和部署基础模型,以及以零一万物的 Yi-1.5-9B-Chat 为例运行推理。
您现在可以借助 Amazon SageMaker JumpStart 访问 Yi-1.5 6B 、 9B 和 34B 的 Base 和 Chat 优化的基础模型,未来我们还会上线包括百川智能在内的多款领先的中文基础模型。除此之外,您还可以访问来自 AI21Labs 和 HuggingFace 等公司的先进模型,进行微调定制和部署,有效地降低训练和基础设施成本,加速生成式 AI 应用的构建。现在就在 Amazon SageMaker JumpStart 中开启您的生成式 AI 构建之旅吧。
星标不迷路,开发更极速!
关注后记得星标「亚马逊云开发者」
点击阅读原文查看博客,获得更详细内容
听说,点完下面4个按钮
就不会碰到bug了!