--- base_model: BSC-LT/salamandra-2b-instruct tags: - text-generation-inference - transformers - unsloth - llama - trl - grpo license: apache-2.0 language: - en datasets: - ericrisco/gsm8k-translated-catalan - ericrisco/gsm8k-translated-spanish - openai/gsm8k --- # Salamandra 2B Reasoning R1 Model Card Salamandra is a highly multilingual model pre-trained from scratch that comes in different sizes. This model card corresponds to the **2B instructed version**, fine-tuned using **GRPO (Group Reward Policy Optimization)** and **Unsloth**. To visit the model cards of other Salamandra versions, please refer to the Model Index. The entire Salamandra family is released under a permissive Apache 2.0 license. Along with the open weights, all training scripts and configuration files are made publicly available in this GitHub repository. ## Model Details ### Description Salamandra-2B is a **reasoning-focused** transformer-based language model fine-tuned with **GRPO**. It has been trained on **high-quality datasets**, including: - **GSM8K (English)** - **GSM8K Translated (Spanish)** - **GSM8K Translated (Catalan)** This dataset selection allows the model to **reason through complex problems** in multiple languages. Instead of relying on traditional supervised fine-tuning, **GRPO optimizes the model through reward-based reinforcement learning**, making it more adaptive to structured reasoning tasks. ## Intended Use ### Direct Use The model is designed as a **reasoning assistant** capable of structured problem-solving across different domains. It can be used for: - Logical and mathematical reasoning tasks - Multi-step question answering - Instruction following in multilingual contexts ### Out-of-scope Use The model is not intended for malicious applications or any activity that violates legal or ethical standards. ## How to Use The instruction-following models use the **ChatML template** for structured dialogue formatting: ```python from datetime import datetime from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_id = "ericrisco/salamandra-2b-r1" text = "At what temperature does water boil?" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, device_map="auto", torch_dtype=torch.bfloat16 ) message = [ { "role": "user", "content": text } ] date_string = datetime.today().strftime('%Y-%m-%d') prompt = tokenizer.apply_chat_template( message, tokenize=False, add_generation_prompt=True, date_string=date_string ) inputs = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt") outputs = model.generate(input_ids=inputs.to(model.device), max_new_tokens=200) print(tokenizer.decode(outputs[0], skip_special_tokens=True))