Ejecutando la Inteligencia Artificial en la Blockchain

Este artículo es la cuarta parte de las series “¿Cómo logra Cortex unir la inteligencia artificial (IA) a la blockchain?”. Compartiremos en detalle para qué se necesita esta unión, cómo se consigue y qué costo tiene ofrecerla.

Paula Alejandra Lora
Cortex Labs
8 min readDec 13, 2018

--

Artículos

Los contratos inteligentes, conocidos por ir de la mano con la tecnología blockchain, son programas informáticos que controlan directamente la transferencia de monedas o activos digitales entre partes bajo ciertas condiciones. Sin embargo, hay una característica particular que hace falta y que impide una aplicación más amplia para los contratos inteligentes. A pesar de los juegos y el esquema piramidal de las DApps, la falta de IA es una razón importante por la que los contratos inteligentes no han tenido mucho éxito hasta ahora.

Entonces, ¿qué es la Inteligencia Artificial?

La Inteligencia Artificial (IA) no es un término nuevo, ha existido desde la década de 1950. IA puede definirse como la inteligencia humana representada por las máquinas. Los trabajos anteriores de IA utilizaban métodos como A*, lógica difusa, sistemas expertos y good old-fashioned AI (GOFAI), las mismas reglas “si-entonces” (if-then) que se usan para codificar la mayoría de las aplicaciones, incluidos los contratos inteligentes. Deep Blue, la IA creada por IBM que derrotó al campeón mundial de ajedrez Garry Kasparov en 1997, usó un método llamado algoritmos de búsqueda para evaluar millones de movimientos en cada turno

Deep Blue vs Garry Kasparov

Cuando hablamos de la IA de hoy en día, en realidad estamos hablando de Aprendizaje Automático (Machine Learning), un enfoque para lograr la Inteligencia Artificial.

El aprendizaje automático funciona mediante la creación de modelos que capturan pesos y relaciones entre características de datos históricos y luego los utilizan para predecir resultados futuros. Las máquinas son capaces de Identificar patrones complejos en millones de datos por medio de algoritmos, para asi revisar los datos y predecir comportamientos futuros.

En 1959, Arthur Samuel, uno de los primeros pioneros del aprendizaje automático, desarrolló el primer programa de aprendizaje automático que aprendió a jugar a las damas mejor que él. Hoy en día, las estadísticas y los datos avanzados están disponibles en Internet, como Basketball-Reference.com para estadísticas de la NBA, y Kaggle, un paraíso para los científicos de datos que analizan sus hallazgos y recopilan conjuntos de datos. Existen cursos de código abierto como Fast.ai y deeplearning.ai que hacen que el aprendizaje profundo, una técnica para implementar el aprendizaje automático, sea accesible para todos. ¿A qué geek deportivo no le gustaría crear su propio sistema para predecir partidos?

Una presentación visual impresionante de un partido de la NBA usando datos de stat.nba.com de Panos

En el 2016, Alpha Go derrotó al campeón del mundo del juego de mesa Go, Lee Sedol, (Go es un juego de mesa chino cuyo objetivo es rodear más territorio que el oponente). Alpha Go, desarrollado por Google, utilizó una combinación de técnicas de aprendizaje automático y búsqueda que se entrenó con una base de datos de alrededor de 30 millones de movimientos y luego utilizó el aprendizaje por refuerzo, un subconjunto del aprendizaje automático, para jugar contra sí mismo y mejorar su juego.

Alpha GO vs Lee Sedol

La unión de la inteligencia artificial con la tecnología blockchain tiene sentido

En una entrevista reciente con MIT Technology Review, Yoshua Bengio, uno de los padres de la IA, ha expresado su preocupación por el hecho de que tan solo unas pocas empresas dominan el campo de la IA. Él cree en la democracia de la investigación, debido a que la IA tiene la tendencia a generar concentraciones-o monopolios- de poder y dinero. Jeremy Howard, maestro de Kaggle y CEO de Fast.ai, declaró que "Para que se cumpla todo su potencial (IA), la tecnología debe ser mucho más fácil de usar, más confiable y más intuitiva de lo que es hoy".

La IA podría influir en la tecnología blockchain de varias maneras:

  • Haciendo que los contratos inteligentes sean "realmente inteligentes": para expandir y diversificar la capacidad de los contratos inteligentes. Cortex tiene como objetivo integrar la inteligencia artificial en los contratos inteligentes para permitir que las funcionalidades de la inteligencia artificial creen contratos verdaderamente inteligentes y aplicaciones DAPP mejoradas con casos de uso más diversos.
  • Disminuyendo las barreras del mercado: la capacitación en modelos requiere alto nivel de poderes computacionales, lo cual cuesta una gran fortuna. DeepBrain Chain utiliza tecnologías de IA y blockchain para desarrollar una plataforma de computación distribuida de IA que es de bajo costo y de protección de la privacidad para una nueva forma de entrenar a la AI (Pruébelo aquí). Cortex ,también proporcionará una solución fuera de cadena con bajo costo para que las compañías de IA realicen investigaciones de IA.
  • Ayudando a la IA a darse a entender. Actualmente, la IA es más una solución de caja negra, mientras que la blockchain tiende a ser más transparente en todas las transacciones procesadas. Cortex permite la carga del modelo de IA en la cadena de bloques y realiza la inferencia de AI (también conocida como ejecución de aprendizaje automático) en cadena, lo que crea un registro de auditoría para mejorar la confiabilidad de los resultados.
  • Democratizando los modelos de inteligencia artificial: en lugar de depender de las grandes empresas para obtener acceso a los modelos de aprendizaje automático, es importante tener los modelos bajo el control del usuario. SingularityNET le permite a cualquiera crear, compartir y monetizar servicios de inteligencia artificial a escala.

