File size: 6,987 Bytes
8c218ea
 
 
 
 
 
 
 
 
 
44ae95a
8c218ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8eb75f4
 
 
 
 
44ae95a
8eb75f4
 
 
 
 
 
 
8c218ea
 
 
44ae95a
8c218ea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
---
license: mit
language:
- vi
- en
- zh
- id
- th
base_model:
- Qwen/Qwen2.5-14B-Instruct
pipeline_tag: text-generation
---

  
# GreenMind-Medium-14B-R1

We release **GreenMind-Medium-14B-R1**, a medium-sized Vietnamese language model capable of effectively addressing questions that require intermediate-level reasoning, such as general knowledge, mathematics, natural science and social science topics. By leveraging the Group Relative Policy Optimization strategy for fine-tuning, we guide the model to generate logically coherent responses.

## Model Description

- **Model Type:** Causal Language Models
- **Base Model:** [Qwen/Qwen2.5-14B-Instruct](https://huggingface.co/Qwen/Qwen2.5-14B-Instruct)
- **Parameters:** 14.7B
- **Context Length:** Full 131,072 tokens and generation 8192 tokens
- **Language:** Vietnamese

## Quickstart

Here provides a code snippet with `apply_chat_template` to show you how to load the tokenizer and model and how to generate contents.

```python
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "GreenNode/GreenMind-Medium-14B-R1"

model = AutoModelForCausalLM.from_pretrained(
	model_name,
	torch_dtype="auto",
	device_map="auto"
)

tokenizer = AutoTokenizer.from_pretrained(
	model_name,
	revision='main',
	trust_remote_code=False,
)
prompt = r"""Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu con
Một trăm chân chẵn
Hỏi có bao nhiêu con gà, bao nhiêu con chó?"""

messages = [
	{
	"role": "system",
	"content": "Bạn là một trợ lý ảo hữu ích trong việc trả lời câu hỏi. Hãy suy luận từng bước, và đưa ra đáp án trong thẻ <answer> </answer>."
	},
	{
	"role": "user",
	"content": f"{prompt} Hãy suy luận từng bước trong thẻ <think> </think>. Và trả về đáp án trong thẻ <answer> </answer>."
	},
	{
	"role": "assistant",
	"content": "Hãy để tôi giải quyết từng bước.\n<think>"
	}
]

text = tokenizer.apply_chat_template(
	messages, 
	tokenize=False, 
	continue_final_message=True)

model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=1024
)

generated_ids = [
output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
# Đầu tiên, chúng ta cần thiết lập hai phương trình dựa trên thông tin đề bài:
# 1. Tổng số con gà và chó là 36: x + y = 36
# 2. Tổng số chân là 100: 2x + 4y = 100
# Trong đó, x là số con gà và y là số con chó.
# Tiếp theo, chúng ta giải hệ phương trình này:
# Từ phương trình thứ nhất, ta có: x = 36 - y
# Thay vào phương trình thứ hai: 2(36 - y) + 4y = 100
# => 72 - 2y + 4y = 100
# => 2y = 28
# => y = 14 (số con chó)
# Thay y = 14 vào phương trình x + y = 36:
# => x = 36 - 14 = 22 (số con gà)
# Vậy, có 22 con gà và 14 con chó.
# </think>
# <answer>Có 22 con gà và 14 con chó.</answer>
```

## Evaluation

**Table 1. SeaExam Dataset.**  GreenMind-Medium-14B-R1 compared to base model and some models with larger size.
| **Model**                        | **SeaExam-ID** | **SeaExam-TH** | **SeaExam-VI** | **Avg**  |
|----------------------------------|----------------|----------------|----------------|----------|
| Meta-Llama-3.1-70B-Instruct      | 65.8           | **70.6**       | 72.6           | 69.7     |
| gemma3-27b-it                    | 64.4           | 67.5           | 73.1           | 68.4     |
| Qwen2.5-14B-Instruct             | 67.6           | 68.8           | 73.1           | 69.8     |
| **GreenMind-Medium-14B-R1**      | **74.36**      | 69.75          | **74.44**      | **72.79** |

**Table 2. VLSP 2023 Challenge:** The performance of our model outperforms most SOTA models.

| **Model**                         | **ComprehensionQA-vi ↑** | **Exams-vi ↑** | **LAMBADA-vi ↓** | **WikiQA-vi ↑** | **MMLU-vi ↑** |
|----------------------------------|---------------------------|----------------|------------------|-----------------|---------------|
| cpt-smartbot-13b                 | 0.6633                    | 0.3473         | 21.9864          | 0.4455          | 0.414         |
| ura-llama-13b                    | 0.6556                    | 0.342          | 17.5614          | 0.438           | 0.3973        |
| greennode-7b (prior work)        | 0.6122                    | 0.2892         | 189.7782         | 0.3335          | 0.387         |
| greennode-14b (prior work)       | 0.6711                    | 0.3672         | 29.5967          | 0.468           | 0.5281        |
| **GreenMind-Medium-14B-R1 (Ours)** | **0.8689**              | **0.7796**     | **10.7609**      | **0.7915**      | **0.7124**     |

**Table 3. VMLU Dataset.** The performance compared to fine-tuned models.

| **Model**                        | **Access** | **STEM** | **Social Science** | **Humanities** | **Others** | **Avg**  |
|----------------------------------|-----------|----------|---------------------|----------------|------------|----------|
| VNPTAI.IO-Medium-R1              | Private   | 77.09    | 82.3                | 78.85          | 69.98      | 77.43     |
| MISA-Llama3-v1.1                 | Private   | 77.5     | 80.75               | 76.62          | 71.6       | 76.87     |
| BnK-AI-Medium-v2                 | Private   | 80.94    | 80.76               | 70.7           | 74.06      | 76.66     |
| VNPTAI.IO-Large-v4               | Private   | 78.05    | 79.05               | 75.39          | 70.37      | 76.21     |
| GreenNode-xMedium-v1            | Private   | 75.7     | 81.09               | 75.25          | 69.33      | 75.5      |
| **GreenMind-Medium-14B-R1 (Ours)** | Weight  | 76.78    | 77.36               | 72.32          | 69.03      | 74.29     |
| CakebyVPBank-Large              | Private   | 77.75    | 78.11               | 70.38          | 67.82      | 73.99     |
| DeepSeek-R1-Distill-Llama-70B   | Weight    | 76.77    | 76.23               | 67.98          | 66.82      | 72.41     |

## Follow us

https://x.com/greennode23

## Support

https://discord.gg/B6MJFM3J3a

## License

This repository and the model weights are licensed under the [MIT License](LICENSE).

## Citation

If you find our work helpful, feel free to give us a cite.

```
@misc{tung2025greenmindnextgenerationvietnameselarge,
      title={GreenMind: A Next-Generation Vietnamese Large Language Model for Structured and Logical Reasoning}, 
      author={Luu Quy Tung and Hoang Quoc Viet and Pham Bao Loc and Vo Trong Thu},
      year={2025},
      eprint={2504.16832},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2504.16832}, 
}
```

## Contact Us

- General & Collaboration: tung.vu@greennode.ai, thuvt@greennode.ai, locpb@greennode.ai
- Technical: viethq5@greennode.ai