--- license: apache-2.0 language: - de base_model: - google/gemma-3n-E2B-it pipeline_tag: text-to-speech --- # ModelCard – OwlLM2 **Controlling-Experte** ## Modellübersicht **Modellname:** OwlLM2 **Basis-Modell:** Google Gemma-3n-2B **Finetuning-Framework:** Unsloth **Spezialisierung:** Deutsches Controlling \& Rechnungswesen OwlLM2 ist eine speziell auf deutsches Controlling und Rechnungswesen finegetunete Version von Gemma-3n-2B. Das Modell wurde entwickelt, um präzise und fachkundige Antworten zu komplexen Controlling-Fragen zu liefern und eignet sich ideal für Bildung, Beratung und praktische Anwendungen im Finanzwesen. ## Trainingsdaten | Merkmal | Details | | :-- | :-- | | **Beispiele** | 932 Conversational-Paare | | **Sprache** | Deutsch | | **Fachgebiet** | Controlling, Bilanzierung, Rechnungswesen | | **Format** | Strukturierte Frage-Antwort-Dialoge | ### Themenabdeckung - **Grundlagen des Controllings:** KPI-Entwicklung, Budgetplanung, Forecast-Methoden - **Kostenrechnung:** Vollkosten-, Teilkosten-, Prozesskostenrechnung - **Bilanzierung:** Handels- vs. Steuerbilanz, Jahresabschlussanalyse - **Finanzplanung:** Liquiditätsplanung, Working Capital Management - **Reporting:** Management-Information-Systeme, Dashboard-Design - **Controlling-Tools:** Excel-Modellierung, Business Intelligence ## Training-Konfiguration ### Hardware \& Performance | Parameter | Wert | | :-- | :-- | | **GPU** | NVIDIA L4 (24GB VRAM) | | **Trainingsdauer** | 76,76 Minuten (4.605,80 Sekunden) | | **Peak Memory** | 8,268 GB (37,31% der verfügbaren VRAM) | | **Training Memory** | 0,62 GB (2,80% für LoRA-Training) | ### Hyperparameter ``` per_device_train_batch_size = 1 gradient_accumulation_steps = 6 num_train_epochs = 4 learning_rate = 2e-5 warmup_steps = 50 total_training_steps = 624 optimizer = "adamw_8bit" lr_scheduler_type = "cosine" ``` ### Trainingsstatistiken - **Gesamtschritte:** 624 - **Effektive Batch Size:** 6 - **Finaler Training-Loss:** 1,2578 (Step 620) - **Trainierbare Parameter:** ~10,6M (0,19% des Gesamtmodells) #### Loss-Entwicklung (Auswahl) | Step | Loss | | Step | Loss | |------|------| |------|------| | 10 | 3.8401 | | 300 | 1.5494 | | 100 | 2.1918 | | 480 | 1.2288 | | 200 | 1.6631 | | 620 | 1.2578 | ## Verfügbare Modellformate OwlLM2 wird in verschiedenen optimierten Formaten bereitgestellt: ### **LoRA-Adapter** - **Format:** Safetensors - **Größe:** ~40-80 MB - **Verwendung:** Mit Basis-Gemma-3n-2B kombinierbar - **Ideal für:** Entwicklung und Experimente ### **Vollständiges Modell (Safetensors)** - **Format:** vLLM-kompatible Safetensors - **Größe:** ~7-9 GB - **Verwendung:** Direkter Einsatz ohne Basis-Modell - **Ideal für:** Production-Deployments ### **GGUF-Quantisierung** - **8-Bit GGUF:** ~4-5 GB, optimiert für CPU/kleine GPUs - **4-Bit GGUF:** ~1-2 GB, maximale Kompression (noch nicht verfügbar!) - **Ideal für:** Edge-Computing, lokale Anwendungen ## Verwendung ### Installation der Abhängigkeiten ```bash pip install unsloth transformers torch ``` ### LoRA-Modell laden ```python from unsloth import FastLanguageModel # LoRA-Adapter laden model, tokenizer = FastLanguageModel.from_pretrained( model_name="unsloth/gemma-2-2b-it-bnb-4bit", max_seq_length=2048, load_in_4bit=True, ) # LoRA-Adapter anwenden model.load_adapter("path/to/owllm2-lora") FastLanguageModel.for_inference(model) ``` ### Vollständiges Modell laden ```python from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained( "path/to/owllm2-full", torch_dtype=torch.bfloat16, device_map="auto" ) tokenizer = AutoTokenizer.from_pretrained("path/to/owllm2-full") ``` ### GGUF-Modell (mit llama-cpp-python) ```python from llama_cpp import Llama llm = Llama( model_path="path/to/owllm2-8bit.gguf", n_ctx=2048, n_gpu_layers=0 # CPU-Modus ) response = llm("Was ist die Bedeutung des EBITDA im Controlling?") ``` ### Inferenz-Beispiel ```python # Prompt-Template template = """Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: {} ### Input: {} ### Response: {}""" prompt = template.format( "Du bist ein Experte für deutsches Controlling. Beantworte die Frage präzise und praxisnah:", "Wie unterscheiden sich Voll- und Teilkostenrechnung im operativen Controlling?", "" ) inputs = tokenizer([prompt], return_tensors="pt").to("cuda") outputs = model.generate( **inputs, max_new_tokens=512, temperature=1.0, top_p=0.95, top_k=64, do_sample=True ) response = tokenizer.decode(outputs[^0], skip_special_tokens=True) print(response) ``` ### Empfohlene Inferenz-Parameter - **Temperature:** 1.0 (kreativ, aber kontrolliert) - **Top-p:** 0.95 (fokussiert auf wahrscheinlichste Tokens) - **Top-k:** 64 (Gemma-3-Team-Empfehlung) - **Max Tokens:** 512-1024 (je nach Anwendungsfall) ## Modell-Stärken ### Fachliche Expertise - **Tiefes Verständnis** deutscher Controlling-Standards - **Präzise Terminologie** im Finanz- und Rechnungswesen - **Praxisnahe Lösungsansätze** für typische Controlling-Herausforderungen ### Technische Vorteile - **Kompakte Architektur:** 2B Parameter für effiziente Inferenz - **Flexible Formate:** LoRA, Safetensors, GGUF für verschiedene Einsatzzwecke - **Optimierte Quantisierung:** Bis zu 8x weniger Speicherbedarf ### Anwendungsgebiete - **Ausbildung:** BWL-Studium, Controller-Weiterbildung - **Unternehmensberatung:** Erste Einschätzungen zu Controlling-Fragen - **Interne Tools:** Automatisierte Analysehilfen, Chatbots für Finance-Teams - **Dokumentation:** Erstellung von Controlling-Berichten und -Prozessen ## Systemanforderungen ### Minimale Anforderungen (GGUF 8-Bit) - **RAM:** 4GB - **Speicher:** 3GB - **CPU:** Moderne Multi-Core-CPU - **GPU:** Optional (beschleunigt Inferenz) ### Empfohlene Konfiguration (Safetensors) - **VRAM:** 6-8GB (RTX 3060/4060 oder besser) - **RAM:** 16GB - **Speicher:** 10GB - **GPU:** CUDA-fähig für optimale Performance ### High-Performance Setup (LoRA + Basis) - **VRAM:** 12-16GB (RTX 4070/A4000 oder besser) - **RAM:** 32GB - **Speicher:** 15GB - **Ideal für:** Development und Fine-Tuning ## Limitierungen ### Fachliche Einschränkungen - **Domain-Fokus:** Außerhalb des Controllings eingeschränkte Genauigkeit - **Keine Steuerberatung:** Ersetzt keine professionelle Beratung durch Steuerberater oder Wirtschaftsprüfer - **Aktualität:** Fachinhalte bis Trainingszeitpunkt; spätere Gesetzesänderungen nicht berücksichtigt ### Technische Limitierungen - **Kontextlänge:** 2048 Token (längere Dokumente müssen segmentiert werden) - **Quantisierung:** Qualitätsverlust bei aggressiver Kompression möglich - **Sprache:** Primär deutsch-optimiert, andere Sprachen eingeschränkt ## Lizenz – Apache 2.0 OwlLM2 wird unter der Apache License, Version 2.0 bereitgestellt und ermöglicht freie kommerzielle und nicht-kommerzielle Nutzung. ``` Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` **Nutzungsrechte:** - ✅ Kommerzielle Nutzung - ✅ Modifikation und Weiterentwicklung - ✅ Distribution und Weitergabe - ✅ Private Nutzung - ✅ Patentschutz inbegriffen *Das Basis-Modell Gemma-3n-2B unterliegt zusätzlich den Google Gemma Terms of Use.* ## Entwicklung \& Support ### Technische Dokumentation - Vollständige Trainings-Logs im beigefügten Jupyter Notebook - Beispiele für alle unterstützten Modellformate - Performance-Benchmarks für verschiedene Hardware-Konfigurationen ### Community \& Feedback Für Fragen, Verbesserungsvorschläge oder spezielle Anwendungsfälle im deutschen Controlling: - GitHub Issues für technische Probleme - Diskussionen für fachlichen Austausch - Pull Requests für Verbesserungen willkommen ## Haftungsausschluss **Wichtiger Hinweis:** OwlLM2 dient ausschließlich Informations- und Bildungszwecken. Das Modell: - Ersetzt keine professionelle Beratung durch Steuerberater, Wirtschaftsprüfer oder zertifizierte Controller - Übernimmt keine Gewähr für die Richtigkeit oder Vollständigkeit der Ausgaben - Sollte nicht als alleinige Grundlage für Geschäftsentscheidungen verwendet werden - Kann Fehler enthalten oder veraltete Informationen wiedergeben Entscheidungen, die auf Basis der Modell-Ausgaben getroffen werden, erfolgen auf eigenes Risiko und eigene Verantwortung. **OwlLM2 – Ihr KI-gestützter Partner für professionelles Controlling**