Paolo Ardoino, CEO de Tether, ha propuesto en un post de X que las inteligencias artificiales (IA) se ejecuten siempre de forma local. La proposición de Ardoino se produce como respuesta a la noticia relacionada con un hackeo sufrido por OpenAI, la compañía creadora de ChatGPT, en 2023. The New York Time publicó recientemente una información con el siguiente titular: «Un hacker robó secretos de OpenAI y hace temer que China también pueda hacerlo». La noticia, dado el alcance del popular ChatGPT en todo el mundo, corrió como la pólvora. Al parecer, los datos sustraídos revelaron discusiones internas entre investigadores y otros empleados, pero no el código que se encuentra detrás de los sistemas de OpenAI.
IA GENERATIVA: ¿DEMASIADO GASTO, POCOS BENEFICIOS?
La proposición de Ardoino ha generado un importante debate entre la comunidad tecnológica y de ciberseguridad, planteando cuestiones fundamentales sobre el futuro de la IA y la protección de datos de los usuarios. En este artículo, analizaremos en profundidad la propuesta de Ardoino y sus implicaciones. ¿Es tan peligroso dejar que la IA se ejecute de forma centralizada? ¿Podemos ejecutar IA de manera local? ¿Qué proyectos se dedican a hacer de la IA local una realidad?
Riesgos para usuarios y empresas en el hackeo a OpenAI
Como decimos más arriba, ha sido el reciente hackeo a OpenAI lo que ha puesto de manifiesto los riesgos asociados a los servicios de IA centralizados. El incidente tuvo lugar en marzo de 2023 y fue informado a sus inversores en abril 2023. Sin embargo, la gente común se enteró recientemente. El ataque tuvo su epicentro en una vulnerabilidad en la biblioteca de código abierto Redis, utilizada por OpenAI.
Aunque OpenAI «actuó rápidamente» (no ha facilitado datos que lo avalen) para solucionar el problema, el incidente reveló varios riesgos potenciales. En primer lugar, la exposición de datos sensibles que puedan llevar a la interrupción de servicios, daño reputacional o riesgo a la propiedad intelectual.
OPENAI SE ASOCIA CON REDDIT Y LLEVARÁ SU CONTENIDO A CHATGPT
De hecho, a los directivos de OpenAI les preocupa que los hackers hayan podido acceder a información confidencial de usuarios y empresas, incluyendo conversaciones privadas, datos de entrenamiento y e información de identificación personal. A esto se suman los riesgos en la manipulación de modelos, ya que existe la posibilidad de que los atacantes pudieran haber alterado los modelos de IA, introduciendo sesgos o comportamientos maliciosos. Algo que puede derivar en fallos en el cumplimiento normativo (ej: la RGPD y otros reglamentos de protección de datos).
Apostando por la IA local
En este contexto, la propuesta de Ardoino de ejecutar las IA de manera local tiene numerosos beneficios para los usuarios. Entre esos beneficios podemos mencionar:
- Mejor privacidad y seguridad de datos. Al ejecutar modelos de IA localmente, los datos del usuario nunca abandonan su dispositivo. Esto elimina el riesgo de interceptación durante la transmisión y reduce drásticamente la posibilidad de que los datos sean comprometidos en servidores remotos.
- Control total del usuario. Los modelos locales permiten a los usuarios tener un control completo sobre qué datos se utilizan para entrenar y mejorar el modelo. Esto contrasta con los servicios en la nube, donde los usuarios a menudo no saben cómo se utilizan sus datos.
- Independencia de la conectividad. Los modelos locales pueden funcionar sin necesidad de una conexión a internet constante, lo que es especialmente útil en áreas con conectividad limitada o para aplicaciones que requieren respuestas rápidas y confiables.
- Personalización avanzada. Los modelos locales pueden adaptarse más fácilmente a las necesidades específicas del usuario, aprendiendo de sus interacciones sin comprometer la privacidad.
- Reducción de costos a largo plazo. Aunque la implementación inicial puede ser más costosa, en el largo plazo el uso de modelos locales puede resultar más económico al eliminar la necesidad de pagar por servicios en la nube continuamente.
- Menor huella de carbono. Al reducir la dependencia de grandes centros de datos, los modelos locales pueden contribuir a disminuir el consumo energético asociado con la IA.
- Auditoría y transparencia. Los modelos locales permiten una inspección más detallada del código y funcionamiento, lo que facilita la identificación de posibles problemas de seguridad.
¿La falacia de los modelos descentralizados»sobre blockchain?
Ahora bien, es importante abordar un punto largamente malentendido y que tiene que ver con los modelos descentralizados basados en blockchain. En primer lugar, la mayoría de los modelos que se promocionan como descentralizados en la actualidad siguen siendo fundamentalmente centralizados.
ASI ALLIANCE, LA UNIÓN PARA DESCENTRALIZAR IA Y DATOS CON BLOCKCHAIN
Por ejemplo, los modelos de Singularity y Fetch.AI (ambos fusioados en ASI) son modelos que se construyen sobre blockchain (ej: reunión, organización y verificación de datos), lo que significa que el entrenamiento de una IA es verificable y que han sido entrenados con dataset o conjunto de datos verificables con blockchain. Esto resulta perfecto para analizar cómo afecta cada proceso de generación de una IA en el resultado final obtenido.
Hasta aquí, todo bien, pero ¿qué pasa con la ejecución computacional del modelo IA? Es decir, cuando le preguntamos a la IA algo: ¿Realmente, esto se ejecuta sobre una blockchain o red P2P? Pues bien, la mayoría de esa ejecución se da en redes distribuidas con un control central y que solo son interconectadas por blockchain para habilitar la tokenomics (manejo de pagos por trabajo computacional).
Esto hace que estas soluciones sean más resistentes a ataques y tengan un mayor control por parte de los usuarios, pero no dejan de tener grandes debilidades, ya que si un hacker ataca el orquestador de esta red (el nodo que maneja la asignación de tareas), el sistema se cae y no tendrás acceso a la IA que deseas.
Falta desarrollo
Esto es así, porque todavía no hay ningún modelo de IA que funcione al 100% en un modo P2P. Todos los modelos necesitan de un orquestador y una red distribuida de nodos. El orquestador es el que maneja la red y, por tanto, un punto centralizado que al ser atacado deja sin funcionamiento la IA que esté manejando.
Todas las IA que funcionan actualmente (ej: ChatGPT de OpenAI o Mistral) siguen este modelo. Por ejemplo, ChatGPT depende de la red distribuida de Microsoft Azure para prestar sus servicios. Microsoft coloca miles de GPU potentes a disposición de una serie de nodos orquestadores y balanceadores para permitir a OpenAI atender a millones de usuarios en todo el mundo para llegar y usar sus modelos ChatGPT.
Esto significa que la caída de Microsoft Azure o de sus orquestadores/balanceadores dejaría a todos o a una parte de usuarios sin servicio. Lo mismo pasa con ASI y, prácticamente, con todo servicio IA «descentralizado sobre blockchain».
Una IA por blockchain
La razón por la que no tenemos una verdadera IA descentralizada y P2P (como Bitcoin) es que es extremadamente difícil. En primer lugar, porque las redes blockchain que sostengan servicios IA deben tener miles de nodos y poder computacional para atender las peticiones de los usuarios.
Al mismo tiempo, la blockchain debe estar unida a un modelo de IA por cada cadena. Es decir, si queremos una IA generativa de imágenes, esa IA debe estar unida a una blockchain y no puede estar unida a otra IA.
¿CÓMO AFECTARÁ AL ECOSISTEMA BLOCKCHAIN LA ALIANZA MICROSOFT-OPENAI?
Por ejemplo, si tenemos la blockchain SD-AI y esta ejecuta un modelo de Stable-Diffusion, esta blockchain nos permitirá crear imágenes con su IA, pero jamás nos permitirá hacer preguntas como si fuera un ChatGPT. Si queremos añadir esa funcionalidad, deberemos crear otra blockchain con su propia red, que nos brinde dichos servicios.
El problema a resolver: P2P asynchronous distributed gradient descent
Esto es así por un problema técnico del que probablemente no habrás escuchado antes: «P2P asynchronous distributed gradient descent» o descenso de gradiente distribuido asíncrono peer-to-peer. El P2P asynchronous distributed gradient descent es un concepto avanzado en el campo del aprendizaje automático y la inteligencia artificial distribuida. Para entender por qué este problema dificulta el desarrollo de IA P2P es necesario desglosar el concepto y analizar sus componentes:
- Descenso de gradiente: Este es un algoritmo de optimización fundamental en el aprendizaje automático, utilizado para minimizar una función de pérdida ajustando iterativamente los parámetros del modelo.
- Distribuido: Se refiere a que el proceso de entrenamiento se divide entre múltiples nodos o dispositivos, en lugar de realizarse en una sola máquina centralizada.
- Asíncrono: Implica que los diferentes nodos en la red pueden realizar actualizaciones de parámetros en diferentes momentos, sin necesidad de sincronización constante.
- Peer-to-peer (P2P): Indica que los nodos se comunican directamente entre sí, sin depender de un servidor central. Es decir, nuestras redes P2P de toda la vida, como Bitcoin, Ethereum o BitTorrent.
El difícil problema a resolver
Ahora entendemos que el P2P asynchronous distributed gradient descent lo que busca es implementar el entrenamiento de modelos de IA en una red descentralizada, donde cada nodo contribuye al proceso de aprendizaje.
Sin embargo, este enfoque presenta varios desafíos que dificultan el desarrollo de una IA verdaderamente P2P:
- Consistencia de los modelos: En un entorno asíncrono y distribuido es difícil garantizar que todos los nodos tengan una versión consistente y actualizada del modelo. Esto puede llevar a divergencias en el aprendizaje. Miralo de esta manera: un modelo de IA es un puzzle dentro de una caja negra. Ahora imagina mil de estos puzzles y cajas negras (nodos) que tienes que resolver todos y cada uno de ellos de forma exacta (misma forma, cantidad de pasos y pesos correspondientes). No solo eso, debes resolverlos con los ojos cerrados y comunicar a todas sus partes de la misma forma. ¿Fácil, no? Pues es el problema a resolver, y son muchos los investigadores que se han dado a la tarea de resolver el problema desde el año 2011.
- Latencia y ancho de banda: Las redes P2P pueden tener problemas de latencia y limitaciones de ancho de banda, lo que ralentiza la propagación de actualizaciones y puede afectar la eficiencia del entrenamiento. Esto es un problema que poco a poco se ha ido resolviendo para usos más comunes, como el streaming. Pero en el caso de la IA, las latencias son muy altas y la falta de ancho de banda enorme. Por ejemplo, un centro de datos centralizado puede movilizar datos a velocidades de 1,6 TB por segundo, con latencias de 1 ms. Esto en una red P2P solo se podría lograr en ancho de banda (y con dificultades) y sería imposible de lograr en términos de latencia.
Más complejidades
- Heterogeneidad de dispositivos: En una red P2P, los dispositivos pueden tener capacidades de cómputo muy diferentes, lo que complica la distribución equitativa del trabajo y puede derivar en cuellos de botella. Por ejemplo, un nodo A, puede ser una potente GPU H100 de NVIDIA, algo que nos da un enorme poder computacional. Mientras que un nodo B, podría ser un computador de sobremesa con una AMD RX 580 de hace más de 10 años. En una red P2P cualquier persona que participe puede hacerlo, pero eso no garantiza que todos usen el mismo equipo y, por tanto, evita que haya homogeneidad en la red, lo que nos lleva a resultados muy dispares en el manejo de una IA descentralizada.
- Convergencia del modelo: La naturaleza asíncrona del P2P puede dificultar la convergencia del modelo hacia una solución óptima, especialmente en redes con alta volatilidad. Aquí se une el problema de la heterogeneidad de la red, las latencias y el ancho de banda. Para entenderlo, ten presente que en una IA cualquier mínima desviación en el proceso de computación puede llevar de una respuesta correcta a una alucinación. Esto hace que las redes P2P tengan problemas de convergencia y tengan más predisposición a la alucinación en sus respuestas.
- Escalabilidad: A medida que la red crece, la complejidad de coordinar el entrenamiento distribuido aumenta significativamente.
Desafíos complejos
Estos desafíos hacen que el desarrollo de sistemas de IA completamente P2P sean significativamente más complejo que los enfoques centralizados tradicionales. Aunque el concepto de IA P2P es prometedor en términos de descentralización y democratización del aprendizaje automático, superar estos obstáculos requiere avances significativos en algoritmos distribuidos, protocolos de comunicación, y técnicas de seguridad y privacidad. Si quieres saber más sobre estos problemas, te recomiendo des un vistazo al proyecto Petals, que busca precisamente esto: construir las bases para desarrollar IA verdaderamente P2P.
TE ENSEÑAMOS CÓMO ES GROK, LA IA DIVERTIDA Y SERIA DE ELON MUSK
Pese a las dificultades, la investigación en este campo continúa, ya que los potenciales beneficios de una IA verdaderamente descentralizada son considerables. Estos incluyen una mayor privacidad de los datos, resistencia a la censura y la posibilidad de aprovechar recursos computacionales distribuidos a escala global. Sin embargo, hasta que no se resuelvan estos desafíos, es probable que los enfoques centralizados o semi-centralizados sigan siendo predominantes en el desarrollo y despliegue de sistemas de IA.
Ejemplos de modelos y proyectos IA locales
Lo descrito anteriormente no significa que todo esté perdido. Si bien, la IA P2P no está enteramente a nuestro alcance, ello no evita que el movimiento hacia la IA local esté perdiendo impulso. En la actualidad existen varios proyectos destacados que demuestran la viabilidad de la IA Local y las ventajas de este enfoque:
Llama.cpp
Este proyecto es una implementación en C++ del modelo de lenguaje LLaMA, de Meta, aunque el proyecto ha ido evolucionando para aceptar más modelos y soportar múltiples plataformas. Llama.cpp está diseñado para permitir la ejecución de modelos de lenguaje grandes en hardware de consumo, incluyendo computadoras personales y dispositivos móviles.
HEMOS PROBADO LLAMA 3, LA IA DE META, Y ES MÁS PODEROSA QUE CHATGP
Por ejemplo, su creador Georgi Gerganov, ha demostrado que es posible usar Llama.cpp en dispositivos como smartphones (iPhone, Android), computadores (Windows, Linux, MacOS, FreeBSD y OpenBSD), usando tanto CPU como GPU (por medio de API y frameworks de aceleración como de TensoRT de NVIDIA, ROCm de AMD, oneAPI de Intel, Metal de Apple, Vulkan y OpenCL).
El objetivo es permitir a las personas construir sus propios servicios al estilo ChatGPT, Incluso, ir más allá y crear soluciones mucho más complejas que puedan ejecutar en su computador sin depender de agentes externos. Las principales características clave de Llama.cpp:
- Optimización para CPU, lo que permite su uso en una amplia gama de dispositivos.
- Soporte para cuantización, reduciendo significativamente los requisitos de memoria.
- Capacidad de funcionar sin conexión a internet.
Gracias a esto, Llama.cpp es el corazón de propuestas como GPT4All, un proyecto que tiene como objetivo crear un asistente de IA que pueda ejecutarse completamente en local. Utiliza modelos de lenguaje pre-entrenados y los optimiza para su uso en computadoras personales.
Otro ejemplo es LocalAI, una iniciativa que busca crear una alternativa local a OpenAI, permitiendo a los usuarios ejecutar varios modelos de IA en sus propios dispositivos.
Stable Diffusion
Este es un modelo de generación de imágenes que puede ejecutarse localmente en GPUs de consumo. A diferencia de servicios como DALL-E o Midjourney, Stable Diffusion permite a los usuarios generar imágenes sin depender de servidores remotos. Actualmente, Stable Diffusion se encuentra en su tercera versión de IA generativa de imágenes y la calidad de las mismas es excelente.
Ventajas de Stable Diffusion local:
- Control total sobre el proceso de generación de imágenes.
- Sin límites de uso o costos por imagen generada.
- Posibilidad de personalizar y ajustar el modelo según necesidades específicas.
La siguiente imagen es un ejemplo del nivel de calidad que se puede alcanzar con Stable Diffusion XL, ejecutando el modelo en un computador personal.
Whisper.cpp
Una implementación en C++ del modelo de reconocimiento de voz Whisper ,de OpenAI, que permite la transcripción de audio a texto de forma local. Whisper.cpp, otra creación de Georgi Gerganov, puede ser usada sin problemas tanto en smartphones (Android e iOS), como con computadores personales (Windows, Linux, MacOS, FreeBSD y OpenBSD).
LA COMPETENCIA DE CHATGPT, EL GOOGLE DE LA INTELIGENCIA ARTIFICIAL
Con esta aplicación puedes usar IA para, por ejemplo, generar y agregar subtítulos de alta calidad a tus vídeos. También se puede usar como paso previo para la generación de audio. Por ejemplo, puedes usar Whisper.cpp para generar los subtítulos en texto y luego usar una IA que transforme ese texto en audio. Lo mejor es que todo ello lo hace con software totalmente libre, sin pagar absolutamente nada y con la total privacidad de ejecutar todo en tu computador personal.
Conclusión
La propuesta de Paolo Ardoino de ejecutar las IA de forma local representa un cambio de paradigma en cómo pensamos sobre la inteligencia artificial y su implementación. Los beneficios en términos de privacidad, seguridad y control del usuario son significativos y abordan muchas de las preocupaciones actuales sobre el uso de la IA.
Sin embargo, es importante reconocer que la transición hacia modelos de IA completamente locales presenta desafíos, incluyendo la necesidad de hardware más potente en dispositivos de usuario final y la potencial pérdida de algunas ventajas de los sistemas centralizados, como la rápida actualización y mejora de modelos.
A medida que avanzamos hacia un futuro donde la IA se vuelve cada vez más omnipresente en nuestras vidas es crucial que sigamos explorando y desarrollando enfoques que prioricen la privacidad, la seguridad y el control del usuario. Así, la visión de Ardoino de una IA local no solo es técnicamente viable, sino que también podría ser esencial para garantizar un futuro de la IA más ético, seguro y verdaderamente beneficioso para todos.
Link del artículo original
Si el presente artículo, video o foto intrigue cualquier derecho de autor por favor señálelo al correo del autor o en la caja de comentarios.
If this article, video or photo intrigues any copyright, please indicate it to the author’s email or in the comment box.