ProfEngel commited on
Commit
e009843
·
verified ·
1 Parent(s): 16f4588

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +321 -21
README.md CHANGED
@@ -1,21 +1,321 @@
1
- ---
2
- base_model: unsloth/gemma-3n-e2b-it-unsloth-bnb-4bit
3
- tags:
4
- - text-generation-inference
5
- - transformers
6
- - unsloth
7
- - gemma3n
8
- license: apache-2.0
9
- language:
10
- - en
11
- ---
12
-
13
- # Uploaded finetuned model
14
-
15
- - **Developed by:** ProfEngel
16
- - **License:** apache-2.0
17
- - **Finetuned from model :** unsloth/gemma-3n-e2b-it-unsloth-bnb-4bit
18
-
19
- This gemma3n model was trained 2x faster with [Unsloth](https://github.com/unslothai/unsloth) and Huggingface's TRL library.
20
-
21
- [<img src="https://raw.githubusercontent.com/unslothai/unsloth/main/images/unsloth%20made%20with%20love.png" width="200"/>](https://github.com/unslothai/unsloth)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ModelCard – OwlLM2 **Controlling-Experte**
2
+
3
+ ## Modellübersicht
4
+
5
+ **Modellname:** OwlLM2
6
+ **Basis-Modell:** Google Gemma-3n-2B
7
+ **Finetuning-Framework:** Unsloth
8
+ **Spezialisierung:** Deutsches Controlling \& Rechnungswesen
9
+
10
+ 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.
11
+
12
+ ## Trainingsdaten
13
+
14
+ | Merkmal | Details |
15
+ | :-- | :-- |
16
+ | **Beispiele** | 932 Conversational-Paare |
17
+ | **Sprache** | Deutsch |
18
+ | **Fachgebiet** | Controlling, Bilanzierung, Rechnungswesen |
19
+ | **Format** | Strukturierte Frage-Antwort-Dialoge |
20
+
21
+ ### Themenabdeckung
22
+
23
+ - **Grundlagen des Controllings:** KPI-Entwicklung, Budgetplanung, Forecast-Methoden
24
+ - **Kostenrechnung:** Vollkosten-, Teilkosten-, Prozesskostenrechnung
25
+ - **Bilanzierung:** Handels- vs. Steuerbilanz, Jahresabschlussanalyse
26
+ - **Finanzplanung:** Liquiditätsplanung, Working Capital Management
27
+ - **Reporting:** Management-Information-Systeme, Dashboard-Design
28
+ - **Controlling-Tools:** Excel-Modellierung, Business Intelligence
29
+
30
+
31
+ ## Training-Konfiguration
32
+
33
+ ### Hardware \& Performance
34
+
35
+ | Parameter | Wert |
36
+ | :-- | :-- |
37
+ | **GPU** | NVIDIA T4 (16GB VRAM) |
38
+ | **Trainingsdauer** | 76,76 Minuten (4.605,80 Sekunden) |
39
+ | **Peak Memory** | 8,268 GB (37,31% der verfügbaren VRAM) |
40
+ | **Training Memory** | 0,62 GB (2,80% für LoRA-Training) |
41
+
42
+ ### Hyperparameter
43
+
44
+ ```
45
+ per_device_train_batch_size = 1
46
+ gradient_accumulation_steps = 6
47
+ num_train_epochs = 4
48
+ learning_rate = 2e-5
49
+ warmup_steps = 50
50
+ total_training_steps = 624
51
+ optimizer = "adamw_8bit"
52
+ lr_scheduler_type = "cosine"
53
+ ```
54
+
55
+
56
+ ### Trainingsstatistiken
57
+
58
+ - **Gesamtschritte:** 624
59
+ - **Effektive Batch Size:** 6
60
+ - **Finaler Training-Loss:** 1,2578 (Step 620)
61
+ - **Trainierbare Parameter:** ~10,6M (0,19% des Gesamtmodells)
62
+
63
+
64
+ #### Loss-Entwicklung (Auswahl)
65
+
66
+ | Step | Loss | | Step | Loss |
67
+ |------|------| |------|------|
68
+ | 10 | 3.8401 | | 300 | 1.5494 |
69
+ | 100 | 2.1918 | | 480 | 1.2288 |
70
+ | 200 | 1.6631 | | 620 | 1.2578 |
71
+
72
+ ## Verfügbare Modellformate
73
+
74
+ OwlLM2 wird in verschiedenen optimierten Formaten bereitgestellt:
75
+
76
+ ### **LoRA-Adapter**
77
+
78
+ - **Format:** Safetensors
79
+ - **Größe:** ~40-80 MB
80
+ - **Verwendung:** Mit Basis-Gemma-3n-2B kombinierbar
81
+ - **Ideal für:** Entwicklung und Experimente
82
+
83
+
84
+ ### **Vollständiges Modell (Safetensors)**
85
+
86
+ - **Format:** vLLM-kompatible Safetensors
87
+ - **Größe:** ~5-6 GB
88
+ - **Verwendung:** Direkter Einsatz ohne Basis-Modell
89
+ - **Ideal für:** Production-Deployments
90
+
91
+
92
+ ### **GGUF-Quantisierung**
93
+
94
+ - **8-Bit GGUF:** ~2-3 GB, optimiert für CPU/kleine GPUs
95
+ - **4-Bit GGUF:** ~1-2 GB, maximale Kompression
96
+ - **Ideal für:** Edge-Computing, lokale Anwendungen
97
+
98
+
99
+ ## Verwendung
100
+
101
+ ### Installation der Abhängigkeiten
102
+
103
+ ```bash
104
+ pip install unsloth transformers torch
105
+ ```
106
+
107
+
108
+ ### LoRA-Modell laden
109
+
110
+ ```python
111
+ from unsloth import FastLanguageModel
112
+
113
+ # LoRA-Adapter laden
114
+ model, tokenizer = FastLanguageModel.from_pretrained(
115
+ model_name="unsloth/gemma-2-2b-it-bnb-4bit",
116
+ max_seq_length=2048,
117
+ load_in_4bit=True,
118
+ )
119
+
120
+ # LoRA-Adapter anwenden
121
+ model.load_adapter("path/to/owllm2-lora")
122
+ FastLanguageModel.for_inference(model)
123
+ ```
124
+
125
+
126
+ ### Vollständiges Modell laden
127
+
128
+ ```python
129
+ from transformers import AutoModelForCausalLM, AutoTokenizer
130
+
131
+ model = AutoModelForCausalLM.from_pretrained(
132
+ "path/to/owllm2-full",
133
+ torch_dtype=torch.bfloat16,
134
+ device_map="auto"
135
+ )
136
+ tokenizer = AutoTokenizer.from_pretrained("path/to/owllm2-full")
137
+ ```
138
+
139
+
140
+ ### GGUF-Modell (mit llama-cpp-python)
141
+
142
+ ```python
143
+ from llama_cpp import Llama
144
+
145
+ llm = Llama(
146
+ model_path="path/to/owllm2-8bit.gguf",
147
+ n_ctx=2048,
148
+ n_gpu_layers=0 # CPU-Modus
149
+ )
150
+
151
+ response = llm("Was ist die Bedeutung des EBITDA im Controlling?")
152
+ ```
153
+
154
+
155
+ ### Inferenz-Beispiel
156
+
157
+ ```python
158
+ # Prompt-Template
159
+ template = """Below is an instruction that describes a task, paired with an input that provides further context.
160
+ Write a response that appropriately completes the request.
161
+
162
+ ### Instruction:
163
+ {}
164
+
165
+ ### Input:
166
+ {}
167
+
168
+ ### Response:
169
+ {}"""
170
+
171
+ prompt = template.format(
172
+ "Du bist ein Experte für deutsches Controlling. Beantworte die Frage präzise und praxisnah:",
173
+ "Wie unterscheiden sich Voll- und Teilkostenrechnung im operativen Controlling?",
174
+ ""
175
+ )
176
+
177
+ inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
178
+ outputs = model.generate(
179
+ **inputs,
180
+ max_new_tokens=512,
181
+ temperature=1.0,
182
+ top_p=0.95,
183
+ top_k=64,
184
+ do_sample=True
185
+ )
186
+
187
+ response = tokenizer.decode(outputs[^0], skip_special_tokens=True)
188
+ print(response)
189
+ ```
190
+
191
+
192
+ ### Empfohlene Inferenz-Parameter
193
+
194
+ - **Temperature:** 1.0 (kreativ, aber kontrolliert)
195
+ - **Top-p:** 0.95 (fokussiert auf wahrscheinlichste Tokens)
196
+ - **Top-k:** 64 (Gemma-3-Team-Empfehlung)
197
+ - **Max Tokens:** 512-1024 (je nach Anwendungsfall)
198
+
199
+
200
+ ## Modell-Stärken
201
+
202
+ ### Fachliche Expertise
203
+
204
+ - **Tiefes Verständnis** deutscher Controlling-Standards
205
+ - **Präzise Terminologie** im Finanz- und Rechnungswesen
206
+ - **Praxisnahe Lösungsansätze** für typische Controlling-Herausforderungen
207
+
208
+
209
+ ### Technische Vorteile
210
+
211
+ - **Kompakte Architektur:** 2B Parameter für effiziente Inferenz
212
+ - **Flexible Formate:** LoRA, Safetensors, GGUF für verschiedene Einsatzzwecke
213
+ - **Optimierte Quantisierung:** Bis zu 8x weniger Speicherbedarf
214
+
215
+
216
+ ### Anwendungsgebiete
217
+
218
+ - **Ausbildung:** BWL-Studium, Controller-Weiterbildung
219
+ - **Unternehmensberatung:** Erste Einschätzungen zu Controlling-Fragen
220
+ - **Interne Tools:** Automatisierte Analysehilfen, Chatbots für Finance-Teams
221
+ - **Dokumentation:** Erstellung von Controlling-Berichten und -Prozessen
222
+
223
+
224
+ ## Systemanforderungen
225
+
226
+ ### Minimale Anforderungen (GGUF 8-Bit)
227
+
228
+ - **RAM:** 4GB
229
+ - **Speicher:** 3GB
230
+ - **CPU:** Moderne Multi-Core-CPU
231
+ - **GPU:** Optional (beschleunigt Inferenz)
232
+
233
+
234
+ ### Empfohlene Konfiguration (Safetensors)
235
+
236
+ - **VRAM:** 6-8GB (RTX 3060/4060 oder besser)
237
+ - **RAM:** 16GB
238
+ - **Speicher:** 10GB
239
+ - **GPU:** CUDA-fähig für optimale Performance
240
+
241
+
242
+ ### High-Performance Setup (LoRA + Basis)
243
+
244
+ - **VRAM:** 12-16GB (RTX 4070/A4000 oder besser)
245
+ - **RAM:** 32GB
246
+ - **Speicher:** 15GB
247
+ - **Ideal für:** Development und Fine-Tuning
248
+
249
+
250
+ ## Limitierungen
251
+
252
+ ### Fachliche Einschränkungen
253
+
254
+ - **Domain-Fokus:** Außerhalb des Controllings eingeschränkte Genauigkeit
255
+ - **Keine Steuerberatung:** Ersetzt keine professionelle Beratung durch Steuerberater oder Wirtschaftsprüfer
256
+ - **Aktualität:** Fachinhalte bis Trainingszeitpunkt; spätere Gesetzesänderungen nicht berücksichtigt
257
+
258
+
259
+ ### Technische Limitierungen
260
+
261
+ - **Kontextlänge:** 2048 Token (längere Dokumente müssen segmentiert werden)
262
+ - **Quantisierung:** Qualitätsverlust bei aggressiver Kompression möglich
263
+ - **Sprache:** Primär deutsch-optimiert, andere Sprachen eingeschränkt
264
+
265
+
266
+ ## Lizenz – Apache 2.0
267
+
268
+ OwlLM2 wird unter der Apache License, Version 2.0 bereitgestellt und ermöglicht freie kommerzielle und nicht-kommerzielle Nutzung.
269
+
270
+ ```
271
+ Licensed under the Apache License, Version 2.0 (the "License");
272
+ you may not use this file except in compliance with the License.
273
+ You may obtain a copy of the License at
274
+
275
+ http://www.apache.org/licenses/LICENSE-2.0
276
+
277
+ Unless required by applicable law or agreed to in writing, software
278
+ distributed under the License is distributed on an "AS IS" BASIS,
279
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
280
+ See the License for the specific language governing permissions and
281
+ limitations under the License.
282
+ ```
283
+
284
+ **Nutzungsrechte:**
285
+
286
+ - ✅ Kommerzielle Nutzung
287
+ - ✅ Modifikation und Weiterentwicklung
288
+ - ✅ Distribution und Weitergabe
289
+ - ✅ Private Nutzung
290
+ - ✅ Patentschutz inbegriffen
291
+
292
+ *Das Basis-Modell Gemma-3n-2B unterliegt zusätzlich den Google Gemma Terms of Use.*
293
+
294
+ ## Entwicklung \& Support
295
+
296
+ ### Technische Dokumentation
297
+
298
+ - Vollständige Trainings-Logs im beigefügten Jupyter Notebook
299
+ - Beispiele für alle unterstützten Modellformate
300
+ - Performance-Benchmarks für verschiedene Hardware-Konfigurationen
301
+
302
+
303
+ ### Community \& Feedback
304
+
305
+ Für Fragen, Verbesserungsvorschläge oder spezielle Anwendungsfälle im deutschen Controlling:
306
+
307
+ - GitHub Issues für technische Probleme
308
+ - Diskussionen für fachlichen Austausch
309
+ - Pull Requests für Verbesserungen willkommen
310
+
311
+
312
+ ## Haftungsausschluss
313
+
314
+ **Wichtiger Hinweis:** OwlLM2 dient ausschließlich Informations- und Bildungszwecken. Das Modell:
315
+
316
+ - Ersetzt keine professionelle Beratung durch Steuerberater, Wirtschaftsprüfer oder zertifizierte Controller
317
+ - Übernimmt keine Gewähr für die Richtigkeit oder Vollständigkeit der Ausgaben
318
+ - Sollte nicht als alleinige Grundlage für Geschäftsentscheidungen verwendet werden
319
+ - Kann Fehler enthalten oder veraltete Informationen wiedergeben
320
+
321
+ Entscheidungen, die auf Basis der Modell-Ausgaben getroffen werden, erfolgen auf eigenes Risiko und eigene Verantwortung.