“Probabilidades: la nueva esencia del futuro en IT”. Director del Client Engineering Team & CTO IBM

Enric Delgado Samper

Director del Client Engineering Team & CTO de IBM

No escapa a nadie que vivimos en un mundo muy complejo (cada vez más) y lleno de retos muy considerables: cambio climático, polución, desinformación, virus que aparecen de la nada y pueden hacernos mucho daño, cadenas de suministros que se pueden romper y poner en jaque a toda la economía mundial, etc, etc. Sin duda, en todos ellos, hay un factor humano muy considerable, tanto en lo que se refiere a su existencia como a su posible resolución, pero también es cierto que la tecnología puede ser un factor clave, si no para resolverlos completamente, al menos para mitigarlos muy significativamente.

Por primera vez confluyen tres paradigmas de computación completamente distintos que, combinados, tienen el potencial para atacar problemas realmente muy complejos: la Inteligencia Artificial, la Computación Cuántica y la Computación Clásica

La suerte que tenemos es que vivimos un momento histórico único en lo que a tecnología se refiere, porque por primera vez confluyen tres paradigmas de computación completamente distintos que, combinados, tienen el potencial para atacar problemas realmente muy complejos: la Inteligencia Artificial, la Computación Cuántica y la Computación Clásica. Es natural pensar que la diferencia entre uno y otro tenga que ver principalmente con el tipo de procesadores que hacen de motor de cada uno (GPUs, QPUs y CPUs, respectivamente). Pero en realidad la diferencia es mucho más profunda que eso, tiene que ver con cómo atacamos un problema para resolverlo.

Imaginad que estáis en la entrada de un laberinto y tenéis que encontrar la salida. En el mundo de la computación clásica, hay un algoritmo muy viejo y conocido que, marcando las paredes con un par de colores para saber por dónde has pasado, te permite salir de cualquier laberinto. En el mundo cuántico, podemos imaginar que cada vez que llegamos a una intersección en el laberinto nos clonamos y cada clon sigue un camino distinto, de manera que siempre hay uno que acaba saliendo (¡y además muy rápido!). Y en el mundo de la IA, lo que haríamos es dejar a unas cuantas personas dentro del laberinto y aprender de su experiencia para deducir cómo salir (más o menos). Esto no tiene nada que ver con ninguna tecnología, tiene que ver con algo mucho más conceptual que es cómo abordamos un problema.

Y hay otro elemento que no tiene nada que ver con la tecnología de implementación específica de estos distintos paradigmas computacionales y en el que no solemos pensar: tanto la IA como la computación cuántica son sistemas probabilísticos. Esto es muy relevante porque todos (bueno, casi todos) los sistemas de IT del mundo son deterministas. Están pensados para que, si tú les das un input, salga siempre el mismo output, aunque repitas un millón de veces el mismo input. Esto, en el mundo de la IA y de la cuántica no es así, y hace que integrar estos paradigmas en nuestros sistemas no sea baladí.

Esta dificultad de integración viene derivada en gran medida de que no estamos acostumbrados en el mundo de IT a trabajar con sistemas probabilísticos y menos aún a integrarlos en las plataformas que tenemos y que están pensadas para ser 100% deterministas

El año pasado salió un informe del MIT donde apuntaba a que el 95% de los pilotos de IA generativa no acababa de funcionar o no estaba aportando lo que se esperaba. Los motivos eran varios, desde una mala elección de caso de uso, a una mala elección del partner con el que abordarlo, pero uno de los principales obstáculos era la dificultad de integración de estos sistemas y, en mi opinión, esta dificultad de integración viene derivada en gran medida de que no estamos acostumbrados en el mundo de IT a trabajar con sistemas probabilísticos y menos aún a integrarlos en las plataformas que tenemos y que están pensadas para ser 100% deterministas; es algo que tenemos que aprender a hacer. Centrémonos de momento en la IA (generativa) y en el hecho de que un modelo, delante del mismo input, puede dar respuestas distintas:

Lo primero y más obvio que hay que hacer es entender bien los riesgos de cada caso de uso. Hay situaciones en las que, si un sistema de IA (sea un asistente o un agente) se equivoca, no pasa nada (o pasa poco). Por ejemplo, si tenéis un agente que os planifica viajes, os hace las reservas automáticamente y en vez de enviaros a un hotel de los que le tenéis dicho que os gusta os envía a otro que no os gusta tanto pues bueno, puede ser un poco incordio pero no es grave. Pero hay casos donde equivocarse puede salir muy caro: un proceso de reclamación de una póliza de seguros por ejemplo, o el famoso caso de unos abogados de NY que usaron ChatGPT para buscar jurisprudencia alrededor de su caso y el sistema inventó referencias (acabaron perdiendo el juicio y su carrera profesional).
La manera más fácil de arreglar esto es, simplemente, poner a un humano (un humano experto, tampoco vale cualquiera) a revisar los outputs de un sistema de IA, muy en especial si es un agente que no solo te da información, sino que ejecuta tareas en base a esa información. Eso es lo que estamos todos haciendo y solo con eso ya podemos semiautomatizar significativamente muchas tareas que antes eran 100% manuales.

