El modelo base Falcon 180B de TII ahora está disponible a través de Amazon SageMaker JumpStart
El modelo Falcon 180B de TII está en Amazon SageMaker JumpStart.
Hoy, nos complace anunciar que el modelo base Falcon 180B desarrollado por Technology Innovation Institute (TII) está disponible para los clientes a través de Amazon SageMaker JumpStart para implementar con un solo clic y ejecutar inferencias. Con un tamaño de 180 mil millones de parámetros y entrenado en un enorme conjunto de datos de 3.5 billones de tokens, Falcon 180B es uno de los modelos más grandes y con mejor rendimiento que tiene pesos accesibles de forma abierta. Puedes probar este modelo con SageMaker JumpStart, un centro de aprendizaje automático (ML) que proporciona acceso a algoritmos, modelos y soluciones de ML para que puedas comenzar rápidamente con ML. En esta publicación, explicaremos cómo descubrir e implementar el modelo Falcon 180B a través de SageMaker JumpStart.
¿Qué es Falcon 180B?
Falcon 180B es un modelo lanzado por TII que sigue a lanzamientos anteriores en la familia Falcon. Es una versión ampliada de Falcon 40B y utiliza atención multi-query para una mejor escalabilidad. Es un modelo de lenguaje auto-regresivo que utiliza una arquitectura de transformador optimizada. Fue entrenado en 3.5 billones de tokens de datos, principalmente datos web de RefinedWeb (aproximadamente 85%). El modelo tiene dos versiones: 180B y 180B-Chat. 180B es un modelo pre-entrenado en bruto, que se debe ajustar aún más para la mayoría de los casos de uso. 180B-Chat es más adecuado para seguir instrucciones genéricas. El modelo de Chat ha sido ajustado aún más con conjuntos de datos de chat e instrucciones junto con varios conjuntos de datos conversacionales a gran escala.
El modelo está disponible bajo la Licencia de Falcon-180B TII y la Política de Uso Aceptable.
Falcon 180B fue entrenado por TII en Amazon SageMaker, en un clúster de aproximadamente 4K A100 GPUs. Se utilizó una base de código de entrenamiento distribuido personalizada llamada Gigatron, que utiliza paralelismo 3D con ZeRO, y núcleos de Triton personalizados de alto rendimiento. La arquitectura de entrenamiento distribuido utilizó Amazon Simple Storage Service (Amazon S3) como el único servicio unificado para la carga y escritura y lectura de puntos de control de datos, lo que contribuyó especialmente a la confiabilidad de la carga de trabajo y a la simplicidad operativa.
¿Qué es SageMaker JumpStart?
Con SageMaker JumpStart, los practicantes de ML pueden elegir entre una lista creciente de modelos base de mejor rendimiento. Los practicantes de ML pueden implementar modelos base en instancias dedicadas de SageMaker dentro de un entorno aislado de red y personalizar modelos utilizando Amazon SageMaker para entrenamiento e implementación de modelos.
- El superchip NVIDIA Grace Hopper arrasa en las pruebas de inferenci...
- Fallo encontrado en dispositivos de Apple provocó infección de spyw...
- Creando personajes creíbles en la literatura con fotos generadas po...
Ahora puedes descubrir e implementar Falcon 180B con unos pocos clics en Amazon SageMaker Studio o programáticamente a través del SDK de Python de SageMaker, lo que te permite obtener el rendimiento del modelo y los controles de MLOps con las características de SageMaker como Amazon SageMaker Pipelines, Amazon SageMaker Debugger o registros de contenedores. El modelo se implementa en un entorno seguro de AWS y bajo tus controles de VPC, lo que ayuda a garantizar la seguridad de los datos. Falcon 180B es descubrible y se puede implementar en regiones donde las instancias necesarias están disponibles. Actualmente, las instancias ml.p4de están disponibles en US East (N. Virginia) y US West (Oregon).
Descubrir modelos
Puedes acceder a los modelos base a través de SageMaker JumpStart en la interfaz de usuario de SageMaker Studio y el SDK de Python de SageMaker. En esta sección, explicaremos cómo descubrir los modelos en SageMaker Studio.
SageMaker Studio es un entorno de desarrollo integrado (IDE) que proporciona una única interfaz visual basada en web donde puedes acceder a herramientas específicas para realizar todos los pasos del desarrollo de ML, desde preparar los datos hasta construir, entrenar e implementar tus modelos de ML. Para obtener más detalles sobre cómo comenzar y configurar SageMaker Studio, consulta Amazon SageMaker Studio.
En SageMaker Studio, puedes acceder a SageMaker JumpStart, que contiene modelos pre-entrenados, notebooks y soluciones preconstruidas, en Soluciones preconstruidas y automatizadas.
Desde la página de inicio de SageMaker JumpStart, puedes buscar soluciones, modelos, notebooks y otros recursos. Puedes encontrar Falcon 180B en el carrusel Modelos base: Generación de texto.
También puedes encontrar otras variantes del modelo seleccionando Explorar todos los modelos de generación de texto o buscando Falcon
.
Puedes elegir la tarjeta del modelo para ver detalles sobre el modelo, como la licencia, los datos utilizados para entrenar y cómo utilizarlo. También encontrarás dos botones, Implementar y Abrir cuaderno, que te ayudarán a utilizar el modelo (la siguiente captura de pantalla muestra la opción Implementar).
Implementar modelos
Cuando elijas Implementar, se iniciará la implementación del modelo. Alternativamente, puedes implementarlo a través del cuaderno de ejemplo que aparece al elegir Abrir cuaderno. El cuaderno de ejemplo proporciona orientación de principio a fin sobre cómo implementar el modelo para inferencia y cómo limpiar los recursos.
Para implementar utilizando un cuaderno, comenzamos seleccionando un modelo apropiado, especificado por el model_id
. Puedes implementar cualquiera de los modelos seleccionados en SageMaker con el siguiente código:
from sagemaker.jumpstart.model import JumpStartModel
my_model = JumpStartModel(model_id="huggingface-llm-falcon-180b-chat-bf16") predictor = my_model.deploy()
Esto implementa el modelo en SageMaker con configuraciones predeterminadas, incluyendo el tipo de instancia predeterminado y las configuraciones de VPC predeterminadas. Puedes cambiar estas configuraciones especificando valores no predeterminados en JumpStartModel
. Para obtener más información, consulta la documentación de la API. Después de implementarlo, puedes ejecutar inferencia en el endpoint implementado a través de un predictor de SageMaker. Mira el siguiente código:
payload = {
"inputs": "Usuario: ¡Hola!\nFalcon: ",
"parameters": {"max_new_tokens": 256, "top_p": 0.9, "temperature": 0.6}
}
response = predictor.predict(payload)
Los parámetros de inferencia controlan el proceso de generación de texto en el endpoint. El control de max new tokens se refiere al tamaño de la salida generada por el modelo. Ten en cuenta que esto no es lo mismo que el número de palabras, ya que el vocabulario del modelo no es el mismo que el vocabulario del idioma inglés y cada token puede no ser una palabra del idioma inglés. La temperatura controla la aleatoriedad en la salida. Una temperatura más alta produce salidas más creativas y alucinantes. Todos los parámetros de inferencia son opcionales.
Este modelo de parámetros 180B tiene un tamaño de 335 GB y requiere aún más memoria GPU para realizar inferencias de manera suficiente en precisión de 16 bits. Actualmente, JumpStart solo admite este modelo en instancias ml.p4de.24xlarge. Es posible implementar un modelo cuantizado de 8 bits en una instancia ml.p4d.24xlarge proporcionando el argumento de palabra clave env={"HF_MODEL_QUANTIZE": "bitsandbytes"}
al constructor de JumpStartModel
y especificando instance_type="ml.p4d.24xlarge"
en el método de implementación. Sin embargo, ten en cuenta que la latencia por token es aproximadamente 5 veces más lenta para esta configuración cuantizada.
La siguiente tabla enumera todos los modelos Falcon disponibles en SageMaker JumpStart junto con los ID de modelo, los tipos de instancia predeterminados, el número máximo de tokens totales (suma del número de tokens de entrada y el número de tokens generados) admitidos y la latencia de respuesta típica por token para cada uno de estos modelos.
Nombre del modelo | ID del modelo | Tipo de instancia predeterminado | Máximo de tokens totales | Latencia por token* |
Falcon 7B | huggingface-llm-``falcon-7b-bf16 |
ml.g5.2xlarge | 2048 | 34 ms |
Falcon 7B Instruct | huggingface-llm-``falcon-7b-instruct-bf16 |
ml.g5.2xlarge | 2048 | 34 ms |
Falcon 40B | huggingface-llm-``falcon-40b-bf16 |
ml.g5.12xlarge | 2048 | 57 ms |
Falcon 40B Instruct | huggingface-llm-``falcon-40b-instruct-bf16 |
ml.g5.12xlarge | 2048 | 57 ms |
Falcon 180B | huggingface-llm-``falcon-180b-bf16 |
ml.p4de.24xlarge | 2048 | 45 ms |
Falcon 180B Chat | huggingface-llm-``falcon-180b-chat-bf16 |
ml.p4de.24xlarge | 2048 | 45 ms |
*La latencia por token se proporciona para el tiempo de respuesta mediano de los ejemplos de inicio proporcionados en este blog; este valor variará en función de la longitud de las secuencias de entrada y salida.
Inferencia y ejemplos de inicio para Falcon 180B
Los modelos Falcon se pueden usar para completar texto para cualquier texto. A través de la generación de texto, puedes realizar una variedad de tareas, como responder preguntas, traducción de idiomas, análisis de sentimientos y muchas más. El punto final acepta el siguiente esquema de carga útil de entrada:
carga_útil = {
"inputs": str,
(opcional)"parámetros": {
"do_sample": bool,
"max_new_tokens": int,
"repetition_penalty": float,
"return_full_text": bool,
"stop": List[str],
"seed": int,
"temperature": float,
"top_k": int,
"top_p": float,
"truncate": int,
"typical_p": float,
"best_of": int,
"watermark": bool,
"details": bool,
"decoder_input_details": bool,
}
}
Puedes explorar la definición de estos parámetros del cliente y sus valores predeterminados dentro del repositorio de inferencia de generación de texto.
Los siguientes son algunos ejemplos de inicio de muestra y el texto generado por el modelo. Todos los resultados aquí se generan con los parámetros de inferencia {"max_new_tokens": 768, "stop": ["<|endoftext|>", "###"]}
.
Construir un sitio web se puede hacer en 10 simples pasos:
Entrada Construir un sitio web se puede hacer en 10 simples pasos:
Salida
- Elije un nombre de dominio
- Registra tu nombre de dominio
- Elige un proveedor de alojamiento web
- Elige un constructor de sitios web
- Crea tu sitio web
- Agrega contenido a tu sitio web
- Agrega páginas a tu sitio web
- Agrega imágenes a tu sitio web
- Agrega videos a tu sitio web
- Agrega redes sociales a tu sitio web
1. Elije un nombre de dominio
Un nombre de dominio es la dirección de tu sitio web. Es lo que las personas escribirán en su navegador para encontrar tu sitio web. Por ejemplo, el nombre de dominio de este sitio web es.
Al elegir un nombre de dominio, debes elegir algo que sea fácil de recordar y que represente tu negocio o sitio web. También debes asegurarte de que el nombre de dominio esté disponible. Puedes verificar si un nombre de dominio está disponible utilizando una herramienta de búsqueda de nombres de dominio.
2. Registra tu nombre de dominio
Una vez que hayas elegido un nombre de dominio, debes registrarlo. Esto se puede hacer a través de un registrador de nombres de dominio. Un registrador de nombres de dominio es una empresa que gestiona el registro de nombres de dominio.
Al registrar tu nombre de dominio, deberás proporcionar tu información de contacto y elegir un método de pago. También deberás elegir una extensión de nombre de dominio. Las extensiones de nombre de dominio más comunes son .com, .net y .org.
3. Elige un proveedor de alojamiento web
Un proveedor de alojamiento web es una empresa que proporciona espacio en un servidor para tu sitio web. Al elegir un proveedor de alojamiento web, debes elegir uno confiable y que ofrezca un buen soporte al cliente. También debes asegurarte de que el proveedor de alojamiento web ofrezca las características que necesitas para tu sitio web.
4. Elige un constructor de sitios web
Un constructor de sitios web es una herramienta que te permite crear un sitio web sin tener que aprender a programar. Hay muchos constructores de sitios web diferentes disponibles, así que debes elegir uno que sea fácil de usar y que ofrezca las características que necesitas.
5. Crea tu sitio web
Una vez que hayas elegido un constructor de sitios web, puedes comenzar a crear tu sitio web. Deberás elegir una plantilla para tu sitio web y luego agregar contenido a tu sitio web.
6. Agrega contenido a tu sitio web
El contenido de tu sitio web es lo que lo hará único. Debes agregar contenido relevante para tu negocio o sitio web. Puedes agregar texto, imágenes, videos y otros tipos de contenido a tu sitio web.
7. Agrega páginas a tu sitio web
Un sitio web está compuesto por páginas. Puedes agregar tantas páginas como desees a tu sitio web. Cada página debe tener un propósito diferente. Por ejemplo, puedes tener una página para tu página de inicio, una página para tu página acerca de y una página para tu página de contacto.
8. Agrega imágenes a tu sitio web
Las imágenes pueden hacer que tu sitio web sea más atractivo visualmente. Puedes agregar imágenes a tu sitio web subiéndolas a tu sitio web o utilizando un servicio de alojamiento de imágenes.
9. Agrega videos a tu sitio web
Los videos también pueden hacer que tu sitio web sea más atractivo visualmente. Puedes agregar videos a tu sitio web subiéndolos a tu sitio web o utilizando un servicio de alojamiento de videos.
10. Agrega redes sociales a tu sitio web
Las redes sociales pueden ayudarte a promocionar tu sitio web. Puedes agregar botones de redes sociales a tu sitio web para que las personas puedan compartir tu sitio web en las redes sociales. También puedes agregar feeds de redes sociales a tu sitio web para que las personas puedan ver tus últimas publicaciones en las redes sociales.
Puede notar que este modelo preentrenado genera secuencias de texto largas que no son necesariamente ideales para casos de uso de diálogo. Antes de mostrar cómo se desempeña el modelo de chat ajustado para un conjunto más grande de indicaciones basadas en diálogos, los dos siguientes ejemplos ilustran cómo usar los modelos Falcon con aprendizaje contextual de pocos ejemplos, donde proporcionamos ejemplos de entrenamiento disponibles para el modelo. Tenga en cuenta que “aprendizaje de pocos ejemplos” no ajusta los pesos del modelo, solo realizamos inferencia en el modelo implementado durante este proceso mientras proporcionamos algunos ejemplos dentro del contexto de entrada para ayudar a guiar la salida del modelo.
Entrada
Tweet: "Odio cuando se me acaba la batería del teléfono."
Sentimiento: Negativo
###
Tweet: "Mi día ha sido :+1:"
Sentimiento: Positivo
###
Tweet: "Este es el enlace al artículo."
Sentimiento: Neutral
###
Tweet: "Este nuevo video musical fue increíble"
Sentimiento:
Salida
Positivo
###
Entrada
Traducir inglés a francés:
sea otter => loutre de mer
###
peppermint => menthe poivrée
###
plush girafe => girafe peluche
###
cheese =>
Salida
fromage
###
Inferencia y ejemplos de indicaciones para Falcon 180B-Chat
Con los modelos Falcon 180B-Chat, optimizados para casos de uso de diálogo, la entrada a los puntos finales del modelo de chat puede contener el historial anterior entre el asistente de chat y el usuario. Puede hacer preguntas contextualmente a la conversación que ha ocurrido hasta ahora. También puede proporcionar la configuración del sistema, como las personalidades, que definen el comportamiento del asistente de chat. La carga útil de entrada para el punto final es la misma que la del modelo Falcon 180B, excepto que el valor de cadena inputs
debe usar el siguiente formato:
Sistema: <Una indicación opcional del sistema>
Usuario: <Historial opcional de mensajes del usuario>
Falcon: <Historial de chat opcional de respuesta de Falcon>
Usuario: <Mensaje actual del usuario>
Falcon:
Los siguientes son algunos ejemplos de indicaciones y el texto generado por el modelo. Todas las salidas se generan con los parámetros de inferencia {"max_new_tokens":256, "stop": ["\nUsuario:", "<|endoftext|>", " Usuario:", "###"]}
.
Entrada
Sistema: Eres un asistente útil
Usuario: ¿Qué es Amazon SageMaker JumpStart?
Falcon:
Salida
Amazon SageMaker JumpStart es una capacidad de Amazon SageMaker que proporciona un conjunto de soluciones a problemas comunes de aprendizaje automático. Estas soluciones incluyen modelos de aprendizaje automático preconstruidos, algoritmos y configuraciones de entrenamiento y implementación de modelos preconfigurados. JumpStart también proporciona cuadernos de muestra que demuestran cómo utilizar estas soluciones para diversos casos de uso. El objetivo de JumpStart es ayudar a los usuarios a comenzar con el aprendizaje automático de manera rápida y sencilla, sin necesidad de una amplia experiencia en aprendizaje automático.
Usuario:
Entrada
Usuario: En pocas palabras, la teoría de la relatividad establece que
Falcon:
Salida
1. Las leyes de la física son las mismas para todos los observadores en movimiento uniforme entre sí.
2. La velocidad de la luz en el vacío es la misma para todos los observadores, independientemente de su movimiento o del movimiento de la fuente de luz.
3. El tiempo y el espacio son relativos, lo que significa que pueden variar dependiendo del marco de referencia del observador.
4. La masa y la energía son intercambiables, como se expresa en la famosa ecuación E=mc².
Usuario:
Entrada
Usuario: Construir un sitio web se puede hacer en 10 sencillos pasos:
Falcon:
Salida
1. Determinar el propósito y los objetivos de su sitio web.
2. Elegir un nombre de dominio y registrarlo.
3. Seleccionar un proveedor de alojamiento web y registrarse en un plan.
4. Elegir un constructor de sitios web o sistema de gestión de contenido (CMS) para utilizar.
5. Seleccionar un tema o plantilla para su sitio web.
6. Personalizar el diseño y la estructura de su sitio web.
7. Agregar contenido a su sitio web, incluyendo texto, imágenes y videos.
8. Configurar menús de navegación y enlaces para que su sitio web sea fácil de navegar.
9. Probar su sitio web para asegurarse de que funcione correctamente y sea compatible con dispositivos móviles.
10. Lanzar su sitio web y promocionarlo para atraer visitantes.
Usuario:
Entrada
Sistema: Siempre traduzca del inglés al francés.
Usuario: sea otter => loutre de mer
peppermint => menthe poivrée
plush girafe => girafe peluche
cheese =>
Falcon:
Salida
=> fromage
Entrada
Sistema: Clasifique la indicación del usuario como sentimiento Negativo, Positivo o Neutral. Use una respuesta breve.
Usuario: Tweet: "Este nuevo video musical fue increíble"
Falcon:
Salida
"Positivo"
Usuario: ¿Cuál es la receta de la mayonesa?
Falcon:
Salida 1. En un tazón, batir juntos 1 yema de huevo, 1 cucharada de mostaza de Dijon y 1 cucharada de jugo de limón hasta que estén bien combinados.
2. Mientras bate continuamente, agregar lentamente 1 taza de aceite vegetal hasta que la mezcla espese y emulsione.
3. Sazonar con sal y pimienta al gusto.
4. Almacenar en un recipiente hermético en el refrigerador por hasta una semana.
Usuario:
En el siguiente ejemplo, el usuario ha tenido una conversación con el asistente sobre lugares turísticos en París. A continuación, el usuario está preguntando sobre la primera opción recomendada por el asistente de chat.
Entrada
Sistema: Eres un planificador de viajes servicial.
Usuario: Voy a París, ¿qué debería ver?
Falcon: 1. Torre Eiffel: Ningún viaje a París está completo sin una visita a la icónica Torre Eiffel.
2. Museo del Louvre: Hogar de algunas de las obras de arte más famosas del mundo, incluyendo la Mona Lisa.
3. Catedral de Notre-Dame: Un impresionante ejemplo de arquitectura gótica y una visita obligada para los aficionados a la historia.
4. Champs-Élysées: Una de las avenidas más famosas del mundo, bordeada de tiendas, cafés y teatros.
5. Montmartre: Un encantador barrio conocido por su ambiente bohemio, arte callejero e impresionantes vistas de la ciudad.
6. Palacio de Versalles: A un corto viaje en tren desde París, este opulento palacio fue en su día la sede de la realeza francesa.
7. Museo de Orsay: Ubicado en una antigua estación de tren, este museo cuenta con una impresionante colección de arte impresionista y postimpresionista.
8. Sainte-Chapelle: Una joya escondida en el corazón de París, esta capilla medieval es famosa por sus impresionantes vitrales.
9. Jardines de Luxemburgo: Un hermoso parque en el corazón de la ciudad, perfecto para un picnic o un paseo tranquilo.
Usuario: ¿Qué tiene de especial el número 1?
Falcon:
Resultado
El número 1 es la Torre Eiffel, que es uno de los monumentos más famosos del mundo. Es un símbolo de París y una atracción imperdible para muchos visitantes. La torre ofrece impresionantes vistas de la ciudad desde sus miradores, y es especialmente hermosa cuando se ilumina por la noche. Además, la Torre Eiffel tiene una rica historia y es una maravilla de la ingeniería, lo que la convierte en un destino fascinante para cualquier persona interesada en la arquitectura o la historia.
Usuario:
Limpieza
Después de haber terminado de ejecutar el cuaderno, asegúrate de eliminar todos los recursos que creaste durante el proceso para que se detenga la facturación. Usa el siguiente código:
predictor.delete_model()
predictor.delete_endpoint()
Conclusión
En esta publicación, te mostramos cómo empezar con Falcon 180B en SageMaker Studio y desplegar el modelo para inferencia. Debido a que los modelos base están pre-entrenados, pueden ayudar a reducir los costos de entrenamiento e infraestructura y permitir la personalización para tu caso de uso. Visita ahora SageMaker JumpStart en SageMaker Studio para comenzar.
Recursos
- Documentación de SageMaker JumpStart
- Documentación de los Modelos Base de SageMaker JumpStart
- Página de detalles del producto SageMaker JumpStart
- Catálogo de modelos de SageMaker JumpStart