MaskLLM

MaskLLM

NVIDIA Research · Programación · Otro

MaskLLM es un método de poda de código abierto de NVIDIA Research que aprende máscaras de dispersión N:M para reducir modelos de lenguaje y recortar el coste de inferencia sin perder mucha precisión.

Vista previa de la interfaz de MaskLLM

Acerca de MaskLLM

What Is MaskLLM

MaskLLM es un método de investigación para comprimir modelos de lenguaje grandes. Forma parte de la familia de herramientas de poda que quitan los parámetros que el modelo no necesita, y lo hace mediante dispersión semiestructurada, también llamada dispersión N:M. La idea es sencilla: en cada bloque de M pesos consecutivos se conservan solo N. Un patrón 2:4 mantiene dos de cada cuatro pesos, lo que reduce a la mitad el volumen que el hardware debe mover.

Lo que distingue a MaskLLM es cómo elige qué pesos conservar. Los métodos anteriores se apoyan en una regla fija, como descartar los pesos más pequeños o usar una estimación estadística. MaskLLM trata la elección de la máscara como algo que el modelo aprende. Modela los patrones N:M como una distribución de probabilidad y la entrena con una técnica de muestreo llamada Gumbel Softmax, de modo que el modelo encuentra mejores máscaras sobre un conjunto de datos amplio. Los pesos permanecen congelados mientras se aprenden las máscaras, y eso es justo lo que hace que la dispersión 2:4 sea "sin pérdida" para una tarea concreta.

El atractivo práctico está en los números. Según NVIDIA, el modelo denso LLaMA-2 7B marca una perplejidad de 5,12 en Wikitext, mientras que los métodos de poda previos la empujan por encima de 10. MaskLLM se queda en 6,72 o 6,78 solo con aprender las máscaras y mantener los pesos congelados. El proyecto es de código abierto bajo una licencia de NVIDIA, así que investigadores e ingenieros pueden ejecutarlo por su cuenta. Eso sí, hace falta hardware con GPU de verdad y conocimientos de aprendizaje automático.

Getting Started

  1. Instala los paquetes de Python y ejecuta el script que descarga una máscara ya calculada desde Hugging Face
  2. Carga el modelo objetivo, por ejemplo LLaMA-2 7B o LLaMA-3 8B, en PyTorch
  3. Aplica la máscara descargada y mide la precisión con el script de perplejidad que incluye el proyecto
  4. Para trabajo propio, monta el entorno de Megatron-LM, prepara los datos y entrena una máscara nueva sobre tu dominio

Información del producto

Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de MaskLLM.

Plan gratuitoSí
Planes de pagoFree (open-source)
PlataformaPython, PyTorch, Hugging Face Transformers, Megatron-LM, NVIDIA GPUs
DesarrolladorNVIDIA Research
CategoríaProgramación · Otro
Fecha de lanzamientoSep 2024
Última actualizaciónDec 2024
Visitas al sitio webN/A
Ranking global del sitioN/A
Disponibilidad de la APINo

Ideal para

Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.

Usuarios

  • Investigadores de aprendizaje automático
  • Ingenieros de ML que despliegan modelos
  • Estudiantes y académicos
  • Desarrolladores de frameworks y herramientas

Tareas

  • Poda de modelos de lenguaje
  • Compresión de un solo paso
  • Dispersión para un dominio concreto
  • Transferencia de dispersión
  • Comparación de métodos de poda

Casos de uso

  • Un equipo que sirve un modelo de 7B con pocas GPU
  • Investigación que debe reproducir cifras publicadas
  • Un modelo que va bien en general pero falla en un nicho
  • Montar una tubería de compresión para una familia de modelos
  • Estudiar límites de licencia o privacidad

Funciones clave

Máscaras N:M aprendibles

En vez de puntuar cada peso a mano, MaskLLM aprende la máscara. Trata el conjunto de patrones N:M válidos como una distribución y toma muestras durante el entrenamiento, así el modelo converge hacia las mejores máscaras para un conjunto de datos. Ese paso aprendible es la diferencia de fondo frente a los métodos de un solo paso, que eligen una máscara una vez y se detienen.

Muestreo con Gumbel Softmax

El método toma prestada una técnica de muestreo discreto para que la elección de la máscara se pueda entrenar de extremo a extremo. Gumbel Softmax deja que los gradientes circulen por lo que de otro modo sería una elección dura, de todo o nada. Eso es lo que permite optimizar la distribución sobre las máscaras N:M con datos reales en lugar de estimarla.

Máscaras ya calculadas para modelos de Hugging Face

El proyecto trae máscaras listas para que lo pruebes sin entrenar nada. Hay máscaras publicadas para LLaMA-2 7B, LLaMA-3 8B y LLaMA-3.1 8B, cada una entrenada sobre un subconjunto de C4, y un script las descarga desde Hugging Face y las aplica a los modelos oficiales para evaluarlas.

