¿Qué es el entrenamiento de modelos?

13 febrero de 2024

Autores

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

¿Qué es el entrenamiento de modelos?

El entrenamiento de modelos es el proceso de "enseñar" a un modelo de machine learning a optimizar el rendimiento en un conjunto de datos de tareas de muestra relevantes para el caso de uso del modelo. Si los datos de entrenamiento se parecen mucho a los problemas del mundo real de los que se encargará el modelo, el aprendizaje de sus patrones y correlaciones permitirá a un modelo entrenado hacer predicciones precisas sobre nuevos datos.

El proceso de entrenamiento es el paso más crítico en el ciclo de vida de los modelos de IA, desde los sistemas de previsión basados en algoritmos básicos de regresión lineal hasta las complejas redes neuronales que impulsan la IA generativa.

El entrenamiento del modelo es el paso de machine learning (ML) donde se produce el “aprendizaje”. En machine learning, el aprendizaje implica ajustar los parámetros de un modelo de ML. Estos parámetros incluyen los pesos y sesgos en las funciones matemáticas que componen sus algoritmos. El objetivo de este ajuste es producir resultados más precisos. Los valores específicos de estos pesos y sesgos, que son el resultado final del entrenamiento del modelo, son la manifestación tangible del “conocimiento” de un modelo.

Matemáticamente, el objetivo de este aprendizaje es minimizar una función de pérdida que cuantifique el error de los outputs del modelo en las peticiones de entrenamiento. Cuando el resultado de la función de pérdida cae por debajo de un umbral predeterminado, es decir, cuando el error del modelo en las tareas de entrenamiento es lo suficientemente pequeño, el modelo se considera "entrenado". En el aprendizaje por refuerzo, el objetivo se invierte: en lugar de minimizar una función de pérdida, los parámetros del modelo se optimizan para maximizar la función de recompensa.

En la práctica, el entrenamiento de modelos implica un ciclo de recopilación y curación de datos, ejecución del modelo en esos datos de entrenamiento, medición de pérdidas, optimización de parámetros en consecuencia y prueba del rendimiento del modelo en conjuntos de datos de validación. Este flujo de trabajo procede de forma iterativa hasta que se logran resultados satisfactorios. Un entrenamiento adecuado también puede requerir el ajuste de hiperparámetros (opciones estructurales que influyen en el proceso de aprendizaje pero que no son "aprendibles" en sí mismas) en un proceso llamado ajuste de hiperparámetros.

A veces, un modelo ya entrenado se puede afinar para tareas o dominios más específicos mediante el aprendizaje adicional de los nuevos datos de entrenamiento. Aunque tanto el entrenamiento inicial como el fine-tuning posterior son "entrenamiento", el primero suele denominarse "preentrenamiento" en este contexto (para evitar ambigüedades). El fine-tuning es uno de los varios tipos de aprendizaje por transferencia, un término general para las técnicas de machine learning que adaptan modelos preentrenados para nuevos usos.

Diseño 3D de bolas rodando por un circuito

Las últimas noticias + conocimientos de IA 


Descubra ideas y noticias de expertos sobre IA, nube y mucho más en el boletín semanal Think. 

Modelos frente a algoritmos

Aunque las palabras “modelo” y “algoritmo” a menudo se usan indistintamente en el campo de la inteligencia artificial, no son lo mismo. La distinción radica principalmente en la relación de cada término con la formación de modelos.

  • Los algoritmos son procedimientos, generalmente descritos en lenguaje matemático o pseudocódigo, que se utilizan para generar predicciones o tomar decisiones basadas en la entrada que se les proporciona.
  • Los modelos son el resultado del proceso de optimización de los parámetros de un algoritmo para mejorar su rendimiento en un conjunto de datos de entrenamiento específico, y después en nuevos datos que se parezcan a esos ejemplos de entrenamiento. En términos de ciencia de datos, este proceso se denomina "ajustar" un algoritmo a un conjunto de datos.

En otras palabras, un modelo de IA se utiliza para hacer predicciones o tomar decisiones, y un algoritmo es la lógica matemática con la que opera ese modelo. Dos modelos pueden usar el mismo algoritmo subyacente, pero tener valores diferentes para las ponderaciones y los sesgos dentro de ese algoritmo porque se entrenaron con datos diferentes.

