Mucha gente piensa que lanzar un modelo es pan comido: terminas de entrenarlo, subes el archivo, escribes una introducción y listo, tarea cumplida.
Pero quienes han trabajado en productos saben que la parte más complicada del modelo a menudo comienza una vez que está en producción.
Los datos se actualizan, hay que reentrenar; si se ajustan los parámetros, hay que lanzar una nueva versión; si los usuarios reportan que el rendimiento ha bajado, hay que averiguar qué se modificó. Existe una contradicción que a menudo se pasa por alto: todos quieren que el modelo se actualice rápido, pero les da miedo que una actualización rompa funcionalidades que antes funcionaban.
Por eso siempre he pensado que el hosting de modelos no puede ser solo un disco en la nube. Una plataforma realmente útil debe permitir a los desarrolladores saber qué cambios se hicieron en cada versión, quién sigue usando versiones antiguas, y si se puede probar la nueva versión antes de lanzarla.
El Model Hub de OpenGradient hace esto más como un sistema de publicación de modelos.
Un modelo puede primero establecer un repositorio independiente y luego lanzar diferentes versiones como v1.00, v1.01, v2.00. En cada versión se pueden almacenar archivos del modelo, configuraciones y documentación, en lugar de que al subir un nuevo archivo se sobrescriba el modelo anterior.
El flujo de trabajo es bastante fluido.
Un desarrollador entrena un modelo de predicción de riesgos, exporta primero en formato ONNX, crea un repositorio en el Model Hub y sube v1.00. Luego puede probarlo directamente en el Playground de la web, confirmando que la entrada y los resultados no tienen problemas evidentes, antes de hacer que la aplicación llame a esa versión fija.
Más tarde, cuando los datos de entrenamiento se actualicen, puede seguir lanzando v1.01, describiendo los cambios, y permitir que algunas aplicaciones lo prueben primero. La versión antigua se mantiene, no se vuelve inservible para todos los productos que la usan solo por una actualización. El equipo también puede subir el modelo e integrarlo en su flujo de entrenamiento o publicación a través del SDK de Python y la CLI.
Por supuesto, incluso si el número de versión es bonito, no prueba que el modelo sea confiable. La conversión a ONNX puede introducir diferencias, y los nuevos datos también pueden hacer que el rendimiento baje; al final, todo se reduce a las pruebas y los resultados reales de uso.
Pero al menos resuelve un problema muy práctico: un modelo no es un archivo de un solo uso, sino un software que necesita mantenimiento a largo plazo. Poder explicar cada cambio es, muchas veces, más importante que la primera publicación, que suele ser mucho más ruidosa.
$OPG @OpenGradient #OPG
Pero quienes han trabajado en productos saben que la parte más complicada del modelo a menudo comienza una vez que está en producción.
Los datos se actualizan, hay que reentrenar; si se ajustan los parámetros, hay que lanzar una nueva versión; si los usuarios reportan que el rendimiento ha bajado, hay que averiguar qué se modificó. Existe una contradicción que a menudo se pasa por alto: todos quieren que el modelo se actualice rápido, pero les da miedo que una actualización rompa funcionalidades que antes funcionaban.
Por eso siempre he pensado que el hosting de modelos no puede ser solo un disco en la nube. Una plataforma realmente útil debe permitir a los desarrolladores saber qué cambios se hicieron en cada versión, quién sigue usando versiones antiguas, y si se puede probar la nueva versión antes de lanzarla.
El Model Hub de OpenGradient hace esto más como un sistema de publicación de modelos.
Un modelo puede primero establecer un repositorio independiente y luego lanzar diferentes versiones como v1.00, v1.01, v2.00. En cada versión se pueden almacenar archivos del modelo, configuraciones y documentación, en lugar de que al subir un nuevo archivo se sobrescriba el modelo anterior.
El flujo de trabajo es bastante fluido.
Un desarrollador entrena un modelo de predicción de riesgos, exporta primero en formato ONNX, crea un repositorio en el Model Hub y sube v1.00. Luego puede probarlo directamente en el Playground de la web, confirmando que la entrada y los resultados no tienen problemas evidentes, antes de hacer que la aplicación llame a esa versión fija.
Más tarde, cuando los datos de entrenamiento se actualicen, puede seguir lanzando v1.01, describiendo los cambios, y permitir que algunas aplicaciones lo prueben primero. La versión antigua se mantiene, no se vuelve inservible para todos los productos que la usan solo por una actualización. El equipo también puede subir el modelo e integrarlo en su flujo de entrenamiento o publicación a través del SDK de Python y la CLI.
Por supuesto, incluso si el número de versión es bonito, no prueba que el modelo sea confiable. La conversión a ONNX puede introducir diferencias, y los nuevos datos también pueden hacer que el rendimiento baje; al final, todo se reduce a las pruebas y los resultados reales de uso.
Pero al menos resuelve un problema muy práctico: un modelo no es un archivo de un solo uso, sino un software que necesita mantenimiento a largo plazo. Poder explicar cada cambio es, muchas veces, más importante que la primera publicación, que suele ser mucho más ruidosa.
$OPG @OpenGradient #OPG
