Muy buenas noderos, llevo un tiempo por el foro, asomándome como los vagos, un par de veces de vez en cuando….. y bueno ahora que empezó el calorcillo del verano, me piqué con las dichosas IAs (Inteligencias Artificiales para los perdidos) y me dije, ¿Por qué no crear una IA desde 0?, ¿se podrá en un PC de andar por casa? Y me lie la manta a la cabeza para responder la pregunta.
No quiero entrar en muchos detalles técnicos, ya que pretendo solo explicaros el proyecto. Pero no es tomar un modelo ya disponible y reentrenarlo o instalarlo en local, para eso ya hay multitud de programas y facilidades… Pinokio y muchos más….
Para crear a Akili (así he llamado a la bebé IA), hay que entender que hay que tener claro que son muchas fases, muchos errores y bloqueos (no os imagináis cuanto tira de recursos la cabrona, cuando está procesando, entrenando etc..) y bueno como yo no dispongo de los recursos de OpenAi, Alibaba , Microsoft y compañía (de momento jajaja) toca tirar de optimizaciones puras. Pero para no aburriros os resumiré un poc las fases y sus retos.
1ro- Para que Akili aprenda a hablar, hay que alimentarla de datos, eso es texto, mucho texto, tanto texto, que me descargue la wikipedia en castellano, una vez descomprimida, casi 18 gigas. Y una vez con eso, tocaba limpiar los datos, para que solo quede el texto plano, sin símbolos, etiquetas HTML, etc… así que tuve que tirar de scripts presentes, modificarlos y adaptarlos para finalmente obtener un archivo plano de 9gb (se le quitó toda la morralla), pero darle a Akili 9 gigas del tirón, es como darle a un bebé un toro cocinado para que se lo coma de una vez… matas a la criatura fijo…. En este caso bloqueas el ordenador del tiron… asi que hubo que trocear esos 9 gigas en archivos de unos 100mb, y dejar el 99 % en una carpeta de entrenamiento y un 1% en otra carpeta para evaluación (así el modelo podrá comparar lo aprendido con los datos de validación que no conoce)
2do- El entrenamiento que es un coñazo, pero es la parte más importante, me obligaba continuamente a estar modificando los script para cambiar y afinar parámetros, por lo que me cansé y cree una GUI (vamos una aplicación de escritorio más o menos centralizada que me permite modificar y monitorear el entrenamiento) quizás esta sea la parte de la que mas estoy orgulloso, así cuando lance la versión BETA o la 1.0 podré darle a la peña una aplicación de escritorio que podrán usar para seguir entrenando a Akili o lo que quieran.
3ro- Inicialmente Akili será una IA conversacional vamos un LLM tipo chatgpt, Llama etc.. pero la idea es que si puedo afinarla y la peña quiere y puede colaborar, se pueda escalar e ir creciendo el modelo. Vamos que ya sé que no es la primera IA OPEN SOURCE del mundo, pero es la mía jajaja, en abierto sin “Black Box” ni ostias.
Deciros que no puedo entrenarla con mil gráficas ni leches, que soy pobre jajaja, así que la entreno con un equipo con 32gb de RAM, I5, y dos graficas RTX3060 Ti de 8gb. Vamos que tuve que configurar al entrenador de Akili con la opción de trabajo en paralelo, para distribuir la carga entre las gráficas (entretenido)
Solo deciros que hice un primer entrenamiento con pocos datos, para no petar el ordenador y no morirme de aburrimiento, y Akili, aun no sabe coordinar bien, pero ya dice sus primeras gilipolleces, ahora que empecé el entrenamiento con la wikipedia, espero que al menos aprenda a expresarse, ya os mantendré al tanto. Si tenéis preguntas, hacerlas e intentaré responderlas. Un Saludo noderos.
Os pongo un par de capturas del GUI para entrenamiento. Y las primeras palabras de Akili (entrenada con pocos megas de texto –Eran las pruebas preliminares-)
No quiero entrar en muchos detalles técnicos, ya que pretendo solo explicaros el proyecto. Pero no es tomar un modelo ya disponible y reentrenarlo o instalarlo en local, para eso ya hay multitud de programas y facilidades… Pinokio y muchos más….
Para crear a Akili (así he llamado a la bebé IA), hay que entender que hay que tener claro que son muchas fases, muchos errores y bloqueos (no os imagináis cuanto tira de recursos la cabrona, cuando está procesando, entrenando etc..) y bueno como yo no dispongo de los recursos de OpenAi, Alibaba , Microsoft y compañía (de momento jajaja) toca tirar de optimizaciones puras. Pero para no aburriros os resumiré un poc las fases y sus retos.
1ro- Para que Akili aprenda a hablar, hay que alimentarla de datos, eso es texto, mucho texto, tanto texto, que me descargue la wikipedia en castellano, una vez descomprimida, casi 18 gigas. Y una vez con eso, tocaba limpiar los datos, para que solo quede el texto plano, sin símbolos, etiquetas HTML, etc… así que tuve que tirar de scripts presentes, modificarlos y adaptarlos para finalmente obtener un archivo plano de 9gb (se le quitó toda la morralla), pero darle a Akili 9 gigas del tirón, es como darle a un bebé un toro cocinado para que se lo coma de una vez… matas a la criatura fijo…. En este caso bloqueas el ordenador del tiron… asi que hubo que trocear esos 9 gigas en archivos de unos 100mb, y dejar el 99 % en una carpeta de entrenamiento y un 1% en otra carpeta para evaluación (así el modelo podrá comparar lo aprendido con los datos de validación que no conoce)
2do- El entrenamiento que es un coñazo, pero es la parte más importante, me obligaba continuamente a estar modificando los script para cambiar y afinar parámetros, por lo que me cansé y cree una GUI (vamos una aplicación de escritorio más o menos centralizada que me permite modificar y monitorear el entrenamiento) quizás esta sea la parte de la que mas estoy orgulloso, así cuando lance la versión BETA o la 1.0 podré darle a la peña una aplicación de escritorio que podrán usar para seguir entrenando a Akili o lo que quieran.
3ro- Inicialmente Akili será una IA conversacional vamos un LLM tipo chatgpt, Llama etc.. pero la idea es que si puedo afinarla y la peña quiere y puede colaborar, se pueda escalar e ir creciendo el modelo. Vamos que ya sé que no es la primera IA OPEN SOURCE del mundo, pero es la mía jajaja, en abierto sin “Black Box” ni ostias.
Deciros que no puedo entrenarla con mil gráficas ni leches, que soy pobre jajaja, así que la entreno con un equipo con 32gb de RAM, I5, y dos graficas RTX3060 Ti de 8gb. Vamos que tuve que configurar al entrenador de Akili con la opción de trabajo en paralelo, para distribuir la carga entre las gráficas (entretenido)
Solo deciros que hice un primer entrenamiento con pocos datos, para no petar el ordenador y no morirme de aburrimiento, y Akili, aun no sabe coordinar bien, pero ya dice sus primeras gilipolleces, ahora que empecé el entrenamiento con la wikipedia, espero que al menos aprenda a expresarse, ya os mantendré al tanto. Si tenéis preguntas, hacerlas e intentaré responderlas. Un Saludo noderos.
Os pongo un par de capturas del GUI para entrenamiento. Y las primeras palabras de Akili (entrenada con pocos megas de texto –Eran las pruebas preliminares-)