Modell / Datensatz
ymcui/Chinese-LLaMA-Alpaca avatar
ymcui/Chinese-LLaMA-Alpaca

Chinese-LLaMA-Alpaca: LoRA-Gewichte, chinesisches Vokabular und lokale Quantisierung

中文LLaMA&Alpaca大语言模型+本地CPU/GPU训练部署 (Chinese LLaMA & Alpaca LLMs)

18.941 Sterne1.836 ForksPythonApache-2.0

Auf einen Blick

Was ist das?
Das Repository liefert keine vollständigen Modelle, sondern LoRA-Gewichte plus Skripte zum Zusammenführen mit dem originalen LLaMA. Wer chinesische Basismodelle auf eigener Hardware braucht, findet hier einen konkreten Weg, muss aber die Lizenzkette und den Stand der Weiterentwicklung prüfen.
Für wen ist es gedacht?
Sinnvoll ist das Projekt für Teams, die ein chinesisches Basismodell auf eigener Hardware betreiben und dafür LoRA-Gewichte mit den originalen LLaMA-Gewichten zusammenführen wollen.
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 150 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

Das Problem: chinesischer Text durch ein englisches Vokabular

Das originale LLaMA-Modell wurde mit einem Vokabular trainiert, das auf englischsprachigen Korpora basiert. Chinesische Zeichen werden darin in viele kleine Byte-Fragmente zerlegt. Das kostet Sequenzlänge und Rechenzeit, weil ein einzelner chinesischer Satz deutlich mehr Token belegt als sein englisches Pendant. Das Repository setzt genau dort an: Es erweitert das Vokabular des originalen LLaMA um chinesische Einträge und trainiert die Gewichte mit chinesischen Texten weiter. Die technische Beschreibung dazu findet sich im Papier Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca.

Die Zielgruppe ist enger, als der Name vermuten lässt. Das Projekt richtet sich an Personen, die ein chinesisches Basismodell selbst betreiben oder weiter trainieren wollen. Es liefert keine fertige Anwendung. Wer ein Chat-Produkt sucht, das er heute installieren und morgen ausliefern kann, ist hier falsch. Wer dagegen die Kontrolle über Gewichte, Vokabular und Ausführungsumgebung behalten will, findet Skripte für Vorverarbeitung, Zusammenführung, Quantisierung und Inferenz.

LoRA statt vollständiger Gewichte und die Folgen

Der wichtigste Punkt steht im Abschnitt zur Modellveröffentlichung: Ausgeliefert werden LoRA-Gewichte, nicht vollständige Modelle. Das Repository begründet das mit der Lizenz des originalen LLaMA, die eine kommerzielle Nutzung ausschließt. Ein LoRA-Gewicht ist eine kleine Menge zusätzlicher Parameter, die auf die Basisgewichte aufgesetzt wird. Ohne die originalen LLaMA-Gewichte ist es nicht lauffähig.

Daraus ergibt sich ein zweistufiger Arbeitsablauf, den das Projekt als verpflichtend beschreibt. Zuerst müssen die originalen LLaMA-Gewichte beschafft werden, dann werden sie mit dem LoRA-Gewicht zusammengeführt, erst danach entsteht ein nutzbares Modell. Das ist kein Nebendetail, sondern bestimmt, wie viel Aufwand der Einstieg kostet. Wer die Basisgewichte nicht beziehen kann, kann das Projekt nicht nutzen, unabhängig davon, wie gut die Skripte sind.

Das Vokabular wurde ebenfalls verändert. Die Tabelle im Repository nennt für die Basisversion 49953 Einträge und für die Alpaca-Variante 49954, wobei der zusätzliche Eintrag ein pad token ist. Diese Zahl ist wichtig, weil sie beim Zusammenführen erhalten bleiben muss. Ein Merge mit einem falschen Vokabular erzeugt ein Modell, das lädt, aber Unsinn ausgibt.

Zwei Modellfamilien mit unterschiedlichen Eingabeformaten

Das Repository trennt klar zwischen Chinese-LLaMA und Chinese-Alpaca. Chinese-LLaMA ist ein Basismodell, das mit kausalem Sprachmodellieren auf unbeschrifteten chinesischen Texten trainiert wurde. Es eignet sich für Textfortsetzung, nicht für Anweisungen. Chinese-Alpaca wurde zusätzlich mit chinesischen Instruktionsdaten feinabgestimmt und versteht Aufforderungen, Fragen und mehrstufige Dialoge.

