Subscribe to receive notifications of new posts:

Workers AI: inferencia en instancias de GPU sin servidor en la red global de Cloudflare

09/27/2023

11 min read

Si te relacionas o formas parte de una comunidad de desarrolladores, sabrás que es casi imposible evitar el impacto que los últimos avances de la IA han tenido en el ecosistema. Tanto si utilizas la IA en tu flujo de trabajo para mejorar la productividad, o creas funciones basadas en la IA para tus usuarios, la IA ya está en todas partes. El enfoque en las mejoras de la IA es extraordinario, y estamos muy entusiasmados con las oportunidades que se avecinan, pero no es suficiente.

Hasta hace poco, si querías aprovechar el poder de la IA, necesitabas conocer los entresijos del aprendizaje automático y ser capaz de gestionar la infraestructura para que funcionara.

Contamos con una plataforma para desarrolladores con más de un millón de usuarios activos, y creemos que aún queda mucho potencial por descubrir, por lo que estamos cambiando la forma en que se ofrece la IA a los desarrolladores. Muchas de las soluciones actuales, aunque eficaces, se basan en modelos cerrados y patentados, que no responden a las necesidades de privacidad que exigen los desarrolladores y los usuarios. Por otra parte, la demanda de servicios de código abierto está creciendo exponencialmente con modelos potentes, pero no son lo suficientemente accesibles para todos los desarrolladores. Imagina poder ejecutar un modelo, a partir de tu código, dondequiera que esté alojado, y no tener que buscar unidades de procesamiento de gráficos (GPU) ni ocuparte de configurar la infraestructura para que sea compatible.

Por eso nos complace anunciar Workers AI, una plataforma de inferencia de IA como servicio, que permite a los desarrolladores ejecutar modelos de IA con solo unas líneas de código, todo ello con la tecnología de nuestra red global de GPU. Es una plataforma abierta y accesible, sin servidor, prioriza la privacidad, se ejecuta cerca de tus usuarios, es de pago por uso, y se ha desarrollado desde cero para ofrecer la mejor experiencia a los desarrolladores.

Workers AI, una solución diseñada para que la inferencia funcione sin más

Llega Workers AI para poner la inferencia de IA al alcance de todos los desarrolladores y, para cumplir realmente ese objetivo, debe funcionar sin necesidad de configuración ¿Cómo lo conseguimos?

  • En esencia, se ejecuta en la infraestructura adecuada: nuestra red de GPU de primera clase.
  • Proporcionamos modelos listos para usar que se ejecutan sin problemas en nuestra infraestructura.
  • Por último, se lo entregamos al desarrollador final de una forma que le resulte satisfactoria. Un desarrollador debería ser capaz de crear su primera aplicación Workers AI en cuestión de minutos, y decir "¡Vaya, es magia!

¿Qué es exactamente Workers AI? Es otro bloque de creación que estamos añadiendo a nuestra plataforma para desarrolladores, uno que ayuda a los desarrolladores a ejecutar modelos de IA muy conocidos en GPU sin servidor, todo ello en la red global de confianza de Cloudflare. Workers AI, que es una de las últimas novedades de nuestra plataforma para desarrolladores, funciona a la perfección con Workers y Pages, pero para que sea realmente accesible, es independiente en cuanto a plataformas respecta, de modo que funciona en todas las demás, y está disponible a través de una REST API.

Modelos que conoces y te encantan

Este lanzamiento viene acompañado de un conjunto seleccionado de modelos de código abierto conocidos, que abarcan una amplia gama de tareas de inferencia:

  • Generación de texto (modelo de lenguaje de gran tamaño): meta/llama-2-7b-chat-int8
  • Reconocimiento automático de voz (ASR): openai/whisper
  • Traducción: meta/m2m100-1.2
  • Clasificación de textos: huggingface/distilbert-sst-2-int8
  • Clasificación de imágenes: microsoft/resnet-50
  • Incrustaciones: baai/bge-base-en-v1.5

Puedes examinar todos los modelos disponibles en tu panel de control de Cloudflare, y en breve podrás explorar los registros y análisis ¡por modelo!

Esto es solo el principio. Tenemos grandes planes. Tras el lanzamiento, seguiremos añadiendo funciones a partir de las opiniones de la comunidad. Y lo que es más emocionante, con el objeto de ampliar nuestro catálogo, anunciamos la asociación con Hugging Face, una comunidad y centro de investigación líder en IA. La asociación es multidimensional, pincha aquí para más información, pero pronto podrás explorar y ejecutar un subconjunto del catálogo de Hugging Face directamente en Workers AI.

Accesible para todos

