Hoy, nos complace anunciar que el modelo básico Falcon 180B desarrollado por Technology Innovation Institute (TII) y entrenado en Amazon SageMaker está disponible para que los clientes a través de Amazon SageMaker JumpStart lo implementen con un solo clic para ejecutar inferencia. 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 el modelo más grande y uno de los de mayor rendimiento con pesos abiertamente accesibles. Puede probar este modelo con SageMaker JumpStart, un centro de aprendizaje automático (ML) que brinda acceso a algoritmos, modelos y soluciones de ML para que pueda comenzar rápidamente con ML. En esta publicación, explicamos cómo descubrir e implementar el modelo Falcon 180B a través de SageMaker JumpStart.
¿Qué es el Halcón 180B?
Falcon 180B es un modelo lanzado por TII que sigue a lanzamientos anteriores de la familia Falcon. Es una versión ampliada de Falcon 40B y utiliza atención de consultas múltiples para una mejor escalabilidad. Es un modelo de lenguaje autorregresivo que utiliza una arquitectura transformadora optimizada. Fue entrenado con 3,5 billones de tokens de datos, principalmente datos web de Web refinada (aproximadamente 85%). El modelo tiene dos versiones: 180B y 180B-Chat. 180B es un modelo sin procesar y previamente entrenado, que debe perfeccionarse aún más para la mayoría de los casos de uso. 180B-Chat es más adecuado para recibir instrucciones genéricas. El modelo de chat se ha perfeccionado en conjuntos de datos de chat e instrucciones junto con varios conjuntos de datos conversacionales a gran escala.
El modelo está disponible bajo el Licencia Falcon-180B TII y Política de uso aceptable.
Falcon 180B fue entrenado por TII en Amazon SageMaker, en un grupo de aproximadamente GPU 4K A100. Utilizó una base de código de entrenamiento distribuida personalizada llamada Gigatron, que utiliza paralelismo 3D con ZeRO y núcleos Triton personalizados de alto rendimiento. La arquitectura de capacitación distribuida utilizó Amazon Simple Storage Service (Amazon S3) como único servicio unificado para la carga de datos y la escritura y lectura de puntos de control, lo que contribuyó particularmente a la confiabilidad de la carga de trabajo y la simplicidad operativa.
¿Qué es SageMaker JumpStart?
Con SageMaker JumpStart, los profesionales del aprendizaje automático pueden elegir entre una lista cada vez mayor de modelos básicos de mejor rendimiento. Los profesionales del aprendizaje automático pueden implementar modelos básicos en instancias dedicadas de SageMaker dentro de un entorno aislado de red y personalizar modelos utilizando Amazon SageMaker para el entrenamiento y la implementación de modelos.
Ahora puede descubrir e implementar Falcon 180B con unos pocos clics en Amazon SageMaker Studio o mediante programación a través del SDK de Python de SageMaker, lo que le permite obtener el rendimiento del modelo y controles MLOps con funciones 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 los controles de su VPC, lo que ayuda a garantizar la seguridad de los datos. Falcon 180B es reconocible y se puede implementar en regiones donde las instancias necesarias estén disponibles. Actualmente, las instancias ml.p4de están disponibles en el este de EE. UU. (Norte de Virginia) y el oeste de EE. UU. (Oregón).
Descubre modelos
Puede acceder a los modelos básicos a través de SageMaker JumpStart en la interfaz de usuario de SageMaker Studio y el SDK de SageMaker Python. En esta sección, repasamos 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 puede acceder a herramientas diseñadas específicamente para realizar todos los pasos de desarrollo de ML, desde la preparación de datos hasta la creación, el entrenamiento y la implementación de sus modelos de ML. Para obtener más detalles sobre cómo comenzar y configurar SageMaker Studio, consulte Amazon SageMaker Studio.
En SageMaker Studio, puede acceder a SageMaker JumpStart, que contiene modelos, cuadernos y soluciones prediseñadas previamente entrenados, en Soluciones prediseñadas y automatizadas.
Desde la página de inicio de SageMaker JumpStart, puede buscar soluciones, modelos, cuadernos y otros recursos. Puedes encontrar el Falcon 180B en el Modelos básicos: generación de texto carrusel.
También puede encontrar otras variantes de modelos eligiendo Explora todos los modelos de generación de texto o buscando Halcón
.
Puede elegir la tarjeta de 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, Desplegar y Cuaderno abierto, que le ayudará a utilizar el modelo (la siguiente captura de pantalla muestra el Desplegar opción).
Implementar modelos
cuando tu eliges Desplegar, comenzará la implementación del modelo. Alternativamente, puede implementar a través del cuaderno de ejemplo que aparece eligiendo Cuaderno abierto. El cuaderno de ejemplo proporciona orientación integral sobre cómo implementar el modelo para inferencia y limpieza de recursos.
Para implementar usando un cuaderno, comenzamos seleccionando un modelo apropiado, especificado por el modelo_id
. Puede implementar cualquiera de los modelos seleccionados en SageMaker con el siguiente código:
Esto implementa el modelo en SageMaker con configuraciones predeterminadas, incluido el tipo de instancia predeterminado y las configuraciones de VPC predeterminadas. Puede cambiar estas configuraciones especificando valores no predeterminados en JumpStartModelo
. Para obtener más información, consulte la Documentación API. Una vez implementado, puede ejecutar inferencias contra el punto final implementado a través de un predictor de SageMaker. Vea el siguiente código:
Los parámetros de inferencia controlan el proceso de generación de texto en el punto final. El control máximo de nuevos tokens se refiere al tamaño de la salida generada por el modelo. Tenga en cuenta que esto no es lo mismo que el número de palabras porque el vocabulario del modelo no es el mismo que el vocabulario del idioma inglés y es posible que cada token no sea una palabra del idioma inglés. La temperatura controla la aleatoriedad en la salida. Una temperatura más alta da como resultado resultados más creativos y alucinados. Todos los parámetros de inferencia son opcionales.
Este modelo de parámetros de 180B tiene 335 GB y requiere aún más memoria GPU para realizar inferencias suficientes con una precisión de 16 bits. Actualmente, JumpStart solo admite este modelo en instancias ml.p4de.24xlarge. Es posible implementar un modelo cuantificado de 8 bits en una instancia ml.p4d.24xlarge proporcionando el env={"HF_MODEL_QUANTIZE": "bitsandbytes"}
argumento de palabra clave para el JumpStartModelo
constructor y especificando instancia_tipo="ml.p4d.24xlarge"
al método de implementación. Sin embargo, tenga en cuenta que la latencia por token es aproximadamente 5 veces más lenta para esta configuración cuantificada.
La siguiente tabla enumera todos los modelos Falcon disponibles en SageMaker JumpStart junto con los ID de modelo, los tipos de instancias predeterminados, la cantidad máxima de tokens totales (suma de la cantidad de tokens de entrada y la cantidad 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 | Fichas totales máximas | Latencia por token* |
Halcón 7B | abrazando-cara-llm- halcón-7b-bf16 |
ml.g5.2xgrande | 2048 | 34 ms |
Instrucción Falcon 7B | abrazando-cara-llm- halcón-7b-instruir-bf16 |
ml.g5.2xgrande | 2048 | 34 ms |
Halcón 40B | abrazando-cara-llm- halcón-40b-bf16 |
ml.g5.12xgrande | 2048 | 57 ms |
Instrucción Falcon 40B | abrazando-cara-llm- falcon-40b-instruir-bf16 |
ml.g5.12xgrande | 2048 | 57 ms |
Halcón 180B | abrazando-cara-llm- halcón-180b-bf16 |
ml.p4de.24xgrande | 2048 | 45 ms |
Halcón 180B Charla | abrazando-cara-llm- falcon-180b-chat-bf16 |
ml.p4de.24xgrande | 2048 | 45 ms |
*La latencia por token se proporciona para el tiempo medio de respuesta de los mensajes de ejemplo proporcionados en este blog; este valor variará según la longitud de las secuencias de entrada y salida.
Indicaciones de inferencia y ejemplo para Falcon 180B
Los modelos Falcon se pueden utilizar para completar texto en cualquier fragmento de texto. A través de la generación de texto, puede realizar una variedad de tareas, como responder preguntas, traducir idiomas, analizar opiniones y muchas más. El punto final acepta el siguiente esquema de carga útil de entrada:
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.
A continuación se muestran algunos ejemplos de indicaciones y el texto generado por el modelo. Todas las salidas aquí se generan con parámetros de inferencia. {"max_new_tokens": 768, "detener": ["<|endoftext|>", "###"]}
.
La creación de un sitio web se puede realizar en 10 sencillos pasos:
Puede notar que este modelo previamente entrenado genera secuencias de texto largas que no son necesariamente ideales para casos de uso de diálogo. Antes de mostrar cómo funciona el modelo de chat ajustado para un conjunto más grande de mensajes basados en diálogos, los siguientes dos ejemplos ilustran cómo usar modelos Falcon con aprendizaje en contexto de pocas tomas, donde proporcionamos muestras de entrenamiento disponibles para el modelo. Tenga en cuenta que el "aprendizaje de pocas oportunidades" no ajusta los pesos del modelo; solo realizamos inferencias sobre el modelo implementado durante este proceso y al mismo tiempo proporcionamos algunos ejemplos dentro del contexto de entrada para ayudar a la salida del modelo del gremio.
Inferencias 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 un historial previo entre el asistente de chat y el usuario. Puedes hacer preguntas contextuales a la conversación que ha tenido lugar hasta ahora. También puede proporcionar la configuración del sistema, como personas, que definen el comportamiento del asistente de chat. La carga útil de entrada al punto final es la misma que la del modelo Falcon 180B excepto el entradas
El valor de la cadena debe utilizar el siguiente formato:
A continuación se muestran algunos ejemplos de indicaciones y el texto generado por el modelo. Todas las salidas se generan con parámetros de inferencia. {"max_new_tokens":256, "stop": ["\nUsuario:", "<|endoftext|>", "Usuario:", "###"]}.
En el siguiente ejemplo, el usuario ha mantenido una conversación con el asistente sobre sitios turísticos de París. A continuación, el usuario pregunta sobre la primera opción recomendada por el asistente de chat.
Limpiar
Una vez que haya terminado de ejecutar el cuaderno, asegúrese de eliminar todos los recursos que creó en el proceso para que se detenga su facturación. Utilice el siguiente código:
Conclusión
En esta publicación, le mostramos cómo comenzar con Falcon 180B en SageMaker Studio e implementar el modelo para inferencia. Dado que los modelos básicos están previamente entrenados, pueden ayudar a reducir los costos de capacitación e infraestructura y permitir la personalización para su caso de uso. Visite SageMaker JumpStart en SageMaker Studio ahora para comenzar.
Recursos
Sobre los autores
Dr.Kyle Ulrich es un científico aplicado del equipo JumpStart de Amazon SageMaker. Sus intereses de investigación incluyen algoritmos escalables de aprendizaje automático, visión por computadora, series temporales, procesos bayesianos no paramétricos y procesos gaussianos. Su doctorado es de la Universidad de Duke y ha publicado artículos en NeurIPS, Cell y Neuron.
Dr. Ashish Khetan Es científico aplicado sénior en Amazon SageMaker JumpStart y ayuda a desarrollar algoritmos de aprendizaje automático. Obtuvo su doctorado en la Universidad de Illinois Urbana-Champaign. Es un investigador activo en aprendizaje automático e inferencia estadística, y ha publicado numerosos artículos en conferencias NeurIPS, ICML, ICLR, JMLR, ACL y EMNLP.
Olivier CruchanEs arquitecto principal de soluciones especializado en aprendizaje automático en AWS, con sede en Francia. Olivier ayuda a los clientes de AWS (desde pequeñas empresas emergentes hasta grandes empresas) a desarrollar e implementar aplicaciones de aprendizaje automático de nivel de producción. En su tiempo libre, le gusta leer artículos de investigación y explorar la naturaleza con amigos y familiares.
Karl Albertsen dirige el centro de modelos básicos, los algoritmos y los equipos de asociaciones de Amazon SageMaker.
Deja una respuesta