Instructions to use McKay1123/McKay-Math-9B-a9ea928a-124f with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use McKay1123/McKay-Math-9B-a9ea928a-124f with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-9B") model = PeftModel.from_pretrained(base_model, "McKay1123/McKay-Math-9B-a9ea928a-124f") - Notebooks
- Google Colab
- Kaggle
McKay Math 9B
๋ชจ๋ธ ์์ฝ
Qwen3.5-9B์ ์ํ ์์ ํ ๋ต์์ ๊ธฐ์ค๋ณ ์ง๋จ๊ณผ ํ๊ตญ์ด ํผ๋๋ฐฑ์ ์ถ๊ฐ ํ์ตํ LoRA ์ด๋ํฐ์ ๋๋ค. ์ด ์ ์ฅ์๋ ์๋ณธ Qwen ์ ์ฒด ๊ฐ์ค์น๋ฅผ ํฌํจํ์ง ์์ต๋๋ค. ์คํํ ๋ ๊ธฐ๋ฐ ๋ชจ๋ธ๊ณผ ์ด๋ํฐ๋ฅผ ํจ๊ป ๋ถ๋ฌ์ต๋๋ค.
์๋น ๋ฒค์น๋งํฌ
์ ํ๋ณธ์ ์ํ์ฉ 300๊ฑด์ ๋ ๋ชจ๋ธ์ ๋์ผํ๊ฒ ์ ๋ ฅํ์ต๋๋ค. ์๋ก ๋ค๋ฅธ ๋ฌธํญ์ 50๊ฐ์ด๋ฉฐ ๋ฌธํญ๋ง๋ค ๋ต์ 6์ข ์ด ์์ต๋๋ค. ์ค์ ํ์ ์๋ฃ๊ฐ ์๋ ํฉ์ฑ ์๋ฃ์ ๋๋ค. ๊ต์ฌ ๊ฒํ ๋ ์๋ฃ๋์ง ์์์ต๋๋ค. ์ ์ํฉ๊ณผ ์ค์ ํ์ ๋ฌธ์ฒด๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑํ ๋ฒค์น๋งํฌ๊ฐ ์๋๋๋ค. RuBio์ ์๋ช ๊ณผํ ํ๊ฐ ์ ์์ ์ด ์ํ ํ๊ฐ ์ ์๋ ์ง์ ๋น๊ตํ์ง ์์ต๋๋ค.
| ์งํ | ์๋ณธ Qwen 9B | ์ํ ์ด๋ํฐ |
|---|---|---|
| ๊ธฐ์ค๋ณ ํ์ ์ ํ๋ | 86.67% | 100.00% |
| ๋ต์ ์ํ ์ ํ๋ | 72.00% | 100.00% |
| ๋ต์ ์ํ macro F1 | 67.51% | 100.00% |
| ์ค๊ฐ๋ ID ์ผ์น์จ | 100.00% | 100.00% |
| JSON ๊ตฌ๋ฌธ ์ ํจ์จ | 100.00% | 100.00% |
| ์ถ๋ ฅ ํ์๊ณผ ๋ต์ ์ธ์ฉ ์ ํจ์จ | 81.67% | 100.00% |
| ์๋ณธ ํ์ ์ ์ฑ ์ผ๊ด์ฑ | 79.00% | 100.00% |
| ๋ค์ ํ๋ ์ผ์น์จ | 83.00% | 100.00% |
| ํ์ฒ๋ฆฌ ํ ๋ต์ ์ํ ์ ํ๋ | 65.33% | 100.00% |
| ์ ๋ต ๋ต์ ์คํ์จ | 16.00% | 0.00% |
์ด๋ํฐ์ ๊ธฐ์ค๋ณ ํ์ ์ ํ๋์ ๋ํ ๋ฌธํญ ๊ตฐ์ง bootstrap 95% ์ ๋ขฐ๊ตฌ๊ฐ์ 100.00% ~ 100.00%์ ๋๋ค. ํ์ต ํ์ ํ์ต ์ ์ ๊ธฐ์ค๋ณ ์ ํ๋ ์ฐจ์ด๋ +13.33%p์ ๋๋ค. ๋ฌธํญ์ ์์ผ๋ก ๋ฌถ์ด ๊ณ์ฐํ ์ฐจ์ด์ 95% ์ ๋ขฐ๊ตฌ๊ฐ์ +11.67%p ~ +14.84%p์ ๋๋ค. ๊ฐ์ ๋ฐฉํฅ์ ์ฐจ์ด๊ฐ ๊ด์ฐฐ๋์ต๋๋ค. ์ฌํ์ง ํ์๋ 2000ํ์ด๋ฉฐ ๋์ ์๋๋ 20261103์ ๋๋ค. ๊ฐ์ ๋ฌธํญ์ ๋ต์ 6๊ฐ๋ ๋ ๋ฆฝ ํ์ 6๋ช ์ผ๋ก ์ทจ๊ธํ์ง ์์์ต๋๋ค.
JSON ๊ตฌ๋ฌธ ์คํจ์ ํ์ ๋๋ฝ์ ํด๋น ํ์ ์ ์ค๋ต์ผ๋ก ๊ณ์ฐํ์ต๋๋ค. ์ค๋ณต๋ ํ๊ฐ ๊ธฐ์ค ID๋ ํด๋น ๊ธฐ์ค์ ๋ฌดํจ ์์ธก์ผ๋ก ์ฒ๋ฆฌํ์ต๋๋ค. macro F1์ ๋ต์ ์ํ 6์ข ์ ๋์ผํ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ต๋๋ค. ํ์ฒ๋ฆฌ ํ ์ ํ๋๋ ์๋ณธ ์ถ๋ ฅ ์ ์์ ๊ตฌ๋ณํด ํ์ํ์ต๋๋ค. ์ค๊ฐ๋ ID ์ผ์น์จ์ ๋ถ๋ชจ๋ ์ ๋ต ๋ผ๋ฒจ์ ์ค๊ฐ๋ ID๊ฐ ์๋ ๊ธฐ์ค 100๊ฐ์ ๋๋ค. ํ์๊ณผ ์ธ์ฉ ์ ํจ์จ์ ํผ๋๋ฐฑ์ ๊ต์ก์ ํ์ง์ ํ๊ฐํ๋ ์งํ๊ฐ ์๋๋๋ค. ํํธ์ ์ ์ ์ฑ๊ณผ ์ ๋ต ๋์ค ์ฌ๋ถ ๋ฐ ์ค์ ์์ ํจ๊ณผ๋ ๋ณ๋์ ๊ต์ฌ ํ๊ฐ๊ฐ ํ์ํฉ๋๋ค.
๋ต์ ์ ํ๋ณ ๊ฒฐ๊ณผ
| ๋ต์ ์ ํ | ๊ฑด์ | ์๋ณธ ์ ๋ต๋ฅ | ์ด๋ํฐ ์ ๋ต๋ฅ |
|---|---|---|---|
| correct | 50 | 84.00% | 100.00% |
| partial | 50 | 100.00% | 100.00% |
| mixed | 50 | 44.00% | 100.00% |
| incorrect | 50 | 100.00% | 100.00% |
| no_attempt | 50 | 100.00% | 100.00% |
| unclear | 50 | 4.00% | 100.00% |
์๋์ ๋ฉ๋ชจ๋ฆฌ
| ์งํ | ์๋ณธ Qwen 9B | ์ํ ์ด๋ํฐ |
|---|---|---|
| ์๋ต ์๊ฐ p50 ์ด | 11.476 | 9.203 |
| ์๋ต ์๊ฐ p95 ์ด | 13.740 | 10.733 |
| ์ถ๋ ฅ ํ ํฐ/์ด | 22.867 | 16.629 |
| ์ต๋ GPU ํ ๋น ๋ฉ๋ชจ๋ฆฌ GiB | 17.822 | 17.933 |
๊ฐ ๋ชจ๋ธ์ ์ฒซ ์์ด ํธ์ถ์ ์ง์ฐ ์ธก์ ์์ ์ ์ธํ์ต๋๋ค. GPU ์ฐ์ฐ ๋๊ธฐํ ํ ๊ฐ๋ณ ์์ฒญ์ ์์ฑ ์๊ฐ์ ์ธก์ ํ์ต๋๋ค. ์ถ๋ ฅ ํ ํฐ/์ด๋ ์์ฑ ํ ํฐ ์ ํฉ๊ณ๋ฅผ ์์ฑ ์๊ฐ ํฉ๊ณ๋ก ๋๋ ๊ฐ์ ๋๋ค. GPU ํ ๋น ๋ฉ๋ชจ๋ฆฌ๋ PyTorch๊ฐ ์ธก์ ํ ๊ฐ์ด๋ฉฐ nvidia-smi์ ์ ์ฒด ์ ์ ๋๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค.
ํ์ต ์ค์
| ํญ๋ชฉ | ๊ธฐ๋ก๋ ๊ฐ |
|---|---|
| method | bf16 LoRA |
| train_rows | 2400 |
| dev_rows | 300 |
| epochs | 2 |
| steps | 300 |
| max_seq_length | 4096 |
| batch_size | 1 |
| gradient_accumulation_steps | 16 |
| lora_rank | 16 |
| lora_alpha | 32 |
| lora_dropout | 0 |
| learning_rate | 0.0001 |
| seed | 42 |
| best_eval_loss | 0.07964031398296356 |
| teacher_approved | 0 |
ํ์ต ๊ณก์ ์ ์ค์ events.jsonl์ ๊ธฐ๋ก๋ ๊ฐ๋ง ์ฌ์ฉํ์ต๋๋ค. ํ์ต ๋ก๊ทธ๊ฐ ์์ผ๋ฉด ํด๋น ๊ณก์ ์ ํ์ํ์ง ์์ต๋๋ค. ๊ฒ์ฆ ์์ค์ ์ฒดํฌํฌ์ธํธ ์ ํ์ฉ์ด๋ฉฐ ์ํ ์ ๋ต๋ฅ ๊ณผ ๋ค๋ฅธ ์งํ์ ๋๋ค.
ํ๊ฐ ์กฐ๊ฑด๊ณผ ์ฌํ ์ ๋ณด
๊ธฐ๋ฐ ๋ชจ๋ธ์ Qwen/Qwen3.5-9B์ ๋๋ค. ํ๊ฐ revision์ c202236235762e1c871ad0ccb60c8ee5ba337b9a์ ๋๋ค. ๋ ๋ชจ๋ธ์ ์ต์ข ์ด๋ํฐ ํด๋์ ๊ฐ์ ํ ํฌ๋์ด์ ์ ๊ฐ์ chat template์ ์ฌ์ฉํ์ต๋๋ค. ์์คํ ํ๋กฌํํธ๋ ํ์ต ๋น์์ ๋์ผํ๋ฉฐ ์๋ฌธ์ system_prompt.txt์ ์์ต๋๋ค. user ์ ๋ ฅ์ ์๋ฃ JSONL์ user ๋ฉ์์ง๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ์ต๋๋ค. thinking๊ณผ ์ํ๋ง์ ๋๊ณ ์ต๋ ์ ํ ํฐ ์๋ฅผ 768๋ก ๊ณ ์ ํ์ต๋๋ค. JSON ์คํค๋ง๋ ๊ฐ์ ํ์ง ์์์ต๋๋ค. ์๋ก ๊ฐ์ GPU์ ๊ฐ์ ํจํค์ง ๋ฒ์ ์์ ์์๋๋ก ํ๊ฐํ์ต๋๋ค. ํ๊ฐ ์คํ ์๊ฐ๊ณผ GPU ์ข ๋ฅ ๋ฐ ํจํค์ง ๋ฒ์ ์ evaluation_provenance.json์ ๊ธฐ๋กํ์ต๋๋ค. ํ์ต ๋น์ ๊ธฐ๋ฐ ๋ชจ๋ธ revision์ด ๊ธฐ๋ก๋์ง ์์์ต๋๋ค. ๋ ํ๊ฐ ๋ชจ๋ธ์ ๊ฐ์ revision์ผ๋ก ๊ณ ์ ํ์ง๋ง ํ์ต ๋น์ ๊ฐ์ค์น์์ ๋์ผ์ฑ์ ์ถ๊ฐ ํ์ธ์ด ํ์ํฉ๋๋ค.
์๋ฃ SHA256๊ณผ ํ์ต ID ํด์ ๋ฐ ์ด๋ํฐ ํ์ผ SHA256์ ํจ๊ป ๋ณด๊ดํ ๋ฉํ๋ฐ์ดํฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์์
์๋ ์ ์ฅ์ ์ด๋ฆ์ ์ค์ ์ ๋ก๋ํ ์ฃผ์๋ก ๋ฐ๊ฟ๋๋ค. ์ ๋ ฅ์ question๊ณผ materials ๋ฐ rubric๊ณผ evidence ๋ฐ misconceptions์ reference_answer ๋ฐ history์ feedback_mode ๋ฐ reveal_requested์ student_answer๋ฅผ ๊ฐ์ง ๊ฐ์ฒด์ ๋๋ค.
import json
from pathlib import Path
import torch
from huggingface_hub import hf_hub_download
from transformers import AutoTokenizer, Qwen3_5ForConditionalGeneration
from peft import PeftModel
adapter_id = 'McKay1123/McKay-Math-9B-a9ea928a-124f'
tokenizer = AutoTokenizer.from_pretrained(adapter_id)
base = Qwen3_5ForConditionalGeneration.from_pretrained(
'Qwen/Qwen3.5-9B', revision='c202236235762e1c871ad0ccb60c8ee5ba337b9a', dtype=torch.bfloat16, device_map='auto'
)
model = PeftModel.from_pretrained(base, adapter_id).eval()
system_prompt = Path(hf_hub_download(adapter_id, 'system_prompt.txt')).read_text(encoding='utf-8')
payload = json.loads(Path(hf_hub_download(adapter_id, 'example_input.json')).read_text(encoding='utf-8'))
messages = [
{'role': 'system', 'content': system_prompt},
{'role': 'user', 'content': json.dumps(payload, ensure_ascii=False, separators=(',', ':'))}
]
prompt = tokenizer.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True, enable_thinking=False
)
inputs = tokenizer(prompt, return_tensors='pt', add_special_tokens=False).to(model.device)
with torch.inference_mode():
output = model.generate(**inputs, max_new_tokens=768, do_sample=False)
print(tokenizer.decode(output[0, inputs.input_ids.shape[-1]:], skip_special_tokens=True))
ํ๊ณ์ ๊ณต๊ฐ ๋ฒ์
ํฉ์ฑ ์๋ฃ์ ์ด๊ธ ์ํ ์ ํ์ ๋ํ ์ฐ๊ตฌ์ฉ ์๋น ๋ชจ๋ธ์ ๋๋ค. ์ค์ ํ์์ ๊ณ ๋ถ๋ด ์ฑ์ ๊ฒฐ์ ์ ๋ฐ๋ก ์ ์ฉํ ์์ค์ผ๋ก ๊ฒ์ฆ๋์ง ์์์ต๋๋ค. ์ด ํ๊ฐ ์๋ฃ๋ ํ์ฌ ํ์ต ๋ฌธํญ๊ณผ ID ๋ฐ ๋ฌธํญ ๋ณธ๋ฌธ์ด ๊ฒน์น์ง ์์ง๋ง ํ๋ก๊ทธ๋จ์ ๋ฌธ์ ์ ํ๊ณผ ์์ฑ ํ์ ๊ณต์ ํฉ๋๋ค. ํผ๋๋ฐฑ ๋ฌธ์ฅ์ ์ ํ์ฑ๊ณผ ๋์ ์ ๋๋ ์๋ ๋ถ๋ฅ ์ ์๋ง์ผ๋ก ๋ณด์ฅ๋์ง ์์ต๋๋ค. ์ํ ๊ต์ก๊ณผ์ ์ ํฉ์ฑ๊ณผ ๋ด์ฉ ํ๋น๋๋ ์ถ๊ฐ ๊ฒํ ๊ฐ ํ์ํฉ๋๋ค. ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋ผ์ด์ ์ค์ ์ด ์ด๋ํฐ ๋ฐ ๋ฐ์ดํฐ์ ์ ์ฉํ ๊ณต๊ฐ ์กฐ๊ฑด์ ๊ฒ์ ์ ์ ํจ๊ป ํ์ธํฉ๋๋ค. ์ด ์ค๋ช ์๋ ์ค์ ์ ์ฅ๋ ์์ธก๊ณผ ํ์ต ๋ก๊ทธ๋ก ์์ฑํ์ต๋๋ค. ์ข์ ์ ์๋ฅผ ๋ณด์ฅํ๋ ๋ฌธ์๋ ์๋๋๋ค.
- Downloads last month
- 19


