La evolución de OLEG AI. Red neuronal, fugas de memoria, carga

Ha pasado poco más de un mes desde el lanzamiento de OLEG AI , mi bot, que recomienda publicaciones de las páginas públicas de Telegram.





Aquí está el post anterior, en el que describí el tema en detalle: Analógico de Facebook feed para Telegram. Tonto AI OLEG





Después del lanzamiento y el subsiguiente efecto habra (¿eso dicen?), Oleg recibió varios cientos de nuevos usuarios, una carga y un conjunto de datos de estimaciones reales.





Y entendí que el modelo de recomendación debe modificarse ligeramente y las fugas de memoria deben tratarse.





Modelo de recomendaciones

En el artículo anterior, escribí que decidí abandonar la red neuronal en el modelo, ya que el modelo basado en el producto de incrustar vectores aprende más rápido y es menos propenso a sobreajustarse. Después de usar el modelo un poco antiguo y recopilar comentarios de los primeros usuarios, me quedó claro que el modelo aún debe ser un poco complicado.





Después de investigar un poco, llegué a la conclusión de que necesito trabajar en las siguientes cosas:





Enseñe al modelo a distinguir canales

La vieja modelo no sabía nada de canales, para ella cada publicación era única. Pensé que, como resultado de marcar las publicaciones con los votos de los usuarios, las publicaciones de un canal recibirían incrustaciones similares. Pero después de mirar de cerca este tema, me di cuenta de que esto no será así, porque siempre habrá muchas más publicaciones que usuarios, lo que significa que el espacio de publicaciones estará marcado con estimaciones escasas. No todas las publicaciones obtendrán al menos una calificación, y para considerar una publicación bien marcada, necesita entre 10 y 100 calificaciones.





? . flavour (), . , 80% 20% - .





, , DotProduct , . !





Red neuronal con una capa oculta

, , , . 100, - 80, - 20. , , . 10 (10-8-2) . (100-80-20) - . .





70 1 , .





, , , , , .





, - , 13 .





.





, learning rate. , , , () (). .





, , : , , , .





, :





  • - 100,





  • - 80,





  • - 20





, , , . , + . . , , = 70. , , , , .





DigitalOcean 1 , , . , . , , :)





, , (10-50 ). . , , . , , . , - . , .





, . - restart: on-failure



, out-of-memory, , .





, . , - . , , , . PyTorch append , , . PyTorch, ().





Ahora Olezhka necesita 4 GB y una CPU compartida. Si alguien le dice que ML necesita un bastidor con 8 GPU dedicadas, escúpele en la cara. Por cierto, esto lo dice a menudo Jeremy Howard , el creador del curso fast.ai.








All Articles