transformers safetensors gguf llama text-generation-inference unsloth trl grpo en dataset:ericrisco/gsm8k-translated-catalan dataset:ericrisco/gsm8k-translated-spanish dataset:openai/gsm8k base_model:BSC-LT/salamandra-2b-instruct base_model:quantized:BSC-LT/salamandra-2b-instruct license:apache-2.0 endpoints_compatible region:us conversational
---
base_model: BSC-LT/salamandra-2b-instruct
datasets:
- ericrisco/gsm8k-translated-catalan
- ericrisco/gsm8k-translated-spanish
- openai/gsm8k
language:
- en
license: apache-2.0
tags:
- text-generation-inference
- transformers
- unsloth
- llama
- trl
- grpo
---
# 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))