Meta Llama 3 模型现已在 Amazon SageMaker JumpStart 中提供
Meta Llama 3 模型现已在 Amazon SageMaker JumpStart 中上线
关键点总结
Meta Llama 3 基础模型可以在 Amazon SageMaker JumpStart 中用于部署、推理和微调。Llama 3 模型有优化对话的微调版本,可用于多种用例。Amazon SageMaker JumpStart 让机器学习开发者能够轻松发现、部署和微调 Llama 3 模型。本文将详细介绍如何通过 SageMaker JumpStart 发现、部署和微调 Llama 3 模型。
近日,我们很高兴地宣布,Meta Llama 3 基础模型已经可以通过 Amazon SageMaker JumpStart 部署、运行推理和微调。Llama 3 模型是预训练和微调的生成文本模型集合。特别是 Llama 3 Instruct 微调模型,专为对话案例优化,同时在 SageMaker JumpStart 上提供。SageMaker JumpStart 是一个机器学习ML中心,提供算法、模型和 ML 解决方案,让用户快速入门 ML。
什么是 Meta Llama 3
Llama 3 共有两种参数规模8B 和 70B,具有 8k 的上下文长度它支持多种用例,并在推理、代码生成和指令跟随方面有所提升。Llama 3 使用的是仅解码的变换器架构和新的分词器,提升了模型性能,支持高达 128k 的输入大小。此外,Meta 改进了后训练程序,显著降低了错误拒绝率,提高了模型响应的一致性和多样性。现在,您可以结合 Llama 3 的性能和 Amazon SageMaker 的 MLOps 控件,通过 SageMaker Pipelines、SageMaker Debugger 或容器日志等功能,得到更好的使用体验。同时,模型将部署在 AWS 的安全环境中,处于您的 VPC 控制之下,以确保数据安全。
什么是 SageMaker JumpStart
使用 SageMaker JumpStart,您可以从广泛的公开基础模型中进行选择。机器学习从业者可以将基础模型部署到专用的 SageMaker 实例,并通过 SageMaker 自定义模型以进行模型训练和部署。现在,您可以在 Amazon SageMaker Studio 中通过简单的操作发现和部署 Llama 3 模型,或者通过 SageMaker Python SDK 进行编程访问,从而利用 SageMaker 的特性如 SageMaker Pipelines、SageMaker Debugger 和容器日志,获得模型性能及 MLOps 控件。Llama 3 模型现已在 SageMaker JumpStart 可供推理和微调,覆盖 22 个支持 SageMaker JumpStart 的区域。请注意,Llama 3 将需要 g5、p4 或 Inf2 实例。
发现模型
您可以通过 SageMaker JumpStart 在 SageMaker Studio UI 和 SageMaker Python SDK 中访问基础模型。在本节中,我们将介绍如何在 SageMaker Studio 中发现这些模型。
SageMaker Studio 是一个集成开发环境IDE,提供一个基于 Web 的可视化界面,您可以在其中访问专门设计的工具,执行从准备数据到构建、训练和部署 ML 模型的所有开发步骤。有关如何入门并设置 SageMaker Studio 的详细信息,请参考 Amazon SageMaker Studio。
在 SageMaker Studio 中,您可以访问 SageMaker JumpStart,其中包含预训练模型、笔记本和预构建解决方案,位于“预构建与自动化解决方案”下。
从 SageMaker JumpStart 首页,您可以通过不同的模型提供者浏览轻松找到各种模型,Llama 3 模型位于 Meta 中心。如果您看不到 Llama 3 模型,请通过关闭并重启来更新您的 SageMaker Studio 版本。更多信息请参考 关闭并更新 Studio Classic 应用。
您可以通过在左上角的搜索框中搜索“Metallama3”来找到 Llama 3 模型。
通过点击 Meta 中心,您可以发现 SageMaker JumpStart 中所有可用的 Meta 模型。
点击模型卡片会打开相应的模型详情页面,在此您可以轻松地部署模型。
部署模型
选择 部署 并确认 EULA 条款后,部署将开始。
您可以在点击部署按钮后打开的页面上监控部署进度。
或者,您也可以选择 打开笔记本 通过示例笔记本进行部署。示例笔记本提供了如何进行推理和清理资源的端到端指导。
使用笔记本进行部署时,您首先需要选择一个合适的模型,通过 modelid 指定。您可以使用以下代码在 SageMaker 上部署所选模型。
pythonfrom sagemakerjumpstartmodel import JumpStartModel
model = JumpStartModel(modelid=metatextgenerationllama370binstruct)predictor = modeldeploy(accepteula=False)
默认情况下,accepteula 设置为 False。您需要手动接受 EULA 才能成功部署端点,接受此协议即表示您同意用户许可协议和可接受的使用政策。您也可以在 Llama 网站 上找到许可证协议。此代码将在 SageMaker 默认配置,包括默认实例类型和 VPC 配置下使模型部署。您可以通过在 JumpStartModel 中指定非默认值来更改这些配置。想了解更多,请参阅以下 文档。
下表列出了 SageMaker JumpStart 中所有可用的 Llama 3 模型、对应的 modelids、默认实例类型及支持的最大总 Token 数量输入 Token 数量与生成 Token 数量之和:
加速器apk模型名称模型 ID最大总 Token 数量默认实例类型MetaLlama38Bmetatextgenerationllama38b8192mlg512xlargeMetaLlama38BInstructmetatextgenerationllama38binstruct8192mlg512xlargeMetaLlama370Bmetatextgenerationllama370b8192mlp4d24xlargeMetaLlama370BInstructmetatextgenerationllama370binstruct8192mlp4d24xlarge进行推理
部署模型后,您可以通过 SageMaker 预测器对已部署的端点执行推理。微调过的指令模型Llama 3 8B Instruct 和 70B Instruct接受用户和聊天助手之间的聊天历史,并生成后续聊天内容。预训练模型Llama 3 8B 和 70B需要输入字符串提示,并在提供的提示上执行文本补全。
pythonpredictorpredict(payload)
推理参数控制端点上的文本生成过程。Max new tokens 控制模型生成的输出大小。这与单词数量不同,因为模型的词汇量和英语词汇量不同,并且每个 Token 不一定是英语单词。Temperature 参数控制输出的随机性,较高的温度会导致更具创意和虚构的输出。所有推理参数都是可选的。
70B 模型的示例提示
您可以利用 Llama 3 模型进行文本补全,适用于各种文本。通过文本生成,您可以进行多种任务,例如问答、语言翻译、情感分析等。发送到端点的输入负载格式如下:
pythonpayload = { inputs str (optional)parameters {maxnewtokens int topp float temperature float}}
以下是一些示例提示及模型生成的文本。所有输出都是使用推理参数 {maxnewtokens64 topp09 temperature06} 生成的。
plaintext输入 简单地说,相对论的理论指出输出 1) 物理定律对所有观察者都是相同的,2) 光速对于所有观察者都是恒定的。理论的第一部分称为特殊相对论,第二部分称为广义相对论。
输入 我认为生活的意义是输出 有目的地生活,努力实现目标。我相信我们存在是为了改变世界,为了改变他人的生活。
输入 一条简短的消息,祝贺团队成功发布:输出 我想祝贺大家新网站的成功上线!看起来很棒,我相信这将成为我们客户的一个宝贵资源。感谢大家的辛勤付出。
在下一个示例中,我们将展示如何使用 Llama 3 模型进行少量示例的上下文学习,提供给模型训练示例。我们仅在已部署模型上进行推理,在此过程中模型权重不会改变。
plaintext输入 将英文翻译为法语:海獭 =gt loutre de mer薄荷 =gt menthe poivre毛绒长颈鹿 =gt girafe peluche奶酪 =gt输出 fromage熊猫 =gt panda企鹅 =gt pingouin北极熊 =gt ours polaire树懒 =gt paresseux海象 =gt morse鲸鱼 =gt baleine斑马 =gt zbre将英文翻译为德语:
70BInstruct 模型的示例提示
对于优化对话用例的 Llama 3 instruct 模型,输入格式为聊天助手和用户之间的历史交互。您可以根据先前对话提问,还可以提供系统配置,例如角色,以定义聊天助手的行为。尽管输入负载格式与基础预训练模型相同,但输入文本应按以下方式格式化:
plaintextltbeginoftextgtltstartheaderidgtsystemltendheaderidgt[SYSTEMTEXT]lteotidgtltstartheaderidgtuserltendheaderidgt[USERTEXT]lteotidgtltstartheaderidgtassistantltendheaderidgt
在此指令模板中,您可以选择性地以 system 角色开头,并根据需要在轮换历史中包含任意多个角色。最后一个角色应始终是 assistant,并以两个换行符结束。
接下来,考虑一些示例提示和模型的响应。在以下示例中,用户向助手提出简单问题。
plaintext输入 ltbeginoftextgtltstartheaderidgtuserltendheaderidgtnn蛋黄酱的做法是什么?lteotidgtltstartheaderidgtassistantltendheaderidgtnn输出 经典调味品!蛋黄酱是一种浓稠的、奶油状的乳化酱,由油、蛋黄、酸如醋或柠檬汁和调味品混合而成。以下是家庭制作蛋黄酱的简单食谱:配料: 2 个蛋黄 1 汤匙柠檬汁或醋例如苹果醋或白葡萄酒醋 1/2 茶匙第戎芥末可选,但建议以增加风味 1/2 杯120 毫升中性油,例如菜籽油、葡萄籽油或向日葵油 盐,适量

