Press "Enter" to skip to content

Meta的两个基础模型现已在Amazon SageMaker JumpStart上可用

今天,我们非常高兴地宣布,由Meta开发的Llama 2基础模型现已通过Amazon SageMaker JumpStart向客户提供。 Llama 2大型语言模型(LLM)系列是一组预训练和微调的生成文本模型,规模从70亿到700亿个参数不等。微调的LLM称为Llama-2-chat,专为对话使用案例进行了优化。您可以轻松尝试这些模型,并使用SageMaker JumpStart进行使用,SageMaker JumpStart是一个机器学习(ML)中心,提供算法、模型和ML解决方案的访问,以便您快速开始使用ML。

在本文中,我们将介绍如何通过SageMaker JumpStart使用Llama 2模型。

Llama 2是什么

Llama 2是一种使用优化的Transformer架构的自回归语言模型。Llama 2适用于商业和研究用途的英语。它有多种参数大小可供选择,包括70亿、130亿和700亿,以及预训练和微调的变体。据Meta称,微调版本使用受监督的微调(SFT)和通过人类反馈的强化学习(RLHF)来与人类对于有益和安全性的偏好保持一致。Llama 2在公开可用的来源中预训练了2万亿个令牌的数据。微调的模型适用于助理式对话,而预训练的模型可以用于各种自然语言生成任务。无论开发人员使用模型的哪个版本,Meta的负责任使用指南都可以帮助指导额外的微调,以便根据适当的安全缓解措施进行定制和优化模型。

SageMaker JumpStart是什么

使用SageMaker JumpStart,ML从业者可以从广泛的开源基础模型中进行选择。ML从业者可以将基础模型部署到专用的Amazon SageMaker实例中,从网络隔离的环境中进行自定义模型训练和部署。

您现在可以在Amazon SageMaker Studio中通过几次点击或通过SageMaker Python SDK以编程方式发现和部署Llama 2,从而能够使用SageMaker功能(例如Amazon SageMaker Pipelines、Amazon SageMaker Debugger或容器日志)获得模型性能和MLOps控制。该模型在AWS安全环境中部署,并在您的VPC控制下,有助于确保数据安全。Llama 2模型今天在Amazon SageMaker Studio中提供,最初在us-east-1us-west-2地区提供。

发现模型

您可以通过SageMaker JumpStart在SageMaker Studio UI和SageMaker Python SDK中访问基础模型。在本节中,我们将介绍如何在SageMaker Studio中发现这些模型。

SageMaker Studio是一个集成开发环境(IDE),提供一个单一的基于Web的可视界面,您可以在其中访问专门构建的工具,执行所有的ML开发步骤,从数据准备到构建、训练和部署ML模型。有关如何入门和设置SageMaker Studio的详细信息,请参阅Amazon SageMaker Studio。

一旦您进入SageMaker Studio,您可以访问SageMaker JumpStart,在预构建和自动化解决方案下找到预训练模型、笔记本和预构建解决方案。

Meta的两个基础模型现已在Amazon SageMaker JumpStart上可用 四海 第1张

从SageMaker JumpStart的首页,您可以浏览解决方案、模型、笔记本和其他资源。您可以在Foundation Models: Text Generation轮播图中找到两个旗舰Llama 2模型。如果您找不到Llama 2模型,请通过关闭和重新启动来更新您的SageMaker Studio版本。有关版本更新的更多信息,请参阅关闭和更新Studio应用程序。

Meta的两个基础模型现已在Amazon SageMaker JumpStart上可用 四海 第2张

您还可以通过选择浏览所有文本生成模型或在搜索框中搜索llama来找到其他四个模型变体。

Meta的两个基础模型现已在Amazon SageMaker JumpStart上可用 四海 第3张

您可以选择模型卡查看有关模型的详细信息,例如许可证、用于训练的数据以及如何使用。您还可以找到两个按钮,部署打开笔记本,这些按钮可以帮助您使用模型。

Meta的两个基础模型现已在Amazon SageMaker JumpStart上可用 四海 第4张

当您选择任何一个按钮时,会弹出一个窗口,显示最终用户许可协议和可接受的使用政策,供您确认。

Meta的两个基础模型现已在Amazon SageMaker JumpStart上可用 四海 第5张

确认后,您将继续下一步使用模型。

部署模型

当您选择部署并确认条款后,模型部署将开始。或者,您可以通过选择打开笔记本来使用示例笔记本进行部署。示例笔记本提供了端到端的指导,介绍了如何将模型部署用于推理,并清理资源。