Puntos débiles al ejecutar la IA en la blockchain

No es una tarea fácil permitir que los modelos de aprendizaje automático se ejecuten en la blockchain.

  1. Los modelos exitosos de aprendizaje profundo a menudo requieren una gran cantidad de recursos computacionales, potencia y dinero para ejecutarlos, lo que representa un obstáculo para un buen desempeño en la cadena de bloques.
  2. A medida que aumenta la escala de las redes de aprendizaje profundo, aumenta la complejidad computacional, y como consecuencia, el tamaño del modelo también aumenta .
  3. El uso real del modelo requiere herramientas de inferencia eficientes que devuelven los mismos resultados de inferencia en diferentes máquinas.

Como se muestra en la imagen de arriba, los parámetros de la red neuronal de aprendizaje profundo original son variables flotantes que necesitan espacio de almacenamiento de 32 bits. Si el modelo se puede convertir en un estado con solo tres valores (-1, 0, +1), el almacenamiento solo necesitará 2 bits, lo que comprime significativamente el espacio de almacenamiento. Al pasar de 32 bits a 2 bits, obtenemos (casi) una reducción de memoria de 16x. Los anchos de bit más bajos permiten más datos en los mismos cachés, lo que reduce la frecuencia de acceso desde la RAM. Además, el tener aritmética de punto flotante no es ideal ya que no está bien soportado en microcontroladores en algunos dispositivos integrados de baja potencia (como los dispositivos IoT).

Las respuestas sugieren que podríamos modificar los modelos que requieren menos capacidad de almacenamiento y computación, pero con menor precisión: compresión y cuantización.

La compresión modifica los grandes e incómodos modelos que reducen los requisitos de memoria al tiempo que conserva la mayor precisión posible. Los modelos más livianos significan menos espacio de almacenamiento y es más fácil compartirlos en anchos de banda más pequeños.

La cuantización es el proceso de reducir el número de bits necesarios para almacenar un valor entero reduciendo la precisión del entero. La cuantización en el aprendizaje profundo combina un alto rendimiento con una inferencia liviana que reduce los costos de computación y memoria. La cuantización permite que los modelos se ejecuten en la cadena de bloques con un costo relativamente bajo, pero también proporciona resultados inferidos consistentes.

TinyPNG utiliza la cuantización para convertir archivos PNG de 24 bits a imágenes en color indexadas de 8 bits mucho más pequeñas.

Con la compresión y cuantificación del modelo en su lugar, Cortex presenta "Synapse", una máquina de inferencia de enteros para hacer inferencia determinista de IA, la cual hace que el aprendizaje automático sea accesible en la blockchain. Una de las capacidades básicas de Synapse es garantizar exactamente el mismo resultado de un modelo de IA en entornos de computación heterogéneos (puedes probar nuestra TestNet aquí). La determinación es crucial en la blockchain, ya que el consenso debe formarse sobre los resultados de los contratos inteligentes. No es trivial para las máquinas de inferencia de IA ampliamente utilizados (TVM, NNVM, etc.) garantizar la determinación, porque la GPU moderna introduce el paralelismo en el flujo de ejecución. Synapse utiliza tanto las cuantizaciones de los modelos de IA como la aceleración determinista de la GPU para que las DApps de IA estén disponibles. Con la ayuda de la aceleración de hardware de la GPU, las subrutinas de inferencia de IA podrían comportarse como una función SHA dedicada en la máquina virtual de blockchain, públicamente verificable y determinística.

Para resumir

Los contratos inteligentes de IA son una característica muy necesaria para el caso de uso de DApps en el mundo real.

  • La IA es un término vago, que puede aplicarse a cualquier cosa, desde la aplicación basada en reglas hasta la inteligencia humana que aún no se ha inventado.
  • Cuando hablamos de IA hoy en día, estamos hablando de Aprendizaje automático, un enfoque para lograr la IA.
  • El aprendizaje automático es un software que aprende de ejemplos en los que se proporciona grandes conjuntos de datos relevantes para entrenar los algoritmos.
  • El diseño de modelos de aprendizaje automático con la cuantificación y compresión en mente requiere menos capacidad de almacenamiento y poder computacional.
  • La inferencia determinista de la IA “Synapse” propuesta por Cortex garantiza que la misma inferencia dé lugar a entornos informáticos heterogéneos.

Si estás interesado en aprender el aprendizaje profundo, echa un vistazo a Jeremy Howard's Fast.ai y Andrew Ng's deeplearning.ai. También hay muchos servicios en la nube de GPU que ofrecen pruebas gratuitas (como Digital Ocean) y entornos computacionales en la nube gratuitos (como Google Colab y Kaggle Kernels) para que puedas comenzar con facilidad.

Acerca de Cortex

Cortex es la primera tecnología de blockchain que permite la ejecución de algoritmos de inteligencia artificial en la blockchain. Cortex proporciona una plataforma de IA para que los desarrolladores carguen sus modelos en la blockchain, los cuales podrán integrarse con los contratos inteligentes. El TestNet para la minería y los contratos inteligentes de IA ya están disponibles. Haz click aquí para obtener más información.

TestNet

| Block Explorer — Cerebro| Mining Pool | Remix Editor | Software |

Social Media

| Website | GitHub | Twitter | Facebook | Reddit | Kakao | Mail |

Telegram

| English | Korean | Chinese |

--

--