>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Jupyter

Biologie und GPT verbinden – Das scGPT-Projekt unter der Lupe

Biologen haben Jahre damit verbracht, Single-Cell-Daten zu sammeln, um zu verstehen, wie unsere Organe auf der detailliertesten Ebene funktionieren. Das Problem ist, dass es mittlerweile zu viele dieser Daten gibt und sie verschiedene Sprachen "sprechen". Stellen Sie sich Millionen von Tabellen vor, die Genaktivität aufzeichnen, aber jedes Labor hat seine eigenen Protokolle und Formate. Diese manuell zu einem einheitlichen Bild zusammenzufügen, ist nahezu unmöglich.

Hier kommt scGPT ins Spiel. Die Entwickler von bowang-lab haben sich gedacht: Wenn Transformer gelernt haben, menschliche Sprache zu verstehen, warum sollten sie dann nicht auch die Sprache der Zellen lernen können?

Warum das für Entwickler und Data Scientists relevant ist

Normalerweise verlässt sich die Bioinformatik auf spezialisierte Pakete wie Scanpy oder Seurat. Sie sind leistungsstark, erfordern aber oft eine manuelle Konfiguration für jeden Datensatz. scGPT ist ein Versuch, ein Foundation Model für Single-Cell-Biologie zu erstellen.

Dies ist nicht nur ein Skript zum Zeichnen von Grafiken. Das Projekt nimmt die GPT-Architektur und trainiert sie auf einer enormen Datenmenge – über 33 Millionen menschliche Zellen. Dadurch beginnt das Modell, interne Abhängigkeiten zwischen Genen zu verstehen, ähnlich wie ChatGPT die Beziehungen zwischen Wörtern in einem Satz versteht.

Was sich im Repository befindet

Das Projekt ist in Python geschrieben und nutzt aktiv PyTorch. Wenn Sie es gewohnt sind, mit HuggingFace zu arbeiten, werden Sie sich hier wie zu Hause fühlen (obwohl die vollständige Hub-Integration noch in Arbeit ist).

Wichtige Funktionen

Eine der nützlichsten Funktionen ist Reference Mapping. Wenn Sie neue Daten haben, können Sie diese buchstäblich in nur einer Sekunde mit einer Datenbank von 33 Millionen Zellen abgleichen. Dank der faiss-Bibliothek dauert die Indexsuche für 10.000 Zellen auf der GPU weniger als eine Sekunde. Der Index wiegt weniger als ein Gigabyte.

Ein weiterer wichtiger Punkt sind Zero-shot-Anwendungen. Das Modell kann für die Zelltyp-Annotation oder Datenintegration ohne zusätzliches Fine-Tuning verwendet werden. Das spart viel Zeit und Rechenressourcen.

Für diejenigen, die eine spezifische Lösung benötigen, haben die Autoren eine ganze "Zoo" von vortrainierten Modellen veröffentlicht:

  • whole-human: eine universelle Option, trainiert auf 33 Millionen Zellen.
  • Spezialisierte Modelle für Gehirn, Blut, Herz, Lunge und Nieren.
  • Pan-cancer: ein Modell, das auf verschiedene Krebszelltypen zugeschnitten ist.

Wie man es ausführt

Die Installation erfolgt standardmäßig über pip, aber es gibt eine Nuance mit der flash-attn-Abhängigkeit. Sie beschleunigt die Arbeit erheblich, ist aber wählerisch was CUDA-Versionen angeht. Die Autoren empfehlen Version 11.7.

pip install scgpt "flash-attn<1.0.5"

Wenn Sie sich nicht mit der Umgebung herumschlagen möchten, haben die Leute von Superbio.ai Cloud-Anwendungen für scGPT erstellt. Sie können Zellannotation oder Genregulationsnetzwerk-Inferenz direkt im Browser ausprobieren.

Technische Details

Im Gegensatz zu einem klassischen textbasierten GPT verwendet dieses generative Attention-Masking. Dadurch kann das Modell Genexpression vorhersagen und fehlende Werte in den Daten wiederherstellen (Imputation).

Interessanterweise unterstützt das Projekt sowohl CPU als auch GPU. Die load_pretrained Funktion wurde umgeschrieben, sodass Gewichte schmerzlos auf jedem Backend geladen werden. Und wenn Sie ein Fan von Training-Monitoring sind, gibt es native wandb-Unterstützung im Code.

Praktische Anwendungsfälle

Wofür es tatsächlich verwendet wird:

  1. Batch-Integration: wenn Sie Daten aus zehn verschiedenen Laboren zu einem einzigen konsistenten Datensatz kombinieren müssen.
  2. Perturbation-Vorhersage: das Modell kann einschätzen, wie eine Zelle auf ein bestimmtes Medikament oder eine genetische Manipulation reagieren wird.
  3. Gen-Netzwerkanalyse: Identifizierung, welche Gene "zusammenarbeiten".

Lohnt es sich, es zu probieren?

Wenn Sie in der Bioinformatik oder Systembiologie arbeiten, ist scGPT ein Muss in Ihren Lesezeichen. Es ist eines der aktivsten Projekte im Bereich Single-Cell Foundation Models.

Für wen das Projekt möglicherweise nicht geeignet ist: Diejenigen, die eine leichte Lösung für einen lokalen Laptop ohne dedizierte Grafikkarte suchen. Die Verarbeitung großer Expressionsmatrizen erfordert trotz aller Optimierung immer noch Ressourcen.

Ich empfehle, Ihr Studium mit dem tutorials/zero-shot Ordner zu beginnen. Er enthält Notebooks, die deutlich zeigen, wie das Modell Daten verarbeitet, ohne langes Training.

Das Projekt entwickelt sich aktiv weiter: kürzlich wurde HuggingFace-Unterstützung in einem separaten Branch hinzugefügt und die Dokumentation auf ReadTheDocs aktualisiert. Es ist klar, dass das Team nicht nur Code für eine Veröffentlichung herausgegeben hat – sie pflegen das Tool wirklich.

Ähnliche Projekte