Modell / Datensatz
SCIR-HI/Huatuo-Llama-Med-Chinese avatar
SCIR-HI/Huatuo-Llama-Med-Chinese

BenTsao (HuaTuo): LoRA-Adapter für chinesische Medizin-LLMs

Repo for BenCao [original name: HuaTuo (华驼)], Instruction-tuning Large Language Models with Chinese Medical Knowledge. 本草(原名:华驼)模型仓库,基于中文医学知识的大语言模型指令微调

4.993 Sterne499 ForksPythonApache-2.0
GitHub

Auf einen Blick

Was ist das?
Das Repository SCIR-HI/Huatuo-Llama-Med-Chinese veröffentlicht LoRA-Gewichte, mit denen LLaMA, Bloom, Alpaca-Chinese und Huozi an chinesische medizinische Frage-Antwort-Daten angepasst werden. Der interessante Teil ist die Datenkonstruktion, nicht der Trainingscode.
Für wen ist es gedacht?
Wer bereits eine chinesischsprachige 7B-Basis betreibt und medizinische Antwortqualität mit vertretbarem Rechenaufwand verbessern will, findet hier fertige LoRA-Gewichte und ein nachvollziehbares Datenrezept. Wer eine klinisch belastbare Quelle braucht oder nur englischsprachige Modelle einsetzt, sollte Abstand nehmen: die Trainingsdaten stammen laut README aus GPT-3.5-Generierung über einer Wissensdatenbank und sind ausdrücklich als fehlerhaft und unvollständig beschrieben.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 74 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Welche Lücke das Projekt adressiert

Allgemeine chinesische Chat-Modelle beantworten medizinische Fragen oft vage oder falsch. Das Repository setzt genau dort an: Es stellt eine Sammlung von Modellen bereit, die per Instruktions-Finetuning an chinesische medizinische Inhalte angepasst wurden. Die Zielgruppe sind weniger Kliniken als Forschende und Entwickler, die eine 7B-Basis mit begrenzter Hardware in eine medizinisch orientierte Richtung bringen wollen. Das README nennt als Grundmodelle Huozi 1.0, Bloom-7B, Alpaca-Chinese-7B und LLaMA-7B. Der eigentliche Beitrag liegt nicht in einem neuen Trainingsverfahren, sondern in den Daten: Aus einer medizinischen Wissensdatenbank und aus chinesischer Fachliteratur wurden Frage-Antwort-Paare erzeugt, mit denen die Basismodelle nachtrainiert wurden. Wer schon einmal versucht hat, für Chinesisch brauchbare medizinische Instruktionsdaten zu finden, weiß, dass die Datenbeschaffung der teure Teil ist.

Von der Wissensdatenbank zum Frage-Antwort-Paar

Die Wissensbasis orientiert sich laut README an cMeKG und ist um Krankheiten, Medikamente und Untersuchungswerte herum aufgebaut. Ein Eintrag ist ein JSON-Objekt mit Feldern wie 中心词, 相关疾病, 相关症状, 所属科室 und 发病部位. Aus diesen strukturierten Einträgen wurden über die GPT-3.5-Schnittstelle mit mehreren Prompt-Varianten Dialogdaten erzeugt. Der Trainingsdatensatz umfasst nach Angaben des Repositories etwas mehr als achttausend Beispiele. Ein zweiter Strang ist die Literatur: Für das Krankheitsbild Leberkrebs wurden chinesische Fachartikel aus 2023 gesammelt und aus den jeweiligen Schlussfolgerungen mehrrundige Frage-Antwort-Daten generiert. Davon liegen rund tausend Beispiele in data_literature/liver_cancer.json. Der Datenfluss ist also zweistufig: erst Wissensextraktion, dann Sprachmodell-Generierung, dann LoRA-Training auf dem Ergebnis.

Wissens-Finetuning als dritte Stufe

