当前位置: 首页 > article >正文

沉浸式体验和评测Meta最新超级大语言模型405B

2024年7月23日, 亚马逊云科技的AI模型托管平台Amazon Bedrock正式上线了Meta推出的超级参数量大语言模型 - Llama 3.1模型,小李哥也迫不及待去体验和试用了该模型,那这么多参数量的AI模型究竟强在哪里呢?Llama 3.1模型是Meta(脸书)迄今为止最先进、最强大的模型。这一系列模型包含了参数大小分别为8B70B405B的模型,在多个行业热门基准测试中表现十分出色,并为生成式AI云端应用解锁了丰富、全新的无限可能。

在新一代版本中,所有Llama 3.1模型都支持128K上下文长度(相比Llama 3版本增加了120K tokens长度),这意味着新版本的模型其上下文处理能力是Llama 3模型的16倍!并且在多语言对话场景中表现出色,支持包括英语、德语、法语、意大利语、葡萄牙语、印地语、西班牙语和泰语在内的八种语言。

Meta推出的三款新模型是什么?

现在开发者们已经可以在亚马逊云科技的Amazon Bedrock服务中使用来自Meta的三款全新的 Llama 3.1 模型,帮助开发者构建、测试并负责任地扩展他们的生成式 AI创意应用:

  • Llama 3.1 405B

    405B是全球公开可用的参数最多的大型语言模型,根据 Meta 的说法,这款模型为AI整个行业作为全新的模型标准,非常适合企业级应用和科研研发场景。该模型尤其适用于生成合成数据,从而帮助改进较小的Llama模型,以及通过模型蒸馏技术将知识传递给更小的模型(训练自定义模型)。Llama 3.1 405B在通用知识、长篇文本生成、多语言翻译、机器翻译、编程、数学、工具使用、增强的上下文理解以及高级推理和决策能力方面表现十分出色。
  • Llama 3.1 70B

    70B非常适合内容创作、AI对话、语言理解、研发和开发者/企业应用场景。该模型在文本摘要、文本分类、情感分析和细微推理、语言建模、对话系统、代码生成和任务指令执行方面表现优异。
  • Llama 3.1 8B

    更适合计算资源有限的场景。该模型在低延迟推理要求下,擅长文本摘要、文本分类、情感分析和语言翻译等简单任务。

Meta还对 Llama 3.1在150多个热门基准数据集上进行了性能测评,涵盖了多种语言类别,并通过人力评估进行了二次验证。如以下图表所示,Llama 3.1在所有主要基准类别中都优于Llama 3。

如何保障Llama AI大模型使用中的安全性?

开发者在使用Llama大模型时可以结合Llama 3.1的负责任AI功能,以及Amazon Bedrock提供的数据治理和模型评估特性,放心地构建安全且可靠的生成式 AI 应用。

Amazon Bedrock的安全防护措施(Guardrails)

通过为不同的模型使用场景创建多个配置不同的Guardrails,开发者可以为用户与生成式AI应用之间的交互建立安全保障。具体如下:

  • 根据具体的用例和负责任的AI政策,实施自定义的保护措施。
  • 持续监控和分析用户输入和模型响应,发现可能违反自定义安全策略的情况。
  • 检测模型响应中的“幻觉”(即不基于自定义数据或与用户查询无关的回答)。
  • 对不同模型(包括自定义和第三方模型)进行评估。

Amazon Bedrock 上的模型评估

开发者仅需可几步就可以对Amazon Bedrock上的模型进行评估、比较并选择适合使用场景的最佳Llama模型。通过Amazon Bedrock上的模型评估,开发者可以选择:

  • 自动评估,评估预定义指标如准确性、鲁棒性和毒性。
  • 人工评估,评估自定义指标如相关性、风格和与品牌声音的对齐度等。
  • 提供内置的多个不同测试场景数据集,或者导入自定义数据集。

 

如何在亚马逊云科技上体验Llama3.1?

通过控制台界面使用Llama3.1

1. 进入亚马逊云科技控制台,点击Amazon Bedrock服务

2. 选择区域俄勒冈(Oregon),进入“Model Access”界面开启Llama 405B模型访问。 

 3. 再点击左侧菜单栏“Playgrounds”下的“Text”界面,选择模型“Llama 405B”。输入我们想问的问题,就可以得到最终的405B大模型回复了。

