Introducción
Los sistemas de IA en tiempo real dependen en gran medida de una inferencia rápida. Las API de inferencia de líderes de la industria como OpenAI, Google y Azure permiten una rápida toma de decisiones. La tecnología de la Unidad de procesamiento del lenguaje (LPU) de Groq es una solución destacada que mejora la eficiencia del procesamiento de la IA. Este artículo profundiza en la tecnología innovadora de Groq, su impacto en las velocidades de inferencia de la IA y cómo aprovecharla utilizando la API de Groq.
Objetivos de aprendizaje
- Comprender la tecnología de la Unidad de procesamiento del lenguaje (LPU) de Groq y su impacto en las velocidades de inferencia de la IA
- Aprenda cómo utilizar los puntos finales API de Groq para tareas de procesamiento de IA de baja latencia y en tiempo real
- Explore las capacidades de los modelos compatibles de Groq, como Mixtral-8x7b-Instruct-v0.1 y Llama-70b, para la comprensión y generación del lenguaje natural.
- Compare y contraste el sistema LPU de Groq con otras API de inferencia, examinando factores como la velocidad, la eficiencia y la escalabilidad.
Este artículo fue publicado como parte del Blogatón de ciencia de datos.
¿Qué es Groq?
Fundada en 2016, Groq es una startup de soluciones de inteligencia artificial con sede en California y su sede está ubicada en Mountain View. Groq, que se especializa en inferencia de IA de latencia ultrabaja, ha avanzado significativamente el rendimiento de la computación de IA. Groq es un participante destacado en el espacio de la tecnología de IA, ya que registró su nombre como marca comercial y formó un equipo global comprometido con democratizar el acceso a la IA.
Unidades de procesamiento del lenguaje
La Unidad de procesamiento del lenguaje (LPU) de Groq, una tecnología innovadora, tiene como objetivo mejorar el rendimiento informático de la IA, particularmente para los modelos de lenguaje grandes (LLM). El sistema Groq LPU se esfuerza por ofrecer experiencias de baja latencia en tiempo real con un rendimiento de inferencia excepcional. Groq logró más de 300 tokens por segundo por usuario en el modelo Llama-2 70B de Meta ai, estableciendo un nuevo punto de referencia en la industria.
El sistema Groq LPU cuenta con capacidades de latencia ultrabaja cruciales para las tecnologías de soporte de IA. Diseñado específicamente para el procesamiento de lenguaje GenAI secuencial y con uso intensivo de cómputo, supera a las soluciones de GPU convencionales, lo que garantiza un procesamiento eficiente para tareas como la creación y comprensión del lenguaje natural.
El GroqChip de primera generación de Groq, parte del sistema LPU, presenta una arquitectura de transmisión tensorial optimizada para brindar velocidad, eficiencia, precisión y rentabilidad. Este chip supera a las soluciones existentes y establece nuevos récords en velocidad LLM fundamental medida en tokens por segundo por usuario. Con planes de implementar 1 millón de chips de inferencia de IA en dos años, Groq demuestra su compromiso con el avance de las tecnologías de aceleración de IA.
En resumen, el sistema de Unidad de procesamiento de lenguaje de Groq representa un avance significativo en la tecnología informática de IA, ya que ofrece un rendimiento y una eficiencia excepcionales para modelos de lenguaje grandes al mismo tiempo que impulsa la innovación en IA.
Lea también: Creación de un modelo de aprendizaje automático en AWS SageMaker
Primeros pasos con Groq
En este momento, Groq proporciona puntos finales API de uso gratuito para los modelos de lenguajes grandes que se ejecutan en Groq LPU (Unidad de procesamiento de lenguaje). Para comenzar, visite esto página y haga clic en iniciar sesión. La página se parece a la siguiente:
Haga clic en Iniciar sesión y elija uno de los métodos adecuados para iniciar sesión en Groq. Luego podemos crear una nueva API como la siguiente haciendo clic en el botón Crear clave API.
A continuación, asigne un nombre a la clave API y haga clic en “enviar” para crear una nueva clave API. Ahora, vaya a cualquier editor de código/Colab e instale las bibliotecas necesarias para comenzar a usar Groq.
!pip install groq
Este comando instala la biblioteca Groq, lo que nos permite inferir los modelos de lenguajes grandes que se ejecutan en las LPU de Groq.
Ahora, procedamos con el código.
Implementación de código
# Importing Necessary Libraries
import os
from groq import Groq
# Instantiation of Groq Client
client = Groq(
api_key=os.environ.get("GROQ_API_KEY"),
)
Este fragmento de código establece un objeto de cliente Groq para interactuar con la API de Groq. Comienza recuperando la clave API de una variable de entorno denominada GROQ_API_KEY y la pasa al argumento api_key. Posteriormente, la clave API inicializa el objeto del cliente Groq, lo que permite llamadas API a los modelos de lenguaje grandes dentro de los servidores Groq.
Definiendo nuestro 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)
- La primera línea inicializa un objeto llm, lo que permite la interacción con el modelo de lenguaje grande, similar a la API OpenAI Chat Completion.
- El código siguiente construye una lista de mensajes que se enviarán al LLM, almacenados en la variable de mensajes.
- El primer mensaje asigna el rol de “sistema” y define el comportamiento deseado del LLM para explicar temas como lo haría con un niño de 5 años.
- El segundo mensaje asigna el rol de “usuario” e incluye la pregunta sobre los agujeros negros.
- La siguiente línea especifica el LLM que se utilizará para generar la respuesta, configurado en “mixtral-8x7b-32768”, un modelo de lenguaje grande Mixtral-8x7b-Instruct-v0.1 de contexto de 32k accesible a través de la API de Groq.
- El resultado de este código será una respuesta del LLM que explicará los agujeros negros de una manera adecuada para la comprensión de un niño de 5 años.
- El acceso al resultado sigue un enfoque similar al trabajo con el punto final OpenAI.
Producción
A continuación se muestra el resultado generado por el modelo de lenguaje grande Mixtral-8x7b-Instruct-v0.1:
El finalizaciones.create() El objeto puede incluso tomar parámetros adicionales como temperatura, arriba_py tokens_max.
Generando una respuesta
Intentemos generar una respuesta con estos parámetros:
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 is Global Warming?",
}
),
model="mixtral-8x7b-32768",
temperature = 1,
top_p = 1,
max_tokens = 256,
)
- temperatura: Controla la aleatoriedad de las respuestas. Una temperatura más baja produce resultados más predecibles, mientras que una temperatura más alta produce resultados más variados y, a veces, más creativos.
- tokens_max: la cantidad máxima de tokens que el modelo puede procesar en una sola respuesta. Este límite garantiza la eficiencia computacional y la gestión de recursos.
- arriba_p: Un método de generación de texto que selecciona el siguiente token de la distribución de probabilidad de los p tokens más probables. Esto equilibra la exploración y la explotación durante la generación.
Producción
Incluso hay una opción para transmitir las respuestas generadas desde Groq Endpoint. Sólo necesitamos especificar el flujo = Verdadero opción en el finalizaciones.create() objeto para que el modelo comience a transmitir las respuestas.
Groq en Langchain
Groq es incluso compatible con LangChain. Para comenzar a usar Groq en LangChain, descargue la biblioteca:
!pip install langchain-groq
Lo anterior instalará la biblioteca Groq para compatibilidad con LangChain. Ahora probémoslo en código:
# Import the necessary libraries.
from langchain_core.prompts import ChatPromptTemplate
from langchain_groq import ChatGroq
# Initialize a ChatGroq object with a temperature of 0 and the "mixtral-8x7b-32768" model.
llm = ChatGroq(temperature=0, model_name="mixtral-8x7b-32768")
El código anterior hace lo siguiente:
- Crea un nuevo objeto ChatGroq llamado llm
- Establece el temperatura parámetro a 0, lo que indica que las respuestas deberían ser más predecibles
- Establece el nombre del modelo parámetro a “mixtral-8x7b-32768“, especificando el modelo de lenguaje a utilizar
# Defina el mensaje del sistema que presenta las capacidades del asistente de IA.
# Define the system message introducing the ai assistant's capabilities.
system = "You are an expert Coding Assistant."
# Define a placeholder for the user's input.
human = "{text}"
# Create a chat prompt consisting of the system and human messages.
prompt = ChatPromptTemplate.from_messages((("system", system), ("human", human)))
# Invoke the chat chain with the user's input.
chain = prompt | llm
response = chain.invoke({"text": "Write a simple code to generate Fibonacci numbers in Rust?"})
# Print the Response.
print(response.content)
- El código genera un mensaje de chat utilizando la clase ChatPromptTemplate.
- El mensaje consta de dos mensajes: uno del “sistema” (el asistente de IA) y otro del “humano” (el usuario).
- El mensaje del sistema presenta al asistente de IA como un asistente de codificación experto.
- El mensaje humano sirve como marcador de posición para la entrada del usuario.
- El método llm invoca la cadena llm para producir una respuesta basada en el mensaje proporcionado y la entrada del usuario.
Producción
Aquí está el resultado generado por el modelo de lenguaje grande Mixtral:
El Mixtral LLM genera constantemente respuestas relevantes. Probar el código en Rust Playground confirma su funcionalidad. La rápida respuesta se atribuye a la Unidad de Procesamiento del Lenguaje (LPU) subyacente.
Groq frente a otras API de inferencia
El sistema de Unidad de procesamiento de lenguaje (LPU) de Groq tiene como objetivo ofrecer velocidades de inferencia ultrarrápidas para modelos de lenguaje grandes (LLM), superando otras API de inferencia como las proporcionadas por OpenAI y Azure. Optimizado para LLM, el sistema LPU de Groq proporciona capacidades de latencia ultrabaja cruciales para las tecnologías de asistencia de IA. Aborda los principales cuellos de botella de los LLM, incluida la densidad informática y el ancho de banda de la memoria, lo que permite una generación más rápida de secuencias de texto.
En comparación con otras API de inferencia, el sistema LPU de Groq es más rápido y tiene la capacidad de generar un rendimiento de inferencia hasta 18 veces más rápido en la tabla de clasificación LLMPerf de Anyscale en comparación con otros proveedores importantes basados en la nube. El sistema LPU de Groq también es más eficiente, con una arquitectura de un solo núcleo y redes síncronas mantenidas en implementaciones a gran escala, lo que permite la compilación automática de LLM y el acceso instantáneo a la memoria.
La imagen de arriba muestra puntos de referencia para los modelos 70B. Calcular el rendimiento de los tokens de salida implica promediar el número de tokens de salida devueltos por segundo. Cada proveedor de inferencia LLM procesa 150 solicitudes para recopilar resultados y el rendimiento medio de los tokens de salida se calcula utilizando estas solicitudes. El rendimiento mejorado del proveedor de inferencia LLM se indica mediante un mayor rendimiento de los tokens de salida. Está claro que los tokens de salida por segundo de Groq superan a muchos de los proveedores de nube mostrados.
Conclusión
En conclusión, el sistema de Unidad de Procesamiento del Lenguaje (LPU) de Groq se destaca como una tecnología revolucionaria en el ámbito de la computación con IA, ya que ofrece una velocidad y eficiencia sin precedentes para manejar modelos de lenguaje grandes (LLM) e impulsa la innovación en el campo de la IA. Al aprovechar sus capacidades de latencia ultrabaja y su arquitectura optimizada, Groq está estableciendo nuevos puntos de referencia para velocidades de inferencia, superando las soluciones de GPU convencionales y otras API de inferencia líderes en la industria. Con su compromiso de democratizar el acceso a la IA y su enfoque en experiencias de baja latencia en tiempo real, Groq está preparado para remodelar el panorama de las tecnologías de aceleración de la IA.
Conclusiones clave
- El sistema de Unidad de procesamiento de lenguaje (LPU) de Groq ofrece velocidad y eficiencia incomparables para la inferencia de IA, particularmente para modelos de lenguaje grandes (LLM), lo que permite experiencias en tiempo real y de baja latencia.
- El sistema LPU de Groq, que incluye GroqChip, cuenta con capacidades de latencia ultrabaja esenciales para las tecnologías de soporte de IA, superando a las soluciones de GPU convencionales.
- Con planes de implementar 1 millón de chips de inferencia de IA en dos años, Groq demuestra su dedicación a promover las tecnologías de aceleración de IA y democratizar el acceso a la IA.
- Groq proporciona puntos finales API de uso gratuito para modelos de lenguajes grandes que se ejecutan en Groq LPU, lo que hace que los desarrolladores puedan acceder a ellos para integrarlos en sus proyectos.
- La compatibilidad de Groq con LangChain y LlamaIndex amplía aún más su usabilidad, ofreciendo una integración perfecta para los desarrolladores que buscan aprovechar la tecnología de Groq en sus tareas de procesamiento de lenguaje.
Preguntas frecuentes
A. Groq se especializa en inferencia de IA de latencia ultrabaja, particularmente para modelos de lenguajes grandes (LLM), con el objetivo de revolucionar el rendimiento informático de la IA.
R. El sistema LPU de Groq, que incluye GroqChip, está diseñado específicamente para la naturaleza informática intensiva del procesamiento del lenguaje GenAI, y ofrece velocidad, eficiencia y precisión superiores en comparación con las soluciones de GPU tradicionales.
R. Groq admite una variedad de modelos para la inferencia de IA, incluidos Mixtral-8x7b-Instruct-v0.1 y Llama-70b.
R. Sí, Groq es compatible con LangChain y LlamaIndex, lo que amplía su usabilidad y ofrece una integración perfecta para los desarrolladores que buscan aprovechar la tecnología de Groq en sus tareas de procesamiento de lenguaje.
R. El sistema LPU de Groq supera a otras API de inferencia en términos de velocidad y eficiencia, ofreciendo velocidades de inferencia hasta 18 veces más rápidas y un rendimiento superior, como lo demuestran los puntos de referencia en la tabla de clasificación LLMPerf de Anyscale.
Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.