要使用笔记本进行部署,我们首先选择一个适当的模型,由model_id指定。您可以使用以下代码在SageMaker上部署任何选定的模型:

from sagemaker.jumpstart.model import JumpStartModel
my_model = JumpStartModel(model_id = "meta-textgeneration-llama-2-70b-f")
predictor = my_model.deploy()

这将使用默认配置(包括默认实例类型和默认VPC配置)在SageMaker上部署模型。您可以通过在JumpStartModel中指定非默认值来更改这些配置。部署完成后,您可以通过SageMaker预测器对部署的端点进行推理:

payload = {
    “inputs”:  
      [
        [
         {"role": "system", "content": "Always answer with Haiku"},
         {"role": "user", "content": "I am going to Paris, what should I see?"},
        ]   
      ],
   "parameters":{"max_new_tokens":256, "top_p":0.9, "temperature":0.6}
}

微调的聊天模型(Llama-2-7b-chat、Llama-2-13b-chat、Llama-2-70b-chat)接受用户和聊天助手之间的聊天历史记录,并生成后续的聊天内容。预训练模型(Llama-2-7b、Llama-2-13b、Llama-2-70b)需要一个字符串提示,并对提供的提示进行文本补全。请参阅以下代码:

predictor.predict(payload, custom_attributes="accept_eula=true")

请注意,默认情况下,accept_eula被设置为false。您需要设置accept_eula=true才能成功调用端点。通过这样做,您接受了前面提到的用户许可协议和可接受的使用政策。您还可以下载许可协议。

用于传递EULA的custom_attributes是键/值对。键和值之间用=分隔,对之间用;分隔。如果用户多次传递相同的键,则保留最后一个值,并将其传递给脚本处理程序(在这种情况下,用于条件逻辑)。例如,如果将accept_eula=false; accept_eula=true传递给服务器,则保留accept_eula=true并传递给脚本处理程序。

推理参数控制端点上的文本生成过程。”最大新标记控制”是指模型生成的输出大小。请注意,这与单词数不同,因为模型的词汇表与英语词汇表不同,并且每个标记可能不是英语单词。温度控制输出中的随机性。较高的温度会导致更有创意和幻觉的输出。所有推理参数都是可选的。

下表列出了SageMaker JumpStart中提供的所有Llama模型,以及每个模型的model_ids,默认实例类型和支持的最大总令牌数(输入令牌数和生成令牌数之和)。

模型名称 模型ID 最大总令牌数 默认实例类型
Llama-2-7b meta-textgeneration-llama-2-7b 4096 ml.g5.2xlarge
Llama-2-7b-chat meta-textgeneration-llama-2-7b-f 4096 ml.g5.2xlarge
Llama-2-13b meta-textgeneration-llama-2-13b 4096 ml.g5.12xlarge
Llama-2-13b-chat meta-textgeneration-llama-2-13b-f 4096 ml.g5.12xlarge
Llama-2-70b meta-textgeneration-llama-2-70b 4096 ml.g5.48xlarge
Llama-2-70b-chat meta-textgeneration-llama-2-70b-f 4096 ml.g5.48xlarge

请注意,SageMaker端点的超时限制为60秒。因此,即使模型能够生成4096个令牌,如果文本生成超过60秒,请求将失败。对于7B、13B和70B模型,我们建议将max_new_tokens设置为不超过1500、1000和500,并保持令牌总数小于4K。

Llama-2-70b的推理和示例提示

您可以使用Llama模型对任何文本进行文本补全。通过文本生成,您可以执行各种任务,例如回答问题、语言翻译、情感分析等。端点的输入载荷如下所示:

payload = {
    “inputs”: str,
   (optional)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}

以下是一些示例提示和模型生成的文本。所有输出都使用推理参数{"max_new_tokens":256, "top_p":0.9, "temperature":0.6}生成。

输入:简单来说,相对论理论认为  

 输出: 
1)物理定律对于所有相对于彼此的匀速运动的观察者都是相同的,2)光的速度对于所有观察者来说是相同的,无论它们的相对运动或光源的运动如何。
在19世纪末,科学家们认为光是通过他们称之为流动以太的一种VoAGI传播的。但在1887年,阿尔伯特·迈克尔逊和爱德华·莫雷设计了一个实验来测量以太中的光速,并发现无论他们如何定位设备,光的速度都是相同的。这个结果似乎与以太的想法相矛盾,迈克尔逊和莫雷的实验成为了历史上最著名的失败实验之一。
1905年,阿尔伯特·爱因斯坦发表了一篇利用迈克尔逊-莫雷实验结果来发展特殊相对论的论文。1915年,爱因斯坦发表了一篇关于广义相对论的论文,这是一种关于引力的理论。
在物理学中,光速被认为是一个恒定值,其数值为299,792,458米

