[ad_1]
Nos complace anunciar que Amazon SageMaker JumpStart ahora puede transmitir respuestas de inferencia del modelo de lenguaje grande (LLM). La transmisión de tokens le permite ver el resultado de la respuesta del modelo a medida que se genera, en lugar de esperar a que los LLM completen la generación de la respuesta antes de que esté disponible para su uso o visualización. La función de transmisión en tiempo real en SageMaker JumpStart puede ayudarlo a crear aplicaciones con una mejor experiencia de usuario al brindarle al usuario final la impresión de baja latencia.
En esta publicación, aprenderá cómo implementar y transmitir la respuesta desde un punto final del modelo Falcon 7B Instruct.
Al momento de escribir este artículo, los siguientes LLM disponibles en SageMaker JumpStart admiten transmisión:
- Mistral AI 7B, Mistral AI 7B Instruir
- Halcón 180B, Halcón 180B Charla
- Falcon 40B, Falcon 40B Instruir
- Falcon 7B, Falcon 7B Instruir
- Instrucciones de Rinna Japanese GPT NeoX 4B PPO
- Instrucciones de Rinna Japanese GPT NeoX 3.6B PPO
Para buscar actualizaciones de la lista de modelos que admiten la transmisión en SageMaker JumpStart, busque «huggingface-llm» en Algoritmos integrados con tabla de modelos previamente entrenados.
Tenga en cuenta que puede utilizar inmediatamente la función de transmisión del alojamiento de Amazon SageMaker para cualquier modelo implementado con el contenedor de aprendizaje profundo (DLC) TGI de SageMaker, como se describe en Anuncio del lanzamiento de nuevos contenedores de inferencia Hugging Face LLM en Amazon SageMaker.
Modelos de cimentación en SageMaker
SageMaker JumpStart brinda acceso a una variedad de modelos de centros de modelos populares, incluidos Hugging Face, PyTorch Hub y TensorFlow Hub, que puede usar en su flujo de trabajo de desarrollo de aprendizaje automático en SageMaker. Los avances recientes en ML han llevado a una nueva clase de modelos conocidos como Modelos de cimentacion, que normalmente se entrenan en miles de millones de parámetros y se pueden adaptar a una amplia categoría de casos de uso, como: B. Resumen de textos, generación de arte digital y traducción de idiomas. Debido a que entrenar estos modelos es costoso, los clientes quieren utilizar modelos base previamente entrenados existentes y perfeccionarlos según sea necesario en lugar de entrenarlos ellos mismos. SageMaker proporciona una lista seleccionada de modelos para que usted elija en la consola de SageMaker.
Ahora puede encontrar modelos de base de varios proveedores de modelos en SageMaker JumpStart, para que pueda comenzar rápidamente con los modelos de base. SageMaker JumpStart proporciona modelos base basados en diferentes tareas o proveedores de modelos, y usted puede revisar fácilmente las propiedades y los términos de uso del modelo. También puedes probar estas maquetas con un widget de interfaz de usuario de prueba. Si desea utilizar un modelo básico a escala, puede hacerlo sin salir de SageMaker utilizando cuadernos prediseñados de proveedores de modelos. Debido a que los modelos están alojados e implementados en AWS, puede tener la confianza de que sus datos, ya sea que se utilicen para evaluar o utilizar el modelo a escala, no se compartirán con terceros.
Transmisión de tokens
La transmisión de tokens permite devolver la respuesta de inferencia tal como la genera el modelo. Esto le permite ver que la respuesta se genera de forma incremental, en lugar de esperar a que se complete el modelo antes de proporcionar la respuesta completa. La transmisión puede ayudar a brindar una mejor experiencia de usuario, ya que reduce la percepción de latencia para el usuario final. Puede ver el resultado a medida que se genera y, por lo tanto, detener la generación antes de tiempo si el resultado no parece útil para sus propósitos. La transmisión por secuencias puede marcar una gran diferencia, especialmente para consultas de larga duración, ya que puede ver el resultado tan pronto como se genera, lo que puede dar la impresión de una latencia más baja, aunque la latencia de un extremo a otro sigue siendo la misma.
En este momento, puede usar la transmisión en SageMaker JumpStart para modelos que usan el DLC Hugging Face LLM Text Generation Inference.
Responder sin vapor | Responder con streaming |
Descripción general de la solución
Para esta publicación, usaremos el modelo Falcon 7B Instruct para presentar la función de transmisión de SageMaker JumpStart.
Puede utilizar el siguiente código para buscar otros modelos en SageMaker JumpStart que admitan transmisión:
Obtenemos los siguientes ID de modelo que admiten transmisión:
requisitos
Antes de comenzar a utilizar la computadora portátil, se requieren algunos pasos de configuración iniciales. Ejecute los siguientes comandos:
Implementar el modelo
Como primer paso, utilizará SageMaker JumpStart para implementar un modelo Falcon 7B Instruct. Para obtener instrucciones completas, consulte El modelo de base Falcon 180B de TII ya está disponible a través de Amazon SageMaker JumpStart. Utilice el siguiente código:
Consultar el punto final y transmitir la respuesta
A continuación, cree una carga útil que utilizará para llamar a su punto final implementado. Lo importante es que la carga útil contenga el par clave/valor. "stream": True
. Esto indica al servidor de inferencia de generación de texto que genere una respuesta de transmisión.
Antes de consultar el punto final, debe crear un iterador que pueda analizar la respuesta del flujo de bytes desde el punto final. Los datos de cada token se proporcionan como una línea separada en la respuesta, por lo que este iterador devuelve un token cada vez que se identifica una nueva línea en el búfer de transmisión. Este iterador está diseñado para ser mínimo y es posible que desee personalizar su comportamiento para adaptarlo a su caso de uso. Por ejemplo, aunque este iterador devuelve cadenas de tokens, los datos de la fila contienen otra información, como las probabilidades de registro de tokens, que podrían ser de interés.
Ahora puedes usar el Boto3 invoke_endpoint_with_response_stream
API en el punto final que creó y habilite la transmisión iterando sobre un TokenIterator
Ejemplo:
Especificar un espacio end
Parámetros para print
La función permite una secuencia visual sin insertar caracteres de nueva línea. Esto produce el siguiente resultado:
Puede usar este código en una computadora portátil u otras aplicaciones como Streamlit o Gradio para ver el streaming en acción y la experiencia que brinda a sus clientes.
Limpiar
Finalmente, recuerde limpiar su modelo implementado y su punto final para evitar costos adicionales:
Diploma
En esta publicación, le mostramos cómo utilizar la función de transmisión recientemente introducida en SageMaker JumpStart. Esperamos que utilice la función de transmisión de tokens para crear aplicaciones interactivas que requieran baja latencia para una mejor experiencia de usuario.
Sobre los autores
Rachna Chadha Es arquitecto principal de soluciones AI/ML en Cuentas Estratégicas en AWS. Rachna es una optimista que cree que el uso ético y responsable de la IA puede mejorar la sociedad en el futuro y generar prosperidad económica y social. En su tiempo libre, Rachna disfruta pasar tiempo con su familia, hacer senderismo y escuchar música.
kyle ulrich es un científico aplicado del equipo de algoritmos integrados 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. Recibió su doctorado en la Universidad de Duke y ha publicado artículos en NeurIPS, Cell y Neuron.
Dr. ashish khetan es un científico aplicado senior con algoritmos integrados en Amazon SageMaker y ayuda a desarrollar algoritmos de aprendizaje automático. Recibió 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 las conferencias NeurIPS, ICML, ICLR, JMLR, ACL y EMNLP.
[ad_2]