Parte de la misión de nuestra plataforma para desarrolladores es proporcionar todos los bloques de creación que los desarrolladores necesitan para crear las aplicaciones de sus sueños. Tener acceso a los bloques adecuados es solo una parte. Como desarrollador, tu trabajo es agruparlos en una aplicación, y el nuestro, hacerlo lo más fácil posible.

Para asegurarnos de que pudieras utilizar Workers AI de manera sencilla, independientemente del punto de entrada, queríamos proporcionar acceso a través de Workers o Pages para facilitar su uso dentro del ecosistema de Cloudflare, y a través de REST API en el caso de que quieras utilizar Workers AI con tu pila actual.

A continuación, puedes ver un ejemplo rápido de CURL que traduce un texto del inglés al francés:

curl https://api.cloudflare.com/client/v4/accounts/{ACCOUNT_ID}/ai/run/@cf/meta/m2m100-1.2b \
-H "Authorization: Bearer {API_TOKEN}" \
	-d '{ "text": "I'll have an order of the moule frites", "target_lang": "french" }'

Este es el aspecto de la respuesta:

{
  "result": {
    "answer": "Je vais commander des moules frites"
  },
  "success": true,
  "errors":[],
  "messages":[]
}

Utilízalo con cualquier pila, en cualquier lugar: tu marco Jamstack favorito, Python + Django/Flask, Node.js, Ruby on Rails, las posibilidades son infinitas. ¡Implementa!

Una solución diseñada para desarrolladores

La experiencia de los desarrolladores es muy importante para nosotros. De hecho, la mayor parte de este artículo trata precisamente de eso, de asegurarnos de que funciona sin configuración, con modelos conocidos que funcionan sin más, y de que sea accesible para todos los desarrolladores, tanto si crean e implementan con Cloudflare como si lo hacen en otro lugar. Pero no solo eso. La experiencia no debe dar problemas, el paso a producción debe ser rápido y fácil.

Veamos otro ejemplo para demostrar lo fácil que es utilizarlo. Ejecutaremos Llama 2, un popular modelo de lenguaje de código abierto de Meta, en un worker.

Suponemos que ya has completado la información básica (cuenta de Cloudflare, Node, NPM, etc.), pero si no es así, esta guía te ayudará con la configuración.

1. Crea un proyecto Workers

Crea un nuevo proyecto llamado workers-ai ejecutando:

$ npm create cloudflare@latest

Cuando configures tu worker 'workers-ai', responde a las preguntas de configuración como se indica a continuación:

  • Escribe workers-ai como nombre de la aplicación
  • Elige el script 'Hello World' para el tipo de aplicación
  • Selecciona en "Usar TypeScript"
  • Selecciona en "Usar Git"
  • Selecciona no en "Implementar"

Por último, ve al directorio de tu nueva aplicación:

cd workers-ai

2. Conecta Workers AI a tu worker

Crea un enlace Workers AI, que permita a tu worker acceder al servicio Workers AI sin que tengas que gestionar una clave API.

Para enlazar Workers AI a tu worker, añade lo siguiente al final de tu archivo wrangler.toml:

[ai]
binding = "AI" #available in your worker via env.AI

También puedes enlazar Workers AI a una función de Pages. Para más información, consulta Functions Bindings.

3. Instala la biblioteca cliente Workers AI

npm install @cloudflare/ai

4. Ejecuta una tarea de inferencia en tu worker

Actualiza el archivo source/index.ts con el siguiente código:

import { Ai } from '@cloudflare/ai'
export default {
  async fetch(request, env) {
    const ai = new Ai(env.AI);
    const input = { prompt: "What's the origin of the phrase 'Hello, World'" };
    const output = await ai.run('@cf/meta/llama-2-7b-chat-int8', input );
    return new Response(JSON.stringify(output));
  },
};

5. Desarrolla localmente con Wrangler

En el directorio de tu proyecto, prueba localmente Workers AI ejecutando:

$ npx wrangler dev --remote

Nota: actualmente, estos modelos solo se ejecutan en la red de GPU de Cloudflare (y no localmente), por lo que es imprescindible configurar --remote arriba, y te solicitaremos que inicies sesión en este punto.

Wrangler te dará una URL (probablemente localhost:8787). Visita esa URL y se te mostrará una respuesta como esta:

{
  "response": "Hello, World is a common phrase used to test the output of a computer program, particularly in the early stages of programming. The phrase "Hello, World!" is often the first program that a beginner learns to write, and it is included in many programming language tutorials and textbooks as a way to introduce basic programming concepts. The origin of the phrase "Hello, World!" as a programming test is unclear, but it is believed to have originated in the 1970s. One of the earliest known references to the phrase is in a 1976 book called "The C Programming Language" by Brian Kernighan and Dennis Ritchie, which is considered one of the most influential books on the development of the C programming language.
}

