Escribir la hipótesis antes de lanzar el cálculo
Describe el comportamiento que quieres mejorar: clasificar documentos de un dominio, respetar un formato de respuesta o extraer información estructurada. Fija también lo que no debe degradarse. Para una extracción, puede ser la validez del formato y la presencia de campos requeridos; para una clasificación, una métrica por categoría en lugar de una sola media global.
Evalúa primero el modelo de partida en un conjunto separado del de entrenamiento. Conserva las salidas y la configuración de esa evaluación. Podrás comparar la adaptación con un punto de partida concreto y detectar una mejora limitada a ciertos ejemplos. Reserva los datos de test final: usarlos para elegir sucesivamente todos los ajustes acaba debilitando su valor de control.
Preparar los datos y su división
Versiona los ejemplos, las reglas de limpieza y las transformaciones. Busca duplicados entre entrenamiento y evaluación, y luego inspecciona una pequeña muestra tras el preprocesamiento exacto del programa. Para texto, verifica el tokenizer, los separadores, el truncado y las posiciones sobre las que se calcula la pérdida. Para imágenes, verifica las dimensiones y las transformaciones aplicadas a las categorías.
Ejemplo de preparación: toma algunos ejemplos representativos de cada categoría, muestra su forma tras la transformación y comprueba manualmente el objetivo esperado. Después haz un paso completo por el bucle de entrenamiento y la evaluación. Este método busca errores de datos o de conexión; no permite concluir sobre la calidad final del modelo.
Elegir los parámetros que entrenas
Un fine-tuning completo actualiza el conjunto de parámetros previstos por tu modelo. Un método como LoRA conserva los pesos base y aprende matrices adicionales de bajo rango en módulos elegidos. Esta elección reduce el número de parámetros entrenables, pero no elimina la necesidad de cargar el modelo base y de procesar sus activaciones.
Registra los módulos objetivo, los parámetros entrenables y las posibles capas adicionales guardadas. Para LoRA, el rango forma parte de la configuración que hay que comparar; no basta para predecir la calidad. Verifica desde el principio que una actualización modifica efectivamente los parámetros esperados. En la exportación, el adaptador debe quedar asociado al modelo base y a su versión exacta.
Dimensionar una etapa completa de entrenamiento
Valida una etapa que incluya el cálculo de la pérdida, la retropropagación y la actualización del optimizador. Un modelo que cabe en memoria durante su carga puede superar la capacidad disponible durante esta etapa. Mide con una longitud de entrada y un microbatch representativos. La precisión, los estados del optimizador y los parámetros que realmente se entrenan forman parte de la estimación.
La acumulación de gradientes permite organizar una actualización a partir de varios microbatchs; documenta su número y la normalización de la pérdida. El activation checkpointing cambia algunos cálculos adicionales por menos activaciones conservadas. Verifica estas opciones por separado antes de combinarlas. Cambian el desarrollo del experimento y deben figurar en el registro de resultados.
Mantener CUDA, ROCm y el distribuido en el protocolo
Verifica la compatibilidad del modelo, las extensiones y el método de adaptación con el backend elegido. En NVIDIA, prepara la cadena CUDA; en AMD, la cadena ROCm. Un cambio de plataforma exige rehacer los controles de lanzamiento y de calidad. Conserva las versiones realmente utilizadas en lugar de suponer que un entorno con el mismo nombre produce la misma ejecución.
Con DistributedDataParallel, cada proceso trabaja con una réplica del modelo y los gradientes se sincronizan. Esta estrategia no comparte automáticamente los pesos entre las memorias de las GPU; también hay que configurar el reparto de los datos. Si tu objetivo es que quepa un estado más voluminoso, examina una estrategia que reparta ese estado y verifica sus restricciones antes de aumentar el número de lotes.
Organizar las variantes y la decisión final
Asigna un identificador a cada experimento y cambia solo un conjunto de parámetros que puedas explicar. Mantén el mismo procedimiento de evaluación entre variantes, con la semilla, el presupuesto de entrenamiento y los datos utilizados. Registra también los ensayos interrumpidos o inválidos: excluirlos sin explicación dificulta interpretar la comparación.
Planifica el alquiler de 3, 7 o 30 días en torno a fases distintas: control inicial, experimento, evaluación, reanudación y exportación. Reserva un margen para revisar un checkpoint en un proceso nuevo. Al final, entrega el modelo o el adaptador, su configuración, los resultados comparativos y las limitaciones observadas. Tú decides qué tratamientos aplicar; Kernodeck no inspecciona su contenido.