Aplicando transfer learning
Clase 7 de 17 • Curso de Transfer Learning con Hugging Face
Contenido del curso
Clase 7 de 17 • Curso de Transfer Learning con Hugging Face
Contenido del curso
Mauricio Combariza
Juan R. Vergara M.
Patricio Sánchez Fernández
Nicolas Velasquez Lopez
Carlos Alberto Bustamante Gaytan
Patricio Sánchez Fernández
reacosta7383
FELIX DAVID CORDOVA GARCIA
Maria Barrera
Omar Uriel Espejel Díaz
Maria Barrera
Joaquín Ricardo Svoboda Abregú
Oscar Stiven Correa Guanare
MARIA TERESA PANIAGUA RIVERA
Pasos para afinar un modelo:
Que curso tan increible, en pocas clases te abre todo un universo de posibilidades !!!
Gracias por el resumen 📝👍
Excelente resumen, Mauricio.
Pregunté a chatGPT cuales son los pasos que debería seguir si quiero hacer transfer learning:
Si deseas hacer transfer learning, puedes seguir los siguientes pasos:
Selección del modelo base: Elige un modelo base pre-entrenado que tenga características similares a tu problema. Puedes encontrar modelos pre-entrenados en bibliotecas de aprendizaje profundo como TensorFlow, PyTorch, y Keras.
Preparación de datos: Prepara tus datos en un formato que sea compatible con el modelo pre-entrenado que has elegido. Si tu conjunto de datos es muy diferente al conjunto de datos original en el que se entrenó el modelo pre-entrenado, es posible que necesites hacer ajustes y transformaciones adicionales.
Ajuste fino del modelo: Descongela las últimas capas del modelo pre-entrenado y re-entrena todo el modelo con tus datos. Es importante establecer una tasa de aprendizaje adecuada y un tamaño de lote apropiado para evitar que el modelo se sobreajuste o subajuste.
Evaluación del modelo: Evalúa el rendimiento del modelo ajustado con tus datos. Si el modelo no se desempeña de manera satisfactoria, puedes ajustar la arquitectura del modelo, experimentar con diferentes tasas de aprendizaje o hiperparámetros, o agregar capas adicionales al modelo.
Uso del modelo: Una vez que hayas ajustado el modelo, puedes utilizarlo para realizar predicciones en nuevos datos. También puedes continuar ajustando el modelo con nuevos datos para mejorar su rendimiento.
Recuerda que el transfer learning no es una solución universal para todos los problemas de aprendizaje profundo, pero puede ser una técnica muy útil para mejorar el rendimiento de un modelo con conjuntos de datos limitados o para reducir el tiempo y costo de entrenamiento de un modelo.
Creo que es bastante acertado y concuerda con lo que dice la clase, sin embargo no me queda claro si hay que reentrenar todo el modelo o solo las capas nuevas 🤔
Según yo lo adecuado sería trabajar con la última capa, pero como siempre depende de cada proyecto y problema planteado, lo que si es que es una aplicación muy útil. Imagina que quieres tratar con un problema de clasificación. Si la cantidad de datos que tienes es insuficiente (por ejemplo 1000 imágenes), puedes tener problemas si quisieras hacer el modelo desde cero (en temas de underfitting), pero si usas el Transfer Learning puedes obtener mejores resultados si ese modelo pre-entrenado fue entrenado con muchos más datos (por ejemplo 1,000,000). De esa manera te evitas hacer Data Augmentation o tener que obtener más datos.
Chat GPT no lo soluciona todo, pero ¡Qué increíble herramienta! Ayuda a reducir la curva de aprendizaje.
El transfer learning solo puede ser usado sobre transformers?
No, se usa bastante con redes neuronales convolucionales
¡Hola, Omar! ¿Qué tal? tengo una pregunta loca, supongamos que identificamos un modelo de lenguaje clínico que predice la posible palabra enmascarada de acuerdo al contexto ej: paciente que presenta <mask> arterial alta, quizá ese modelo tenga mayor afinidad hacia la palabra <presión>. Luego, usamos ese mismo modelo para hacer un NER clínico (entre las entidades supongamos que tenemos procedimiento, anatomía y sustancia) y obtenemos una métrica decente pero no tan buena.
¿Fue "NO sabio" haber usado un modelo de enmascarado en lugar de uno de NER propiamente?, pero una de las razones de la elección por ese modelo se debe a que fue entrenado con muchos datos clínicos entre ellos artículos, historias clínicas, patentes clínicas, etc.
Es posible usar el encoder de ese modelo de enmascarado y concatenarlo a la entrada de un decoder propiamente de algún modelo de NER clínico??? (una limitante es que no encuentro una modelo de NER clínico tanto para procedimientos, medicamentos, anatomía, sustancias químicas, conceptos, etc), no sé si me hago entender xd.
¡Gracias!
Me parece que lo ideal es usar o (1) el modelo del lenguaje (el enmascarado) con los datos clínicos y después crear tu propio NER afinando este modelo; o (2) encontrar un NER con lo que buscas y usarlo como modelo pre-entrenado (luego afinar con tus datos).
Fusionar los dos modelos sería complejo porque probablemente utilicen diferentes tokenizadores y vocabulario, entre otras cosas.
¡Gracias, Omar! Continuaré con la opción 1.
esta muy bueno el curso pero es un poco dificil entenderte, como que hablas susurrando y algunas palabras al final las decis tan bajito que ni se te escucha. entiendo que puede ser que quizas tengas un bebe en la casa y no lo queres despertar, solo es un poco molesto. igual muy bueno el curso
Que estrategia me recomiendan para hacer fine tuning a un modelo que pueda entregar un valor entre 0 y 10 para determinar si una palabra clave de búsqueda se corresponde con la descripción de un producto?
Gracias