6. Implementa tu worker

Por último, implementa tu worker para que tu proyecto sea accesible en Internet:

$ npx wrangler deploy
# Outputs: https://workers-ai.<YOUR_SUBDOMAIN>.workers.dev

Y esto es todo. Puedes implementar IA de la nada en cuestión de minutos. Obviamente, se trata de un ejemplo sencillo, pero muestra lo fácil que es ejecutar Workers AI desde cualquier proyecto.

Privacidad por defecto

Cuando se fundó Cloudflare, nuestra propuesta de valor tenía tres pilares: más seguridad, más fiabilidad y más rendimiento. Con el tiempo, nos hemos dado cuenta de que para mejorar Internet, necesitamos mejorar también la privacidad, y queremos contribuir a ello.

Por eso Workers AI es una plataforma privada por defecto. No entrenamos nuestros modelos, LLM o de otro tipo, con tus datos o conversaciones, y nuestros modelos no aprenden de tu uso. Puedes sentirte seguro cuando utilices Workers AI tanto en entornos personales como profesionales, sin tener que preocuparte por la filtración de tus datos. Otros proveedores solo ofrecen esta importante función en su versión para empresas. Cloudflare la pone a disposición de todos.

También nos entusiasma la idea de admitir la localización de datos en el futuro. Para ello, tenemos un ambicioso plan de implementación de GPU, que hoy ponemos en marcha en siete centros de datos, a finales de año, llegaremos a 100 centros de datos, y a finales de 2024 estarán prácticamente en todas partes. En última instancia, de esta forma, los desarrolladores podrán seguir ofreciendo a sus usuarios funciones de IA revolucionarias, sin dejar de cumplir la normativa en materia de localización de datos de sus usuarios finales.

La eficacia de la plataforma

Base de datos vectorial - Vectorize

Workers AI consiste en ejecutar inferencias, y en conseguir que sea realmente fácil hacerlo, pero a veces la inferencia es solo una parte de la ecuación. Los modelos de lenguaje de gran tamaño (LLM) se entrenan utilizando conjuntos de datos fijos, basados en una "instantánea" en un momento concreto del pasado, y no tienen contexto sobre tu negocio o caso de uso. Cuando envías una consulta (prompt), la información específica sobre ti puede aumentar la calidad de los resultados, haciéndolos más útiles y relevantes. Por eso también lanzamos Vectorize, nuestra base de datos vectorial que se integra perfectamente con Workers AI. A continuación, te ofrecemos un resumen rápido sobre cómo podrías utilizar Workers AI junto con Vectorize.

Ejemplo: Utiliza tus datos (base de conocimientos) para proporcionar contexto adicional a un LLM cuando un usuario esté chateando con él.

  1. Genera incrustaciones iniciales: ejecuta tus datos en Workers AI utilizando un modelo de incrustación. El resultado serán incrustaciones, que son representaciones numéricas de esas palabras.
  2. Inserta esas incrustaciones en Vectorize: de esta manera se rellena inicialmente la base de datos vectorial con tus datos, con el fin de que podamos utilizarla más tarde para recuperar incrustaciones que sean similares a las consultas de tus usuarios.
  3. Genera incrustaciones a partir de la pregunta del usuario: cuando un usuario envía una pregunta a tu aplicación de IA, primero, coge esa pregunta y ejecútala a través de Workers AI utilizando un modelo de incrustación.
  4. Obtén el contexto de Vectorize: utiliza esa incrustación para consultar a Vectorize. Esta práctica debería generar incrustaciones similares a la pregunta de tu usuario.
  5. Crea una consulta adaptada al contexto: ahora coge el texto original asociado a esas incrustaciones y crea un nuevo mensaje que combine el texto de la búsqueda vectorial con la pregunta original.
  6. Ejecuta la consulta: ejecuta esta consulta en Workers AI utilizando un modelo LLM para obtener el resultado final.

AI Gateway

Esta herramienta incluye un caso de uso más avanzado. Por otro lado, si estás ejecutando modelos en otro lugar, pero quieres sacar más partido a la experiencia, puedes ejecutar esas API en nuestra AI Gateway para beneficiarte de funciones como el almacenamiento en caché, la limitación de velocidad, el análisis y los registros. Estas funciones se pueden utilizar para proteger tu punto final, controlar y optimizar los costes, y también para ayudar en la prevención de la pérdida de datos. Más información sobre AI Gateway aquí.

Empieza a desarrollar hoy mismo

Pruébalo y dinos qué te parece. Hoy lanzamos Workers AI en versión beta abierta para todos los planes de Workers, gratuitos o de pago. Dicho esto, es muy pronto, así que...

