Logotipo de Zephyrnet

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini – KDnuggets

Fecha:

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini
Imagen del autor 

Anthropic lanzó recientemente una nueva serie de modelos de IA que superaron a GPT-4 y Gemini en las pruebas comparativas. Con la industria de la IA creciendo y evolucionando rápidamente, los modelos Claude 3 están logrando avances significativos como la próxima gran novedad en modelos de lenguajes grandes (LLM).

En esta publicación de blog, exploraremos los puntos de referencia de rendimiento de los 3 modelos de Claude. También aprenderemos sobre la nueva API de Python que admite la generación de respuestas simples, asincrónicas y de flujo, junto con sus capacidades de visión mejoradas.

Claude 3 supone un importante avance en el campo de la tecnología de inteligencia artificial. Supera a los modelos de lenguaje de última generación en varios puntos de referencia de evaluación, incluidos MMLU, GPQA y GSM8K, lo que demuestra niveles casi humanos de comprensión y fluidez en tareas complejas.

Los modelos Claude 3 se presentan en tres variantes: Haiku, soneto y opus, cada uno con sus capacidades y fortalezas únicas.

  1. Haiku es el modelo más rápido y rentable, capaz de leer y procesar artículos de investigación con gran densidad de información en menos de tres segundos.
  2. Soneto es 2 veces más rápido que Claude 2 y 2.1, sobresaliendo en tareas que exigen respuestas rápidas, como la recuperación de conocimientos o la automatización de ventas.
  3. Opus Ofrece velocidades similares a las de Claude 2 y 2.1 pero con niveles de inteligencia mucho más altos.

Según la siguiente tabla, Claude 3 Opus superó a GPT-4 y Gemini Ultra en todos los puntos de referencia de LLM, lo que lo convierte en el nuevo líder en el mundo de la IA.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini
Tabla de claudio 3 

Una de las mejoras significativas de los modelos Claude 3 es su sólida capacidad de visión. Pueden procesar varios formatos visuales, incluidas fotografías, cuadros, gráficos y diagramas técnicos.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini
Tabla de claudio 3 

Puede comenzar a utilizar el último modelo yendo a https://www.anthropic.com/claude y crear una nueva cuenta. Es bastante simple en comparación con el campo de juego OpenAI.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

  1. Antes de instalar el paquete Python, debemos ir a https://console.anthropic.com/dashboard y obtenga la clave API. 
    Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 
  2. En lugar de proporcionar la clave API directamente para crear el objeto de cliente, puede configurar la variable de entorno `ANTHROPIC_API_KEY` y proporcionarla como clave.
  3. Instale el paquete Python `anthropic` usando PIP.
pip install anthropic
  1. Cree el objeto de cliente utilizando la clave API. Usaremos el cliente para la generación de texto, la capacidad de acceso a la visión y la transmisión.
import os
import anthropic
from IPython.display import Markdown, display

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

Probemos la antigua API de Python para comprobar si todavía funciona o no. Proporcionaremos la API de finalización con el nombre del modelo, la longitud máxima del token y el mensaje.

from anthropic import HUMAN_PROMPT, AI_PROMPT

completion = client.completions.create(
    model="claude-3-opus-20240229",
    max_tokens_to_sample=300,
    prompt=f"{HUMAN_PROMPT} How do I cook a original pasta?{AI_PROMPT}",
)
Markdown(completion.completion)

El error muestra que no podemos usar la API anterior para el modelo `claude-3-opus-20240229`. En su lugar, necesitamos utilizar la API de mensajes.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Usemos la API de mensajes para generar la respuesta. En lugar de solicitarlo, debemos proporcionar al argumento de los mensajes una lista de diccionarios que contengan la función y el contenido.

Prompt = "Write the Julia code for the simple data analysis."
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": Prompt}
    ]
)
Markdown(message.content[0].text)

El uso de IPython Markdown mostrará la respuesta en formato Markdown. Lo que significa que mostrará viñetas, bloques de código, encabezados y enlaces de forma limpia.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

También podemos proporcionar un mensaje del sistema para personalizar su respuesta. En nuestro caso le pedimos a Claude 3 Opus que responda en idioma urdu.

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)

Prompt = "Write a blog about neural networks."

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Respond only in Urdu.",
    messages=[
        {"role": "user", "content": Prompt}
    ]
)

Markdown(message.content[0].text)

El modelo Opus es bastante bueno. Quiero decir que puedo entenderlo con bastante claridad.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Las API síncronas ejecutan solicitudes de API de forma secuencial, bloqueándose hasta que se recibe una respuesta antes de invocar la siguiente llamada. Las API asincrónicas, por otro lado, permiten múltiples solicitudes simultáneas sin bloquearlas, lo que las hace más eficientes y escalables.

  1. Tenemos que crear un cliente Async Anthropic.
  2. Crea la función principal con async.
  3. Genere la respuesta utilizando la sintaxis de espera.
  4. Ejecute la función principal usando la sintaxis de espera.