Diese Trennung schlägt sich in den Aufrufparametern nieder. Für llama.cpp gibt das Repository an, dass Chinese-LLaMA mit dem Parameter -p für den Kontext gestartet wird, während Chinese-Alpaca den Schalter -ins für den Instruktions- und Chatmodus verwendet. In der Hugging-Face-Inferenz über scripts/inference/inference_hf.py muss bei Alpaca der Parameter --with_prompt gesetzt werden. In LlamaChat wählt man beim Laden entweder LLaMA oder Alpaca.

Wer diese Zuordnung verwechselt, bekommt kein Absturzverhalten, sondern schlechtere Ergebnisse. Ein Basismodell auf eine Frage antwortet mit einer Fortsetzung des Fragesatzes, nicht mit einer Antwort. Das ist die häufigste Fehlerquelle beim Einstieg und sie ist nicht durch Fehlermeldungen abgesichert.

Vom Download zum laufenden Modell

Der Ablauf besteht aus vier Schritten. Zuerst werden die LoRA-Gewichte und die originalen LLaMA-Gewichte heruntergeladen. Dann werden beide mit dem Merge-Skript des Projekts zusammengeführt. Anschließend wird das Ergebnis für die Zielumgebung quantisiert. Erst danach läuft die Inferenz.

Für die lokale Ausführung nennt das Repository zwei Wege. Der erste ist llama.cpp, das die Quantisierung selbst übernimmt und laut Projekt auf CPU läuft, auch auf Laptops. Der zweite ist text-generation-webui, das mit dem Schalter --cpu ohne Grafikkarte betrieben werden kann. Für ein Web-Demo liegt scripts/inference/gradio_demo.py bei, das laut Beschreibung die mehrstufige Konversation unterstützt und direkt auf das Alpaca-Modell zeigt.

Für die Auswertung existiert ein C-Eval-Dekodierskript, das mit Version v4.1 hinzugekommen ist. Wer eigene Messungen plant, sollte dieses Skript verwenden, statt eine eigene Auswertung zu schreiben, weil die Dekodierung bei chinesischen Multiple-Choice-Aufgaben die Ergebnisse stark beeinflusst.

Ein Hinweis zur Kontextlänge: In den Diskussionen ist von 8K-Kontext unter llama.cpp ohne Modelländerung die Rede, und ein Pull Request behandelt 4K+ unter transformers. Beides sind Diskussions- und PR-Verweise, keine zugesicherten Eigenschaften der Hauptversion. Wer langen Kontext braucht, muss diese Quellen selbst prüfen.

Grenzen: wofür das Projekt nicht gebaut ist

Die dokumentierten Modellvarianten reichen von 7B über 13B bis 33B, jeweils in einer Basis-, Plus- und Pro-Version. Die Pro-Varianten wurden laut Versionshinweisen zu v5.0 mit dem Ziel veröffentlicht, längere und qualitativ bessere Antworten zu erzeugen. Das ist eine Verbesserung innerhalb derselben Architektur, keine neue Fähigkeit.

Das Projekt ist kein Werkzeug für freie Textgenerierung mit Alpaca. Die Vergleichstabelle führt das ausdrücklich als ungeeigneten Fall: Wer unbegrenzt Text erzeugen will, soll das Basismodell nehmen. Umgekehrt ist Chinese-LLaMA für Anweisungen und Dialoge ungeeignet. Wer beide Aufgaben in einer Anwendung braucht, muss zwei Modelle betreiben oder einen Moduswechsel einbauen.

Die Lizenzsituation ist die härteste Einschränkung. Der Code steht unter Apache-2.0, die Modellgewichte jedoch hängen an der Lizenz des originalen LLaMA, die laut Repository eine kommerzielle Nutzung verbietet. Wer das Modell in einem Produkt einsetzen will, muss diese Kette klären. Das Repository selbst gibt dazu keine Lösung an, sondern nur den Verweis auf die Lizenz von Meta.

Ein weiterer Punkt betrifft die Weiterentwicklung. Die dritte Generation ist bereits veröffentlicht und das Repository empfiehlt in den News ausdrücklich allen Nutzern der ersten und zweiten Generation ein Upgrade. Neue Funktionen sind für dieses Repository daher nicht mehr zu erwarten. Das letzte hier genannte Release stammt vom Juli 2023.