输入:我认为人生的意义是 

 输出: 
快乐,找到生活的乐趣,爱与被爱。勇于做自己,善待他人。能够表达自己、创造和受到启发。能够给予和接受。能够学习和成长。能够发现世界的美丽并欣赏它。能够找到平静和满足。能够找到意义和目标。能够在世界上产生影响。能够在简单的事物中找到快乐。能够在困难的事物中找到快乐。能够在旅程中找到快乐。能够在目的地中找到快乐。能够在现在的时刻找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐。能够在未来找到快乐。能够在过去找到快乐。能够在现在找到快乐

输入:祝贺团队上线的简短消息:

        大家好,
        
        我只是  

 输出: 
想要发送一个快速的祝贺笔记,祝贺大家的新网站的上线。我知道这个过程已经持续了很长时间,我相信我们都为最终的产品感到自豪。
        
        感谢大家

在下一个示例中,我们展示了如何在Llama模型中使用少样本上下文学习,其中我们提供了模型可用的训练样本。请注意,在部署模型并进行推理的过程中,模型权重不会发生变化。

输入:将英语翻译为法语:

        sea otter => loutre de mer
        peppermint => menthe poivrée
        plush girafe => girafe peluche
        cheese => 

 输出:
fromage
        chocolate => chocolat
        car => voiture
        hamster => hamster
        beer => bière
        bicycle => bicyclette
        banana => banane
        strawberry => fraise
        pizza => pizza
        cheeseburger => cheeseburger
        pineapple => ananas
        carrot => carotte
        watermelon => pastèque
        whale => baleine
        eggplant => aubergine
        cat => chat
        penguin => manchot
        lion => lion
        elephant => éléphant
        panda => panda
        tiger => tigre
        salmon => saumon
        squirrel => écureuil
        kangaroo => kangourou
        turtle => tortue
        octopus => poulpe
        frog => grenouille
        pig => cochon
        goldfish => poisson rouge
        tiger shark => requin tigre
        gorilla => gorille
        dol

Llama-2-70b-chat的推理和示例提示

使用专为对话使用案例优化的Llama-2-Chat模型,聊天模型终端的输入是聊天助手与用户之间的先前历史记录。您可以问与到目前为止发生的对话相关的问题。您还可以提供系统配置,例如定义聊天助手行为的角色。端点的输入有效载荷如下所示:

有效载荷 = {
    “inputs”:  [
     [
      (可选){"role": "system", "content": str},
      (重复k次) {"role": "user", "content": str}, {"role": "assistant", "content": str},
      {"role": "user", "content": str},
     ]
    ],
   (可选)"parameters":{"max_new_tokens":int, "top_p":float, "temperature":float}
}

以下是一些示例示例提示和模型生成的文本。所有输出都是使用推理参数 {"max_new_tokens": 512, "top_p": 0.9, "temperature": 0.6} 生成的。

输入:
用户:mayonnaise的配方是什么?

输出:
助手:当然,我可以帮助你!Mayonnaise是一种由蛋黄、油、醋或柠檬汁和调味料混合制成的浓稠的奶油调料。以下是自制Mayonnaise的基本配方:

配料:

* 2个蛋黄
* 1/2杯(120毫升)中性味的油,如菜籽油或葡萄籽油
* 1汤匙(15毫升)醋或柠檬汁
* 1/2茶匙盐
* 1/4茶匙黑胡椒

步骤:

1. 在一个适合的碗中,将蛋黄、盐和黑胡椒搅拌均匀。
2. 边缓慢倒入油,边不断搅拌混合物。非常重要的是要慢慢加入油,否则混合物可能会分离,变成分层的混乱。
3. 继续搅拌,直到混合物变稠并乳化,大约需要5-7分钟。当混合物体积增加一倍并具有浓稠的一致性时,即表示已经完成。
4. 添加醋或柠檬汁,继续搅拌1-2分钟,直到完全融合。
5. 品尝Mayonnaise并根据需要调整调味。您可以根据需要添加更多的盐、胡椒或酸度。
6. 用保鲜膜盖住碗,将Mayonnaise冷藏至少30分钟。这样可以使风味融合并使Mayonnaise进一步变稠。

