3 puntos por GN⁺ 2023-09-24 | 1 comentarios | Compartir por WhatsApp
  • Aunque los LLM grandes pueden resolver tareas nuevas solo con few-shot, su costo de serving es alto, por lo que el equipo de Google Cloud AI propone distilling step-by-step, que entrena modelos pequeños especializados por tarea junto con rationales en lenguaje natural
  • Este enfoque extrae el razonamiento intermedio de un LLM mediante Chain-of-Thought (CoT) en few-shot y lo convierte en aprendizaje multitarea donde un modelo T5 aprende al mismo tiempo a predecir etiquetas y a generar rationales
  • Los experimentos usan PaLM de 540B como LLM de referencia y T5 como modelo downstream para evaluar inferencia en lenguaje natural, preguntas y respuestas de sentido común, y problemas aritméticos verbales en e-SNLI, ANLI, CQA y SVAMP
  • En e-SNLI, logró mejor rendimiento que el fine-tuning estándar usando solo 12.5% de todos los datos, y en ANLI un T5 de 770M superó el rendimiento few-shot de PaLM 540B con 80% de los datos, reduciendo el tamaño del modelo en más de 700 veces
  • Es un enfoque que reduce el trade-off entre desplegar modelos pequeños y el costo de recolectar datos de entrenamiento, y está disponible en private preview en Vertex AI

El costo de desplegar LLM y los límites de entrenar modelos pequeños

  • Los LLM pueden manejar tareas nuevas no vistas con prompting zero-shot y few-shot, pero en servicios reales el tamaño del modelo se vuelve una restricción importante
    • Para servir un LLM de escala 175B se necesita al menos 350GB de memoria GPU en infraestructura especializada
    • Los LLM más recientes de ese momento estaban compuestos por más de 500B parámetros
  • En la práctica, muchas veces se despliegan modelos más pequeños especializados por tarea, y normalmente se usan dos métodos
    • Fine-tuning: actualizar un modelo pequeño preentrenado como BERT o T5 con datos downstream etiquetados por personas
    • Distillation: entrenar un modelo pequeño con etiquetas generadas por un LLM más grande
  • Ambos métodos siguen teniendo una carga de costos
    • El fine-tuning requiere etiquetas creadas por humanos, lo que implica mucho costo y trabajo
    • La distillation requiere grandes volúmenes de datos sin etiquetar, y recolectarlos también puede ser difícil

La idea central de Distilling step-by-step

  • Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes es un método que busca reducir el trade-off entre el tamaño del modelo y el costo de recolectar datos de entrenamiento
  • distilling step-by-step extrae rationales en lenguaje natural, es decir, pasos de razonamiento intermedio, desde un LLM y los usa como una señal adicional de supervisión para entrenar un modelo pequeño
  • Los rationales en lenguaje natural muestran la conexión entre la pregunta de entrada y la respuesta de salida
    • Por ejemplo, si se dan el largo y el ancho de una habitación y el área de alfombra ya disponible, el LLM puede generar un razonamiento intermedio como “Area = length * width”
    • Estos rationales pueden contener conocimiento de la tarea que un modelo pequeño normalmente tendría que aprender con muchos más datos
  • En vez de aprender solo la etiqueta, el modelo aprende etiquetas y rationales juntos para que el modelo pequeño domine la tarea con menos datos

Procedimiento de entrenamiento en dos etapas

  • La primera etapa es el proceso de extraer rationales desde el LLM con prompting CoT few-shot
    • Para cada tarea, se incluyen en el prompt del LLM ejemplos compuestos por tres elementos: entrada, rationale y salida
    • Siguiendo esos ejemplos, el LLM genera un rationale para una nueva entrada
  • En el ejemplo de preguntas y respuestas de sentido común, se da la pregunta “Sammy wanted to go to where the people are” junto con opciones
    • La respuesta correcta es “(a) populated areas”
    • El rationale aporta la conexión de que debe ser un lugar donde haya mucha gente, y entre las opciones solo populated areas cumple eso
  • En la segunda etapa, los rationales extraídos se incorporan al entrenamiento del modelo pequeño
    • Además de la tarea estándar de predicción de etiquetas, se entrena una nueva tarea de generación de rationales
    • Para distinguir ambas tareas, se agrega al inicio de la entrada del modelo un prefijo de tarea como [label] o [rationale]
    • La tarea de generación de rationales entrena al modelo para producir pasos de razonamiento intermedio y, como resultado, lo guía a predecir mejor las etiquetas

