当前位置:   article > 正文

史上最快的推理终端来啦!Groq API 新手入门指南

groq api

史上最快的推理终端来啦!Groq API 新手入门指南

简介

实时 AI 系统严重依赖于快速推理。来自 OpenAI、Google 和 Azure 等行业领导者的推理 API 可以实现快速决策。Groq 的语言处理单元(LPU)技术是一种杰出的解决方案,提高了 AI 处理效率。本文深入探讨了 Groq 的创新技术,以及它对 AI 推理速度的影响,以及如何使用 Groq API 进行利用。

学习目标
  • 了解 Groq 的语言处理单元(LPU)技术及其对 AI 推理速度的影响

  • 学习如何利用 Groq 的 API 终端进行实时、低延迟的 AI 处理任务

  • 探索 Groq 支持的模型(如 Mixtral-8x7b-Instruct-v0.1 和 Llama-70b)在自然语言理解和生成方面的能力

  • 对比 Groq 的 LPU 系统与其他推理 API,比较速度、效率和可扩展性等因素

目录

什么是 Groq?

成立于 2016 年的 Groq 是一家总部位于加利福尼亚山景城的 AI 解决方案初创公司。Groq 专注于超低延迟的 AI 推理,显著提高了 AI 计算性能。Groq 是 AI 技术领域的重要参与者,已将其名称注册为商标,并组建了一个致力于推广 AI 访问的全球团队。

语言处理单元

Groq 的语言处理单元(LPU)是一种创新技术,旨在提高 AI 计算性能,特别是对于大型语言模型(LLM)。Groq LPU 系统致力于提供具有卓越推理性能的实时、低延迟体验。Groq 在 Meta AI 的 Llama-2 70B 模型上实现了每秒每用户超过 300 个令牌的速度,创造了行业新纪录。

Groq LPU 系统具有对 AI 支持技术至关重要的超低延迟能力。它专为顺序和计算密集型的 GenAI 语言处理而设计,优于传统的 GPU 解决方案,确保了自然语言生成和理解等任务的高效处理。

Groq 的第一代 GroqChip 是 LPU 系统的一部分,采用了针对速度、效率、准确性和成本效益进行优化的张量流架构。该芯片超越了现有解决方案,在基于令牌每秒每用户的基础 LLM 速度方面创造了新纪录。Groq 计划在两年内部署 100 万个 AI 推理芯片,展示了其推进 AI 加速技术的承诺。

总之,Groq 的语言处理单元系统代表了 AI 计算技术的重大进步,为大型语言模型提供了出色的性能和效率,推动了 AI 的创新。

开始使用 Groq

目前,Groq 提供了免费使用的 API 终端,用于在 Groq LPU - 语言处理单元上运行大型语言模型。要开始使用,请访问此 页面 并点击登录。页面如下所示:

请添加图片描述

点击登录,选择适当的方法登录 Groq。然后,我们可以通过点击“创建 API 密钥”按钮来创建一个新的 API 密钥,如下所示:

请添加图片描述

接下来,为 API 密钥指定一个名称,然后点击“提交”以创建一个新的 API 密钥。现在,继续在任何代码编辑器/Colab 中安装所需的库以开始使用 Groq。

!pip install groq
  • 1

此命令安装了 Groq 库,使我们能够推理在 Groq LPUs 上运行的大型语言模型。

现在,让我们继续编写代码。