Aviso: se trata de una primera versión beta

Actualmente no se recomienda su uso en aplicaciones en producción, y los límites y el acceso están sujetos a cambios.

Límites

Inicialmente vamos a lanzar límites por modelo

  • @cf/meta/llama-2-7b-chat-int8: 50 solicitudes por minuto a nivel global

Consulta nuestros documentos para conocer nuestros límites.

Precio

Lo que hemos publicado hoy es solo un pequeño avance para darte una idea de lo que te espera (simplemente no podíamos contenernos), pero estamos deseando que pruebes la versión completa de Workers AI.

Somos conscientes de que cuando estás a punto de crear algo, quieres saber: ¿cuánto me va a costar? Sobre todo teniendo en cuenta que los costes de la IA se nos van de las manos. Por eso, queríamos informarte de los próximos precios de Workers AI.

Aunque no facturaremos el primer día, queremos que sepas cómo esperamos que sean nuestros precios.

Los usuarios podrán elegir entre dos formas de ejecutar Workers AI:

  • Regular Twitch Neurons (RTN) - se ejecutan donde haya capacidad a 0,01 USD / 1000 neuronas
  • Fast Twitch Neurons (FTN) - se ejecutan en la ubicación del usuario más cercana a 0,125 USD / 1000 neuronas

Quizá te preguntes: ¿qué es una neurona?

Las neuronas son una forma de medir el rendimiento de la IA que siempre se reduce a cero (si no utilizas nada, se te cobrarán 0 neuronas). Para que te hagas una idea, con 1000 neuronas puedes: generar 130 respuestas LLM, 830 clasificaciones de imágenes o 1250 incrustaciones.

Nuestro objetivo es ayudar a nuestros clientes a pagar solo por lo que utilizan, y a elegir el precio que mejor se adapte a su caso de uso, ya sea el precio o la latencia lo más importante.

¿Cuál es el plan de desarrollo?

Workers AI no ha hecho más que empezar, y queremos que nos ayudes a que sea una herramienta de gran utilidad. Dicho esto, nuestra hoja de ruta incluye muchos elementos interesantes.

Más modelos, por favor

Este lanzamiento incluye un conjunto sólido de modelos que funcionan, pero seguiremos implementando nuevos modelos en función de tus comentarios. Si hay algún modelo en particular que te gustaría integrar en Workers AI, entra en Discord y cuéntanoslo.

Además, también hemos anunciado la asociación con Hugging Face, y pronto podrás acceder y ejecutar un subconjunto del catálogo de Hugging Face directamente desde Workers AI.

Análisis y observabilidad

Hasta ahora, nos hemos centrado mucho en facilitar a cualquier desarrollador la ejecución de modelos de IA con solo unas líneas de código. Pero eso no es todo. Próximamente, trabajaremos en algunas funciones de análisis y de observabilidad para ofrecerte información sobre tu uso, rendimiento, gasto por modelo, además de la posibilidad de acceder a tus registros si te interesa investigar.

En camino hacia una cobertura GPU completa

Nuestro objetivo es convertirnos en el mejor lugar para ejecutar inferencia en Region: planeta Tierra, así que estamos añadiendo las GPU a nuestros centros de datos lo más rápido posible.

Tenemos previsto implementar GPU en 100 centros de datos antes de finales de este año

Y llegaremos a todas partes a finales de 2024

Nos hace mucha ilusión ver tus desarrollos: consulta nuestros documentos para empezar.Si necesitas inspiración, quieres compartir el proyecto que estés desarrollando o tienes alguna duda entra en Discord.

We protect entire corporate networks, help customers build Internet-scale applications efficiently, accelerate any website or Internet application, ward off DDoS attacks, keep hackers at bay, and can help you on your journey to Zero Trust.

Visit 1.1.1.1 from any device to get started with our free app that makes your Internet faster and safer.

To learn more about our mission to help build a better Internet, start here. If you're looking for a new career direction, check out our open positions.
Birthday Week (ES)Cloudflare Workers (ES)Developer Platform (ES)Database (PT)Vectorize (ES)Español

Follow on X

Phil Wittig|@pdwittig
Rita Kozlov|@ritakozlov_
Rebecca Weekly|@rebeccalipon
Celso Martinho|@celso
Cloudflare|@cloudflare

Related posts

October 02, 2023 1:00 PM

Resumen de la Semana aniversario – consulta todos nuestros anuncios y descubre una oportunidad para empresas emergentes de IA

¿Necesitas un resumen o una actualización de todas las noticias importantes de la Semana aniversario de esta semana? Este resumen, es la solución...