Pero se pueden hacer más cosas. Por ejemplo, y aunque suene raro, uno de los grandes retos que tenemos con los modelos de IA generativa son los prompts. Los prompts son la manera en que nosotros damos instrucciones a un modelo de IA para que haga lo que queremos, pero son un arma de doble filo. Por un lado, han democratizado el acceso a esta tecnología tan potente a cualquiera que sepa escribir y están permitiendo que la IA se introduzca en todos los hogares del mundo. Pero, por el otro, están haciendo que la manera de “programar” estos sistemas de IA sea con lenguaje natural y el lenguaje humano es realmente muy malo como lenguaje de programación: está lleno de ambigüedades, es fácil caer en interpretaciones erróneas… es exactamente lo contrario a lo que debería ser un lenguaje de programación de un sistema de IT robusto. Estamos muy al principio aún, pero ya hay librerías como Mellea que permiten crear estructuras en los prompts mucho más adecuadas a la programación de un sistema, formalizando mediante código el tipo de instrucciones que tú quieres dar al modelo de IA y adaptarlas automáticamente al modelo que hay por detrás, combinando lo que son instrucciones deterministas con estocásticas (probabilísticas).

Y esa es realmente la clave: construir sobre lo que sabemos hacer y dominamos de toda la vida en IT, que es estructurar y codificar, e ir combinando nuestros procesos deterministas con estos procesos más probabilísticos cuando el caso de uso lo permita.

Y esa es realmente la clave: construir sobre lo que sabemos hacer y dominamos de toda la vida en IT, que es estructurar y codificar, e ir combinando nuestros procesos deterministas con estos procesos más probabilísticos cuando el caso de uso lo permita. Esta es la estrategia “híbrida” que estamos convencidos en IBM que tiene más sentido, y la que perseguimos con nuestras plataformas, en especial la de watsonx Orchestrate.

El otro gran sistema probabilístico, como comentaba al principio, es la computación cuántica. Cuando ejecutamos un algoritmo cuántico, solo podemos estar seguros un x% de que obtendremos la respuesta que buscamos. Es algo inevitable, forma parte de la propia naturaleza de estos sistemas. ¿Qué nos falta aquí? Algoritmos mucho mejores que hagan que esa x se acerque lo máximo posible a 100.

Hay que tener en cuenta que el algoritmo clásico más antiguo que se conoce (el algoritmo de Euclides para sacar el máximo común divisor de dos números) tiene unos 2500 años. Es decir, llevamos 2500 años creando y perfeccionando algoritmos clásicos y, en cambio, solo un puñado de décadas con los algoritmos cuánticos. Nos queda obviamente mucho por avanzar y, aun así, tenemos ya algoritmos de química, de optimización o de detección de patrones que nos hacen pensar que este mismo año 2026 -y si no es este será el siguiente- llegaremos a la ventaja cuántica (el primer caso de uso comercialmente relevante para una empresa) y la expectativa es que antes de final de la década tengamos ya un ordenador cuántico tolerante a fallos (lo que quiere decir que podremos hacer programas cuánticos mucho más largos y, por tanto, atacar casos de uso más complejos).

Todo apunta a que la computación cuántica realmente útil está a la vuelta de la esquina y eso quiere decir que hay que empezar a prepararse ya

Todo apunta a que la computación cuántica realmente útil está a la vuelta de la esquina y eso quiere decir que hay que empezar a prepararse ya, porque aplicar esta tecnología a un caso de uso no es trivial y requiere tiempo aprender cómo se hace. No hay que pensar, sin embargo, que esto será como un tsunami en el sentido de que, cuando aparezca un primer caso de ventaja cuántica, empezarán a salir todos uno tras otro de golpe. Primero vendrá uno (seguramente en el área de química o materiales), luego otro (seguramente de optimización), mejoraremos las máquinas, mejoraremos los algoritmos, cuando tengamos un ordenador tolerante a fallos podremos atacar más casos (la criptografía, por ejemplo, o la búsqueda de patrones en transacciones financieras como hicimos de la mano de HSBC), luego vendrán otros, etc, etc; pero no vendrá todo de golpe, eso seguro.

Estamos viviendo pues un momento increíble en el que tenemos a nuestro alcance dos sistemas de información muy nuevos (relativamente) que pueden marcar tanto un punto de inflexión en las posibilidades del IT en cualquier empresa

Estamos viviendo pues un momento increíble en el que tenemos a nuestro alcance dos sistemas de información muy nuevos (relativamente) que pueden marcar tanto un punto de inflexión en las posibilidades del IT en cualquier empresa, como la resolución o mitigación de algunos retos muy relevantes para nuestra sociedad. La gran característica que tienen es que son sistemas probabilísticos, en oposición a los sistemas a los que estamos acostumbrados, y eso requiere pensar de otra manera para poder explotarlos e integrarlos: a nivel de procesos, de algoritmos, de código. Ese es nuestro reto como usuarios. Y cuidado: la máxima ventaja no la sacaremos pensando en cada uno de ellos por separado, sino en todos juntos: IA, cuántica y clásica a la vez. Ese es nuestro futuro.