El deep learning es un subconjunto del machine learning cuyos modelos son redes neuronales con muchas capas (de ahí el término "deep"), en lugar de algoritmos diseñados explícitamente, como la regresión logística o Naïve Bayes. Dos modelos de deep learning pueden tener la misma estructura, como un autocodificador estándar, pero diferir en el número de capas, el número de neuronas por capa o las funciones de activación de cada neurona.

Tipos de entrenamiento de modelos

En la mayoría de los contextos, entrenamiento es casi sinónimo de aprendizaje: un científico de datos entrena; un modelo aprende. El aprendizaje implica ajustar los parámetros de un algoritmo de machine learning hasta que los resultados del modelo resultante cumplan alguna métrica de precisión o utilidad. El entrenamiento implica recopilar datos de entrenamiento y ajustar los hiperparámetros, como elegir una función de pérdida, fijar la tasa de actualización de los parámetros o alterar la arquitectura de una red neuronal, para facilitar ese aprendizaje.

Los modelos de IA suelen clasificarse como pertenecientes a uno de los tres paradigmas distintos de machine learning: aprendizaje supervisado, aprendizaje no supervisado o aprendizaje por refuerzo. Cada tipo de machine learning tiene sus propios casos de uso, hiperparámetros, algoritmos y procesos de entrenamiento únicos.

  • El aprendizaje supervisado se utiliza cuando se entrena un modelo para predecir la salida "correcta" de una entrada. Se aplica a tareas que requieren cierto grado de precisión en relación con alguna "verdad básica" externa, como la clasificación o la regresión.

  • El aprendizaje no supervisado se utiliza cuando un modelo se entrena para discernir patrones intrínsecos y correlaciones en los datos. A diferencia del aprendizaje supervisado, el aprendizaje no supervisado no presupone la existencia de ninguna verdad básica externa con la que comparar sus resultados.

  • El aprendizaje por refuerzo se utiliza cuando se entrena a una modelo para evaluar su entorno y tomar las medidas que se lleven la mayor recompensa.

Vale la pena señalar que las definiciones y distinciones entre cada paradigma de machine learning no siempre son formales o absolutas. Por ejemplo, el aprendizaje autosupervisado (SSL) puede clasificarse factiblemente como aprendizaje supervisado o no supervisado, dependiendo del aspecto de las definiciones de esos términos en el que uno se centre. El aprendizaje semisupervisado combina el aprendizaje no supervisado y supervisado.

También vale la pena señalar que a veces se pueden utilizar varios tipos de machine learning para entrenar un único sistema de IA. Por ejemplo, las versiones de modelos de lenguaje de gran tamaño (LLM) utilizadas para aplicaciones conversacionales como chatbot suelen someterse a un preentrenamiento autosupervisado, seguido de un fine-tuning supervisado y, posteriormente, al aprendizaje por refuerzo a partir del feedback humano (RLHF).

Aprendizaje supervisado

Como forma dominante de entrenamiento para las redes neuronales que componen los deep learning, el aprendizaje supervisado sustenta la mayoría de los modelos de IA de última generación en la actualidad. El aprendizaje supervisado es el paradigma de entrenamiento principal para tareas que requieren precisión, como la clasificación o la regresión. 

Para entrenar la precisión de un modelo, es necesario comparar sus predicciones de salida para una entrada específica con las predicciones "correctas" para esa entrada, lo que suele denominarse la verdad sobre el terreno. En el aprendizaje supervisado convencional, esa verdad básica la proporcionan los pares de datos etiquetados. Por ejemplo, los datos de entrenamiento para modelos de detección de objetos emparejan imágenes sin procesar (la entrada) con versiones anotadas de las imágenes que indican la ubicación y clasificación de cada objeto dentro de ellas (el resultado).

Dado que este método de formación requiere la participación de un ser humano que proporcione esa verdad de base, se denomina aprendizaje "supervisado". Pero la característica definitiva del aprendizaje supervisado no es la participación de los seres humanos, sino más bien el uso de alguna verdad fundamental y la minimización de una función de pérdida que mide la divergencia de ella. Esta distinción se volvió importante a medida que las nuevas técnicas de aprendizaje innovadoras idearon formas de inferir implícitamente "pseudoetiquetas" a partir de datos no etiquetados.

