pratical llms
1.0.0
Willkommen im Repository für LLM-Ingenieure (Large Language Model)! Diese Sammlung von Jupyter-Notizbüchern soll praktische Aspekte unserer Arbeit sammeln. Ich werde Jupyter und/oder Skripte zu Lern- und Experimentierzwecken sammeln und hinzufügen.
Notizbuch | Beschreibung | URL |
---|---|---|
1_understanding_llms_benchmarks.ipynb | Dieses Notizbuch bietet eine Erläuterung der wichtigsten Benchmarks, die in der openLLM-Bestenliste verwendet werden. Es soll Ihnen helfen, die wichtigsten Kennzahlen und Methoden zu verstehen, die beim Benchmarking von LLMs verwendet werden. | Link |
2_quantization_base.ipynb | In diesem Notizbuch erfahren Sie, wie Sie mithilfe der BitandBytes-Bibliothek ein Hugging Face-Modell in 8-Bit und 4-Bit öffnen. Quantisierung ist eine entscheidende Technik zur Optimierung der Modellleistung und Ressourcennutzung. Dieses Notizbuch führt Sie durch den Prozess. | Link |
3_quantization_gptq.ipynb | Entdecken Sie mit diesem Notebook die Quantisierung im GPTQ-Format mithilfe der Auto-GPTQ-Bibliothek. Das GPTQ-Format erfreut sich aufgrund seiner Effektivität bei der Komprimierung und Quantisierung großer Modelle wie GPT zunehmender Beliebtheit. Erfahren Sie, wie Sie dieses Format für Ihre Modelle nutzen können. | Link |
4_quantization_exllamav2.ipynb | So quantisieren Sie ein Modell von HF nach exllamav2 | Link |
5_sharding_and_offloading.ipynb | So teilen Sie ein Modell in mehrere Chunks auf. Dies ermöglicht das Laden auf verschiedenen Geräten oder das Laden eines nach dem anderen, wobei der Speicher verwaltet wird. Erfahren Sie, wie Sie eine Ebene auf die CPU oder sogar die Festplatte verlagern | Link |
6_gguf_quantization_and_inference.ipynb | Quantisieren Sie ein Modell mithilfe der Bibliothek llama.cpp in GGUF. Rückschluss auf OpenAI-kompatiblem Server. | Link |
7_gguf_split_and_load.ipynb | Teilen Sie ein GGUF-quantisiertes Modell in mehrere Teile auf, damit es leicht geteilt werden kann | Link |
8_hqq_quantization.ipynb | Entdecken Sie die Quantisierung mithilfe der halbquadratischen Quantisierung (HQQ) | Link |
9_inference_big_model_cpu_plus_gpu.ipynb | In diesem Notebook wird gezeigt, wie der von einem quantisierten GGUF-Modell benötigte RAM berechnet und mit RAM und VRAM in den Speicher geladen wird, um die Anzahl der Schichten zu optimieren, die auf die GPU ausgelagert werden können. Das Notebook demonstriert das Laden von Qwen/Qwen1.5-32B-Chat-GGUF als Beispiel auf einem System mit einem T4 15 GB VRAM und ca. 32 GB RAM | Link |
a10_inference_llama3.ipynb | LLama3 wurde veröffentlicht. Dieses Notebook zeigt, wie Sie LLama3-8B-Instruct mit halber Präzision ausführen, wenn Sie Zugriff auf eine GPU mit 24 GB VRAM haben, auf 8 Bit quantisiert, wenn Sie 10 GB VRAM haben, und zeigt, wie Sie die Q8 GGUF-Version ausführen, um maximale Leistung zu erzielen, wenn Sie haben nur 10 GB VRAM. | Link |
a11_llm_guardrails_using_llama3_guard.ipynb | Schützen Sie Ihr Backend und Ihre generativen KI-Anwendungen mit LLama3-guard-2. In diesem Notebook zeige ich Ihnen, wie Sie einen Server mit 10 GB VRAM einrichten und Rückschlüsse über HTTP-POST-Anfragen durchführen. | Link |
a12_speculative_decoding.ipynb | Das Notizbuch beschreibt und demonstriert praktisch die Technik der „spekulativen Dekodierung“, um die von einem Zielmodell generierten Tokens pro Sekunde durch die Verwendung eines kleineren und leichteren Entwurfsmodells zu erhöhen. Beispiel realisiert auf LLama-3-70B-Instruct (Target) und LLama-3-8B-Instruct (Draft). | Link |
a13_inference_vision_llm.ipynb | Das Notizbuch zeigt, wie man mithilfe eines Vision-LLM eine einfache Inferenz durchführt. Als Beispiel habe ich Microsofts neu veröffentlichtes Phi-3-vision-128k-instruct ausgewählt. Das Modell ist MIT-lizenziert und kann daher ohne Einschränkungen in eigenen Anwendungen verwendet werden. Das Modell kann auf einem Nvidia L4 laufen. | Link |
a14_llm_as_evaluator.ipynb | Das Notizbuch zeigt, wie man einen LLM als Richter mit Prometheus 2 verwendet. Im Notizbuch wird gezeigt, wie man eine Antwort auswertet, die von einem unserer LLM- oder Anwendungspipelines zurückgegeben wird. | Link |
a15_llm_evaluation.ipynb | Das Notebook zeigt, wie man EleutherAI/lm-evaluation-harness verwendet, um LLMs anhand von Commons-Benchmarks zu bewerten, die auch in den offiziellen Bestenlisten verwendet werden. Der Vorgang ist derselbe und wird automatisch verwendet, wenn Sie ein Modell an die Bestenliste senden | Link |
a16_synthetic_data_generation.ipynb | In diesem Notizbuch habe ich eine benutzerdefinierte Klasse zum Generieren eines synthetischen QA-Datensatzes aus einer Eingabedatei mit Llama-3-8B als LLM erstellt. Das Skript zeigt außerdem, wie die neue Version von llama-server auf llama-3-8b-Q_8 GGUF erstellt und ausgeführt wird | Link |
a17_sglan_serving_llm_multiusers.ipynb | In diesem Notebook zeige ich alle Schritte, wie man LLama3.1-8B-FP8 mithilfe von SGLang effizient auf einem benutzerdefinierten Server bereitstellt und 64 potenziell parallele Benutzer bedient und dabei eine gute Leistung beibehält. | Link |
a18_jailbreak_control_using_promptguard.ipynb | Probieren Sie den neuen PromptGuard-86M für den Jailbreak aus. Spoiler: Das Modell scheint in diesem Moment kaputt oder wirklich schlecht zu sein | Link |
a19_document_information_and_table_extraction.ipynb | Dieses Notizbuch zeigt, wie Sie ein multimodales Alphabetisierungsmodell (Kosmos 2.5) verwenden, um Texte und Tabellen präzise und effizient zu extrahieren, ohne kostenpflichtige Cloud-Dienste zu nutzen. Das Modell läuft auf Ihrer persönlichen GPU und hält Ihre Daten privat und sicher. | Link |
a20_finetuning_llm_unsloth.ipynb | Dieses Notizbuch zeigt, wie man Phi-3.5-mini-instruct mithilfe von „unsloth“ an einem HF-Datensatz der Kette „denkender“ Strukturen verfeinert | Link |
Für weitere Ressourcen und Unterstützung können Sie sich gerne an die Community wenden oder auf Folgendes verweisen:
Viel Spaß beim Lernen und Experimentieren mit LLMs!