Neben dem klassischen Weg von Wissen zu Frage-Antwort-Paaren beschreibt das Repository ein Verfahren, das es 知识微调 nennt. Das Modell soll zur Inferenzzeit explizit Wissen abrufen, statt es nur implizit in den Gewichten zu tragen. Der Ablauf hat drei Schritte: Zuerst füllt das Modell aus der Frage die Parameter einer Wissensabfrage, nämlich 中心词 und 属性. Dann wird die Abfrage gegen die Wissensbasis ausgeführt. Erst danach entsteht aus dem zurückgegebenen Wissen die Antwort. Das ist konzeptionell näher an Retrieval-Augmented Generation als an reines Instruction-Tuning, und es erklärt, warum das Repository eine Beispieldatei unter data/knowledge_tuning_data_sample.txt mitliefert. Wer diesen Pfad nutzen will, braucht allerdings eine eigene, angebundene Wissensbasis. Die Trainingsdaten allein reichen dafür nicht.

Inferenz in der Praxis

Der Einstieg beginnt mit pip install -r requirements.txt, das README empfiehlt Python 3.9 oder neuer. Die LoRA-Gewichte werden getrennt vom Basismodell verteilt, über Baidu Netdisk oder Hugging Face. Nach dem Entpacken liegt ein Ordner mit adapter_config.json und adapter_model.bin vor. Für die Inferenz gibt es drei Skripte: ./scripts/infer.sh für die Wissensdatenbank, ./scripts/infer-literature-single.sh für einrundige und ./scripts/infer-literature-multi.sh für mehrrundige Literaturfälle. Das Skript ruft infer.py mit den Parametern --base_model, --lora_weights, --use_lora, --instruct_dir und --prompt_template auf. Die Prompt-Vorlage muss zum Basismodell passen: Für Huozi und Bloom ist es templates/bloom_deploy.json, für LLaMA und Alpaca je nach Datensatz templates/med_template.json oder templates/literature_template.json. Ein falsches Template ist hier kein Schönheitsfehler, sondern führt zu Ausgaben im falschen Format.

Eigenes Finetuning und die Kostenfrage

Für eigene Daten sieht das Repository ./scripts/finetune.sh vor, das Format ist an data/llama_data.json angelehnt. Zu den Ressourcen macht das README konkrete Angaben: Das LLaMA-Finetuning lief auf einer A100-SXM-80GB, zehn Epochen in etwa 2 Stunden 17 Minuten, bei batch_size=128 und rund 40 GB Speicherverbrauch. Als Untergrenze nennt das Dokument 24-GB-Karten der Klasse 3090 oder 4090, wobei batch_size an den Speicher anzupassen ist. Diese Zahlen beziehen sich auf LLaMA-7B mit halbpräzisen Gewichten und LoRA; sie sind keine Zusage für größere Basismodelle oder längere Kontexte. Der eigentliche Aufwand liegt ohnehin nicht im Training, sondern in der Datenpflege: Das README räumt selbst ein, dass die Wissensdatenbank und der Datensatz weiter iteriert werden und der Code zur Datenerzeugung noch nicht veröffentlicht ist.

Wo das Projekt an seine Grenzen stößt

Die deutlichste Einschränkung steht im README und wird dort nicht beschönigt: Die Trainingsdaten enthalten Fehler und sind unvollständig. Sie wurden mit GPT-3.5 erzeugt, das heißt, mögliche Halluzinationen des Generators können in die Antworten eingeflossen sein. Für ein medizinisches Modell ist das ein erheblicher Vorbehalt, denn eine flüssig formulierte, aber falsche Therapieempfehlung ist schwerer zu erkennen als eine offensichtlich kaputte Ausgabe. Dazu kommt die Abdeckung: Die Literatur-Modelle sind laut Repository nur für Leberkrebs trainiert, weitere Krankheitsbilder sind angekündigt, aber nicht veröffentlicht. Wer ein Modell für ein anderes Fachgebiet braucht, kann die Gewichte nicht einfach übernehmen. Und wer kein Chinesisch versteht, hat hier ohnehin nichts zu suchen, denn die gesamte Datenkonstruktion ist auf chinesische Quellen ausgelegt.