就是这样!这个配方可以制作约1 1/2杯(360毫升)Mayonnaise,足够制作一小批或中等大小的三明治或沙拉。您还可以根据喜好添加不同的香料,如大蒜、芥末或草药,以营造独特的口味。祝您享用!

在下面的示例中,用户与助手讨论了巴黎的旅游景点。接下来,用户正在询问聊天助手推荐的第一个选项。

输入:
用户:我要去巴黎,应该去看什么?
助手:巴黎,法国的首都,以其惊人的建筑、艺术博物馆、历史地标和浪漫氛围而闻名。以下是巴黎的一些热门景点:

1. 埃菲尔铁塔:标志性的埃菲尔铁塔是世界上最具辨识度的地标之一,提供了令人惊叹的城市美景。
2. 卢浮宫博物馆:卢浮宫是世界上最大、最著名的博物馆之一,收藏了大量的艺术品和文物,包括《蒙娜丽莎》。
3. 巴黎圣母院:这座美丽的大教堂是巴黎最著名的地标之一,以其哥特式建筑和令人惊叹的彩色玻璃窗而闻名。

这只是巴黎提供的众多景点中的几个。巴黎有如此多的景点和活动,难怪它是世界上最受欢迎的旅游目的地之一。
用户:第一处有什么好的?

输出:
助手:埃菲尔铁塔是一座世界知名的标志性地标,象征着巴黎和法国。它是为1889年的世界博览会而建造的,最初是作为一个临时结构,但现在已经成为巴黎天际线的永久部分。以下是埃菲尔铁塔之所以如此出色的一些原因:

1. 工程奇迹:埃菲尔铁塔在其建造时是一项开创性的工程壮举。它高324米(1,063英尺),在世界上是最高的建筑物超过40年。
2. 标志性设计:埃菲尔铁塔独特的形状和设计使其一眼可辨。它成为了无数艺术作品、照片和电影的主题,并成为巴黎和法国的象征。
3. 全景美景:埃菲尔铁塔从其观景台上可以欣赏到令人惊叹的城市美景。游客可以全方位地欣赏巴黎,包括塞纳河、凯旋门和蒙马特区等著名地标。
4. 历史意义:埃菲尔铁塔在巴黎的历史中起到了重要的作用,曾经是许多重要事件的发生地,包括第二次世界大战期间著名的“埃菲尔铁塔之战”。
5. 文化影响:埃菲尔铁塔对流行文化产生了重要影响,启发了无数艺术作品、文学作品和音乐作品。它也是无数纪录片和电影的题材,包括经典电影《巴黎午夜》。
6. 浪漫氛围:埃菲尔铁塔以其浪漫的氛围而闻名,成为情侣和新婚夫妇的热门目的地。它是无数求婚的场所,并在许多浪漫电影和文学作品中出现。
7. 便捷性:埃菲尔铁塔可以通过公共交通方便地到达,对游客来说是一个便捷的目的地。它也是无障碍的,配有电梯和坡道,可以通往各个楼层。

总的来说,埃菲尔铁塔是去巴黎旅游的必看景点,提供了独特而难忘的体验,融合了历史、文化、工程和浪漫。

在以下示例中,我们设置了系统的配置:

输入:
系统:始终以俳句回答
用户:我要去巴黎,应该去看什么?

输出:
助手:高耸的埃菲尔铁塔
卢浮宫艺术品
塞纳河流淌
输入:
系统:始终以表情符号回答
用户:如何从北京去纽约?

输出:
助手:以下是表示从北京到纽约的步骤的表情符号:

🇨🇳🛫🛬🇺🇸🗽🏙️🚕💨🛩️🛬🛫😴💤🛩️🛬🛫😍

清理

在完成笔记本的运行后,确保删除所有资源,以便删除您在过程中创建的所有资源,并停止计费:

predictor.delete_model()
predictor.delete_endpoint()

结论

在本文中,我们向您展示了如何在SageMaker Studio中使用Llama 2模型入门。通过这种方式,您可以访问包含数十亿参数的六个Llama 2基础模型。由于基础模型是预训练的,它们还可以帮助降低训练和基础设施成本,并为您的用例提供定制化。要开始使用SageMaker JumpStart,请访问以下资源:

  • SageMaker JumpStart文档
  • SageMaker JumpStart基础模型文档
  • SageMaker JumpStart产品详情页
  • SageMaker JumpStart模型目录
Leave a Reply

Your email address will not be published. Required fields are marked *