Die Technologie hinter BEL KI
Ein transparenter Blick auf Training, Hardware und die Zahlen, die BEL KI zur präzisesten deutschen KI ihrer Klasse machen.
Live Training Logs
Offizielle Benchmarks
Gemessen auf dem GermanQuAD Validation Set mit SQuAD-Standard-Metriken. Reproduzierbar via src/evaluate.py
Inhaltliche Genauigkeit
Perfekte Übereinstimmung
Training Konvergenz
Was bedeuten diese Werte?
- F1 Score (87.6%): Misst die inhaltliche Übereinstimmung zwischen Vorhersage und richtiger Antwort. Werte über 85% gelten als Production-Ready für deutsche QA-Systeme.
- Exact Match (70.0%): 14 von 20 Fragen wurden Wort-für-Wort perfekt beantwortet. Bei den restlichen 6 war die Antwort inhaltlich korrekt, aber nicht identisch formuliert.
- Final Loss (0.530): Der Trainingsfehler nach 1.440 Steps. Niedrige Loss-Werte bedeuten präzise Vorhersagen ohne Overfitting.
Training Verlauf
Was bedeutet diese Kurve?
Die Loss-Kurve zeigt, wie gut das Modell während des Trainings lernt. Ein niedrigerer Wert bedeutet bessere Vorhersagen.
- Start: 1.702 - Das Modell rät noch
- Mitte: 0.876 - Patterns werden erkannt
- Ende: 0.530 - Präzises deutsches Sprachverständnis
Hardware & Setup
GPU
- Modell: NVIDIA RTX 3070
- VRAM: 8 GB GDDR6
- CUDA Cores: 5888
- Auslastung: 92% avg
Modell
- Base: Llama-3.1-8B
- Parameter: 8 Milliarden
- Kontext: 128k Tokens
- Formate: Q4_K_M, IQ2_M, FP16
Datensatz
- Name: GermanQuAD
- Samples: 14.200
- Sprache: Deutsch
- Typ: Q&A Paare
Verfügbare Formate
BEL KI v1 ist in mehreren Formaten verfügbar - optimiert für verschiedene Geräte und Anwendungsfälle.
Q4_K_M (Desktop)
- Größe: ~4.9 GB
- RAM: 6-8 GB
- Qualität: ⭐⭐⭐⭐
- Empfohlen für: LM Studio, Ollama, Desktop-PCs
IQ2_M (Mobile)
- Größe: ~2.8 GB
- RAM: 4 GB
- Qualität: ⭐⭐⭐
- Empfohlen für: Smartphones, Tablets, Raspberry Pi
FP16 (Server)
- Größe: ~16 GB
- VRAM: 16+ GB
- Qualität: ⭐⭐⭐⭐⭐
- Empfohlen für: Server, Weiter-Training, Forschung
SHA256 Checksums (Sicherheit)
Verifiziere die Integrität nach dem Download:
8B97EC63954565EBF6BB8F495E854957...
Get-FileHash Bel-KI-v1-Q4_K_M.gguf
Optimierungs-Stack
Framework
Unsloth - 2x schnelleres Training durch optimierte CUDA-Kernel und Speicher-Management
Optimizer
AdamW mit Learning Rate 2e-4 und linearem Warmup über 100 Steps
Quantisierung
Q4_K_M - 4-Bit Quantisierung für optimale Balance zwischen Größe und Qualität
Training Zeit
2,5 Stunden für 1.440 Steps bei Batch Size 4 und Gradient Accumulation 8
Modell nutzen
from llama_cpp import Llama # Modell laden llm = Llama( model_path="./bel-ki-v1.0.gguf", n_ctx=4096, n_threads=8, n_gpu_layers=-1 # Alle Layer auf GPU ) # Inference response = llm( "Was ist Künstliche Intelligenz?", max_tokens=512, temperature=0.7, top_p=0.9 ) print(response['choices'][0]['text'])
🔒 Datei-Integrität (SHA256)
Verifiziere deinen Download mit diesem Hash, um sicherzustellen, dass die Datei nicht manipuliert wurde:
Wie verifiziere ich den Hash?
Linux/Mac:
sha256sum Bel-KI-v1-Q4_K_M.gguf
Windows (PowerShell):
Get-FileHash Bel-KI-v1-Q4_K_M.gguf -Algorithm SHA256
👑 Bel KI v1 Master (FP16 - Full Precision)
Dies ist die hochpräzise Master-Version von Bel KI. Sie dient als Basis für alle weiteren Quantisierungen und Anwendungen, die maximale mathematische Genauigkeit erfordern.
📋 Master Details
🔒 Integrität (SHA256 Checksums)
Verifiziere die Master-Dateien nach dem Download:
Wie verifiziere ich die Hashes?
Linux/Mac:
sha256sum model-*.safetensors
Windows (PowerShell):
Get-FileHash model-00001-of-00004.safetensors -Algorithm SHA256
🚀 Master vs. GGUF - Was brauche ich?
| Anwendungsfall | Empfehlung |
|---|---|
| Chat auf eigenem PC (LM Studio, Ollama) | → GGUF Q4_K_M (~4.9 GB) |
| Python/Hugging Face Transformers | → FP16 Master (~15 GB) |
| Eigenes Fine-Tuning / Weiter-Training | → FP16 Master (~15 GB) |
| Maximale Qualität (Server mit viel VRAM) | → FP16 Master (~15 GB) |
| Neue Quantisierungen erstellen | → FP16 Master (~15 GB) |
💻 Master in Python laden
from transformers import AutoModelForCausalLM, AutoTokenizer import torch model_path = "Beko2210/Bel-KI-v1-GGUF" # oder lokaler Pfad tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained( model_path, torch_dtype=torch.float16, device_map="auto" ) # Inference inputs = tokenizer("Was ist die Hauptstadt von Bayern?", return_tensors="pt").to("cuda") outputs = model.generate(**inputs, max_new_tokens=100) print(tokenizer.decode(outputs[0], skip_special_tokens=True))