El procesamiento del lenguaje natural (NLP) es el campo del aprendizaje automático (ML) que se ocupa de dar a las computadoras la capacidad de comprender el texto y las palabras habladas de la misma manera que los seres humanos. Recientemente, arquitecturas de última generación como el arquitectura del transformador se utilizan para lograr un rendimiento casi humano en tareas posteriores de NLP como resumen de texto, clasificación de texto, reconocimiento de entidades y más.
Los modelos de lenguaje grande (LLM) son modelos basados en transformadores entrenados en una gran cantidad de texto sin etiquetar con cientos de millones (BERTI) a más de un billón de parámetros (micrófonos), y cuyo tamaño hace que el entrenamiento con una sola GPU no sea práctico. Debido a su complejidad inherente, capacitar a un LLM desde cero es una tarea muy desafiante que muy pocas organizaciones pueden permitirse. Una práctica común para las tareas posteriores de NLP es tomar un LLM previamente entrenado y ajustarlo. Para obtener más información sobre el ajuste fino, consulte Adaptación de dominio Ajuste fino de modelos básicos en Amazon SageMaker JumpStart en datos financieros y Ajuste los modelos de lenguaje de transformadores para la diversidad lingüística con Hugging Face en Amazon SageMaker.
El aprendizaje de disparo cero en PNL permite un LLM pre-entrenado para generar respuestas a tareas para las que no ha sido entrenado explícitamente (incluso sin un ajuste fino). Específicamente hablando de clasificación de texto, clasificación de texto de tiro cero es una tarea en el procesamiento del lenguaje natural donde se utiliza un modelo NLP para clasificar el texto de las clases no vistas, en contraste con clasificación supervisada, donde los modelos NLP solo pueden clasificar texto que pertenece a clases en los datos de entrenamiento.
Recientemente, lanzamos la compatibilidad con el modelo de clasificación de disparo cero en JumpStart de Amazon SageMaker. SageMaker JumpStart es el centro de aprendizaje automático de Amazon SageMaker que brinda acceso a modelos básicos (FM) preentrenados, LLM, algoritmos integrados y plantillas de solución para ayudarlo a comenzar rápidamente con ML. En esta publicación, mostramos cómo puede realizar una clasificación de tiro cero utilizando modelos previamente entrenados en SageMaker Jumpstart. Aprenderá a usar la interfaz de usuario Jumpstart de SageMaker y el SDK de Python de SageMaker para implementar la solución y ejecutar la inferencia con los modelos disponibles.
Aprendizaje zero-shot
La clasificación de tiro cero es un paradigma en el que un modelo puede clasificar ejemplos nuevos e invisibles que pertenecen a clases que no estaban presentes en los datos de entrenamiento. Por ejemplo, un modelo de lenguaje que ha sido entrenado para comprender el lenguaje humano se puede usar para clasificar los tweets de resoluciones de Año Nuevo en múltiples clases como career
, health
y finance
, sin que el modelo de lenguaje esté entrenado explícitamente en la tarea de clasificación de texto. Esto contrasta con el ajuste fino del modelo, ya que este último implica volver a entrenar el modelo (a través del aprendizaje de transferencia), mientras que el aprendizaje de disparo cero no requiere entrenamiento adicional.
El siguiente diagrama ilustra las diferencias entre el aprendizaje de transferencia (izquierda) y el aprendizaje de disparo cero (derecha).
Yin et al. propuso un marco para crear clasificadores de tiro cero utilizando la inferencia del lenguaje natural (NLI). El marco funciona planteando la secuencia que se clasificará como una premisa NLI y construye una hipótesis a partir de cada etiqueta candidata. Por ejemplo, si queremos evaluar si una secuencia pertenece a la clase politics
, podríamos construir una hipótesis de “Este texto es de política”. Las probabilidades de implicación y contradicción se convierten luego en probabilidades de etiquetas. Como revisión rápida, NLI considera dos oraciones: una premisa y una hipótesis. La tarea es determinar si la hipótesis es verdadera (implicación) o falsa (contradicción) dada la premisa. La siguiente tabla proporciona algunos ejemplos.
Premisa | Label | Hipótesis |
Un hombre inspecciona el uniforme de una figura en algún país del Este de Asia. | Contradicción | El hombre está durmiendo. |
Un hombre mayor y un joven sonriendo. | Neutro | Dos hombres sonríen y se ríen de los gatos que juegan en el suelo. |
Un partido de fútbol con varios hombres jugando. | vinculación | Algunos hombres están practicando un deporte. |
Resumen de la solución
En esta publicación, discutimos lo siguiente:
- Cómo implementar modelos de clasificación de texto de disparo cero preentrenados con la interfaz de usuario JumpStart de SageMaker y ejecutar inferencias en el modelo implementado con datos de texto cortos
- Cómo usar SageMaker Python SDK para acceder a los modelos de clasificación de texto de disparo cero previamente entrenados en SageMaker JumpStart y usar el script de inferencia para implementar el modelo en un punto final de SageMaker para un caso de uso de clasificación de texto en tiempo real
- Cómo usar SageMaker Python SDK para acceder a modelos de clasificación de texto de disparo cero previamente entrenados y usar la transformación por lotes de SageMaker para un caso de uso de clasificación de texto por lotes
SageMaker JumpStart proporciona ajuste e implementación con un solo clic para una amplia variedad de modelos previamente entrenados en tareas populares de ML, así como una selección de soluciones integrales que resuelven problemas comerciales comunes. Estas características eliminan el trabajo pesado de cada paso del proceso de ML, lo que simplifica el desarrollo de modelos de alta calidad y reduce el tiempo de implementación. El API JumpStart le permite implementar y ajustar mediante programación una amplia selección de modelos preentrenados en sus propios conjuntos de datos.
El centro de modelos JumpStart brinda acceso a una gran cantidad de modelos NLP que permiten transferir el aprendizaje y el ajuste en conjuntos de datos personalizados. Al momento de escribir este artículo, el centro de modelos JumpStart contiene más de 300 modelos de texto en una variedad de modelos populares, como Stable Diffusion, Flan T5, Alexa TM, Bloom y más.
Tenga en cuenta que al seguir los pasos de esta sección, implementará una infraestructura en su cuenta de AWS que puede generar costos.
Implemente un modelo de clasificación de texto de disparo cero independiente
En esta sección, demostramos cómo implementar un modelo de clasificación de disparo cero utilizando SageMaker JumpStart. Puede acceder a modelos previamente entrenados a través de la página de destino de JumpStart en Estudio Amazon SageMaker. Complete los siguientes pasos:
- En SageMaker Studio, abra la página de destino de JumpStart.
Consulte Abrir y usar JumpStart para obtener más detalles sobre cómo navegar a SageMaker JumpStart. - En Modelos de texto carrusel, ubique la tarjeta modelo "Clasificación de texto de tiro cero".
- Elige Ver modelo para acceder a el
facebook-bart-large-mnli
modelo.
Como alternativa, puede buscar el modelo de clasificación de disparo cero en la barra de búsqueda y acceder al modelo en SageMaker JumpStart. - Especifique una configuración de implementación, tipo de instancia de alojamiento de SageMaker, nombre de punto final, Servicio de almacenamiento simple de Amazon (Amazon S3) nombre del depósito y otros parámetros necesarios.
- Opcionalmente, puede especificar configuraciones de seguridad como Gestión de identidades y accesos de AWS (IAM), configuración de VPC y Servicio de administración de claves de AWS (AWS KMS) claves de cifrado.
- Elige Despliegue para crear un punto final de SageMaker.
Este paso tarda un par de minutos en completarse. Cuando esté completo, puede ejecutar la inferencia en el punto final de SageMaker que aloja el modelo de clasificación de disparo cero.
En el siguiente video, mostramos un tutorial de los pasos en esta sección.
Utilice JumpStart mediante programación con el SDK de SageMaker
En la sección SageMaker JumpStart de SageMaker Studio, en Soluciones de inicio rápido, puedes encontrar el plantillas de solución. Las plantillas de solución SageMaker JumpStart son soluciones completas con un solo clic para muchos casos de uso comunes de ML. Al momento de escribir este artículo, hay más de 20 soluciones disponibles para múltiples casos de uso, como pronóstico de demanda, detección de fraude y recomendaciones personalizadas, por nombrar algunas.
La solución "Clasificación de texto Zero Shot with Hugging Face" proporciona una forma de clasificar texto sin necesidad de entrenar un modelo para etiquetas específicas (clasificación de tiro cero) mediante el uso de un clasificador de texto previamente entrenado. El modelo de clasificación de disparo cero predeterminado para esta solución es el facebook-bart-grande-mnli (BART) modelo. Para esta solución, utilizamos el Conjunto de datos de Resoluciones de Año Nuevo de 2015 clasificar las resoluciones. Un subconjunto del conjunto de datos original que contiene solo el Resolution_Category
(etiqueta de verdad del terreno) y el text
Las columnas se incluyen en los activos de la solución.
Los datos de entrada incluyen cadenas de texto, una lista de categorías deseadas para la clasificación y si la clasificación es multietiqueta o no para la inferencia sincrónica (en tiempo real). Para la inferencia asíncrona (por lotes), proporcionamos una lista de cadenas de texto, la lista de categorías para cada cadena y si la clasificación es multietiqueta o no en un archivo de texto con formato de líneas JSON.
El resultado de la inferencia es un objeto JSON que se parece a la siguiente captura de pantalla.
Tenemos el texto original en el sequence
campo, las etiquetas utilizadas para la clasificación del texto en el labels
campo, y la probabilidad asignada a cada etiqueta (en el mismo orden de aparición) en el campo scores
.
Para implementar la clasificación de texto Zero Shot con la solución Hugging Face, complete los siguientes pasos:
- En la página de destino de SageMaker JumpStart, elija Maquetas, cuadernos, soluciones. en el panel de navegación.
- En Soluciones sección, elija Explorar todas las soluciones.
- En Soluciones página, elija la tarjeta de modelo de clasificación de texto Zero Shot with Hugging Face.
- Revise los detalles de implementación y, si está de acuerdo, elija Más información.
La implementación aprovisionará un punto final en tiempo real de SageMaker para la inferencia en tiempo real y un depósito S3 para almacenar los resultados de la transformación por lotes.
El siguiente diagrama ilustra la arquitectura de este método.
Realice inferencias en tiempo real utilizando un modelo de clasificación de tiro cero
En esta sección, revisamos cómo usar el SDK de Python para ejecutar la clasificación de texto de disparo cero (usando cualquiera de los modelos disponibles) en tiempo real usando un punto final de SageMaker.
- Primero, configuramos la solicitud de carga útil de inferencia al modelo. Esto depende del modelo, pero para el modelo BART, la entrada es un objeto JSON con la siguiente estructura:
- Tenga en cuenta que el modelo BART no está entrenado explícitamente en el
candidate_labels
. Usaremos la técnica de clasificación de tiro cero para clasificar la secuencia de texto en clases invisibles. El siguiente código es un ejemplo que usa texto del conjunto de datos de resoluciones de Año Nuevo y las clases definidas: - A continuación, puede invocar un punto final de SageMaker con la carga útil de disparo cero. El extremo de SageMaker se implementa como parte de la solución SageMaker JumpStart.
- El objeto de respuesta de inferencia contiene la secuencia original, las etiquetas ordenadas por puntaje de máximo a mínimo y los puntajes por etiqueta:
Ejecute un trabajo de transformación por lotes de SageMaker con el SDK de Python
Esta sección describe cómo ejecutar la inferencia de transformación por lotes con la clasificación de disparo cero facebook-bart-large-mnli
modelo usando el SDK de SageMaker Python. Complete los siguientes pasos:
- Formatee los datos de entrada en formato de líneas JSON y cargue el archivo en Amazon S3.
La transformación por lotes de SageMaker realizará inferencias en los puntos de datos cargados en el archivo S3. - Configure los artefactos de implementación del modelo con los siguientes parámetros:
- modelo_id - Utilizar
huggingface-zstc-facebook-bart-large-mnli
. - desplegar_imagen_uri - Utilizar el
image_uris
Función Python SDK para obtener la imagen de SageMaker Docker preconstruida para elmodel_id
. La función devuelve el Registro de contenedores elásticos de Amazon (Amazon ECR) URL. - desplegar_fuente_uri – Ingrese al
script_uris
API de utilidad para recuperar el URI de S3 que contiene secuencias de comandos para ejecutar la inferencia de modelos previamente entrenados. Especificamos elscript_scope
asinference
. - modelo_uri - Utilizar
model_uri
para obtener los artefactos del modelo de Amazon S3 para el especificadomodel_id
.
- modelo_id - Utilizar
- Uso
HF_TASK
para definir la tarea para la tubería de transformadores Hugging Face yHF_MODEL_ID
para definir el modelo utilizado para clasificar el texto:Para obtener una lista completa de tareas, consulte Pipelines en la documentación de Hugging Face.
- Cree un objeto de modelo Hugging Face para implementarlo con el trabajo de transformación por lotes de SageMaker:
- Cree una transformación para ejecutar un trabajo por lotes:
- Inicie un trabajo de transformación por lotes y use los datos de S3 como entrada:
Puede monitorear su trabajo de procesamiento por lotes en la consola de SageMaker (elija Trabajos de transformación por lotes bajo Inferencia en el panel de navegación). Cuando se completa el trabajo, puede verificar el resultado de la predicción del modelo en el archivo S3 especificado en output_path
.
Para obtener una lista de todos los modelos preentrenados disponibles en SageMaker JumpStart, consulte Algoritmos integrados con tabla de modelo preentrenada. Utilice la palabra clave "zstc" (abreviatura de clasificación de texto de disparo cero) en la barra de búsqueda para localizar todos los modelos capaces de realizar una clasificación de texto de disparo cero.
Limpiar
Una vez que haya terminado de ejecutar el cuaderno, asegúrese de eliminar todos los recursos creados en el proceso para garantizar que se detengan los costos incurridos por los activos implementados en esta guía. El código para limpiar los recursos implementados se proporciona en los cuadernos asociados con el modelo y la solución de clasificación de texto de disparo cero.
Configuraciones de seguridad predeterminadas
Los modelos JumpStart de SageMaker se implementan con las siguientes configuraciones de seguridad predeterminadas:
Para obtener más información sobre los temas relacionados con la seguridad de SageMaker, consulte Configurar la seguridad en Amazon SageMaker.
Conclusión
En esta publicación, le mostramos cómo implementar un modelo de clasificación de disparo cero mediante la interfaz de usuario JumpStart de SageMaker y realizar inferencias mediante el punto final implementado. Usamos la solución de resoluciones de Año Nuevo JumpStart de SageMaker para mostrar cómo puede usar el SDK de Python de SageMaker para crear una solución integral e implementar una aplicación de clasificación de disparo cero. SageMaker JumpStart brinda acceso a cientos de modelos y soluciones previamente entrenados para tareas como visión por computadora, procesamiento de lenguaje natural, sistemas de recomendación y más. Pruebe la solución por su cuenta y háganos saber su opinión.
Sobre los autores
david laredo es Arquitecto de Prototipos en AWS Envision Engineering en LATAM, donde ha ayudado a desarrollar múltiples prototipos de aprendizaje automático. Anteriormente, trabajó como ingeniero de aprendizaje automático y ha estado haciendo aprendizaje automático durante más de 5 años. Sus áreas de interés son PNL, series temporales y ML de extremo a extremo.
Vikram Elango es Arquitecto de Soluciones Especializado en AI/ML en Amazon Web Services, con sede en Virginia, EE. UU. Vikram ayuda a los clientes de la industria financiera y de seguros con diseño y liderazgo intelectual para crear e implementar aplicaciones de aprendizaje automático a escala. Actualmente se centra en el procesamiento del lenguaje natural, la IA responsable, la optimización de inferencias y el escalado de ML en toda la empresa. En su tiempo libre, disfruta viajar, hacer caminatas, cocinar y acampar con su familia.
Dr. Vivek Madan es un científico aplicado del equipo JumpStart de Amazon SageMaker. Obtuvo su doctorado en la Universidad de Illinois en Urbana-Champaign y fue investigador posdoctoral en Georgia Tech. Es un investigador activo en aprendizaje automático y diseño de algoritmos y ha publicado artículos en conferencias EMNLP, ICLR, COLT, FOCS y SODA.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoData.Network Vertical Generativo Ai. Empodérate. Accede Aquí.
- PlatoAiStream. Inteligencia Web3. Conocimiento amplificado. Accede Aquí.
- PlatoESG. Automoción / vehículos eléctricos, Carbón, tecnología limpia, Energía, Ambiente, Solar, Gestión de residuos. Accede Aquí.
- PlatoSalud. Inteligencia en Biotecnología y Ensayos Clínicos. Accede Aquí.
- ChartPrime. Eleve su juego comercial con ChartPrime. Accede Aquí.
- Desplazamientos de bloque. Modernización de la propiedad de compensaciones ambientales. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/zero-shot-text-classification-with-amazon-sagemaker-jumpstart/
- :posee
- :es
- :no
- :dónde
- $ UP
- 1
- 10
- 100
- 12
- 16
- 17
- 20
- 22
- 30
- 7
- 8
- 9
- a
- capacidad
- Nuestra Empresa
- arriba
- de la máquina
- Mi Cuenta
- Lograr
- a través de
- lector activo
- Adicionales
- en contra
- AI
- AI / ML
- AL
- Alexa
- algoritmo
- algoritmos
- Todos
- permitir
- permite
- Amazon
- Amazon SageMaker
- JumpStart de Amazon SageMaker
- Amazon Web Services
- cantidad
- an
- y
- cualquier
- abejas
- Aplicación
- aplicaciones
- aplicada
- arquitectura
- somos
- áreas
- AS
- asiático
- Activos
- asigna
- asociado
- At
- automáticamente
- Hoy Disponibles
- AWS
- de caramelos
- bases
- basado
- BE
- esto
- "Ser"
- pertenece
- entre
- Florecer (bloom)
- cuerpo
- Libros
- Desayuno
- build
- incorporado
- pero
- by
- PUEDEN
- candidato
- capaz
- tarjeta
- Propósito
- carrusel
- cases
- categoría
- Gatos
- desafiante
- comprobar
- Elige
- clase
- privadas
- clasificación
- clasificado
- clasificar
- código
- Columnas
- Algunos
- completar
- complejidad
- computadora
- Visión por computador
- computadoras
- preocupado
- conferencias
- Configuración
- considera
- Consola
- construir
- Envase
- contiene
- contraste
- convertido
- Precio
- podría
- país
- Parejas
- Para crear
- creado
- Creamos
- En la actualidad
- personalizado
- Clientes
- datos
- puntos de datos
- conjuntos de datos
- a dedicados
- Predeterminado
- definir
- se define
- Demanda
- Previsión de la demanda
- demostrar
- dependencias
- dependiente
- desplegar
- desplegado
- despliegue
- Diseño
- deseado
- detalles
- Detección
- Determinar
- desarrollar
- Desarrollo
- diferencias
- Difusión
- discutir
- Diversidad
- Docker
- documentación
- No
- "Hacer"
- hecho
- dos
- E & T
- cada una
- Este
- Educación
- habilitar
- cifrado
- de extremo a extremo
- Punto final
- ingeniero
- Ingeniería
- garantizar
- Empresa
- entidad
- imaginar
- evaluar
- Incluso
- ejemplo
- ejemplos
- Cara
- false
- familia
- Caracteristicas
- pocos
- campo
- Figura
- Archive
- financiar
- financiero
- Encuentre
- Floor
- centrado
- siguiendo
- formato
- Fundación
- Marco conceptual
- fraude
- detección de fraude
- Desde
- función
- juego
- generar
- Georgia
- obtener
- GitHub
- dado
- Diezmos y Ofrendas
- Polo a Tierra
- Crecimiento
- guía
- Manejo
- Tienen
- he
- Salud
- pesado
- levantar objetos pesados
- ayuda
- ayudado
- ayuda
- alta calidad
- su
- hosting
- anfitriones
- Cómo
- Como Hacer
- HTML
- http
- HTTPS
- Bujes
- humana
- humor
- Cientos
- cientos de millones
- ID
- Identidad
- if
- Illinois
- ilustra
- imagen
- implementar
- importar
- in
- incluido
- incluye
- energético
- información
- EN LA MINA
- inherente
- Las opciones de entrada
- entradas
- ejemplo
- aseguradora
- intereses
- IT
- Trabajos
- Empleo
- jpg
- json
- Clave
- claves
- Saber
- Label
- Etiquetas
- aterrizaje
- idioma
- large
- LATAM
- lanzado
- Liderazgo
- APRENDE:
- aprendizaje
- izquierda
- dejar
- cirugía estética
- como
- línea
- líneas
- Lista
- LLM
- carga
- MIRADAS
- máquina
- máquina de aprendizaje
- para lograr
- HACE
- hombre
- Management
- muchos
- max
- Puede..
- Hombre
- Método
- millones
- min
- Min
- ML
- modelo
- modelos
- Monitorear
- más,
- múltiples
- my
- nombre
- Natural
- Procesamiento natural del lenguaje
- Navegar
- Navegación
- ¿ Necesita ayuda
- Nuevo
- Año Nuevo
- nlp
- no
- cuaderno
- número
- objeto
- of
- on
- , solamente
- habiertos
- optimización
- or
- solicite
- para las fiestas.
- reconocida por
- Otro
- salir
- salida
- Más de
- EL DESARROLLADOR
- página
- cristal
- papeles
- paradigma
- parámetros
- parte
- camino
- para
- Realizar
- actuación
- permisos
- con
- Personalizado
- Doctor en Filosofía
- FILANTROPÍA
- industrial
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- jugando
- puntos
- política
- Popular
- Publicación
- predicción
- Predicciones
- presente
- previamente
- problemas
- tratamiento
- propuesto
- prototipos
- prototipado
- proporcionar
- previsto
- proporciona un
- provisión
- publicado
- Python
- piñón
- Búsqueda
- con rapidez
- Leer
- real
- en tiempo real
- recientemente
- reconocimiento
- Recomendación
- recomendaciones
- la reducción de
- remove
- solicita
- exigir
- Requisitos
- investigador
- Recursos
- respuesta
- respuestas
- responsable
- resultado
- Resultados
- devoluciones
- una estrategia SEO para aparecer en las búsquedas de Google.
- Derecho
- Función
- Ejecutar
- correr
- s
- sabio
- mismo
- Guardar
- Escala
- la ampliación
- Científico
- Puntuación
- rayar
- guiones
- desplazamiento
- Sdk
- Buscar
- Sección
- EN LINEA
- ver
- selección
- Secuencia
- Serie
- Servicios
- ajustes
- En Corto
- Disparo
- Mostrar
- mostró
- sencillos
- simplificando
- desde
- Tamaño
- Fútbol
- a medida
- Soluciones
- RESOLVER
- algo
- algo
- hablar
- especialista
- soluciones y
- específicamente
- especificado
- habla
- Deportes
- estable
- independiente
- comienzo
- fundó
- el estado de la técnica
- quedarse
- paso
- pasos
- detenido
- STORAGE
- almacenamiento
- Cordón
- estructura
- estudio
- tal
- SOPORTE
- seguro
- Todas las funciones a su disposición
- mesa
- ¡Prepárate!
- toma
- Tarea
- tareas
- equipo
- tecnología
- plantillas
- Clasificación de texto
- esa
- La
- su
- luego
- Estas
- así
- pensamiento
- liderazgo de pensamiento
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- Series de tiempo
- TM
- a
- Temas
- Entrenar
- entrenado
- Formación
- transferir
- Transformar
- transformador
- transformers
- Viajar
- Trillones
- verdadero
- verdad
- try
- Los Tweets
- dos
- tipo
- ui
- bajo
- entender
- universidad
- subido
- us
- utilizan el
- usado
- usando
- utilidad
- variedad
- Vasto
- versión
- muy
- Video
- Virginia
- visión
- vs
- tutorial
- quieres
- fue
- Camino..
- we
- web
- servicios web
- WELL
- tuvieron
- cuando
- sean
- mientras
- cuyo
- amplio
- seguirá
- sin
- palabras
- trabajado
- funciona
- la escritura
- año
- años
- Usted
- Younger
- tú
- zephyrnet
- cero
- Aprendizaje de tiro cero