4 puntos por GN⁺ 2024-01-25 | 1 comentarios | Compartir por WhatsApp
  • Ingeniería de combate de inteligencia artificial: lo que hay que saber

    • Una colección abierta de metodologías para el entrenamiento exitoso de modelos de inteligencia artificial (ML), en especial modelos de lenguaje de gran escala (LLM) y modelos multimodales (VLM).
    • Material técnico para ingenieros y operadores de entrenamiento de LLM/VLM, con muchos scripts y comandos de copiar y pegar para poder realizar rápidamente las tareas necesarias.
    • Registra de forma continua la experiencia y el know-how obtenidos al entrenar el modelo open source BLOOM-176B en 2022 y el modelo multimodal IDEFICS-80B en 2023, y actualmente está desarrollando/entrenando modelos open source de recuperación aumentada en Contextual.AI.
  • Tabla de contenido

    • Se disculpa por el diseño inestable, ya que está en proceso de escribir nuevos capítulos y reorganizar el contenido para que sea más intuitivo.
  • Componentes de hardware

    • Aceleradores - Los caballos de batalla del ML; incluye GPU, TPU, IPU, FPGA, HPU, QPU, RDU, etc.
    • Red - Conectividad dentro del nodo y entre nodos, y cálculo de requisitos de ancho de banda.
    • Almacenamiento - Discos y sistemas de archivos locales y distribuidos.
    • CPU - Contenido sobre CPU y afinidad.
    • Memoria de CPU - El capítulo más corto sobre cuánta memoria de CPU es suficiente.
  • Rendimiento

    • Tolerancia a fallos
    • Rendimiento
    • Redes multinodo
    • Paralelismo de modelos
  • Operaciones

    • SLURM
    • Hiperparámetros de entrenamiento e inicialización de modelos
    • Inestabilidad
  • Desarrollo

    • Depuración de fallos de software y hardware
    • Más depuración
    • Reproducibilidad
    • Precisión de tensores / tipos de datos
    • Notas sobre HF Transformers - Consejos sobre modelos pequeños, tokenizadores, datasets, etc.
  • Otros

    • Recursos - Cronología de LLM/VLM.
  • Accesos rápidos

    • Herramientas y guías que a menudo hace falta encontrar rápido.
    • Herramientas: all_reduce_bench.py, torch-distributed-gpu-test.py
    • Guías: debugging pytorch applications, slurm for users, make tiny models/datasets/tokenizers, LLM/VLM chronicles collection
  • Crear el libro

    • Si quieres generar un PDF o verificar enlaces, consulta la sección "Crear el libro".
  • Agradecimientos

    • Poder aprender este know-how es un privilegio del que solo unos pocos pueden disfrutar, ya que el costo de alquilar grandes clústeres de cómputo para ML es extremadamente alto.
    • Agradecimiento especial a Thom Wolf y HuggingFace.
  • Cómo contribuir

    • Si encuentras bugs, errores tipográficos o tienes sugerencias de mejora, se recomienda abrir un issue o contribuir con un PR.
  • Licencia

    • El contenido de este sitio se distribuye bajo la licencia Attribution-ShareAlike 4.0 International.
  • Mapa de mis repositorios

    • Aprendizaje automático: ML Engineering Open Book | ML ways | Porting
    • Guías: The Art of Debugging
    • Aplicaciones: ipyexperiments
    • Herramientas y cheat sheets: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix

La opinión de GN⁺

  • Este material hace una gran contribución a la comunidad de ML al ofrecer conocimiento práctico y herramientas necesarias para entrenar modelos de lenguaje de gran escala y modelos multimodales.
  • Al compartir know-how obtenido de experiencias en proyectos reales, ayuda a que ingenieros de software de nivel inicial adquieran conocimientos prácticos necesarios para entrenar modelos de ML a gran escala.
  • El enfoque open source promueve el intercambio de conocimiento y la colaboración en el campo del ML, lo que cumple un papel importante para acelerar la investigación y la innovación.

1 comentarios

 
GN⁺ 2024-01-25
Comentarios de Hacker News
  • Este artículo realmente vale mucho. Trabajo depurando configuraciones de entrenamiento de LLM para apoyar investigación, y me habría encantado tener notas como estas cuando estaba empezando.

    • Expresa que este tipo de información habría sido útil al inicio para alguien que trabaja depurando configuraciones de entrenamiento de LLM.
  • Trabajo con un Applied Scientist ayudando con tareas relacionadas con el entrenamiento y despliegue de modelos; ¿cómo podría alguien como yo exponerse a trabajo de ingeniería de más bajo nivel, como optimización y rendimiento? Tenemos un equipo de infraestructura de ML, pero su objetivo es construir herramientas alrededor de la plataforma, no necesariamente ejecutar las cargas de trabajo de la manera más óptima.

    • Indica que alguien que apoya el entrenamiento y despliegue de modelos quiere ganar experiencia en trabajo de ingeniería de bajo nivel, como optimización y rendimiento.
  • Quiero experimentar con esto, pero no tengo una GPU decente. ¿Cómo ejecutan ustedes estas cosas?

    • Expresa que tiene dificultades para empezar a experimentar sin una GPU adecuada.
  • Muchas gracias por todo lo que aparece en "Unsolicited Advice" de la sección AI Battlefield [1]. Es una perspectiva muy realista sobre estar siempre tratando de alcanzar el ritmo del rápido avance del desarrollo de IA y la carga emocional que eso implica.

    • Expresa agradecimiento por "Unsolicited Advice", que ofrece una mirada realista sobre la velocidad del desarrollo de IA y la carga emocional que genera.
  • ¿Qué tan ampliamente se usa Slurm?

    • Muestra curiosidad sobre el alcance de uso de Slurm.
  • Hice clic al azar y terminé leyendo sobre repeatability, pero todavía me pregunto cómo se logra esto en entrenamiento distribuido. ¿La sincronización determinista no hace que todo sea más lento? Aun así, he escuchado que al menos algunas empresas grandes dicen que su entrenamiento es repetible.

    • Plantea dudas sobre la repetibilidad en entrenamiento distribuido y el impacto de la sincronización determinista en el rendimiento.
  • ¿Cómo se consigue experiencia en estas cosas cuando no tienes trabajo?

    • Pregunta cómo se puede obtener experiencia relevante sin tener un empleo real.
  • ¿Hay un PDF en alguna parte? Parece que hay instrucciones para compilarlo, pero no el archivo en sí.

    • Indica que está buscando una versión en PDF de la documentación relacionada.