Das Mixtral-8x7B Large Language Model (LLM) ist eine vortrainierte generative Sparse Mixture of Experts. Das Mixtral-8x7B übertrifft Llama 2 70B bei den meisten von uns getesteten Benchmarks.
Ausführliche Informationen zu diesem Modell finden Sie in unserem Blogbeitrag veröffentlichen.
Warnung
Dieses Repo enthält Gewichte, die kompatibel sind mit vLLM Bedienung des Modells sowie Hugging Face Transformatoren Bibliothek. Sie basiert auf der ursprünglichen Mixtral Torrent-Freigabe, aber das Dateiformat und die Parameternamen sind unterschiedlich. Bitte beachten Sie, dass das Modell (noch) nicht mit HF instanziiert werden kann.
Format der Anweisung
Dieses Format muss unbedingt eingehalten werden, da das Modell sonst suboptimale Ergebnisse erzeugt.
Die Vorlage, die zur Erstellung eines Prompts für das Instruct-Modell verwendet wird, ist wie folgt definiert:
[INST] Anweisung [/INST] Musterantwort [INST] Folgeanweisung [/INST]
Beachten Sie, dass
und sind spezielle Token für den Anfang einer Zeichenkette (BOS) und das Ende einer Zeichenkette (EOS), während [INST] und [/INST] normale Zeichenketten sind.
Als Referenz ist hier der Pseudocode zu sehen, der bei der Feinabstimmung zur Tokenisierung von Anweisungen verwendet wird:
def tokenize(text):
return tok.encode(text, add_special_tokens=False)
[BOS_ID] +
tokenize("[INST]") + tokenize(USER_MESSAGE_1) + tokenize("[/INST]") +
tokenize(BOT_MESSAGE_1) + [EOS_ID] +
...
tokenize("[INST]") + tokenize(USER_MESSAGE_N) + tokenize("[/INST]") +
tokenize(BOT_MESSAGE_N) + [EOS_ID]
Beachten Sie im obigen Pseudocode, dass die tokenisieren
Methode sollte nicht automatisch ein BOS- oder EOS-Token hinzufügen, sondern ein Präfix-Leerzeichen.
Das Modell ausführen
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
text = "Hallo mein Name ist"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Standardmäßig laden die Transformatoren das Modell mit voller Genauigkeit. Daher könnten Sie daran interessiert sein, die Speicheranforderungen für die Ausführung des Modells durch die Optimierungen, die wir im HF-Ökosystem anbieten, weiter zu reduzieren:
In halber Genauigkeit
Hinweis Schwimmer16
Präzision funktioniert nur auf GPU-GerätenKlick zum Erweitern
Geringere Genauigkeit (8-Bit & 4-Bit) unter Verwendung von bitsandbytes
Klicken Sie zum Erweitern
Laden Sie das Modell mit Flash Attention 2
Klicken Sie zum Erweitern
Beschränkungen
Das Mixtral-8x7B Instruct Modell ist eine schnelle Demonstration, dass das Basismodell leicht feinabgestimmt werden kann, um eine überzeugende Leistung zu erzielen. Es verfügt über keinerlei Moderationsmechanismen. Wir freuen uns auf die Zusammenarbeit mit der Community, um das Modell so zu gestalten, dass es Leitplanken einhält und in Umgebungen eingesetzt werden kann, die moderierte Ausgaben erfordern.
Das Mistral AI-Team
Albert Jiang, Alexandre Sablayrolles, Arthur Mensch, Blanche Savary, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand, Gianna Lengyel, Guillaume Bour, Guillaume Lample, Lélio Renard Lavaud, Louis Ternon, Lucile Saulnier, Marie-Anne Lachaux, Pierre Stock, Teven Le Scao, Théophile Gervet, Thibaut Lavril, Thomas Wang, Timothée Lacroix, William El Sayed.