代码实现
# 导入必要的库
import os
from groq import Groq
# 实例化 Groq 客户端
client = Groq(
    api_key=os.environ.get("GROQ_API_KEY"),
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这段代码片段创建了一个 Groq 客户端对象,用于与 Groq API 进行交互。它首先从名为 GROQ_API_KEY 的环境变量中获取 API 密钥,并将其传递给 api_key 参数。随后,API 密钥初始化 Groq 客户端对象,使其能够调用 Groq 服务器中的大型语言模型的 API。

定义我们的 LLM
llm = client.chat.completions.create(
    messages=[
        {
            "role": "system",
            "content": "You are a helpful AI Assistant. You explain ever \
            topic the user asks as if you are explaining it to a 5 year old"
        },
        {
            "role": "user",
            "content": "What are Black Holes?",
        }
    ],
    model="mixtral-8x7b-32768",
)
print(llm.choices[0].message.content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 第一行代码初始化了一个llm对象,使其能够与大型语言模型进行交互,类似于OpenAI的Chat Completion API。
  • 接下来的代码构建了一个要发送给LLM的消息列表,存储在messages变量中。
  • 第一条消息将角色设定为“系统”,并定义了LLM以向5岁孩子解释话题的期望行为。
  • 第二条消息将角色设定为“用户”,并包含了关于黑洞的问题。
  • 下一行指定要用于生成回复的LLM,设置为“mixtral-8x7b-32768”,这是一个通过Groq API访问的32k上下文Mixtral-8x7b-Instruct-v0.1大型语言模型。
  • 这段代码的输出将是LLM对黑洞进行解释的回复,以适合5岁孩子的理解。
  • 访问输出的方法与使用OpenAI端点类似。
输出

下面是由Mixtral-8x7b-Instruct-v0.1大型语言模型生成的输出:
请添加图片描述

completions.create()对象甚至可以接受额外的参数,如temperaturetop_pmax_tokens

生成回复

让我们尝试使用这些参数生成回复:

llm = client.chat.completions.create(
    messages=[
        {
            "role": "system",
            "content": "You are a helpful AI Assistant. You explain every topic the user asks as if you are explaining it to a 5 year old"
        },
        {
            "role": "user",
            "content": "What is Global Warming?",
        }
    ],
    model="mixtral-8x7b-32768",
    temperature = 1,
    top_p = 1,
    max_tokens = 256,
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • temperature:控制回复的随机性。较低的温度会导致更可预测的输出,而较高的温度会导致更多样化和有时更有创造力的输出。
  • max_tokens:模型可以在单个回复中处理的最大标记数。这个限制确保了计算效率和资源管理。
  • top_p:一种文本生成方法,从最有可能的前p个标记的概率分布中选择下一个标记。这在生成过程中平衡了探索和开发的需求。
输出

请添加图片描述

甚至可以选择从Groq端点流式传输生成的回复。我们只需要在completions.create()对象中指定stream=True选项,模型就会开始流式传输回复。

Groq在Langchain中的应用

Groq甚至与LangChain兼容。要开始在LangChain中使用Groq,请下载库:

!pip install langchain-groq
  • 1

上述代码将安装LangChain兼容的Groq库。现在让我们在代码中试用一下:

# 导入必要的库。
from langchain_core.prompts import ChatPromptTemplate
from langchain_groq import ChatGroq

# 使用温度为0和“mixtral-8x7b-32768”模型初始化ChatGroq对象。
llm = ChatGroq(temperature=0, model_name="mixtral-8x7b-32768")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

上述代码的作用如下:

  • 创建一个名为llm的新ChatGroq对象。
  • temperature参数设置为0,表示回复应该更可预测。
  • model_name参数设置为“mixtral-8x7b-32768”,指定要使用的语言模型。
    # 定义介绍AI助手能力的系统消息。
# 定义介绍AI助手能力的系统消息。
system = "You are an expert Coding Assistant."

# 定义用户输入的占位符。
human = "{text}"

# 创建一个聊天提示,包含系统和用户消息。
prompt = ChatPromptTemplate.from_messages([("system", system), ("human", human)])

# 使用用户的输入调用聊天链。
chain = prompt | llm

response = chain.invoke({"text": "Write a simple code to generate Fibonacci numbers in Rust?"})

# 打印回复。
print(response.content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 该代码使用ChatPromptTemplate类生成了一个聊天提示。
  • 提示包括两条消息:一条来自“系统”(AI助手),一条来自“用户”(用户)。
  • 系统消息将AI助手描述为专业的编码助手。
  • 用户消息用作用户输入的占位符。
  • llm方法调用llm链,根据提供的提示和用户输入生成回复。
输出

以下是由Mixtral大型语言模型生成的输出:

请添加图片描述

Mixtral LLM始终生成相关的回复。在Rust Playground中测试代码的功能确认了其有效性。快速的响应归功于底层的语言处理单元(LPU)。

Groq与其他推理API的比较

Groq的语言处理单元(LPU)系统旨在为大型语言模型(LLM)提供闪电般快速的推理速度,超越了OpenAI和Azure等其他推理API。Groq的LPU系统针对LLM进行了优化,提供了关键的超低延迟能力,对于AI辅助技术至关重要。它解决了LLM的主要瓶颈,包括计算密度和内存带宽,实现了更快的文本序列生成。

与其他推理API相比,Groq的LPU系统更快,能够在Anyscale的LLMPerf排行榜上生成高达18倍的推理性能,超过其他顶级云提供商。Groq的LPU系统更高效,具有单核架构和大规模部署中的同步网络,实现了LLM的自动编译和即时内存访问。

请添加图片描述

上图显示了70B模型的基准测试结果。计算输出标记吞吐量涉及对每秒返回的输出标记数量进行平均。每个LLM推理提供商处理150个请求以收集结果,并使用这些请求计算平均输出标记吞吐量。Groq的输出标记每秒的吞吐量明显优于许多显示的云提供商。

结论

总之,Groq的语言处理单元(LPU)系统是AI计算领域的一项革命性技术,为处理大型语言模型(LLM)提供了前所未有的速度和效率,并推动了AI领域的创新。通过利用其超低延迟能力和优化的架构,Groq为推理速度设定了新的基准,超越了传统的GPU解决方案和其他领先的推理API。通过致力于普及AI的访问并专注于实时、低延迟的体验,Groq正在重塑AI加速

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/755998
推荐阅读
相关标签
  

闽ICP备14008679号