--- license: apache-2.0 language: - en pipeline_tag: text-generation tags: - unsloth - qwen - qwen2.5 - math - reasoning - alpaca - pytorch - custom-finetune - lora-merged base_model: unsloth/Qwen2.5-Math-1.5B datasets: - Xerv-AI/GRAD - yahma/alpaca-cleaned inference: parameters: repetition_penalty: 1.15 max_new_tokens: 256 temperature: 0.5 examples: - text: "### Instruction:\nProvide a step-by-step logical proof finding the eigenvalues of the matrix [[2, 1], [1, 2]].\n### Response:\n" widget: - example_title: Fibonacci (Python) messages: - role: system content: You are a chatbot who can help code! - role: user content: Write me a function to calculate the first 10 digits of the fibonacci sequence in Python and print it out to the CLI. --- ## 🌌 Xerv-AI/Ada: The Multi-Modal Mathematical Generalist SLM **Ada** is an ultra-lightweight, high-speed, and highly optimized reasoning Small Language Model (SLM) derived from the powerful **Qwen2.5-Math-1.5B** architecture. Engineered specifically to bridge the gap between hyper-specialized graduate-level mathematical proofs and standard conversational utility, Ada solves the notorious "catastrophic forgetting" problem often found in math-heavy fine-tunes. Whether you need a step-by-step calculus breakdown, a topological proof in LaTeX, or just a simple conversational assistant for daily tasks, Ada delivers state-of-the-art performance for a 1.5 Billion parameter model. ### 🚀 Model Overview Standard math-specific LLMs frequently suffer from domain overfitting. When prompted with basic conversational queries, they either hallucinate lengthy pseudo-proofs or fail entirely to understand the user's intent. **Xerv-AI/Ada** was meticulously engineered to resolve this by utilizing a carefully balanced, dual-distribution training dataset, allowing it to act as both a rigorous STEM assistant and a general-purpose chat model. | Specification | Details | | :--- | :--- | | **Model Name** | Xerv-AI/Ada | | **Base Architecture** | unsloth/Qwen2.5-Math-1.5B | | **Parameter Count** | 1.5 Billion | | **Primary Capabilities** | Graduate-level STEM reasoning, logical deduction, and mathematical proofs. | | **Secondary Capabilities** | General conversational instruction-following, roleplay, and basic coding. | | **Training Framework** | QLoRA via Unsloth (Triton kernels). | | **Precision** | Merged 16-bit (Fine-tuned in 4-bit). | | **License** | Apache-2.0 |
### 🔬 Core Capabilities & Strengths
* **Balanced Generalization:** Ada seamlessly transitions between casual conversation and intense analytical problem-solving without format-forced hallucinations.
* **Advanced STEM Reasoning:** Fully optimized to generate detailed, multi-step logical proofs in advanced algebra, calculus, topology, and physics.
* **Hardware Optimized for Edge Deployment:** Designed to run at maximum inference throughput on low-VRAM consumer hardware (such as a single 16GB NVIDIA T4 GPU, Mac M-series chips, or edge devices) using 4-bit quantization.
* **Impeccable Formatting:** Native understanding of structural formatting, easily outputting highly readable markdown and structured logic steps.
### 🏗 Architecture & Training Methodology
Ada was trained using Supervised Fine-Tuning (SFT) targeting the attention mechanisms of the base model. Utilizing **Unsloth** on a standard Google Colab NVIDIA T4 GPU, the training leveraged Low-Rank Adaptation (LoRA) to maximize efficiency before being merged into a standalone 16-bit Hugging Face model.
* **Target Modules:** q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj
* **LoRA Rank (r):** 16
* **LoRA Alpha:** 16
* **Optimizer:** adamw_8bit
* **Learning Rate:** 2e-4
* **Effective Batch Size:** 8 (Batch size 2 with 4 Gradient Accumulation steps)
### 📚 The Dataset: Dual-Distribution Blending
To achieve generalization and prevent catastrophic forgetting, Ada was fine-tuned on a strict 50/50 blend of two distinct datasets, batched and streamed via high-throughput Parquet files: | Dataset | Sample Size | Description & Purpose | | :--- | :--- | :--- | | **Xerv-AI/GRAD** | ~1.93k rows | A proprietary synthetic dataset containing exceptionally long (average 8,000 characters) graduate and research-level mathematical proofs. This instills deep reasoning and strict formatting. | | **yahma/alpaca-cleaned** | ~2.00k rows | A refined subset of the standard Alpaca dataset. This teaches the model conversational flow, roleplay, basic Q&A, and crucially, *when not to use complex math*. | ### 💻 Usage & Python Inference Guide The model is highly responsive to the standard **Alpaca Instruction/Response template**. **Important Inference Note:** For best results, use a repetition_penalty of roughly **1.15**. This acts as a crucial guardrail to prevent the model from infinitely looping through mathematical steps on overly simple arithmetic queries. **1. Installation Requirements** ```bash pip install unsloth transformers accelerate torch ``` **2. Fast Inference Script** ```python from unsloth import FastLanguageModel import torch # Configuration repo_name = "Xerv-AI/Ada" max_seq_length = 2048 # Load the model and tokenizer (4-bit recommended for low-VRAM) model, tokenizer = FastLanguageModel.from_pretrained( model_name = repo_name, max_seq_length = max_seq_length, dtype = None, load_in_4bit = True, ) # Enable optimized inference mode FastLanguageModel.for_inference(model) # Define the universal prompt template universal_prompt = """### Instruction: {} ### Response: {}""" # Prepare your query query = "Provide a step-by-step logical proof finding the eigenvalues of the matrix [[2, 1], [1, 2]]." inputs = tokenizer( [universal_prompt.format(query, "")], return_tensors = "pt" ).to("cuda") print("Generating analytical response...") # Generate the output outputs = model.generate( **inputs, max_new_tokens = 1024, max_length = None, use_cache = True, repetition_penalty = 1.15, # Critical: prevents generation loops pad_token_id = tokenizer.eos_token_id ) # Decode and print the result response = tokenizer.batch_decode(outputs, skip_special_tokens = True)[0] print(f"\n{'='*50}\nOutput:\n{'='*50}") print(response.split("### Response:\n")[-1]) ``` ### Performance Summary | Dataset | Accuracy | | :--- | :--- | | **GSM8K** | **40.00%** | | **MATH** |**60.00%** | | **MATH-Hard** |**50.00%** | | **GRAD** |**40.00%** | ### 🛡️ Safety & Alignment Guardrails Despite being fine-tuned on raw mathematical logic and conversational instruction data, Ada successfully retains its foundational safety alignments. Because only 1% to 2% of the parameters were actively updated via LoRA (and subsequently merged), the original base Qwen2.5 weights responsible for safety remain fully intact. * **Content Moderation:** The model actively refuses to generate explicit, illegal, or harmful content, relying on the RLHF and DPO safety guardrails instilled during Alibaba's original pre-training phase. ### ⚠️ Limitations & Known Biases While Ada punches well above its 1.5B weight class, it is important to acknowledge the limitations inherent to Small Language Models: * **Arithmetic Hallucinations:** Ada is exceptionally capable at symbolic logic, structural breakdowns, and mathematical theory. However, like many SLMs, it can occasionally suffer from minor arithmetic errors (e.g., basic addition/subtraction mistakes) deep within multi-page proofs. Always verify raw calculations. * **Language Constraint:** The model is optimized exclusively for **English** text and standard mathematical notation. * **Prompt Sensitivity:** Ada performs at its absolute peak when math queries explicitly ask for a "proof," "step-by-step breakdown," or "logical analysis" within the instruction block. * **World Knowledge:** It lacks the broad, encyclopedic trivia knowledge found in massive 70B+ parameter models. ### 🤝 Acknowledgements * **Alibaba Cloud:** For the phenomenal, state-of-the-art base Qwen2.5-Math architecture. * **Unsloth AI:** For the Triton-optimized training kernels that made compiling and fine-tuning this model possible and highly efficient on consumer hardware. * **Xerv-AI:** For the curation of the GRAD synthetic dataset powering the advanced reasoning capabilities.