Das Repository "Lama-Recipes" ist ein Begleiter der Meta-Lama-Modelle. Wir unterstützen die neueste Version, Lama 3.2 Vision und Lama 3.2 -Text, in diesem Repository. Dieses Repository enthält Beispielskripte und Notizbücher, um mit den Modellen in verschiedenen Anwendungsfällen zu beginnen, einschließlich der Feinabstimmung für die Domänenanpassung und das Erstellen von LLM-basierten Anwendungen mit LLAMA und anderen Tools im LLM-Ökosystem. Die Beispiele hier verwenden Lama lokal, in der Cloud und On-Prem.
Tipp
Beginnen Sie mit Lama 3.2 mit diesen neuen Rezepten:
Notiz
LLAMA 3.2 folgt der gleichen schnellen Vorlage wie Lama 3.1 mit einem neuen speziellen Token <|image|> Das Eingabebild für die multimodalen Modelle darstellt.
Weitere Details zu den Eingabeaufforderung Vorlagen zum Bild von Bild, Tool-Calling und Code-Interpreter finden Sie auf der Dokumentations-Website.
recipes/src/Mit diesen Anweisungen werden Sie für die Entwicklung und Testzwecke eine Kopie des Projekts auf Ihrer lokalen Maschine in Betrieb genommen. Bereitstellungen finden Sie in Notes zum Bereitstellen des Projekts in einem Live -System.
Wenn Sie Pytorch Nightlies anstelle der stabilen Version verwenden möchten, gehen Sie zu diesem Handbuch, um das richtige --extra-index-url URL für die pip install auf Ihrer Plattform abzurufen.
Lama-Recipes bietet eine PIP-Verteilung für die einfache Installation und Verwendung in anderen Projekten. Alternativ kann es aus der Quelle installiert werden.
Notiz
Stellen Sie sicher, dass Sie bei der Installation der Pytorch-Räder die richtige CUDA-Version (von nvidia-smi ) verwenden. Hier verwenden wir 11,8 als cu118 . H100 GPUs funktionieren besser mit CUDA> 12.0
pip install llama-recipes
Lama-Recipes bietet die Installation optionaler Pakete. Es gibt drei optionale Abhängigkeitsgruppen. Um die Unit -Tests auszuführen, können wir die erforderlichen Abhängigkeiten mit:
pip install llama-recipes[tests]
Für das Beispiel für VLLM benötigen wir zusätzliche Anforderungen, die mit:
pip install llama-recipes[vllm]
Um die sensible Themen für Sicherheitsprüfer zu verwenden, installieren Sie mit:
pip install llama-recipes[auditnlg]
Einige Rezepte erfordern das Vorhandensein von Langchain. Um die Pakete zu installieren, folgen Sie der Rezeptbeschreibung oder installieren Sie mit:
pip install llama-recipes[langchain]
Optionale Abhängigkeiten können auch mit [Option1, Option2] kombiniert werden.
So installieren Sie aus Quell -EG für die Entwicklung diese Befehle. Wir verwenden das Brudling als Build-Backend, für das ein aktuelles PIP sowie ein Setuptools-Paket erforderlich sind.
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .
Für die Entwicklung und den Beitrag zu Lama-Recipes installieren Sie alle optionalen Abhängigkeiten:
git clone [email protected]:meta-llama/llama-recipes.git
cd llama-recipes
pip install -U pip setuptools
pip install -e .[tests,auditnlg,vllm]
Hier finden Sie Lama -Modelle auf dem Umarmungsgesichts -Hub, bei dem Modelle mit hf im Namen bereits in Umarmung von Gesichtskontrollpunkten konvertiert werden, sodass keine weitere Konvertierung erforderlich ist . Der Konvertierungsschritt unten ist nur für Originalmodellgewichte von Meta, die auch auf dem Umarmungsgesichtsmodell -Hub gehostet werden.
Wenn Sie die Modell -Checkpoints auf der Meta -Website herunterladen lassen, können Sie es in das umarmende Gesichtsformat konvertieren mit:
# # Install Hugging Face Transformers from source
pip freeze | grep transformers # # verify it is version 4.45.0 or higher
git clone [email protected]:huggingface/transformers.git
cd transformers
pip install protobuf
python src/transformers/models/llama/convert_llama_weights_to_hf.py
--input_dir /path/to/downloaded/llama/weights --model_size 3B --output_dir /output/path Der größte Teil des Codes, der sich mit Lama -Nutzung befasst, ist in zwei Hauptordnern organisiert: recipes/ und src/ .
recipes/Enthält Beispiele, die in Ordnern nach Thema organisiert sind:
| Unterordner | Beschreibung |
|---|---|
| QuickStart | Die "Hallo Welt", um Lama zu verwenden, beginnen Sie hier, wenn Sie neu in der Verwendung von Lama sind. |
| use_cases | Skripte, die gemeinsame Anwendungen von Meta llama3 zeigen |
| 3p_integrationen | Ordner im Besitz von Partnern, der gemeinsame Anwendungen von Meta llama3 zeigt |
| verantwortlich_ai | Skripte zur Verwendung von Purplellama zum Schutz der Modellausgaben |
| Experimental- | Meta -LLAMA -Implementierungen experimenteller LLM -Techniken |
src/Enthält Module, die die Beispielrezepte unterstützen:
| Unterordner | Beschreibung |
|---|---|
| Konfigurationen | Enthält die Konfigurationsdateien für PEFT -Methoden, FSDP, Datensätze, Gewichte und Verzerrungen Experimentverfolgung. |
| Datensätze | Enthält einzelne Skripte für jeden Datensatz zum Herunterladen und Prozess. Notiz |
| Schlussfolgerung | Beinhaltet Module zur Schlussfolgerung für die fein abgestimmten Modelle. |
| model_checkpointing | Enthält FSDP -Checkpoint -Handler. |
| Richtlinien | Enthält FSDP -Skripte, um unterschiedliche Richtlinien bereitzustellen, wie z. B. gemischte Präzision, Transformator -Verpackungsrichtlinie und Aktivierungsprüfung zusammen mit jedem Präzisionsoptimierer (zum Ausführen von FSDP mit dem reinen BF16 -Modus). |
| Utils | Dienstprogrammdateien für: - train_utils.py bietet Trainings-/Eval -Loop und weitere Zug -Utils.- dataset_utils.py , um vorverarbeitete Datensätze zu erhalten.- config_utils.py um die von CLI empfangenen Konfigurationen zu überschreiben.- fsdp_utils.py bietet FSDP -Verpackungsrichtlinien für PEFT -Methoden.memory_utils.py |
Die Rezepte und Module in diesem Repository unterstützen die folgenden Funktionen:
| Besonderheit | |
|---|---|
| HF -Unterstützung für Inferenz | ✅ |
| HF -Unterstützung für die Finetuning | ✅ |
| Peft | ✅ |
| Aufgeschobene Initialisierung (Meta init) | ✅ |
| Niedriger CPU -Modus für Multi -GPU | ✅ |
| Gemischte Präzision | ✅ |
| Einzelknotenquantisierung | ✅ |
| Flash -Aufmerksamkeit | ✅ |
| Aktivierungsprüfung FSDP | ✅ |
| Hybrid -Sharded -Daten parallel (HSDP) | ✅ |
| Datensatzverpackung und Polsterung | ✅ |
| BF16 Optimierer (reiner BF16) | ✅ |
| Profilerstellung & MFU -Tracking | ✅ |
| Gradientenakkumulation | ✅ |
| CPU -Ausladung | ✅ |
| FSDP -Checkpoint -Konvertierung in HF für Inferenz | ✅ |
| W & B Experiment Tracker | ✅ |
Bitte lesen Sie mit Beitrags.md für Informationen zu unserem Verhaltenskodex und dem Vorgang zum Senden von Pull -Anfragen an uns.
Weitere Informationen finden Sie in der Lizenzdatei für Meta Llama 3.2 und hier akzeptable Nutzungsrichtlinie hier
Weitere Informationen finden Sie in der Lizenzdatei für Meta Llama 3.1 und hier akzeptable Nutzungsrichtlinie hier
Weitere Informationen finden Sie in der Lizenzdatei für Meta Llama 3 und hier akzeptable Nutzungsrichtlinie
Weitere Informationen finden Sie in der Lizenzdatei für Meta Llama 2 und hier akzeptable Nutzungsrichtlinie