Configuración experimental y puntos de comparación

  • El LLM de referencia es PaLM 540B
  • Para el modelo downstream especializado por tarea se usa T5
  • En el prompting CoT se reutilizan prompts CoT existentes cuando es posible, y para datasets nuevos se construyen ejemplos manualmente
  • La evaluación se realiza en 4 benchmarks de 3 tareas de NLP
    • e-SNLI, ANLI: inferencia en lenguaje natural
    • CQA: preguntas y respuestas de sentido común
    • SVAMP: problemas aritméticos verbales
  • Los criterios de comparación se dividen en dos líneas
    • Para comparar con un LLM con prompting few-shot, se usa few-shot CoT prompting de PaLM 540B
    • También se incluyen como referencia el fine-tuning estándar y la distillation estándar, aunque el texto del blog se centra sobre todo en la comparación con fine-tuning estándar

Supera al fine-tuning estándar con menos datos de entrenamiento

  • distilling step-by-step logra mejor rendimiento que el fine-tuning estándar con muchos menos datos de entrenamiento
  • En e-SNLI, alcanza mejor rendimiento que el fine-tuning estándar entrenado con el dataset completo usando solo 12.5% del dataset total
  • En otros datasets también se reduce el tamaño de datos necesario
    • ANLI: reducción de 75% en el tamaño del dataset
    • CQA: reducción de 25% en el tamaño del dataset
    • SVAMP: reducción de 20% en el tamaño del dataset
  • Esta comparación se realizó con un modelo T5 de 220M sobre datasets etiquetados por humanos de distintos tamaños

Supera la referencia de PaLM con un modelo de despliegue más pequeño

  • distilling step-by-step logra mejor rendimiento que un LLM con prompting few-shot CoT usando un modelo mucho más pequeño
  • En e-SNLI, un modelo T5 de 220M logra mejor rendimiento que PaLM 540B
  • En ANLI, un modelo T5 de 770M logra mejor rendimiento que PaLM 540B
    • Este modelo es más de 700 veces más pequeño que PaLM
    • Con ese mismo T5 de 770M, solo con fine-tuning estándar es difícil alcanzar el rendimiento de PaLM
  • Son resultados que muestran al mismo tiempo un modelo más pequeño y un rendimiento superior al de la referencia LLM

Resultados reduciendo a la vez datos y tamaño del modelo

  • En ANLI, distilling step-by-step supera el rendimiento few-shot de PaLM 540B usando solo 770M T5 y 80% de todos los datos
  • En las mismas condiciones, el fine-tuning estándar no logra alcanzar el rendimiento de PaLM ni siquiera usando 100% de todos los datos
  • Mediante una exploración aproximada, se identificó el tamaño mínimo de modelo T5 y la cantidad mínima de ejemplos etiquetados por humanos necesarios para superar el rendimiento few-shot CoT del LLM
  • Como resultado, este método reduce al mismo tiempo el tamaño del modelo desplegado y la cantidad de datos de entrenamiento necesarios para superar el rendimiento del LLM

Disponibilidad

  • distilling step-by-step está disponible en private preview en Vertex AI
  • Si se desea usar, se indica contactar a vertex-llm-tuning-preview@google.com incluyendo el número de proyecto de Google Cloud y un resumen del caso de uso