Was man stattdessen nehmen kann

Der naheliegende Vergleich ist das Nachfolgeprojekt Chinese-LLaMA-Alpaca-2, ebenfalls vom selben Autor. Der Unterschied liegt nicht in den Skripten, sondern in der Basis: Die zweite Generation baut auf LLaMA-2 auf, die dritte auf Llama-3. Das Repository verweist für die zweite Generation auf separate Modelle wie Chinese-LLaMA-2-13B und Chinese-Alpaca-2-13B, die als eigenständige Veröffentlichung geführt werden, sowie auf die dritte Generation mit Llama-3-Chinese-8B und Llama-3-Chinese-8B-Instruct.

Praktisch heißt das: Wer heute beginnt, arbeitet mit einer älteren Basis und einem älteren Vokabular. Das ist kein Ausschlusskriterium, wenn die vorhandene Infrastruktur auf die erste Generation abgestimmt ist, etwa weil Quantisierungen und Skripte bereits darauf getestet wurden. Für einen Neueinstieg ohne solche Bindungen ist die Nachfolgeversion der direktere Weg, weil dort die Lizenz- und Modellfragen neu gestellt wurden.

Eine andere Richtung sind Modelle, die von Anfang an mehrsprachig trainiert wurden, statt nachträglich um chinesisches Vokabular erweitert zu werden. Der Unterschied im Ansatz: Hier wird ein englisches Modell nachträglich angepasst, dort wird die Sprachverteilung von Beginn an mitgeplant. Welcher Weg bei einer konkreten Aufgabe besser abschneidet, lässt sich aus dem Repository nicht ableiten, weil dort keine vergleichenden Messungen gegen mehrsprachige Basismodelle dokumentiert sind.

Wartung, Upgrades und was die Lizenz bedeutet

Die Wartungslast liegt bei diesem Projekt nicht im Code, sondern in den Gewichten. Wer eine neue Modellversion einsetzt, muss die Kette aus Download, Merge, Quantisierung und Inferenztests erneut durchlaufen. Das Merge-Skript und die Quantisierung sind dabei die Stellen, an denen Fehler entstehen, weil ein falsch zusammengeführtes Modell nicht zuverlässig scheitert, sondern plausibel klingende Ausgaben produziert.

Für die Qualitätssicherung nach einem Upgrade bietet sich das C-Eval-Dekodierskript an, das seit v4.1 im Repository liegt. Es ist der einzige im Material genannte Mechanismus, mit dem sich ein Modellwechsel messbar begleiten lässt, ohne eine eigene Auswertungspipeline zu bauen.

Zur Lizenz: Der Code steht unter Apache-2.0. Das ist eine permissive Lizenz für den Quelltext. Sie erstreckt sich jedoch nicht auf die Modellgewichte. Das Repository stellt ausdrücklich fest, dass die originalen LLaMA-Gewichte nicht kommerziell genutzt werden dürfen und dass aus diesem Grund nur LoRA-Gewichte veröffentlicht werden. Wer die zusammengeführten Gewichte weitergibt oder kommerziell einsetzt, muss diese Unterscheidung selbst bewerten. Eine rechtliche Einschätzung kann und soll dieses Repository nicht liefern.

Ein letzter praktischer Punkt: Die Modellliste umfasst mehrere Größen und Varianten. Wer Speicher und Laufzeit plant, sollte mit der kleinsten Variante beginnen und erst nach einer eigenen Messung hochgehen. Die im Repository verlinkte Bildschirmaufnahme zeigt eine lokale CPU-Ausführung, aber sie ist eine Demonstration, keine Messreihe.

Redaktionelles Fazit

Sinnvoll ist das Projekt für Teams, die ein chinesisches Basismodell auf eigener Hardware betreiben und dafür LoRA-Gewichte mit den originalen LLaMA-Gewichten zusammenführen wollen. Wer eine fertige, direkt ladbare Modellsammlung sucht oder Modelle kommerziell einsetzen will, sollte zuerst die Lizenzkette und den Nachfolger Chinese-LLaMA-Alpaca-2 prüfen, denn die LLaMA-Gewichte sind laut Repository nicht kommerziell nutzbar und die dritte Generation ist bereits veröffentlicht.

Offizielle Quellen

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. ymcui/Chinese-LLaMA-Alpaca on GitHub
Community-Notizen

Community-Notizen