---
license: apache-2.0
language:
- ko
tags:
- math
- reasoning
- korean
- grpo
- reinforcement-learning
- qwen2.5
datasets:
- ChuGyouk/AI-MO-NuminaMath-CoT-Ko
base_model:
- Qwen/Qwen2.5-3B-Instruct
---
# Qwen2.5-3B-MATH-GRPO-KOR
## 모델 개요
한국어 수학 추론에 특화된 Qwen2.5-3B 모델입니다. GRPO(Group Relative Policy Optimization)를 사용하여 한국어 수학 문제 해결 능력을 향상시켰습니다.
## 주요 특징
- **베이스 모델**: Qwen/Qwen2.5-3B-Instruct
- **학습 방법**: GRPO (Group Relative Policy Optimization)
- **데이터셋**: ChuGyouk/AI-MO-NuminaMath-CoT-Ko (5,000 샘플)
- **언어**: 한국어
- **특화 분야**: 수학 문제 해결 및 추론
## 사용법
```python
from unsloth import FastLanguageModel
# 모델 로드
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="byh711/Qwen2.5-3B-MATH-GRPO-KOR",
max_seq_length=1024,
load_in_4bit=True,
)
# 추론 모드
FastLanguageModel.for_inference(model)
# 프롬프트 설정
system_prompt = '''다음 형식으로 정확히 답변해주세요:
단계별 풀이 과정을 자세히 설명
최종 답안
'''
# 수학 문제 입력
question = "어떤 수의 8배가 120보다 작을 때, 그 수의 최대 정수를 구하세요."
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": question}
]
# 토큰화 및 생성
inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_ids=inputs, max_new_tokens=200, temperature=0.1)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
```
## 출력 형식
모델은 다음과 같은 XML 형식으로 답변을 생성합니다:
```
1. 주어진 조건: 어떤 수를 x라고 하면, 8x < 120
2. 부등식 풀이: x < 120/8 = 15
3. x는 15보다 작아야 하므로, 최대 정수는 14
14
```
## 학습 세부사항
- **학습 데이터**: 5,000개 한국어 수학 문제
- **에포크**: 2
- **배치 크기**: 4 (효과적)
- **학습률**: 5e-6
- **옵티마이저**: AdamW 8bit
- **LoRA Rank**: 64
## 라이선스
Apache 2.0