Para adaptarse a una noción más versátil de aprendizaje supervisado, la terminología moderna de ML utiliza "supervisión" o "señales de supervisión" para referirse a cualquier fuente de información básica. En el aprendizaje autosupervisado, que es nominalmente "no supervisado" en el sentido de que utiliza datos no etiquetados, las señales de supervisión se derivan de la estructura de los propios datos no etiquetados. Por ejemplo, los LLM se entrenan previamente a través de SSL prediciendo palabras enmascaradas en muestras de texto, con el texto original sirviendo como verdad básica.

Aprendizaje no supervisado

A diferencia del aprendizaje supervisado, el aprendizaje no supervisado no asume la preexistencia de respuestas "correctas" y, por lo tanto, no implica señales de supervisión ni funciones de pérdida convencionales. Los algoritmos de aprendizaje no supervisado buscan descubrir patrones intrínsecos en datos no etiquetados, como similitudes, correlaciones o agrupaciones potenciales, y son más útiles cuando dichos patrones no son necesariamente evidentes para los observadores humanos.

Entre las categorías destacadas de algoritmos de aprendizaje no supervisado se incluyen:

  • Los algoritmos de agrupación dividen los puntos de datos no etiquetados en "clústeres" o agrupaciones, en función de su proximidad o similitud entre sí. Por ejemplo, la agrupación de medias k, un popular algoritmo de agrupación, se utiliza en la segmentación del mercado para agrupar a los clientes con atributos similares en k grupos.
  • Los algoritmos de asociación distinguen correlaciones, como entre una acción particular y ciertas condiciones. Por ejemplo, las empresas de comercio electrónico como Amazon utilizan modelos de asociación no supervisados para impulsar los motores de recomendación.
  • Los algoritmos de reducción de dimensionalidad están diseñados para reducir la complejidad de los datos representándolos con un número menor de características, es decir, representándolos en menos dimensiones, al tiempo que conservan sus características significativas. Tienen varios casos de uso, incluida la compresión de datos, la visualización de datos y la ingeniería de características.

Como su nombre indica, los algoritmos de aprendizaje no supervisado pueden entenderse en términos generales como algo que "se optimizan a sí mismos". Por ejemplo, esta animación del profesor de la Universidad de Utah, Andrey Shabalin, Ph.D., demuestra cómo un algoritmo de agrupación de medias k optimiza iterativamente el centroide de cada clúster.

Como tal, el entrenamiento de modelos de IA que utilizan algoritmos de aprendizaje no supervisados suele ser una cuestión de ajuste de hiperparámetros. Por ejemplo, en un algoritmo de agrupación, el número ideal de clústeres (k) no siempre es obvio y puede requerir experimentación manual para obtener resultados óptimos.

Aprendizaje de refuerzo

Mientras que el aprendizaje supervisado entrena modelos optimizándolos para que se ajusten a ejemplares ideales y los algoritmos de aprendizaje no supervisado se ajustan a un conjunto de datos, los modelos de aprendizaje por refuerzo se entrenan de forma holística mediante ensayo y error. Los problemas de refuerzo no implican una respuesta "correcta" singular; en su lugar, implican decisiones "buenas" y decisiones "malas" (o quizá neutras).

En lugar de los pares independientes de datos de entrada-salida utilizados en el aprendizaje supervisado, el aprendizaje por refuerzo (RL) funciona con tuplas de datos interdependientes de estado-acción-recompensa. Un marco matemático para el aprendizaje por refuerzo se basa principalmente en estos componentes:

  • El espacio de estado contiene toda la información disponible relevante para las decisiones que pueda tomar el modelo. Por lo general, cambia con cada acción que realiza el modelo.
  • El espacio de acción contiene todas las decisiones que el modelo puede tomar en un momento dado. En un juego de mesa, el espacio de acción comprende todos los movimientos legales disponibles en ese momento. En la generación de texto, el espacio de acción comprende todo el "vocabulario" de tokens disponibles para un LLM.
  • La función de recompensa determina el feedback positivo (o negativo) que se proporciona al modelo como resultado de cada acción en una señal de recompensa: una cuantificación escalar de ese feedback. Por ejemplo, al entrenar un programa de ajedrez con RL, una función de recompensa podría incentivar mover que aumenten la probabilidad de ganar y desincentivar mover que disminuyan la probabilidad de victoria. Al entrenar un coche autónomo, una función de recompensa podría desincentivar las maniobras que infrinjan las leyes o disminuyan la probabilidad de seguridad.
  • Una política es el "proceso de pensamiento" que impulsa el comportamiento de un agente de RL. Matemáticamente hablando, una política (π) es una función que toma un estado (s) como entrada y devuelve una acción (un):  π(s)un.