1 comentarios

 
GN⁺ 2023-09-24
Opiniones de Hacker News
  • Creo que los modelos expertos más pequeños van a dominar la mayoría de las aplicaciones. Hay un punto óptimo y un equilibrio sutil entre tamaño y utilidad, y mecanismos como los que muestra el artículo probablemente encontrarán y harán realidad ese punto óptimo.

    • Un gran modelo de propósito general podría componerse de varios modelos expertos pequeños y un modelo intermediario que decida a qué modelo especializado por dominio preguntarle.
  • Es interesante que hayan usado T5 para el modelo destilado. Pensaba que la arquitectura encoder-decoder iba de salida, pero parece que sigue siendo relevante.
    También es interesante que esta idea no sea inimaginablemente ingeniosa ni fuera de lo común. Muestra que todavía queda mucha fruta al alcance de la mano por explorar y que el futuro de los modelos de lenguaje grandes no está escrito. La solución real podría ser una mezcla de expertos entrenada de esta manera. Es emocionante que, si se encuentra la combinación correcta de ideas, un objetivo cercano al Santo Grial parezca alcanzable.

    • La familia T5 es excelente. FastChat-T5 tiene una calidad de generación de texto sorprendente; por ejemplo, también funciona bien para chatbots con generación aumentada por recuperación, y puede ejecutarse en CPU lo bastante rápido como para mantener conversaciones en tiempo real.
    • El paper mencionado se envió en mayo. La arquitectura encoder-decoder todavía parece bastante razonable en modelos multimodales.
      Todavía queda mucha fruta al alcance de la mano. Creo haber visto docenas de variantes: cadena de pensamiento, árbol de pensamiento, grafo de pensamiento, self-ask, self-critique, self-plan, self-reflect, etc.
    • Me da curiosidad por qué pensabas que la arquitectura encoder-decoder iba de salida.
  • La cantidad de actividad y avance en modelos de lenguaje grandes/machine learning/inteligencia artificial es realmente enorme. Estas optimizaciones son especialmente valiosas en un contexto donde hardware como el de Nvidia es muy caro.

  • ¿No es esto lo mismo que https://arxiv.org/abs/2212.08410, pero publicado un año después?

    • La mejora es impresionante, pero GSM8K 22% no llama mucho la atención como resultado final.
  • No soy investigador, pero siempre tuve la intuición de que los modelos más eficaces serían multimodales y estarían entrenados con un currículo central cuidadosamente diseñado.
    Querría asegurarme de que el sistema adquiera y mantenga las estructuras y habilidades básicas necesarias para generalizar de forma eficaz y precisa. La idea sería mantener esas cosas mientras se le alimenta con muchos datos variados para que aprenda excepciones y formas de combinar habilidades. Pero hace falta una manera de garantizar hasta el final esas habilidades y conocimientos centrales. Quizá sea posible si, como en el paper, se le pide que produzca no solo la respuesta final, sino también su comprensión o el proceso de manipulación.
    Por ejemplo, para un modelo de generación de código, se le podría exigir que produzca una simulación de la máquina de estados del programa solicitado.

    • Coincido en que lo multimodal es el camino, pero no veo nada intuitivo en esperar que el currículo tenga que diseñarse cuidadosamente. Vale la pena compararlo con https://gwern.net/scaling-hypothesis.
    • Si pensamos en la idea de un currículo escolar, me pregunto si el orden de los datos de entrenamiento marca alguna diferencia. Podría variar según si se alimenta de lo simple a lo complejo o al revés. El descenso de gradiente seguramente puede llegar a distintos mínimos locales, mejores o peores.
  • En la primera figura, me pregunto por qué la cantidad de datos de entrenamiento del modelo de lenguaje grande es menor que la del modelo destilado y la del modelo específico para la tarea.
    ¿O será que los autores incluyeron la cantidad de datos de entrenamiento necesaria para el modelo de lenguaje grande dentro de los datos necesarios para el modelo destilado/específico de la tarea?
    https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj...

    • Sí. Están contando la cantidad de datos que tienes que recopilar directamente para resolver el problema.
      Puedes tomar un modelo de lenguaje grande preentrenado y, en ese caso, los datos que yo tengo que recopilar son los necesarios para ajustar finamente ese modelo.
  • ¿Queda mucha capacidad sin usar en esos modelos de lenguaje grandes gigantescos, o los modelos de lenguaje pequeños simplemente imitan el trabajo de razonamiento? ¿Sería imitar la imitación?

    • No hay una distinción esencial entre lo real y la imitación.
      Los datasets con los que se entrenan los modelos de lenguaje grandes gigantes contienen mucho ruido que frena el progreso. También incluyen mucho conocimiento irrelevante, que el modelo tiene que aprender o memorizar, y por eso terminan haciendo falta cantidades absurdas de parámetros.
      Si no intentas enseñarle a un modelo de lenguaje la suma total del conocimiento humano y, en cambio, le das un dataset curado de alta calidad, la barrera de escala baja muchísimo.
      https://arxiv.org/abs/2305.07759
    • Esa pregunta parece casi equivalente a “¿los modelos de lenguaje grandes gigantes actuales están cerca del óptimo?”, y parece evidente que no.
      Me pregunto qué ideas podría haber para estimar el tamaño óptimo.
    • Los modelos grandes generalizan mejor. Los modelos pequeños son más fáciles de entrenar para tareas específicas.
  • Interesante. Para que un modelo pequeño rinda de forma similar a los modelos de lenguaje grandes de última generación, ¿será indispensable RLHF? Los problemas relacionados con la estructura de salida, el tono y la comprensión del dominio parecen resolverse con ajuste por instrucciones, pero no sé si eso bastará también para mejorar la capacidad de razonamiento de un modelo pequeño.

  • Dicen que servir un modelo de lenguaje grande de 175 mil millones de parámetros requiere al menos 350 GB de memoria GPU en infraestructura especializada.
    Apple vende una Mac Studio que admite hasta 144 GB de memoria GPU disponible.
    Sería bastante interesante si lanzaran una Mac Pro con más de 300 GB y dominaran el mercado de serving de modelos de lenguaje grandes.

    • ¿Hay algún framework que permita procesamiento por lotes de modelos de lenguaje grandes en Metal? Parece que GGML o MLC todavía no lo tienen.
      Si no, es simplemente otra razón por la que, por ahora, no es adecuado para alojar modelos de lenguaje grandes.
      En cualquier caso, quien realmente podría sacudir el tablero es Intel. En teoría podría entrar con tarjetas Arc de 2x48 GB y atacar a menor precio un mercado en el que AMD/Nvidia no entran por sus clientes de tarjetas profesionales.
    • Espero que la ventaja de hardware de Apple se libere de verdad en la generación M3. Ver que el A17 Pro incluye soporte para ray tracing me da esperanza de que puedan alcanzar rápido a los jugadores establecidos.
      Sinceramente, esa es la única razón por la que he evitado el hardware más reciente de Apple. Uso la computadora principalmente en el escritorio, y el hardware de PC, especialmente las GPU, está muy por delante de lo mejor que Apple puede ofrecer. Es difícil justificar gastar casi 4 mil dólares cuando Linux encaja muy bien con mi trabajo y, al terminar, también puedo jugar.
    • Me pregunto quién será el primero en aumentar drásticamente la capacidad de RAM de sus productos de hardware para captar a los usuarios de modelos de lenguaje grandes. Parece una vía para ganar cuota de mercado.
    • Esa cifra ni siquiera aplica cuantización. Si cuantizas a 4 bits los 175 mil millones de parámetros, debería caber en unos 120 GB de VRAM. Un modelo de 34 mil millones de parámetros cabe incluso en una sola RTX3090 con 24 GB de VRAM usando cuantización a 4 bits.
  • Me pregunto si Facebook podrá entrenar modelos de lenguaje grandes con el historial completo de chats de todos sus usuarios.