Warum stimmen wir ein Sprachmodell gut ab? Feinabstimmung ist unerlässlich, wenn wir einem LLM eine neue Fähigkeit vermitteln oder ihr Verständnis in einem bestimmten Bereich verbessern müssen.
In diesem Projekt wollen wir sowohl kleine als auch große Anweisungs-/Chat-Sprachmodelle, einschließlich Smollm für kleine Sprachmodelle (SLM) als auch Mistral für Großsprachenmodelle (LLM), fein abstellen.
Der verwendete Hauptdatensatz ist medalpaca/medical_meadow_medical_flashcards , abgeleitet von den Anki Medical Curriculum -Karteikarten. Diese von Medizinstudenten erstellten und regelmäßig aktualisierten Karteikarten decken ein breites Spektrum an medizinischen Themen ab - wie Anatomie, Physiologie, Pathologie und Pharmakologie - und sollen effektives Lernen und Aufbewahrung durch präzise Zusammenfassungen und Mnemonik unterstützen.
Obwohl dieses Projekt den Datensatz von medical_meadow_medical_flashcards verwendet, ist es an andere Datensätze für Fragen/Antwort- und Anweisungen/Antwortaufgaben anpassbar. Die Integration verschiedener Datensätze kann einfach durch Änderung der Konfigurationsdateien erreicht werden.
Das Projekt unterstützt auch die Quantisierung und macht es möglich, große Modelle wie Mistral und Lama auf bescheideneren Hardware-Setups zu optimieren.
Das fein abgestimmte Smollm-Modell ist auf Umarmung erhältlich?
Während die Antworten des Basismodells allgemein sind und einem Markdown-Format folgen, scheint das fein abgestimmte Modell die speziellen Fähigkeiten, auf denen es geschult wurde, effektiv integriert zu haben, insbesondere bei der Replikation des erwarteten Reaktionsstils. Als jemand ohne medizinischen Hintergrund kann ich die Genauigkeit oder Qualität der Antworten, die durch das Modell bereitgestellt werden, jedoch nicht bewerten. Im Folgenden finden Sie eine Tabelle, in der die Antworten des ursprünglichen Modells, des Basismodells und des Feinabstimmungsmodells für eine Reihe von medizinischen Fragen verglichen werden.
| Frage | Originalantwort | Basismodellantwort | Fein abgestimmte Modellantwort |
|---|---|---|---|
| Welches Antimalaria -Medikament hat die Aktivität gegen Plasmodium -Hypnozoiten? | Primaquin ist das Antimalariamedikament, das gegen Plasmodiumhypnozoiten aktiviert ist. | Antimalaria -Medikamente sind eine Klasse von Arzneimitteln, die gegen Plasmodiumparasiten wirksam sind, die für Malaria verantwortlich sind. Die häufigsten Antimalariamedikamente zur Behandlung von Malaria sind: 1. Ampicillin (Amphotericin B) : ein Breitbandantibiotikum, das gegen Plasmodiumspezies wirksam ist. 2. Fosamivir (Fosamivir) : Ein breites Spektrum-Antiviral, das gegen Plasmodiumspezies wirksam ist. 3. Influvir (Influvir) : Ein breites Spektrum-Antiviral, das gegen Plasmodiumspezies wirksam ist. 4. ** Ampicillin | Erythromycin ist das Antimalariamedikament, das gegen Plasmodium -Hypnozoiten aktiviert ist. |
| Wie wird der Begriff verwendet, um die Menge an Substanz zu beschreiben, die in Bowmans Raum pro Zeiteinheit gefiltert ist? | Die Menge an Substanz, die in Bowmans Raum pro Zeiteinheit filtriert wird, wird als gefilterte Last bezeichnet. | Der Begriff "Bowman's Space" ist ein Umgangsgang, mit dem die Menge an Substanz beschrieben wird, die im Raum eines Bowman gefiltert wird. Dies ist ein hypothetischer Raum, in dem ein Raumschiff in die Umlaufbahn gesteckt wird. Das Konzept basiert auf der Idee, dass ein Raumschiff in die Umlaufbahn gestartet und dann auf die Erde zurückkehrt, wobei das Raumfahrzeug alle verbleibenden Partikel oder Schmutz, die möglicherweise im Raum vorhanden waren, herausfiltern. Der Begriff "Bowman's Space" wird häufig verwendet, um die Menge an Substanz zu beschreiben, die im Raum eines Bowman gefiltert wird, was ein hypothetischer Raum ist, in dem ein Raumschiff in die Umlaufbahn gebracht wird und dann zur Erde zurückkehrt. Der | Der Begriff, der verwendet wird, um die Menge an Substanz zu beschreiben, die im Raum von Bowman pro Zeit der Einheit gefiltert ist, wird als Filtrationseffizienz bezeichnet. |
| Wie wird der Begriff verwendet, um das in den Venen enthaltene Blutvolumen zu beschreiben? | Das in den Venen enthaltene Blutvolumen wird als nicht gestresstes Volumen bezeichnet. | Der Begriff "Blutvolumen" bezieht sich auf die Blutmenge, die durch das Kreislaufsystem des Körpers zirkuliert. Es ist ein komplexer Prozess, der den Austausch von Sauerstoff, Nährstoffen und Abfallprodukten zwischen dem Blut und den Geweben umfasst. Das Blutvolumen wird typischerweise in Litern (L) oder Millilitern (ML) gemessen und über das Kreislaufsystem typischerweise im gesamten Körper verteilt. Es gibt mehrere Schlüsselkomponenten, die zum Blutvolumen beitragen: 1. Rote Blutkörperchen : Dies sind die Zellen, die Sauerstoff von der Lunge zu den Geweben tragen. Sie haben einen Durchmesser von etwa 1,5 mm und bestehen aus Hämoglobin | Der Begriff, der zur Beschreibung des in den Venen enthaltenen Blutvolumens verwendet wird, wird als venöses Blut bezeichnet. |
| Was ist der wichtigste Faktor für die Bestimmung der Prognose eines Übergangszellkarzinoms? | Der wichtigste Faktor für die Bestimmung der Prognose eines Übergangszellkarzinoms ist der Grad der Invasion. | Die Bestimmung der Prognose eines Übergangszellkarzinoms (TCC) ist entscheidend, da es die Lebensqualität des Patienten, die Behandlungsoptionen und das Gesamtüberleben erheblich beeinflussen kann. Der wichtigste Faktor für die Bestimmung der Prognose eines TCC ist das Vorhandensein einer klaren Diagnose, eines gut definierten Tumors und einer günstigen Prognose. Hier sind einige Schlüsselfaktoren, die die Prognose eines TCC beeinflussen können: 1. Klare Diagnose : Bei einem TCC wird ein klarer Tumor diagnostiziert, was bedeutet, dass es ein gutartiges oder gutartiges Wachstum hat. Bei einem TCC wird auch eine günstige Prognose diagnostiziert, da es unwahrscheinlich ist | Der wichtigste Faktor für die Bestimmung der Prognose eines Übergangszellkarzinoms ist das Vorhandensein eines hohen Grades. |
Genauigkeit der Antworten: Das fein abgestimmte Modell repliziert das erwartete Format und den erwarteten Stil, zeigt jedoch einige Ungenauigkeiten. Beispielsweise wird Erythromycin fälschlicherweise als Antimalariamedikament identifiziert, das gegen Plasmodium -Hypnozoiten wirksam ist. Die richtige Antwort sollte primaquin sein.
Basismodellprobleme: Die Antworten des Basismodells sind übermäßig verallgemeinert und manchmal nicht topisch, insbesondere in medizinischen Kontexten, wie in den falschen Erklärungen über Bowmans Raum und Blutvolumen zu sehen ist.
Hinweis: Dieses Ergebnis wurde nach nur 10 Epochen Training erzielt. Das Training für mehr Epochen kann zu besseren Ergebnissen führen ¯ (ツ) /¯.
Um dieses Projekt reibungslos durchzuführen, ist Python 3.10 erforderlich. Das Projekt wurde auf Python 3.10.13 getestet und verifiziert. Befolgen Sie die folgenden Schritte, um Ihre Umgebung einzurichten:
Erstellen Sie eine virtuelle Umgebung:
python -m venv env
Aktivieren Sie die virtuelle Umgebung:
source env/bin/activate
Installieren Sie die erforderlichen Abhängigkeiten:
pip install -r requirements.txt
Umgebungsvariablen einrichten: Kopieren Sie die Datei .env.example und benennen Sie sie in .Env um:
mv .env.example .env
Sie können die Trainingsschritte mit Jupyter -Notizbüchern untersuchen:
cd notebooks
jupyter-lab
Alternativ können Sie den Feinabstimmungsprozess direkt starten. Die für die Feinabstimmung verwendeten Parameter werden in den Konfigurationsdateien im Ordner configs angegeben. Um den Feinabstimmungsvorgang mit dem Standard-Smallm-Modell zu beginnen, laufen Sie:
python train.py
Wenn Sie ein anderes Modell trainieren möchten, können Sie die Modellkonfiguration angeben, indem Sie den Namen des Konfigurationsdateins als Argument übergeben:
python train.py --model Mistral
Ersetzen Sie Mistral durch den Namen der Konfigurationsdatei des gewünschten Modells. Um ein neues Modell zu trainieren, erstellen Sie einfach eine neue Konfigurationsdatei mit den gewünschten Einstellungen und führen Sie Train.py mit dem entsprechenden Modellnamen aus.