El objetivo de un algoritmo RL es optimizar una política para obtener la máxima recompensa. En el aprendizaje por refuerzo profundo, la política se representa como una red neuronal cuyos parámetros se actualizan continuamente para maximizar la función de recompensa (en lugar de minimizar una función de pérdida).

Cómo entrenar un modelo de machine learning

El ciclo de vida del desarrollo de modelos comprende varios procesos, algunos de los que se repiten cíclicamente de forma iterativa hasta que se obtienen resultados satisfactorios.

Aunque el aprendizaje por refuerzo, el aprendizaje supervisado y el aprendizaje no supervisado tienen elementos de entrenamiento que son exclusivos de su paradigma, el flujo de trabajo general necesario para entrenar un modelo consta de estos pasos:

  • Selección de modelo
  • Recopilación de datos
  • Preparación de datos
  • Selección de hiperparámetros
  • Rendimiento en datos de entrenamiento
  • Cálculo de la pérdida (o recompensa)
  • Optimización de los parámetros 
  • Evaluación de modelos

Selección de modelo

Seleccionar el algoritmo (o arquitectura de redes neuronales) adecuado no depende únicamente del problema que necesita resolver y de los tipos de datos con los que trabajará el modelo. El tipo de modelo ideal también depende de si prioriza la velocidad y la eficiencia sobre la precisión y el rendimiento (o al revés), y del presupuesto y de los recursos de hardware o computación disponibles. Por ejemplo, entrenar o ajustar un LLM a menudo requiere varias unidades de procesamiento gráfico (GPU).

Recopilación de datos

Obtener datos de entrenamiento de alta calidad para su caso de uso no es trivial, especialmente para los modelos de deep learning que a menudo requieren muchos miles, si no millones, de ejemplos para un entrenamiento adecuado. Aunque una canalización de datos propietaria presenta oportunidades únicas para la personalización y las ventajas competitivas, hay conjuntos de datos de código abierto de buena reputación disponibles para la mayoría de los dominios y tareas. En algunos campos, particularmente el procesamiento del lenguaje natural (PLN), la generación de datos sintéticos es una opción cada vez más viable.

Preparación de datos

Para ser utilizados para el entrenamiento, los datos sin procesar, especialmente cuando se recopilan de primera mano o de múltiples fuentes de datos, suelen requerir algún procesamiento previo, que puede incluir la limpieza de los datos, la normalización de los valores y la estandarización del formato. Existen muchos servicios para automatizar parte o la totalidad de este proceso, como Docling, una herramienta de código abierto que convierte archivos PDF y otros formatos de archivo en texto más legible por máquina al tiempo que conserva elementos estructurales importantes.

Para el aprendizaje supervisado, los datos deben etiquetarse y, a veces, anotarse con un detalle significativo. Por ejemplo, las imágenes utilizadas para entrenar modelos de segmentación de imágenes deben etiquetarse hasta el nivel de píxel. Este etiquetado puede implicar un tiempo y un trabajo significativos, que deben tenerse en cuenta en los plazos y el presupuesto.

Selección de hiperparámetros

Incluso una vez que haya elegido una arquitectura de algoritmo o modelo, aún le quedan más opciones por tomar. Los algoritmos de ML convencionales rara vez son iguales para todos, y las redes neuronales están aún menos estandarizadas. Seleccionar los hiperparámetros correctos, los elementos modulares de un algoritmo que son externos a la optimización de parámetros, es esencial para una formación eficaz y exitosa.

Cuando el entrenamiento no se desarrolla satisfactoriamente, o cuando se trabaja con algoritmos de aprendizaje no supervisado o algoritmos de aprendizaje supervisado no paramétrico, como los árboles de decisión, el rendimiento del modelo puede modificarse y mejorarse mediante el ajuste de hiperparámetros. Puede que sea necesario un poco de ensayo y error para llegar a la velocidad de aprendizaje, el tamaño del lote, la función de pérdida (y los términos de regularización) o el algoritmo de optimización óptimos.

Uno de estos parámetros es la inicialización de los parámetros aprendibles. Suelen ser aleatorios, pero incluso la aleatorización de parámetros tiene múltiples estrategias. Los parámetros iniciales óptimos también se pueden "aprender" mediante una técnica llamada metaaprendizaje.

