Tillämpning av AI-tekniker från läkemedelsforskningen till LLM:er för att minska hallucinationer
05.12.2024
Revolutionära GitHub-projekt: Automatisk läkemedelforskning med AI
Integreringen av artificiell intelligens (AI) i läkemedelsforskningen revolutionerar den farmaceutiska industrin. Open source-projekt på GitHub spelar här en avgörande roll. Nedan presenterar vi några av de mest innovativa projekten som driver den automatiska utforskningen av läkemedel med hjälp av AI.
DeepChem: En öppen plattform för djupinlärning i kemi
DeepChem är ett ledande open source-bibliotek som gör djupinlärning tillgänglig för kemiska applikationer. Det erbjuder verktyg för:
- Molekylmodellering
- Proteinstrukturförutsägelse
- Materialvetenskap
Genom sin användarvänliga gränssnitt möjliggör DeepChem för forskare att implementera komplexa AI-modeller utan djupgående programmeringskunskaper. Detta accelererar upptäckten av nya läkemedel och främjar innovation inom branschen.
MoleculeNet: Benchmarking för AI i kemi
MoleculeNet är ett omfattande benchmark-system som har utvecklats specifikt för maskininlärning inom den kemiska forskningen. Det erbjuder:
- Standardiserade datamängder
- Utvärderingsmetriker
- Jämförelse av modellprestationer
Genom att tillhandahålla enhetliga benchmarks underlättar MoleculeNet jämförelsen mellan olika AI-modeller och främjar därmed framsteg inom läkemedelsforskningen.
ATOM Modeling Pipeline (AMPL): Snabbare läkemedelssyntes
Det ATOM Modeling Pipeline är ett projekt från ATOM-konsortiet som syftar till att accelerera läkemedelsutvecklingen med hjälp av maskininlärning. AMPL erbjuder:
- Modulär pipeline för databearbetning
- Automatisk modellträning
- Utbyggbara ramverk för olika användningsfall
Med AMPL kan forskare effektivt skapa komplexa modeller och därmed minska tiden från upptäckt till markinförande av nya läkemedel.
Chemprop: Molekylära egenskapsprognoser med djupinlärning
Chemprop använder grafiska neurala nätverk för att förutsäga molekylära egenskaper. Dess funktioner inkluderar:
- Hög prediktionsnoggrannhet
- Anpassningsbara modellarkitekturer
- Stöd för olika kemiska datamängder
Chemprop har uppnått imponerande resultat i flera tävlingar och är ett värdefullt verktyg för AI-driven kemi.
DeepPurpose: Ett universellt verktyg för läkemedelsutveckling
DeepPurpose är ett omfattande djupinlärningsverktyg för läkemedelsforskning. Det erbjuder:
- Integration av olika modeller och datamängder
- Enkel implementering av prediktionsmodeller
- Användningar i protein-ligand interaktioner
Genom sin mångsidighet möjliggör DeepPurpose för forskare att snabbt och effektivt identifiera nya terapeutiska kandidater.
OpenChem: Ett specialiserat djupinlärningsramverk för kemiska applikationer
OpenChem är ett djupinlärningsramverk skräddarsytt för kemi. Det kännetecknas av:
- Stöd för molekylgenerering
- Egenskapsförutsägelse
- Flexibilitet vid modelldesign
OpenChem främjar utvecklingen av nya metoder inom kemisk AI och bidrar till att accelerera forskningen.
The open-source community on GitHub drives the boundaries of automated drug discovery forward with these projects. By combining AI and chemistry, new possibilities are opening up to develop therapeutic solutions more efficiently and accurately. These innovations have the potential to sustainably change the future of medicine.
Tillämpning av AI-forskningsmodeller från läkemedelsforskningen till distillation av AI-modeller
AI-modellerna och metoderna som används i automatisk läkemedelssyntes kan översättas till distillation av AI-modeller. Även om de två områdena verkar olika på första bästa, har de gemensamma tekniker och utmaningar som möjliggör en meningsfull tillämpning.
Anledningen till tillämpningen
Att tillämpa forskningsmodeller från läkemedelsforskningen på distillation av AI-modeller är mycket logisk, eftersom:
- Gemensamma metoder: Båda områdena använder avancerade maskininlärningstekniker som djupinlärning, neurala nätverk och grafbaserade modeller.
- Förenkling av komplexitet: I läkemedelsforskningen förenklas komplexa molekylstrukturer, liksom vid reduceringen av stora AI-modeller till mindre former.
- Optimering och effektivitet: Både läkemedelsupptäckt och modelldistillation syftar till att uppnå effektiva resultat med begränsade resurser.
Hur tillämpningen kan göras
1. Graph Neural Networks (GNNs) för strukturanalys
I läkemedelsforskningen används graph neurala nätverk för att analysera komplexa molekylstrukturer och förutsäga dem. Dessa tekniker kan användas i modelldistillation för att förstå strukturen hos större modeller och extrahera viktiga egenskaper för den mindre modellen.
2. Transfer Learning och Feature Extraction
Modellerna från projekt som DeepChem eller Chemprop använder transfer learning för att lära sig från befintliga datamängder. På samma sätt kan distillation använda en stor, förtränad modell som utgångspunkt, där viktiga egenskaper överförs till den mindre modellen.
3. Multi-task Learning för mångsidiga modeller
Projekt som MoleculeNet använder multi-task learning för att träna modeller som kan utföra flera uppgifter samtidigt. Denna metod kan användas i distillation för att skapa kompakta modeller som ändå tillgodoser olika funktionella krav.
4. Optimeringstekniker från läkemedelsforskningen
Optimeringsansatser från läkemedelsforskningen, såsom finjustering av hyperparametrar eller användning av evolutionära algoritmer, kan appliceras för att effektivisera distillerade modeller.
5. Datagenerering och dataförstärkning
Generering av syntetiska data är en nyckelpunkt i projekt som DeepPurpose. Liknande tekniker kan användas för att förbättra träningsprocessen för elevmodellen i distillation, särskilt när begränsade data finns tillgängliga.
Praktiska steg för implementering
- Analysera modellstrukturen: Använd GNNs för att identifiera viktiga komponenter i lärare-modellen.
- Feature-selektion: Extrahera kritiska funktioner som är avgörande för modellens prestanda.
- Effektiva arkitektursdesigner: Anpassa modellarkitekturer från läkemedelsforskningen för mindre modellstrukturer.
- Gemensam träning: Implementera multi-task learning för att träna elevmodellen på flera uppgifter och därmed öka generaliseringsförmågan.
Integrationen av tekniker från automatisk läkemedelssyntes i distillation av AI-modeller öppnar nya vägar till effektivitetsökning och komplexitetsreducering. Genom att överföra beprövade metoder kan kraftfulla, kompakta modeller utvecklas som uppfyller kraven på moderna AI-applikationer. Detta tvärvetenskapliga tillvägagångssätt främjar innovation och accelererar framsteg i båda forskningsområdena.
Utökning: Tillämpning av AI-tekniker från läkemedelsforskningen på LLM:er för att minska hallucinationer
Framstegen inom artificiell intelligens har revolutionerat både läkemedelsforskningen och utvecklingen av Large Language Models (LLMs). En intressant fråga är om teknikerna från automatisk läkemedelssyntes kan bidra till att öka prediktionsnoggrannheten i LLM:er och minska hallucinationer. Nedan undersöker vi denna möjlighet och analyserar om en sådan tillämpning är logisk och om dessa tekniker redan används i LLM:er.
Förbindelsen mellan AI-tekniker inom kemi och LLM:er
1. Graph Neural Networks (GNNs) och strukturanalys
I läkemedelsforskningen används graph neurala nätverk för att analysera komplexa molekylstrukturer och förutsäga dem. GNN:er modellerar data som grafer, vilket naturligtvis är fallet inom kemi eftersom molekyler består av atomer (noder) och bindningar (kanter).
Användning i LLM:er:
- Syntaxträd som grafer: Liksom molekyler kan meningar representeras som grafer, där ord är noder och grammatiska relationer kanter.
- Förbättrad kontextmodellering: GNN:er kan användas för att bättre modellera relationerna mellan ord i en mening, vilket kan förbättra kontextualiseringen i LLM:er.
2. Oskärlig och osäkerhetsuppskattning
I läkemedelsforskningen är osäkerhetsuppskattning avgörande för att bedöma tillförlitligheten i förutsägelser.
Användning i LLM:er:
- Reducering av hallucinationer: Genom att integrera osäkerhetsuppskattningar kan LLM:er bättre värdera sina egna förutsägelser och vara mindre benägna att leverera felaktiga eller hallucinerade information.
- Förtroendemått: Implementering av mått som visar hur säker modellen är i sitt svar.
3. Multi-task Learning och Transfer Learning
Projekt som MoleculeNet använder multi-task learning för att träna modeller som kan utföra flera uppgifter samtidigt.
Användning i LLM:er:
- Samtidig optimering av flera mål: LLM:er kan tränas för att optimera både nästa ordförutsägelse och innehållsvaliditet samtidigt.
- Överföring av domänkunskap: Genom transfer learning kan modeller lära sig från befintliga datamängder och använda specifik expertis inom det området.
4. Datagenerering och syntetisk datagenerering
I kemin används syntetiska data för att förbättra modellerna, särskilt när verkliga data är begränsade.
Användning i LLM:er:
- Utökning av träningsdatamängder: Generering av ytterligare kvalitetsdata för att förbättra träningsprocessen.
- Förbättrad generaliseringsförmåga: Genom mer varierande data kan modellen bättre generalisera och undvika hallucinationer.
Är tillämpningen logisk?
Överföringen av tekniker från AI-driven läkemedelsforskning till LLM:er är teoretiskt logisk, eftersom båda områdena använder komplexa data och maskininlärning. Några skäl inkluderar:
- Gemensamma matematiska grunder: Båda områdena använder neurala nätverk och optimeringsmetoder.
- Behov av noggrannhet och tillförlitlighet: Både i medicin och informationsbearbetning är noggranna förutsägelser avgörande.
Utmaningar
- Olika datatyper: Kemiska data skiljer sig från naturligt språk på många sätt.
- Skalbarhet: LLM:er är ofta betydligt större och mer komplexa än modeller i kemin, vilket gör direkt tillämpning svår.
Används dessa tekniker redan?
Vissa av de nämnda teknikerna används redan i LLM:er:
- Oskärlig uppskattning: Vissa modeller använder Bayesianska tillvägagångssätt eller Monte Carlo Dropout för att modellera osäkerheter.
- Grafbaserade nätverk: Även om GNN:er inte används direkt i LLM:er, finns det modeller som integrerar syntaxträd eller beroendegrafer.
- Multi-task och transfer learning: LLM:er som GPT-4 använder transfer learning och kan finjusteras för flera uppgifter.
Potentiella innovativa tillvägagångssätt
- Hybridmodeller: Kombination av LLM:er med GNN:er för förbättrad kontextmodellering.
- Kemi-inspirerade optimeringsmetoder: Användning av optimeringsmetoder från kemin för att effektivisera träningsprocessen i LLM:er.
- Interdisciplinära datamängder: Inkludera data från kemin för att göra LLM:er mer exakta inom specifika områden.
Tillämpningen av AI-tekniker från läkemedelsforskningen på LLM:er erbjuder spännande möjligheter till förbättrad prediktionsnoggrannhet och reduktion av hallucinationer. Även om vissa metoder redan används i LLM:er finns det utrymme för ytterligare innovation genom ett tvärvetenskapligt tillvägagångssätt. Utmaningarna ligger huvudsakligen i de olika datatyperna och skalbarheten. Trots detta kan samarbete mellan dessa områden leda till betydande framsteg inom AI-forskningen.
Implementering för att minska hallucinationer i LLM:er med Hugging Face
Nedan visar vi hur man skapar ett språkmodell med osäkerhetsuppskattning med hjälp av Hugging Face och Python. Vi använder tekniker som kommer från tillämpningar inom läkemedelsforskningen, särskilt osäkerhetsuppskattning genom Monte Carlo Dropout.
Förutsättningar
- Python 3.6 eller högre
- Installerade bibliotek:
transformerstorchdatasets
Du kan installera de nödvändiga biblioteken med följande kommando:
pip install transformers torch datasets
Kodimplementering
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch.nn.functional as F
import numpy as np
# Ladda in tokenizern och modellen
model_name = 'gpt2'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Aktivera dropout under utvärdering
def enable_dropout(model):
"""Aktiverar Dropout-lager i modellen under utvärdering."""
for module in model.modules():
if isinstance(module, torch.nn.Dropout):
module.train()
# Funktion för generering med osäkerhetsuppskattning
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']
# Generera flera förutsägelser för osäkerhetsuppskattning
outputs = []
for _ in range(num_samples):
with torch.no_grad():
output = model.generate(
input_ids=input_ids,
max_length=max_length,
do_sample=True,
top_k=50,
top_p=0.95
)
outputs.append(output)
# Dekoda de genererade sekvenserna
sequences = [tokenizer.decode(output[0], skip_special_tokens=True) for output in outputs]
# Beräkna osäkerheten (entropi)
probs = []
for output in outputs:
with torch.no_grad():
logits = model(output)['logits']
prob = F.softmax(logits, dim=-1)
probs.append(prob.cpu().numpy())
# Beräkna genomsnittlig entropi
entropies = []
for prob in probs:
entropy = -np.sum(prob * np.log(prob + 1e-8)) / prob.size
entropies.append(entropy)
avg_entropy = np.mean(entropies)
uncertainty = avg_entropy
# Välj den mest förekommande sekvensen
from collections import Counter
sequence_counts = Counter(sequences)
most_common_sequence = sequence_counts.most_common(1)[0][0]
return {
'generated_text': most_common_sequence,
'uncertainty': uncertainty
}
# Exempelanvändning
prompt = "Effekterna av artificiell intelligens på medicin är"
result = generate_with_uncertainty(model, tokenizer, prompt)
print("Genererad text:")
print(result['generated_text'])
print("Uppskattad osäkerhet:", result['uncertainty'])
Förklaring av koden
- Ladda in modell och tokenizator: Vi använder den förtränade GPT-2-modellen från Hugging Face.
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
enable_dropout aktiveras dropout-lagren under utvärdering för att möjliggöra Monte Carlo Dropout.def enable_dropout(model):
for module in model.modules():
if isinstance(module, torch.nn.Dropout):
module.train()
generate_with_uncertainty genererar flera förutsägelser och beräknar osäkerheten baserat på entropin av utdatafördelningarna.def generate_with_uncertainty(model, tokenizer, prompt, num_samples=5, max_length=50):
Användning av GitHub-repositorier
För mer avancerad funktionalitet och sofistikerade metoder kan följande GitHub-repositorier vara till hjälp:
- Bayesianska Transformerar: Bayesian Transformers
- Implementering av transformatorer med Bayesianska metoder för osäkerhetsuppskattning.
- Kunskapsuppgraderade språkmodeller: K-Adapter
- Ett tillvägagångssätt för att integrera kunskap i språkliga modeller för att minska hallucinationer.
Utökningsmöjligheter
- Finjustering med domänspecifika data: Finjustering av modellen med specifika datamängder kan förbättra noggrannheten.
from datasets import load_dataset
# Ladda in en domänspecifik datamängd
dataset = load_dataset('your_dataset')
# Finjusteringkod här
Slutsats
Att tillämpa AI-tekniker från läkemedelsforskningen på LLM:er erbjuder spännande möjligheter att förbättra prediktionsnoggrannheten och minska hallucinationer. Även om vissa metoder redan används i LLM:er finns det utrymme för ytterligare innovation genom ett tvärvetenskapligt tillvägagångssätt. Utmaningarna ligger huvudsakligen i de olika datatyperna och skalbarheten. Trots detta kan samarbete mellan dessa områden leda till betydande framsteg inom AI-forskningen.
Författare: Thomas Poschadel
COPYRIGHT ToNEKi Media UG (haftungsbeschränkt)
![]()