Aplicación de técnicas de IA desde el descubrimiento de fármacos hasta los LLM para reducir las alucinaciones
5 de diciembre de 2024
Proyectos revolucionarios de GitHub: Descubrimiento automatizado de fármacos con IA La integración de la inteligencia artificial (IA) en el descubrimiento de fármacos está revolucionando la industria farmacéutica. Los proyectos de código abierto en GitHub desempeñan un papel crucial en este proceso. A continuación, presentamos algunos de los proyectos más innovadores que impulsan el descubrimiento automatizado de fármacos mediante IA. DeepChem: Plataforma abierta para el aprendizaje profundo en química DeepChem es una biblioteca líder de código abierto que facilita el acceso al aprendizaje profundo para aplicaciones químicas. Proporciona herramientas para:
- Modelado molecular
- Predicción de la estructura de proteínas
- Ciencia de los materiales
A través de su interfaz intuitiva, DeepChem permite a los investigadores implementar modelos complejos de IA sin necesidad de conocimientos profundos de programación. Esto acelera el descubrimiento de nuevos fármacos y promueve la innovación en la industria.
MoleculeNet: Benchmarking para IA en Química
MoleculeNet es un sistema integral de benchmarking diseñado específicamente para el aprendizaje automático en la investigación química. Ofrece:
- Conjuntos de datos estandarizados
- Métricas de evaluación
- Comparación del rendimiento del modelo
Al proporcionar puntos de referencia consistentes, MoleculeNet facilita la comparación de diferentes modelos de IA, impulsando así el progreso en el descubrimiento de fármacos.
ATOM Modeling PipeLine (AMPL): Descubrimiento acelerado de fármacos
ATOM Modeling PipeLine es un proyecto del Consorcio ATOM que busca acelerar el desarrollo de fármacos mediante el aprendizaje automático. AMPL ofrece:
- Proceso modular para la preparación de datos
- Entrenamiento automatizado de modelos
- Marcos extensibles para diversos casos de uso
Con AMPL, los investigadores pueden construir modelos complejos de forma eficiente, acortando así el tiempo desde el descubrimiento hasta la comercialización de nuevos fármacos.
Chemprop: Predicción de propiedades moleculares con aprendizaje profundo
Chemprop utiliza redes neuronales de grafos para predecir propiedades moleculares. Sus características incluyen:
- Alta precisión de predicción
- Arquitecturas de modelos adaptables
- Compatibilidad con diversos conjuntos de datos químicos
Chemprop ha obtenido resultados sobresalientes en varias competiciones y es una herramienta valiosa para la química asistida por IA.
DeepPurpose: Kit de herramientas universal para el descubrimiento de fármacos
DeepPurpose es un completo kit de herramientas de aprendizaje profundo para el descubrimiento de fármacos. Ofrece:
- Integración de diversos modelos y conjuntos de datos
- Fácil implementación de modelos predictivos
- Aplicaciones en interacciones proteína-ligando
Gracias a su versatilidad, DeepPurpose permite a los investigadores identificar nuevos candidatos terapéuticos de forma rápida y eficiente.
OpenChem: Marco de aprendizaje profundo dedicado a aplicaciones químicas
OpenChem es un marco de aprendizaje profundo adaptado a la química. Incluye:
- Soporte para la generación de moléculas
- Predicción de propiedades
- Flexibilidad en el diseño de modelos
OpenChem promueve el desarrollo de nuevos métodos en IA química y contribuye a acelerar la investigación.
La comunidad de código abierto en GitHub está ampliando los límites del descubrimiento automatizado de fármacos con estos proyectos. La combinación de IA y química abre nuevas posibilidades para desarrollar soluciones terapéuticas de forma más eficiente y precisa. Estas innovaciones tienen el potencial de cambiar el futuro de la medicina de forma sostenible.
Aplicación de modelos de investigación de IA desde el descubrimiento de fármacos hasta la síntesis de modelos de IA
ElLos modelos y métodos de IA utilizados ofrecen enfoques innovadores que pueden transferirse a la destilación de modelos de IA. Aunque ambos campos parecen diferentes a primera vista, comparten técnicas y desafíos comunes que permiten una aplicación significativa.
Sentido de la aplicación
La aplicación de modelos de investigación, desde el descubrimiento de fármacos hasta la destilación de modelos de IA, tiene sentido porque:
- Métodos comunes: Ambos campos utilizan técnicas avanzadas de aprendizaje automático, como el aprendizaje profundo, las redes neuronales y los modelos basados en grafos.
- Reducción de la complejidad: En el descubrimiento de fármacos, las estructuras moleculares complejas se representan de forma simplificada, similar a la reducción de grandes modelos de IA a formas más compactas.
- Optimización y eficiencia: Tanto el descubrimiento de fármacos como la destilación de modelos buscan lograr resultados eficientes y eficaces con recursos limitados.
Cómo se puede aplicar
1. Redes Neuronales Graficas (GNN) para la Comprensión Estructural
En la investigación farmacológica, las Redes Neuronales Graficas se utilizan para analizar estructuras moleculares. Estas técnicas pueden emplearse en la destilación de modelos para comprender la estructura de modelos grandes y extraer características esenciales para el modelo más pequeño.
2. Aprendizaje por Transferencia y Extracción de Características
Los modelos de proyectos como DeepChem o Chemprop utilizan el aprendizaje por transferencia para aprender de conjuntos de datos existentes. De igual forma, en la destilación, un modelo grande preentrenado puede servir como punto de partida para transferir características esenciales al modelo más pequeño.
3. Aprendizaje Multitarea para Modelos Versátiles
Proyectos como MoleculeNet utilizan el aprendizaje multitarea para entrenar modelos que puedan gestionar múltiples tareas simultáneamente. Este método se puede utilizar en la destilación para crear modelos compactos que, a la vez, realizan funciones versátiles.
4. Técnicas de optimización a partir del descubrimiento de fármacos
Los enfoques de optimización a partir del descubrimiento de fármacos, como el ajuste fino de hiperparámetros o el uso de algoritmos evolutivos, se pueden aplicar para aumentar la eficiencia de los modelos destilados.
5. Aumento y generación de datos
La generación de datos sintéticos es clave en proyectos como DeepPurpose. Se pueden utilizar técnicas similares para mejorar el proceso de entrenamiento del modelo del estudiante en la destilación, especialmente cuando la disponibilidad de datos es limitada.
Pasos prácticos de implementación
- Análisis de la estructura del modelo: Uso de redes neuronales genómicas (GNN) para identificar componentes importantes del modelo del profesor.
- Selección de características: Extracción de características críticas para el rendimiento del modelo.
- Diseños de arquitectura eficientes: Adaptación de las arquitecturas de modelos del descubrimiento de fármacos para estructuras de modelos más compactas.
- Entrenamiento conjunto: Implementación del aprendizaje multitarea para entrenar al modelo del estudiante en múltiples tareas y, por lo tanto, mejorar la capacidad de generalización.
La integración de métodos del descubrimiento automatizado de fármacos en la destilación de modelos de IA abre nuevas vías para aumentar la eficiencia y reducir la complejidad. Mediante la transferencia de técnicas probadas, se pueden desarrollar modelos potentes y compactos que cumplen con los requisitos de las aplicaciones modernas de IA. Este enfoque interdisciplinario promueve la innovación y acelera el progreso en ambos campos de investigación.
Extensión: Aplicación de técnicas de IA desde el descubrimiento de fármacos hasta los LLM para reducir las alucinaciones
Los avances en inteligencia artificial han revolucionado tanto el descubrimiento de fármacos como el desarrollo de grandes modelos lingüísticos (LLM). Una pregunta interesante es si las técnicas del descubrimiento automatizado de fármacos pueden ayudar a aumentar la precisión de la predicción de los LLM y reducir las alucinaciones. A continuación, exploramos esta posibilidad y analizamos si dicha aplicación es útil y si estas técnicas ya se utilizan en los LLM.
Conexión entre IA y tecnologíaTécnicas en Química y Maestrías en Derecho (LLM)
1. Redes Neuronales Graficas (GNN) y Análisis Estructural
En el descubrimiento de fármacos, las Redes Neuronales Graficas se utilizan para comprender y predecir las estructuras complejas de las moléculas. Las GNN modelan los datos como grafos, lo cual es natural en química porque las moléculas constan de átomos (nodos) y enlaces (aristas).
Aplicación a las LLM:
- Árboles sintácticos como grafos: Al igual que las moléculas, las oraciones se pueden representar como grafos, donde las palabras son nodos y las relaciones gramaticales son aristas.
- Modelado de contexto mejorado: Las GNN podrían utilizarse para modelar mejor las relaciones entre las palabras de una oración, lo que podría mejorar la contextualización en las LLM.
2. Incertidumbre y estimación de la incertidumbre
En el descubrimiento de fármacos, la estimación de la incertidumbre es crucial para evaluar la fiabilidad de las predicciones.
Aplicación a los LLM:
- Reducción de las alucinaciones: Al incorporar estimaciones de la incertidumbre, los LLM podrían evaluar mejor sus propias predicciones y ser menos propensos a proporcionar información falsa o alucinada.
- Métricas de confianza: Implementar métricas que indiquen la confianza del modelo en su respuesta.
3. Aprendizaje multitarea y aprendizaje por transferencia
Proyectos como MoleculeNet utilizan el aprendizaje multitarea para entrenar modelos que predicen múltiples propiedades simultáneamente.
Aplicación a los LLM:
- Optimización simultánea de múltiples objetivos: Los LLM podrían entrenarse para optimizar tanto la predicción de la siguiente palabra como la precisión del contenido.
- Transferencia de conocimiento del dominio: Mediante el aprendizaje por transferencia, los modelos pueden utilizar conocimientos específicos de la química para realizar predicciones más precisas en ese dominio.
4. Aumento de datos y generación de datos sintéticos
En química, los datos sintéticos se utilizan para mejorar los modelos, especialmente cuando los datos reales son limitados.
Aplicación a los LLM:
- Ampliación de los conjuntos de datos de entrenamiento: Generación de datos de texto adicionales de alta calidad para mejorar el proceso de entrenamiento.
- Mejora de la capacidad de generalización: Con datos más diversos, el modelo puede generalizar mejor y generar menos alucinaciones.
¿Tiene sentido esta aplicación?
Transferir técnicas del descubrimiento de fármacos asistido por IA a los LLM tiene sentido teórico, ya que ambos campos utilizan estructuras de datos complejas y aprendizaje automático. Algunas razones son:
- Fundamentos matemáticos comunes: Ambos campos utilizan redes neuronales y métodos de optimización.
- Necesidad de precisión y fiabilidad: Tanto en medicina como en el procesamiento de la información, las predicciones precisas son cruciales.
Desafíos
- Diferentes tipos de datos: Los datos químicos son estructuralmente diferentes del lenguaje natural.
- Escalabilidad: Los modelos de aprendizaje de larga duración (LLM) suelen ser significativamente más grandes y complejos que los modelos en química, lo que dificulta su aplicación directa.
¿Ya se utilizan estas técnicas en los LLM?
Muchas de las técnicas mencionadas ya se utilizan de alguna forma en los LLM. Integrado:
- Estimación de la incertidumbre: Algunos modelos utilizan enfoques bayesianos o el método de Monte Carlo para modelar. Incertidumbre.
- Modelos basados en grafos: Si bien las redes neuronales de gramática (GNN) no se utilizan directamente en los LLM, existen modelos que consideran árboles sintácticos o grafos de dependencia.
- Aprendizaje multitarea y por transferencia: Los LLM como GPT-4 utilizan el aprendizaje por transferencia y pueden ajustarse para múltiples tareas.
Posibles enfoques innovadores
A pesar de las técnicas existentes, existe potencial para nuevos enfoques:
- Modelos híbridos: Combinación de LLM con GNN para un mejor modelado del contexto.
- Optimización inspirada en la química: Uso de métodos de optimización de la química para mejorarDesarrollo de procedimientos de formación en LLM.
- Conjuntos de datos interdisciplinarios: Incorporación de datos de química para aumentar la precisión de los LLM en áreas especializadas.
La aplicación de técnicas del descubrimiento automatizado de fármacos a los LLM ofrece oportunidades interesantes para mejorar la precisión de las predicciones y reducir las alucinaciones. Si bien algunos métodos ya se utilizan en los LLM, existe margen para una mayor innovación mediante un enfoque interdisciplinario. Los desafíos residen principalmente en los diferentes tipos de datos y la escalabilidad. Sin embargo, la colaboración entre estos dos campos podría conducir a avances significativos en la investigación de IA.
Experimento mental breve: ¿Tiene sentido?
La química y el lenguaje natural parecen diferentes a primera vista, pero ambos son sistemas con reglas y estructuras complejas. Por lo tanto, las técnicas de modelado y predicción en química podrían proporcionar información valiosa para el procesamiento del lenguaje natural. Es importante estar abierto a enfoques interdisciplinarios, ya que la innovación suele surgir en las interfaces de diferentes disciplinas.
Integrar técnicas de IA, desde el descubrimiento de fármacos hasta el desarrollo de modelos de lenguaje de larga duración (LLM), podría ser una forma prometedora de mejorar aún más el rendimiento de estos modelos. Al aprender mutuamente, ambos campos pueden beneficiarse mutuamente y abrir conjuntamente nuevos horizontes en la investigación de IA.
Implementación para reducir las alucinaciones en LLM usando Hugging Face
A continuación, demostramos cómo crear un modelo de lenguaje con estimación de incertidumbre usando Hugging Face y Python para reducir las alucinaciones. Utilizamos técnicas inspiradas en los métodos empleados en el descubrimiento automatizado de fármacos, en particular la estimación de la incertidumbre mediante el método de Monte Carlo Dropout.
Requisitos
- Python 3.6 o superior
- Bibliotecas instaladas:
transformerstorchdatasets
Puede instalar las bibliotecas necesarias con el siguiente comando:
pip install transformers torch datasets
Implementación del código
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch.nn.functional as F
import numpy as np
# Cargar el tokenizador y el modelo
model_name = 'gpt2'
tokenizador = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Habilitar la deserción incluso en modo de evaluación
def enable_dropout(model):
""Habilita las capas de deserción en el modelo durante la evaluación."""
for module in model.modules():
if isinstance(module, torch.nn.Dropout):
module.train()
# Función para la generación con estimación de incertidumbre
def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50):
model.eval()
enable_dropout(model)
inputs = tokenizer(prompt, return_tensors='pt')
input_ids = inputs['input_ids']
# Múltiples predicciones para la estimación de incertidumbre
outputs = []
para _ en rango(num_muestras):
con torch.no_grad():
salida = model.generate(
id_entrada=id_entrada,
longitud_máxima=longitud_máxima,
do_sample=True,
top_k=50,
top_p=0.95
)
salidas.append(salida)
# Decodificación de las secuencias generadas
sequences = [tokenizer.decode(salida[0], skip_special_tokens=True) para la salida en salidas]
# Cálculo de la incertidumbre (entropía)
probs = []
para la salida en salidas:
con torch.no_grad():
logits = model(salida)['logits']
prob = F.softmax(logits, dim=-1)
prob.append(prob.cpu().numpy())
# Cálculo de la entropía promedio
entropies = []
para prob en Probabilidades:
entropía = -np.suma(prob * np.log(prob + 1e-8)) / prob.tamaño
entropías.append(entropía)
entropía_promedio = np.media(entropías)
incertidumbre = entropía_promedio
# Selección de la secuencia más frecuente
from collections import Counter
conteos_secuencia = Contador(secuencias)
secuencia_más_común = conteos_secuencia.más_común(1)[0][0]
return {
'texto_generado': secuencia_más_común,
'incertidumbre': incertidumbre
}
# Ejemplo de uso
prompt = "El impacto de la inteligencia artificial en la medicina es"
resultado = generate_with_uncertainty(modelo, tokenizador, mensaje)
print("Texto generado:")
print(resultado['texto_generado'])
print("Incertidumbre estimada:", resultado['incertidumbre'])
Explicación del código
-
Carga del modelo y el tokenizador: Usamos el modelo GPT-2 preentrenado de Hugging Face.
tokenizador = AutoTokenizer.from_pretrained(nombre_del_modelo) model = AutoModelForCausalLM.from_pretrained(nombre_del_modelo) -
Habilitar la omisión: Usamos la función
enable_dropoutpara habilitar las capas de omisión. Durante la evaluación para habilitar la deserción de Monte Carlo.def enable_dropout(model): for module in model.modules(): if isinstance(module, torch.nn.Dropout): module.train() -
Generación con estimación de incertidumbre: La función
generate_with_uncertaintyrealiza múltiples predicciones y calcula la incertidumbre basándose en la entropía de las distribuciones de salida.def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50): # Función implementada como se muestra arriba -
Cálculo de la incertidumbre: La entropía de las distribuciones de probabilidad se calcula para estimar la incertidumbre. Una mayor entropía indica una mayor incertidumbre.
-
Selección de la mejor secuencia: Elegimos la secuencia generada con mayor frecuencia como resultado final porque es la que tiene más probabilidades de ser correcta.
Uso de repositorios de GitHub
Para obtener una funcionalidad ampliada y métodos avanzados, los siguientes repositorios de GitHub pueden ser útiles:
-
Redes de transformadores bayesianos: Transformadores bayesianos
- Implementación de transformadores con métodos bayesianos para la estimación de la incertidumbre.
-
Modelos de lenguaje aumentados por conocimiento: K-Adapter
- Un enfoque para integrar el conocimiento factual en modelos lingüísticos y reducir las alucinaciones.
Posibilidades de extensión
-
Ajuste preciso con datos específicos del dominio: Al ajustar el modelo con conjuntos de datos específicos, se puede aumentar la precisión.
from datasets import load_dataset # Cargando un conjunto de datos específico del dominio dataset = load_dataset('your_dataset') # Insertar código de ajuste aquí -
Integración de grafos de conocimiento: Integración de bases de datos de conocimiento externas como Wikidata para validar y complementar El contenido generado.
-
Uso de modelos más grandes: Uso de modelos más avanzados como GPT-3 o GPT-4 a través de las API correspondientes para obtener mejores resultados.
Conclusión
Al aplicar la estimación de la incertidumbre y las técnicas del descubrimiento automatizado de fármacos, podemos aumentar la fiabilidad de los modelos lingüísticos y reducir las alucinaciones no deseadas. La implementación proporcionada sirve como punto de partida y puede desarrollarse para cumplir requisitos específicos.
Nota: La implementación mostrada arriba es un ejemplo simplificado. En un entorno de producción, se deben considerar otros aspectos como la eficiencia, la escalabilidad y las consideraciones éticas.
Autor: Thomas Poschadel
COPYRIGHT ToNEKi Media UG (responsabilidad limitada)
![]()