| --- |
| 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** |
|
|
| <div style="text-align: center">⁂</div> |
|
|
| [^1]: Gemma3N_-4B-_Conversational.ipynb |