Beschreibung
Code Llama ist eine Familie von großen Sprachmodellen, die von Meta entwickelt wurden und auf Llama 2 basieren und für codebezogene Aufgaben spezialisiert sind. Dieses Repository bietet den notwendigen Inferenzcode, um diese leistungsstarken Modelle auszuführen. Code Llama-Modelle liefern branchenführende Leistung unter den Open-Source-Modellen und bieten Funktionen wie Code-Infilling, Unterstützung für erweiterte Eingabekontexte von bis zu 100.000 Tokens und Zero-Shot-Instruktionsbefolgung für die Programmierung.
Die Familie umfasst Basismodelle (Code Llama), Python-spezifische Versionen (Code Llama - Python) und Modelle zur Instruktionsbefolgung (Code Llama - Instruct). Diese sind in verschiedenen Parametergrößen erhältlich: 7B, 13B, 34B und 70B. Alle Modelle werden auf Sequenzen von 16k Tokens trainiert und zeigen eine verbesserte Leistung mit Eingaben von bis zu 100k Tokens. Die 7B- und 13B-Varianten von Code Llama und Code Llama - Instruct sind in der Lage, Code basierend auf dem umgebenden Inhalt zu infillen.
Code Llama wurde durch Fine-Tuning von Llama 2 mit einer höheren Stichprobe von Code entwickelt und beinhaltet erhebliche Sicherheitsvorkehrungen. Das Repository stellt Modellgewichte und Startcode für diese vortrainierten und feinabgestimmten Modelle bereit. Es dient als minimales Beispiel zum Laden von Code Llama-Modellen und zur Ausführung von Inferenz. Benutzer können Modellgewichte und Tokenizer von der Meta-Website herunterladen, nachdem sie die Lizenz akzeptiert haben, und dann das bereitgestellte `download.sh`-Skript verwenden.
Die Einrichtung umfasst das Klonen des Repositories und die Installation von Abhängigkeiten innerhalb einer Conda-Umgebung mit PyTorch/CUDA. Die Inferenz erfordert die Angabe von Modell-Parallelitätswerten (MP), die je nach Modellgröße variieren (z. B. 1 für 7B, 8 für 70B). Das Repository enthält Beispielskripte für Code-Vervollständigung (`example_completion.py`), Code-Infilling (`example_infilling.py`) und Instruktionsbefolgung (`example_instructions.py`), die zeigen, wie die verschiedenen Modelltypen effektiv angesprochen und ausgeführt werden.
Code Llama - Instruct-Modelle sind speziell für die Befolgung von Anweisungen feinabgestimmt und erfordern eine bestimmte Formatierung für optimale Ergebnisse. Das Repository hebt auch die potenziellen Risiken im Zusammenhang mit KI-Technologien hervor und verweist Benutzer auf einen Leitfaden für verantwortungsvolle Nutzung und Forschungsarbeiten für weitere Informationen. Probleme im Zusammenhang mit Softwarefehlern oder dem Modellverhalten können über die bereitgestellten GitHub-Links gemeldet werden.
Code Llama's Kernfunktionen
Inferenzcode für Code Llama-Modelle
Unterstützt Basis-, Python-spezialisierte und Instruktionsbefolgungsmodelle
Verfügbar in den Parametergrößen 7B, 13B, 34B und 70B
Branchenführende Leistung unter den Open-Source-Code-Modellen
Code-Infilling-Fähigkeiten für 7B- und 13B-Modelle
Unterstützt große Eingabekontexte von bis zu 100.000 Tokens
Zero-Shot-Instruktionsbefolgung für Programmieraufgaben
Trainiert auf Sequenzen von 16k Tokens
Enthält Modellgewichte und Startcode
Bietet Beispielskripte für Vervollständigung, Infilling und Instruktionsbefolgung
Enthält Sicherheitsvorkehrungen
Lizenz für Forscher und kommerzielle Unternehmen
Erste Schritte mit Code Llama
Klonen: Klonen Sie das Repository von GitHub.
Installieren: Richten Sie eine Conda-Umgebung mit PyTorch/CUDA ein und installieren Sie Abhängigkeiten mit `pip install -e .`.
Herunterladen: Besorgen Sie sich Modellgewichte und Tokenizer von der Meta-Website und verwenden Sie `download.sh`.
Konfigurieren: Ermitteln Sie den geeigneten Modell-Parallelitätswert (MP) basierend auf der Modellgröße.
Ausführen: Führen Sie die Inferenz mit den bereitgestellten Beispielskripten aus (z. B. `example_completion.py`, `example_infilling.py`, `example_instructions.py`).
Optimieren: Passen Sie `max_seq_len` und `max_batch_size` basierend auf Hardware und Anwendungsfall an.
Code Llama's Anwendungsfälle
- Code-Generierung
- Code-Vervollständigung
- Code-Infilling
- Instruktionsbefolgung
- Python-Entwicklung
- Forschung
- Aufgaben mit großem Kontext








