--- license: mit base_model: meta-llama/Llama-3.2-3B tags: - llama - llama-3.2 - fine-tuned - lora - peft - dsl - gridscript - domain-specific-language language: - en pipeline_tag: text-generation --- # GridScript™ DSL Expert - Fine-Tuned Llama 3.2 3B This model is a fine-tuned version of [Llama-3.2-3B](https://huggingface.co/meta-llama/Llama-3.2-3B) using LoRA (Low-Rank Adaptation) for GridScript™ domain-specific language expertise. ## Model Details - **Base Model:** meta-llama/Llama-3.2-3B - **Fine-tuning Method:** LoRA (PEFT) - **Language:** English - **Domain:** GridScript™ DSL for multidimensional data modeling - **Training Data:** 1,028 prompt-completion pairs ### Training Configuration | Parameter | Value | |-----------|-------| | LoRA Rank (r) | 64 | | LoRA Alpha | 128 | | LoRA Dropout | 0.05 | | Target Modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj | | Learning Rate | 3e-4 | | LR Scheduler | Cosine | | Warmup Ratio | 0.03 | | Epochs | 5 | | Batch Size | 8 | | Gradient Accumulation | 1 | | Max Length | 512 | | Precision | FP16 | ## Usage ### With Transformers + PEFT ```python from transformers import AutoTokenizer, AutoModelForCausalLM from peft import PeftModel import torch # Load base model base_model = AutoModelForCausalLM.from_pretrained( "meta-llama/Llama-3.2-3B", torch_dtype=torch.float16, device_map="auto" ) # Load fine-tuned adapter model = PeftModel.from_pretrained(base_model, "ylliprifti/hackathon-2025") tokenizer = AutoTokenizer.from_pretrained("ylliprifti/hackathon-2025") # Generate prompt = "How do I use FLOWROLL to get a trailing 3-month total?" inputs = tokenizer(prompt, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ### Merge Adapter (Optional) ```python # Merge LoRA weights into base model for faster inference merged_model = model.merge_and_unload() merged_model.save_pretrained("merged-model") ``` ## Training Data This model was fine-tuned on **1,028 prompt-completion pairs** covering GridScript™ DSL usage: - **Functions:** `FLOWROLL()` (rolling aggregations) and `DIMMATCH()` (dimensional alignment) - **Question Types:** How-to guides, troubleshooting, syntax help, conceptual explanations - **Tone Variations:** Casual, formal, technical, frustrated user, curious learner, problem-focused - **Format:** Universal prompt-completion format (not chat templates) ### Data Composition - Original training set: 429 examples - Conceptual Q&A: 99 examples - Augmented variations: 500 examples (10 batches with different tones) - **Total:** 1,028 training examples ## What This Model Does This model specializes in: - ✅ Explaining GridScript™ `FLOWROLL()` and `DIMMATCH()` functions - ✅ Troubleshooting common errors (blanks, dimension mismatches, period ordering) - ✅ Providing correct syntax examples with proper parameters - ✅ Understanding context from various question styles (casual to formal) - ❌ **Not** a general-purpose model - trained exclusively on GridScript™ DSL ## Limitations - **Domain-Specific:** Only trained on GridScript™ `FLOWROLL` and `DIMMATCH` functions - **No Other Functions:** Does not know about other GridScript™ functions (SUM, IF, etc.) - **Inherits Base Model Limitations:** Subject to Llama 3.2 3B's general limitations - **Not Production-Ready:** Intended for hackathon/demo purposes without extensive evaluation - **Fictional DSL:** GridScript™ is a fictional language created for this training project ## Example Queries The model can answer questions like: - "How do I use FLOWROLL to get a trailing 3-month total?" - "Why does DIMMATCH fail when aligning revenue to customer list?" - "What happens if I set PeriodCount to 1?" - "FLOWROLL gives blanks for the first 5 periods. Why?" - "Can I use DIMMATCH on time dimensions?" ## Training Details - **Hardware:** NVIDIA RTX Quadro 8000 (48GB) - **Training Time:** ~5 epochs - **Optimization:** Pre-tokenized dataset for faster training - **Loss Masking:** Only completion tokens used for loss (prompts masked with -100) - **EOS Handling:** Model learns to generate proper end-of-sequence tokens ## License This model is released under the MIT License. The base model (Llama 3.2) is subject to Meta's license terms. --- *Fine-tuned using MLOps pipeline with LoRA, PEFT, and custom tokenization for DSL training*