说明:1 使用室温食材:这是乳化成功的关键。2 在中等大小的碗中,将蛋黄、柠檬汁或醋和第戎芥末如果使用混合均匀。3 缓慢加入油:同时持续搅打蛋黄混合物,缓慢以细流方式倒入油。开始时要慢慢流入,待混合物逐渐变稠后再加快流速。4 持续搅拌:不断搅打,直至混合物体积增加一倍,达成浓稠的奶油状。这大约需要 57 分钟。5 检查稠度:当蛋黄酱达到您期望的稠度时停止搅拌。它应该非常光滑、浓稠,并在打蛋器提起时保持形状。6 调味:根据口味加入盐,并再次搅拌均匀。7 品尝与调整:若蛋黄酱太稠,可少量加水;若稠度不足,可再加些油。
小贴士与变化: 使用中性油,以避免影响蛋黄酱的味道。 如果您使用立式搅拌机,请使用搅拌附件并从低速开始,按照需要逐步加速。 添加香料,如切块大蒜、切碎的新鲜草药如辣椒、莳萝或龙蒿或磨碎的生姜以创建不同的风味。 为了让蛋黄酱更加轻盈,可以酌情只用 1 个蛋黄或加一点水来稀释。 如果蛋黄酱分离或崩溃,别担心!只需从新蛋黄开始,再慢慢搅入破裂的蛋黄酱。
自制蛋黄酱与商用蛋黄酱的比较:虽然商用蛋黄酱方便,但自制蛋黄酱有许多优势: 新鲜度:自制蛋黄酱是按需制作,确保最佳的风味和口感。 定制:您可以根据个人喜好调整口味。 无防腐剂:自制蛋黄酱不含店购蛋黄酱的额外防腐剂,是一种更健康的选择。
享用您新鲜制作的蛋黄酱!
在下一个示例中,用户与助手就巴黎的旅游景点进行了对话,接着询问助手推荐的第一个选项。
plaintext输入 ltbeginoftextgtltstartheaderidgtuserltendheaderidgtnn我要去巴黎,我应该看什么?lteotidgtltstartheaderidgtassistantltendheaderidgtnn输出 巴黎,法国首都,以其迷人的建筑、艺术博物馆、历史地标和浪漫氛围而闻名。这里是一些在巴黎必看的热门景点:1 埃菲尔铁塔:这座标志性的特点是世界上最知名的地标之一,为您提供无与伦比的城市美景。2 卢浮宫博物馆:卢浮宫是世界上最大、最著名的博物馆之一,收藏了大量艺术品和文物,包括《蒙娜丽莎》。3 圣母院:这座美丽的教堂是巴黎最著名的地标之一,因其哥特式
亚马逊 MWAA 的灾难恢复策略
Amazon MWAA 灾难恢复策略 第二部分由 Chandan Rupakheti 和 Parnab Basak 于 2024 年 6 月 17 日发表于 Amazon EventBridge、Amazon Managed Workflows for Apache Airflow (Amazon ...