La inteligencia artificial generativa a la cual nos referiremos como IAGen, es una técnica de aprendizaje profundo que ha revolucionado la forma en que generamos contenido digital. En el campo de la medicina, los modelos generativos han demostrado ser una herramienta valiosa para la creación de nuevas terapias y tratamientos personalizados, así como para la simulación de procesos biológicos y la exploración de nuevos fármacos.
El desarrollo de los modelos generativos en medicina es el resultado de décadas de investigación en inteligencia artificial y ciencias médicas. En los últimos años, el rápido avance de la tecnología ha permitido la creación de algoritmos cada vez más sofisticados capaces de simular procesos biológicos complejos y generar nuevos datos.
En este artículo exploraremos algunos de los modelos generativos más interesantes en medicina, desde la creación de imágenes médicas realistas hasta la simulación de procesos biológicos complejos. También discutiremos los desafíos y oportunidades que se presentan en este campo, así como las implicaciones éticas de la generación de contenido médico sintético.
Te puede interesar: La IA generativa y los cinco gigantes: primera parte
A pesar que las capacidades necesarias para el desarrollo de la IAGen son anteriores al año 2022, el gran hito de este subtipo de IA se dio a finales de dicho año con el lanzamiento mundial del motor Chat-GPT por parte de la empresa OpenAI en Estados Unidos. El rápido éxito de chat-GPT, el cual alcanzó el impresionante número de 100 millones de usuarios en su primer mes de lanzamiento, realmente logró traer al escenario mundial no solo el concepto de IAGen sino el de Inteligencia Artificial General como veremos más adelante.
Hablemos entonces de la base fundamental de este campo, es decir de los modelos generativos.
La principal diferencia entre la inteligencia artificial (IA) clásica que hemos tratado a lo largo de este texto y la IA generativa es el enfoque que utilizan para resolver problemas. La IA clásica se basa en algoritmos predefinidos y reglas lógicas para realizar tareas específicas, como la clasificación de imágenes o la toma de decisiones en un escenario clínico. En contraste, la IA generativa utiliza técnicas de aprendizaje profundo para generar nuevos datos que no existían previamente.
En conclusión, mientras que la IA clásica se enfoca en resolver problemas basados en un conjunto de reglas y datos existentes, la IA generativa se enfoca en crear nuevas soluciones a través del aprendizaje a partir de datos existentes y la generación de nuevos datos sintéticos.
La IA generativa ha demostrado ser particularmente útil en áreas como el diseño de productos, la creación de contenido multimedia y la simulación de procesos complejos en la ciencia y la medicina.
En estos campos, la capacidad de generar nuevos datos y contenido sintético puede acelerar significativamente el proceso de innovación y descubrimiento. Pero ¿cómo puede un modelo generar estas salidas?, para contestar estas preguntas trataremos muy rápidamente conceptos fundamentales como son los codificadores, decodificadores y discriminadores entre otros.
Conceptos Fundamentales sobre IAGen
La arquitectura codificador-decodificador (encoder-decoder) que se generó con las redes neuronales recurrentes (ver este concepto en nuestros capitulos sobre aprendizaje profundo), se ha convertido en un enfoque estándar y efectivo en la actualidad para resolver innumerables tareas basadas en procesamiento del lenguaje natural (NLP). El modelo encoder-decoder es una forma de organizar redes neuronales recurrentes para problemas de predicción de secuencia a secuencia o para entradas basadas en secuencias complejas como textos [secuencia de palabras], imágenes [secuencia de imágenes o imágenes dentro de imágenes] y para proporcionar muchas predicciones detalladas.
¿Que es entonces un Encoder?
El encoder es un tipo de red que “codifica”, es decir, obtiene o extrae características de los datos de entrada suministrados. Lee la secuencia de entrada y resume la información en algo llamado vectores de estado interno o vector de contexto (en el caso de la red LSTM, se llaman vectores de estado oculto y de celda). Por lo general, descartamos las salidas del encoder y solo preservamos los estados internos. Este vector de contexto tiene como objetivo contener toda la información de todos los elementos de entrada para ayudar al decodificador a hacer predicciones precisas. El estado oculto y de celda de la red se pasa al decodificador como entrada.
¿Y que es un Decoder?
Un decodificador es algo que “decodifica” e interpreta el vector de contexto obtenido del encoder. El vector de contexto de la celda final del encoder se introduce en la primera celda de la red del decodificador. Usando estos estados iniciales, el decodificador comienza a generar la secuencia de salida, y estas salidas también se tienen en cuenta para futuras predicciones. Se utiliza una pila de varias unidades LSTM donde cada una predice una salida. Cada unidad recurrente acepta un estado oculto de la unidad anterior y produce una salida, así como su propio estado oculto para pasar al resto de la red.
Una de las principales desventajas de esta red es su incapacidad para extraer relaciones contextuales fuertes de frases semánticas largas, si como lo que encontramos usualmente en un análisis final de una historia clínica. Es decir, si una pieza particular de texto largo tiene algún contexto o relaciones dentro de sus subcadenas, entonces un modelo secuencia a secuencia básico no puede identificar esos contextos y, por lo tanto, disminuye un poco el rendimiento del modelo y, en última instancia, disminuye la precisión.
Teniendo esto en cuenta, se necesitaba una actualización adicional para esta red existente para que se puedan analizar las relaciones contextuales importantes y el modelo pueda generar y proporcionar mejores predicciones, a esto le aplicaremos entonces un concepto básico para que pudiera nacer la IAGen, este es el mecanismo de atención.
Otros conceptos importantes son los de tokenización, embeddings y vectorización de las entradas textuales. La tokenización es el proceso de dividir el texto en unidades más pequeñas, como palabras o frases, para que la computadora pueda procesarlo. Por ejemplo, una oración podría dividirse en una lista de palabras o “tokens”. La tokenización es la primera etapa del procesamiento del lenguaje natural.
La vectorización se refiere al proceso de convertir los tokens (palabras o frases) en vectores numéricos que la computadora pueda comprender y procesar. Es común usar una técnica de vectorización llamada “one-hot encoding” (recuerden nuestro capítulo de preprocesamiento), en el cual cada palabra única en el texto se representa con un vector binario de tamaño igual al tamaño del vocabulario, en donde todas las entradas son cero, excepto la entrada correspondiente a la palabra, que se establece en uno (esto es importante para nuestro posterior concepto de zero-shot). Sin embargo, hay otras técnicas de vectorización más avanzadas que se utilizan para capturar
relaciones semánticas y contextuales entre palabras, y es aquí en donde entra el embedding.
El embedding es una técnica de vectorización avanzada que mapea palabras o frases a vectores numéricos de tamaño fijo que representan la semántica y el contexto de la palabra en un espacio de alta dimensión. Los embeddings se generan mediante algoritmos de aprendizaje automático que aprenden de cuerpos de texto para capturar las relaciones semánticas y
contextuales entre las palabras. Los embeddings se utilizan para mejorar la precisión de los modelos de procesamiento de lenguaje natural en tareas como la clasificación de texto, la traducción automática y la generación de texto.
¿Cómo funciona un mecanismo de atención?
La atención es una mejora de la red existente de modelos de secuencia a secuencia que aborda esta limitación. La razón simple por la que se llama “atención” es debido a su capacidad para obtener significados en secuencias.
En primer lugar, funciona proporcionando un contexto más ponderado o más significativo del codificador al decodificador y un mecanismo de aprendizaje en donde el decodificador puede interpretar a qué prestar más “atención” en la red de codificación subsiguiente al predecir las salidas en cada paso de tiempo en la secuencia de salida.
Podemos considerar que al usar el mecanismo de atención, existe esta idea de liberar la arquitectura codificador-decodificador existente de la representación interna de texto de longitud fija. Esto se logra al mantener las salidas intermedias de la red LSTM codificadora que corresponden
a un cierto nivel de significancia, de cada paso de la secuencia de entrada y al mismo tiempo entrenar al modelo para aprender y prestar atención selectiva a estos elementos intermedios y luego relacionarlos con los elementos en la secuencia de salida.
En pocas palabras el mecanismo de atención es el que te permite ajustar los pesos de la información para dejar realmente la que importa para generar mejores salidas en el modelo de interpretación del lenguaje natural.
Debido a algunos elementos selectivos en la secuencia de entrada, la secuencia de salida se vuelve condicional, es decir, está acompañada de algunas restricciones ponderadas. Estas condiciones son los contextos que reciben atención y, por lo tanto, se entrenan y predicen los resultados deseados.
El modelo de secuencia a secuencia basado en atención requiere una buena potencia de recursos computacionales, pero los resultados son bastante buenos en comparación con el modelo de secuencia a secuencia tradicional. Además, el modelo también puede mostrar cómo se presta atención a la secuencia de entrada al predecir la secuencia de salida. Esto puede ayudar a comprender y diagnosticar exactamente qué está considerando el modelo y en qué grado para pares de entrada-salida específicos.
En lugar de simplemente codificar la secuencia de entrada en un solo vector de contexto fijo para pasar más adelante, el modelo de atención intenta un enfoque diferente. Este modelo intenta desarrollar un vector de contexto que se filtre selectivamente específicamente para cada paso de tiempo de salida, para que pueda enfocarse y generar puntajes específicos para esas palabras relevantes filtradas y, en consecuencia, entrenar nuestro modelo decodificador con secuencias completas y especialmente esas palabras filtradas para obtener predicciones.
Lee también: La IA generativa y los cinco gigantes: segunda parte
Los Transformadores
Hasta el año 2017 estas complejas tareas de NLPs se basaban especialmente en redes
neuronales recurrentes que, como es previsible, tenían un gran consumo computacional. Ese año, sin embargo se publicó un icónico artículo escrito por el grupo de Google Brain encabezado por Vaswani: “Attention Is All You Need” con una propuesta para mejorar la eficacia de los modelos de
traducción automática mediante el uso exclusivo del mecanismo de atención, sin recurrir a las técnicas de convolución o redes recurrentes que se usaban hasta ese momento. Esto dio origen al concepto de los transformadores o “Transformers” que esencialmente son dos redes neuronales paralelas.
La idea principal detrás de los Transformers es utilizar la atención como un mecanismo de reemplazo para los enfoques basados en secuencias. Los modelos de atención basados en secuencias tienen problemas con las entradas largas debido a la dificultad de capturar todas las relaciones de contexto. Por otro lado, los Transformers utilizan una atención “multi cabeza” que permite al modelo enfocarse en diferentes partes de la entrada en paralelo, lo que lo hace más eficiente para manejar entradas largas.
El modelo de Transformer se compone de las dos partes principales ya mencionadas: el codificador y el decodificador que cumplen funciones iguales a las descritas previamente, es decir el codificador toma una secuencia de entrada y la convierte en una secuencia de representaciones
vectoriales y el decodificador toma esta secuencia de representaciones y genera una secuencia de salida, pero en este caso la atención se aplica en cada paso del decodificador para enfocar la atención en diferentes partes de la entrada y producir una salida más precisa.
La arquitectura Transformer ha demostrado ser muy efectiva para una variedad de tareas de procesamiento de lenguaje natural, y ha superado a los modelos basados en secuencias tradicionales en muchos de estos problemas. Además, la simplicidad de la arquitectura Transformer la hace fácil de implementar y entrenar en grandes conjuntos de datos, lo que la llevó a una amplia adopción en la comunidad de aprendizaje automático y a ser la arquitectura fundamental de los nuevos modelos para el NLP, incluyendo por supuesto a la IAGen. A continuación un gráfico que explica dicha arquitectura.
Modelos de Lenguaje
Ya hemos hablado de las estructuras y los conceptos necesarios para entender mejor la IAGen, ahora pasaremos al tema fundamental para la creación de las diversas especialidades de este submundo, con ello me refiero a los modelos de lenguaje a gran escala (en inglés LLMs).
Chat-GPT es solo uno de los LLMs, tal vez el más conocido en la actualidad, pero tenemos un importante número de estos modelos que están revolucionando la forma en como se ejecuta la IAGen. Estos LLMs tiene la capacidad de trabajar sobre las arquitecturas mencionadas previamente para desarrollar tareas críticas en el procesamiento del lenguaje natural desde su entendimiento hasta la generación de salidas. En resumen estas son las cuatro grandes tareas que se han optimizado con los LLMs:
- Entendimiento del lenguaje natural,
- Generación de lenguaje natural coherente, relevante contextualmente y de alta calidad,
- Tareas de conocimiento intensivo en dominios generales o específicos como el de la
medicina y - Capacidad de razonamiento para mejorar la gestión de las decisiones y la resolución de
problemas
En general los LLMs pueden clasificarse según su estrategia de entrenamiento y arquitectura en:
Modelos con arquitectura Encoder-Decoder o de Encoder exclusivo
Estos modelos tienen un entrenamiento basado en lenguaje enmascarado, es decir predicen palabras enmascaradas en una frase analizando el contexto que le rodea lo que le permite desarrollar un entendimiento más profundo sobre las relaciones entre palabras. Para este fin son entrenados en grandes cuerpos de texto utilizando transformers. El ejemplo icónico de estos modelos es el BERT desarrollado por Meta.
Modelos con Decoder Exclusivo
Estos son modelos de lenguaje autoregresivo, lo que significa que están entrenados para generar la siguiente palabra en una secuencia dada una palabra precedente. Usualmente utilizan también arquitectura transformer pero difieren en su entrenamiento y ajuste fino. El ejemplo más conocido de este grupo es el modelo GPT (por su sigla en inglés Generative Pre-training Transformer) que es la base sobre la cual trabaja el desarrollo chat-GPT y actualmente tiene su versión 4.0.
En general los modelos estilo BERT funcionan mejor cuando los datos de entrenamiento son más robustos y para tareas más específicas de conocimiento mientras los de estilo GPT son más versátiles en cuanto a los datos de entrenamiento y más generalizables. En medicina existe una gran variedad de adaptaciones de estos LLMs a dominios específicos como BioBERT, MedPalM o el reciente BioGPT en los cuales se intenta mediante variantes de entrenamiento optimizar los datos de referencia y ajustar las instrucciones de entrenamiento (promptings) para mejorar las salidas.
En la actualidad los modelos tipo GPT son los que mejores salidas generan ya que tienen un entrenamiento masivo en conocimientos del mundo real y además son los que han tenido mejores evaluaciones comparativas en pruebas de conocimiento estandarizadas en el mundo médico como el examen americano USMLE.
Para darnos una idea del costo computacional y la complejidad de estos modelos, para poder originar la versión 3.5 de GPT (sobre la cual trabaja chat-GPT) la empresa OpenAI debió hacer lo siguiente:
- Alojar 175 mil millones de parametros de información disponible en la web que equivale a 499 mil millones de tokens,
- Pagar el costo calculado para su primer entrenamiento en gasto computacional que fue de
4.6 millones de dólares, - Asumir un gasto computacional de 3.14 × 1023 Flops (para darnos una idea el MacBook Air
M1 de Apple tiene una velocidad de 2.8 x 10¹² Flops), - Hacer alianza con Microsoft para utilizar un superordenador alojado en la nube de Microsoft
Azure, que consta de 285,000 núcleos de CPU y 10,000 GPU de alta gama para admitir el
entrenamiento de GPT (el computador personal más avanzado para el momento tiene 8
nucleos en GPU).
Uso de los Modelos Generativos en Medicina
Son múltiples y crecientes los campos de la medicina en los cuales la IAGen podrá intervenir. Los principales aspectos son:
Optimizando el modelo educativo del personal de salud
Los modelos generativos podrían utilizarse para mejorar la educación médica de varias maneras. Inicialmente para facilitar y generar atractividad en tareas de educación como la generación de resúmenes, búsquedas de literatura, análisis compilatorios de evidencia y desarrollo de casos clínicos y simulaciones. En general la educación del profesional de la salud es lineal y solamente integra conceptos una vez se avance en la carrera, lo que pueden hacer los modelos generativos es movilizar en forma temprana el análisis de complejidad de los temas en forma sistémica y experiencial. También pueden usarse para generar simulaciones bien sea de casos clínicos y/o imágenes o para evaluar la probabilidad de un diagnóstico con base en entradas clínicas.
Hay diversas herramientas basadas en modelos generativos que pueden ayudar en estas
tareas como son:
- Para aplicación clínica: Glass, Symptom Checker IO
- Para Análisis de literatura: Scispace, Elicit
- Para Análisis rápido de artículos: ChatDoc, Ask your PDF, ChatPDF
Investigación y desarrollo de medicamentos
Este es quizás uno de los campos más prometedores de los modelos generativos en medicina ya que estas arquitecturas podrían facilitar el diseño de medicamentos mediante la agilización del “molecular docking” que se refiere a la simulación computacional de la unión de dos moléculas,
típicamente una proteína y un ligando, con el fin de predecir su interacción y la conformación tridimensional resultante. Esto permite la identificación y diseño de moléculas que puedan actuar como fármacos o inhibidores de la actividad biológica de la proteína objetivo, pero en este caso los modelos de IAGen pueden producir diversos modelos con sus estructuras terciarias y cuaternarias, que a su vez pueden experimentarse sobre modelos in silico o gemelos digitales antes de ser llevados a niveles avanzados de prueba.
Optimizando el flujo de trabajo clínico
Los modelos generativos podrían optimizar el flujo de trabajo médico de varias maneras. Por ejemplo, podrían ayudar en la interpretación y el análisis de imágenes médicas, lo que podría acelerar el proceso de diagnóstico. También podrían ser útiles en la planificación de tratamientos personalizados para pacientes individuales, teniendo en cuenta la complejidad de los datos y la variabilidad individual en la respuesta a los tratamientos. Además, podrían mejorar la eficiencia de la documentación médica, generando automáticamente informes y notas de pacientes a partir de los datos recopilados. Actualmente los grandes gigantes tecnológicos, en especial Microsoft y Amazon así como empresas de historia clínica electrónica como Cerner y Epic están incorporando modelos de IAGen para convertirlos en “agentes inteligentes” para el personal de la salud. La gráfica siguiente resume cómo sería el flujo de trabajo de un médico en el futuro cercano, en este caso potenciado por IAGen.
Mejorando la educación en salud y la experiencia de los pacientes
Los modelos generativos también podrían ser utilizados para la educación de pacientes y para ayudarles a manejar su salud y bienestar. Imaginemos un WebMD empático, módulos educativos interactivos para explicar conceptos médicos, o un sistema de gestión de enfermedades para ayudar a los pacientes a manejar condiciones crónicas, como la diabetes o la hipertensión. Aunque aún no son lo suficientemente confiables como para proporcionar educación sobre la gestión de la salud, los modelos generativos tienen un gran potencial para permitir la personalización de la educación y la gestión de la salud.
Mejorando el desempeño y resultados de los modelos de analítica e IA clásica
Entrenar modelos de aprendizaje automático para aplicaciones médicas es dispendioso como lo hemos visto a lo largo de este libro, esto se debe entre otros factores a la falta de datos de entrenamiento de buena calidad. Los modelos de aprendizaje automático requieren grandes cantidades de datos de entrenamiento para hacer predicciones precisas. Los datos médicos son particularmente difíciles de obtener y utilizar por varias razones. En primer lugar, los datos deben ser obtenidos con el permiso del paciente para garantizar la privacidad del paciente, un proceso que
a menudo es muy costoso en tiempo y recursos. En segundo lugar, los datos médicos a menudo están altamente desequilibrados, y la mala cobertura de datos dificulta el modelado de condiciones raras. Por ejemplo, recopilar datos sobre una enfermedad infrecuente podría arrojar solo unos pocos casos en medio de cientos o miles de registros. Por último, los datos médicos disponibles están altamente sesgados. Los modelos de aprendizaje automático exhiben los mismos sesgos que los datos utilizados para entrenarlos, por lo que es fundamental minimizar el sesgo en los conjuntos de datos de entrenamiento.
Los modelos generativos se pueden utilizar para crear datos sintéticos equilibrados y realistas con un sesgo mínimo y sin restricciones de privacidad. Algunos ejemplos de cómo se podría utilizar datos sintéticos generados para ello son:
Los modelos generativos se pueden utilizar para crear imágenes médicas sintéticas similares a sus contrapartes reales, pero con una verdad conocida. Esto puede ayudar en el desarrollo y evaluación de algoritmos de análisis de imágenes médicas. Por ejemplo, las redes generativas adversarias (GAN) ya se han utilizado para producir imágenes sintéticas de rayos X, tomografía computarizada (CT), imágenes de resonancia magnética (MRI), tomografía por emisión de positrones, así como imágenes de retina, dermatoscópicas y de ultrasonido.
Para ayudar a los investigadores a comprender mejor la progresión de las enfermedades y los tratamientos efectivos, se pueden utilizar modelos generativos para predecir la progresión de las enfermedades mediante la generación de datos sintéticos que simulan el proceso de la enfermedad.
Un estudio reciente utilizó un modelo generativo basado en Markov-Bayesiano para generar 5,000 trayectorias de enfermedad sintéticas para inferir la progresión de complicaciones en pacientes con diabetes tipo 2.
Además de la generación de datos sintéticos, los modelos generativos pueden ser utilizados para aumentar los datos existentes. La ampliación de los conjuntos de datos existentes con puntos de datos adicionales puede ser útil en casos en los que los datos disponibles son limitados o cuando el modelo necesita más ejemplos de entrenamiento.
Algunos estudios utilizan redes neuronales adversarias(GANs) para aumentar el conjunto de datos. Otros estudios proponen una red generativa adversarial de diagnóstico longitudinal (LDGAN) para predecir múltiples puntuaciones clínicas en puntos de tiempo futuros utilizando datos de resonancia magnética incompletos longitudinales.
Adicionalmente pueden ayudar en la imputación de datos, la cual se realiza a menudo cuando faltan puntos de datos debido a errores de medición o incumplimiento del paciente. Aunque los métodos tradicionales de imputación de datos son simples (es decir, imputación de media o mediana o logaritmización como vimos en el capítulo correspondiente), a menudo no son representativos de los datos reales y pueden tener impactos significativos en el modelo resultante.
En algunos casos, se pueden utilizar modelos generativos para la imputación de datos. Se ha demostrado que la imputación utilizando modelos generativos tiene un mejor rendimiento que los métodos tradicionales en aplicaciones de investigación clínica.
Para resumir, los modelos de IAGen pueden ayudar en forma importante a optimizar los modelos de IA clínica haciéndolos más confiables e industrializables, sin embargo es importante hacer difusión de estas técnicas a los comités nacionales de investigación científica ya que la generación de datos sintéticos es un tema aún lleno de controversias técnicas y bioéticas.
Esta gráfica resume los puntos esenciales sobre los cuales pueden apoyar los modelos generativos a la medicina:
Conclusiones
Aunque estamos aún muy lejos de llegar a una IA general para la medicina, se han venido dando pasos escalonados aunque no necesariamente sumatorios para su desarrollo. Los modelos generativos descritos en forma general en este capítulo son desarrollos informáticos acelerados y crecientes que han dado origen a un impresionante subcampo de la IA que cada vez cobrará mayor relevancia en nuestro mundo médico, pero que como hemosresltado a lo largo de este libro, requieren un adecuado entendimiento e implementación por nuestra parte. Para ello tendremos que seguir navegando en los conceptos expuestos en los capítulos precedentes a fin de delinear adecuadamente el concepto de medicina exponencial para nuestros pacientes, familias y para nosotros mismos.
Recuerda leer: Regresar a casa y seguir creyendo