通过Shell命令行访问

同时我们可以用AWS CLI在shell命令行中调用Llama 3.1 405B大模型,我们运行以下命令。

aws bedrock-runtime invoke-model \
  --model-id meta.llama3-1-405b-instruct-v1:0 \
--body "{\"prompt\":\" [INST]You are a very intelligent bot with exceptional critical thinking[/INST] I went to the market and bought 10 apples. I gave 2 apples to your friend and 2 to the helper. I then went and bought 5 more apples and ate 1. How many apples did I remain with? Let's think step by step.\",\"max_gen_len\":512,\"temperature\":0.5,\"top_p\":0.9}" \
  --cli-binary-format raw-in-base64-out \
  --region us-west-2 \
  invoke-model-output.txt

参数解释:

1)aws bedrock-runtime invoke-model:调用模型推理的API方法

2) model-id meta.llama3-1-405b-instruct-v1:0:Llama 3.1 405B模型ID

3)body.prompt: 模型提示词

4)body.max_gen_len: 最大输出token

5)  body. temperature、Top P:模型随机性参数

6)--cli-binary-format raw-in-base64-out:输出编码格式

7)--region us-west-2:模型所在区域

通过Python代码调用Llama 405B API

我们可以使用亚马逊云科技提供的Python SDK Boto3来调用访问Amazon Bedrock上的Llama 3.1 405B大模型,示例代码如下:

import boto3
from botocore.exceptions import ClientError

# Create a Bedrock Runtime client in the AWS Region you want to use.
client = boto3.client("bedrock-runtime", region_name="us-west-2")

# Set the model ID, e.g., Llama 3 8b Instruct.
model_id = "meta.llama3-1-405b-instruct-v1:0"

# Start a conversation with the user message.
user_message = "Describe the purpose of a 'hello world' program in one line."
conversation = [
    {
        "role": "user",
        "content": [{"text": user_message}],
    }
]

try:
    # Send the message to the model, using a basic inference configuration.
    response = client.converse(
        modelId=model_id,
        messages=conversation,
        inferenceConfig={"maxTokens": 512, "temperature": 0.5, "topP": 0.9},
    )

    # Extract and print the response text.
    response_text = response["output"]["message"]["content"][0]["text"]
    print(response_text)

except (ClientError, Exception) as e:
    print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}")
    exit(1)

以上就是在亚马逊云科技上调用Meta最新的超级大语言模型Llama 3.1 405B的全部步骤。欢迎大家关注小李哥未来获取更多国际前沿的亚马逊云科技生成式AI云开发/云架构方案。 


http://www.kler.cn/a/307016.html

相关文章:

  • 基于BILSTM及其他RNN序列模型的人名分类器
  • leetcode206. Reverse Linked List
  • ELK-Logstash配置
  • SpringCloud框架学习(第二部分:Consul、LoadBalancer和openFeign)
  • .netCore WebAPI中字符串加密与解密
  • C# 操作Excel的多种方式
  • 【南方科技大学】CS315 Computer Security 【Lab2 Buffer Overflow】
  • JAVA基础面试题总结(十五)——设计模式
  • USB摄像头视频流转RTSP流
  • 算法题解:斐波那契数列(C语言)
  • OpenAI / GPT-4o:Python 返回结构化 / JSON 输出
  • PyTorch----模型运维与实战
  • C/C++内存管理——内存泄漏/内存碎片
  • Day20笔记-面向对象类和对象类中的属性和函数构造和析构函数
  • ASP.NET Core 入门教学二十五 集成vue3
  • 【PHP代码审计】 PHP环境搭建
  • 【Python机器学习】序列到序列建模——使用序列到序列网络构建一个聊天机器人
  • CSP-J 算法基础 图论
  • springboot3.X版本集成mybatis遇到的问题
  • Day16笔记-匿名函数应用闭包变量的作用域迭代器和生成器
  • VSCode中配置C/C++环境
  • python基础 --- 爬虫前篇
  • NumPy 线性代数
  • 【60天备战软考高级系统架构设计师——第二十天:运维与服务管理——服务管理与优化】
  • 用Python打造互动式中秋节庆祝小程序
  • Qt 基础按钮布局管理