Rendimiento en los datos de entrenamiento

Una vez establecidos los parámetros e hiperparámetros iniciales, el modelo procesa un lote de ejemplos de datos de entrada extraídos del conjunto de datos de entrenamiento. Como los parámetros iniciales son aleatorios, el modelo no suele dar aún "buenos" resultados. El objetivo de la primera ejecución de entrenamiento es simplemente establecer una línea de base para luego optimizar. El tamaño del lote (el número de ejemplos que se procesan en cada "lote" antes de calcular la pérdida y optimizar los parámetros) es en sí mismo un hiperparámetro importante.

Existen muchos marcos de código abierto para configurar y ejecutar modelos de machine learning para entrenamiento, como PyTorch, Keras o TensorFlow. La mayoría funciona con Python o JavaScript y, al ser proyectos impulsados por la comunidad, ofrecen amplias bibliotecas de contenido tutorial para principiantes.

Cálculo de la pérdida (o recompensa)

A medida que su modelo trabaja a través de ejemplos de entrenamiento, la función de pérdida elegida rastrea la discrepancia entre las outputs del modelo y las actualizaciones "correctas" para cada entrada. En el deep learning, en el que los modelos son redes neuronales que comprenden varias ecuaciones anidadas unas dentro de otras, la retropropagación se utiliza para calcular cómo cada nodo de la red neuronal contribuye a la pérdida global.

En el aprendizaje supervisado, el objetivo formal del entrenamiento suele ser minimizar esa función de pérdida. Algunas arquitecturas de modelos, como los autocodificadores variacionales (VAE), reformulan el problema en términos de maximizar algún proxy para la función de pérdida. Los algoritmos de RL suelen buscar maximizar una función de recompensa y, a veces, minimizar simultáneamente un término de regularización que penaliza los comportamientos no deseados.

Optimización de parámetros

La optimización de un algoritmo de ML se suele realizar mediante un algoritmo independiente. En matemáticas, un algoritmo de optimización está diseñado para minimizar o maximizar alguna otra función (en este caso, una función de pérdida o una función de recompensa) determinando valores óptimos para las variables de esa función. En ML, esas variables son los pesos y sesgos en un algoritmo o entre diferentes nodos de una red neuronal.

El algoritmo de optimización ideal depende del tipo de modelo que se esté entrenando. Muchos algoritmos de ML, y especialmente los modelos basados en redes neuronales, utilizan variaciones de descenso de gradiente. Ciertos algoritmos con funciones cuadráticas, como las máquinas de vectores de soporte (SVM), podrían funcionar mejor con la programación cuadrática. Los algoritmos de regresión lineal suelen optimizarse mediante algoritmos de mínimos cuadrados. El aprendizaje por refuerzo tiene sus propios algoritmos de optimización, como la optimización proximal de políticas (PPO), la optimización directa de políticas (DPO) o la crítica del actor de ventaja (A2C). 

Esta secuencia de pasos de entrenamiento (ajustar los hiperparámetros, ejecutar el modelo en un lote de datos de entrenamiento, calcular las pérdidas y optimizar los parámetros) se repite en varias iteraciones hasta que la pérdida se ha minimizado lo suficiente.

Evaluación de modelos

Un rendimiento excelente en los datos de entrenamiento no es, en sí mismo, una prueba concluyente de que el modelo se haya entrenado y preparado con éxito para su implementación en el mundo real. Se debe tener cuidado para evitar el sobreajuste, en el que un modelo esencialmente ha memorizado los datos de entrenamiento pero no puede generalizar bien a nuevos datos (lo que frustra el propósito del entrenamiento). El sobreajuste puede entenderse como el equivalente en machine learning de "enseñar para la prueba".

Para evitar el sobreajuste, la práctica estándar es reservar una parte del conjunto de datos de entrenamiento en un proceso llamado validación cruzada. Este proceso permite probar el modelo con datos nuevos que no ha visto, lo que garantiza que se haya entrenado correctamente.

Mixture of Experts | Pódcast

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA al servicio de su negocio con la experiencia líder del sector y la cartera de soluciones de IA de IBM.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida de desarrollo de la IA. Produzca potentes soluciones de IA con interfaces intuitivas, flujos de trabajo y acceso a API y SDK estándar del sector.

Explore watsonx.ai Solicite una demostración en directo