import asyncio
from anthropic import AsyncAnthropic

client = AsyncAnthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)


async def main() -> None:

    Prompt = "What is LLMOps and how do I start learning it?"
       
    message = await client.messages.create(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    display(Markdown(message.content[0].text))


await main()

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Nota: Si está utilizando async en Jupyter Notebook, intente usar await main(), en lugar de asyncio.run(main())

La transmisión por secuencias es un enfoque que permite procesar la salida de un modelo de lenguaje tan pronto como esté disponible, sin esperar la respuesta completa. Este método minimiza la latencia percibida al devolver la salida token por token, en lugar de todos a la vez.

En lugar de `messages.create`, usaremos `messages.stream` para la transmisión de respuestas y usaremos un bucle para mostrar varias palabras de la respuesta tan pronto como estén disponibles.

from anthropic import Anthropic

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"],
)


Prompt = "Write a mermaid code for typical MLOps workflow."


completion = client.messages.stream(
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": Prompt,
        }
    ],
    model="claude-3-opus-20240229",
)

with completion as stream:
    for text in stream.text_stream:
            print(text, end="", flush=True)

Como podemos ver, estamos generando la respuesta bastante rápido.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

También podemos usar una función asíncrona con transmisión. Sólo necesitas ser creativo y combinarlos.

import asyncio
from anthropic import AsyncAnthropic

client = AsyncAnthropic()

async def main() -> None:
   
    completion = client.messages.stream(
        max_tokens=1024,
        messages=[
            {
                "role": "user",
                "content": Prompt,
            }
        ],
        model="claude-3-opus-20240229",
    )
    async with completion as stream:
        async for text in stream.text_stream:
            print(text, end="", flush=True)

await main()

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Claude 3 Vision ha mejorado con el tiempo y, para obtener la respuesta, solo tienes que proporcionar el tipo de imagen base64 a la API de mensajes.

En este ejemplo, usaremos tulipanes (Imagen 1) y Flamingos (Imagen 2) fotos de Pexel.com para generar la respuesta haciendo preguntas sobre la imagen.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Usaremos la biblioteca `httpx` para recuperar ambas imágenes de pexel.com y convertirlas a codificación base64.

import anthropic
import base64
import httpx

client = anthropic.Anthropic()

media_type = "image/jpeg"

img_url_1 = "https://images.pexels.com/photos/20230232/pexels-photo-20230232/free-photo-of-tulips-in-a-vase-against-a-green-background.jpeg"

image_data_1 = base64.b64encode(httpx.get(img_url_1).content).decode("utf-8")

img_url_2 = "https://images.pexels.com/photos/20255306/pexels-photo-20255306/free-photo-of-flamingos-in-the-water.jpeg"

image_data_2 = base64.b64encode(httpx.get(img_url_2).content).decode("utf-8")

Proporcionamos imágenes codificadas en base64 a la API de mensajes en bloques de contenido de imágenes. Siga el patrón de codificación que se muestra a continuación para generar correctamente la respuesta.

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Write a poem using this image."
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

Tenemos un hermoso poema sobre los tulipanes.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Intentemos cargar varias imágenes en la misma API de mensajes de Claude 3.

message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data_1,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data_2,
                    },
                },
                {
                    "type": "text",
                    "text": "Write a short story using these images."
                }
            ],
        }
    ],
)
Markdown(message.content[0].text)

Tenemos una historia corta sobre un Jardín de Tulipanes y Flamencos.

Comenzando con Claude 3 Opus que acaba de destruir GPT-4 y Gemini 

Si tiene problemas para ejecutar el código, aquí tiene una Espacio de trabajo de notas profundas donde puedes revisar y ejecutar el código tú mismo.

Creo que el Claude 3 Opus es un modelo prometedor, aunque puede que no sea tan rápido como GPT-4 y Gemini. Creo que los usuarios pagos pueden tener mejores velocidades.

En este tutorial, conocimos la nueva serie de modelos de Anthropic llamada Claude 3, revisamos sus puntos de referencia y probamos sus capacidades de visión. También aprendimos a generar respuestas simples, asíncronas y en flujo. Es demasiado pronto para decir si es el mejor LLM que existe, pero si miramos los puntos de referencia de las pruebas oficiales, tenemos un nuevo rey en el trono de la IA.

 
 

Abid Ali Awan (@ 1abidaliawan) es un profesional científico de datos certificado al que le encanta crear modelos de aprendizaje automático. Actualmente, se está enfocando en la creación de contenido y escribiendo blogs técnicos sobre aprendizaje automático y tecnologías de ciencia de datos. Abid tiene una Maestría en Gestión de Tecnología y una licenciatura en Ingeniería de Telecomunicaciones. Su visión es construir un producto de IA utilizando una red neuronal gráfica para estudiantes que luchan contra enfermedades mentales.

punto_img

Información más reciente

punto_img