Was andere anders machen

Der naheliegende Vergleich ist das ebenfalls von SCIR-HI gepflegte Med-ChatGLM, das im README als medizinische Variante von ChatGLM-6B genannt wird und auf denselben Daten beruht. Der Unterschied liegt im Basismodell und damit im Ökosystem: ChatGLM bringt eine eigene Tokenisierung und eigene Ladepfade mit, während BenTsao auf der Hugging-Face-Transformers-Kette mit LLaMA, Bloom, Alpaca-Chinese oder Huozi aufsetzt und LoRA-Adapters nutzt. Wer bereits eine dieser Basen im Einsatz hat, kann den Adapter danebenlegen, ohne die Infrastruktur zu wechseln. Wer dagegen ein Modell mit anderer Architektur oder anderem Tokenizer betreibt, muss auf Med-ChatGLM oder ein eigenes Finetuning ausweichen. Ein weiterer Unterschied: BenTsao trennt Basismodell und Adapter strikt, was den Speicherbedarf beim Deployment senkt, aber zwei Downloads und zwei Pfadangaben pro Start erfordert.

Wartung, Lizenz und was vor dem Einsatz zu prüfen ist

Das Repository trägt Apache-2.0, und die letzten Änderungen stammen aus dem Jahr 2026, das Projekt ist also nicht eingefroren. Allerdings gibt es keine veröffentlichten Releases, und die Wissensdatenbank sowie der Datensatz werden laut README weiter überarbeitet. Wer auf Reproduzierbarkeit angewiesen ist, sollte einen Commit festnageln statt dem main-Branch zu folgen, denn ein aktualisierter Datensatz kann die Adapter-Gewichte entwerten. Zur Lizenz: Apache-2.0 deckt den Code im Repository. Die LoRA-Gewichte und die Basismodelle haben eigene Bedingungen. LLaMA von Meta ist nicht unter Apache-2.0 veröffentlicht, und wer LLaMA-Gewichte nutzt, muss die dortigen Nutzungsbedingungen selbst prüfen. Diese Einschätzung ist keine Rechtsberatung. Vor dem Produktiveinsatz sind drei Dinge zu klären: welche Lizenz die gewählte Basis erlaubt, ob das Prompt-Template exakt zum Basismodell passt, und ob die Antworten auf einem eigenen, fachlich geprüften Fragensatz die erwartete Qualität erreichen. Das letzte ist der Punkt, an dem sich entscheidet, ob die fertigen Adapter den Aufwand eines eigenen Finetunings sparen.

Redaktionelles Fazit

Wer bereits eine chinesischsprachige 7B-Basis betreibt und medizinische Antwortqualität mit vertretbarem Rechenaufwand verbessern will, findet hier fertige LoRA-Gewichte und ein nachvollziehbares Datenrezept. Wer eine klinisch belastbare Quelle braucht oder nur englischsprachige Modelle einsetzt, sollte Abstand nehmen: die Trainingsdaten stammen laut README aus GPT-3.5-Generierung über einer Wissensdatenbank und sind ausdrücklich als fehlerhaft und unvollständig beschrieben. Vor jedem Einsatz ist zu klären, welche Lizenz die gewählte Basis (LLaMA, Bloom, Alpaca-Chinese, Huozi) für die geplante Nutzung überhaupt erlaubt, denn Apache-2.0 im Repository deckt nur den veröffentlichten Code und die Skripte, nicht die Gewichte der Basismodelle.

Offizielle Quellen

  1. Issues
  2. License: Apache-2.0
  3. README
  4. SCIR-HI/Huatuo-Llama-Med-Chinese on GitHub
Community-Notizen

Community-Notizen