Dispersión semiestructurada 2:4

MaskLLM apunta a la dispersión N:M, casi siempre al patrón 2:4 que conserva dos valores no nulos en cada cuatro pesos consecutivos. Este formato importa porque encaja con la aceleración por hardware, así que el modelo más pequeño no solo ocupa menos: también puede correr más rápido en la GPU adecuada.

Transferencia de patrones dispersos

El mismo modelo de probabilidad que aprende una máscara puede llevarla de un dominio a otro. Una vez entrenada una distribución de máscaras, se adapta a una tarea o un conjunto de datos nuevo con menos trabajo que empezar de cero, lo que los autores llaman transferibilidad. Es útil cuando un modelo debe seguir afinado en más de un escenario.

Tubería de entrenamiento con Megatron-LM

Para entrenamientos completos, MaskLLM incluye un flujo con Megatron-LM que reparte un modelo LLaMA entre varias GPU. El repositorio ofrece scripts para convertir checkpoints, tokenizar datos, generar una máscara previa con SparseGPT, Wanda o poda por magnitud, entrenar la máscara y recortar el checkpoint antes de publicarlo.

Ventajas y desventajas

Ventajas

  • Aprende las máscaras a partir de los datos en lugar de depender de una regla de importancia fija, lo que mejora la precisión con la misma dispersión
  • Publica código, pesos y máscaras ya calculadas bajo licencia abierta, así que los resultados se pueden reproducir
  • Admite aprendizaje por transferencia, de modo que una distribución de máscaras sirve para varias tareas y dominios
  • Funciona con modelos conocidos como LLaMA-2, LLaMA-3 y LLaMA-3.1 a través de Hugging Face y Megatron-LM
  • Mantiene los pesos congelados, así que la dispersión 2:4 aprendida no tiene pérdida para la tarea con la que se ajustó

Desventajas

  • Entrenar una máscara nueva exige un equipo con varias GPU, y el repositorio apunta a unos 40 GB de memoria por GPU en las ejecuciones completas
  • Es un artefacto de investigación, no un producto: no hay servicio de soporte, ni servicio alojado, ni API
  • Las máscaras listas salen para unos pocos modelos LLaMA, así que otras arquitecturas obligan a entrenar la tuya
  • El beneficio se nota en hardware que admite la aceleración 2:4, lo que limita lo que sacan GPU antiguas o no NVIDIA

Preguntas frecuentes

MaskLLM es un método de poda aprendible que añade dispersión N:M a los modelos de lenguaje grandes. En lugar de puntuar cada peso, aprende cuáles conservar modelando las máscaras como una distribución de probabilidad. NVIDIA Research lo publicó en NeurIPS 2024 y el código de MaskLLM está abierto en GitHub.

Contenido relacionado

Explora herramientas, habilidades y artículos relacionados con MaskLLM.

Alternativas a MaskLLM

Forefront

Forefront

Forefront · Programación

Forefront es una plataforma web para construir con IA de código abierto. Te deja ajustar los principales modelos de lenguaje de código abierto con tus propios datos, evaluar cómo rinden y ejecutarlos a través de una API o exportarlos para alojarlos tú mismo. Los desarrolladores que quieren la comodidad de una plataforma cerrada pero insisten en ser dueños de sus modelos y sus datos son el público objetivo.

Gratis / $0 - $99/moVer detalles
Startkit

Startkit

StartKit.AI · Programación

Startkit es un boilerplate para crear productos de SaaS con IA y wrappers de IA. Piénsalo como un boilerplate para startups de IA con las partes aburridas ya conectadas: autenticación, pagos con Stripe y Lemon Squeezy, límites de uso, correo transaccional y un kit de inicio de API de IA que habla con OpenAI, Anthropic, Groq o Llama. Clonas el repositorio, pones tu precio y te dedicas a la parte del producto por la que la gente paga de verdad. Está hecho con Next.js sobre React y Tailwind, así que buena parte del código boilerplate ya te resulta familiar.

De pago / $99 - $499 one-timeVer detalles
Testim

Testim

Tricentis · Programación

Testim es una plataforma de automatización de pruebas impulsada por IA para crear y ejecutar pruebas de extremo a extremo en aplicaciones web, móviles y Salesforce. Se apoya en el aprendizaje automático para mantener las pruebas estables cuando cambia una interfaz, así que los equipos dedican menos tiempo a reparar selectores rotos. No está nada mal para una herramienta de pruebas automatizadas que puedes empezar a usar hoy mismo. Creas pruebas grabando acciones en un navegador y luego añades JavaScript cuando necesitas más control. Es una opción sólida para equipos de QA con mucho trabajo.

Gratis / Custom pricing on requestVer detalles