처음부터 학습한 85M 파라미터 한국어 추론 모델.
Model source
Source description
처음부터 학습한 85M 파라미터 한국어 추론 모델.
수학, 코드 트레이싱, 논리, 물리, 화학, 생물, 지구과학, 한국사, 미적분 등 119개 카테고리의 문제를 단계별로 풀이한다.
Sources
1 sourceVerified Sep 12
Model artifacts
1 artifactSource excerpts
3 excerpts| 파라미터 | 85.4M |
| 아키텍처 | GPT (Decoder-only) |
| 레이어 | 12 |
| 어텐션 헤드 | 12 |
| 임베딩 차원 | 768 |
| 컨텍스트 길이 | 512 |
| 어휘 크기 | 16,384 (BPE) |
| 어텐션 | Flash Attention (SDPA) |
| 정밀도 | float16 |
자체 벤치마크 52문제, 10개 카테고리.
| 카테고리 | 정확도 |
|---|---|
| 산술 | 100% |
| 코드 트레이싱 | 100% |
| 숫자 성질 | 100% |
| 서술형 | 100% |
| 연산 우선순위 | 88% |
| 리스트 연산 | 83% |
| 괄호 연산 | 80% |
| 방정식 | 80% |
| 논리 | 80% |
| 수열 | 33% |
| 전체 | 86.5% |
pip install torch safetensors tokenizers huggingface_hub
import torch
from safetensors.torch import load_file
from tokenizers import Tokenizer
from huggingface_hub import hf_hub_download
# 다운로드
model_path = hf_hub_download("SOVYN/SOVYN-85M", "model.safetensors")
tok_path = hf_hub_download("SOVYN/SOVYN-85M", "tokenizer.json")
code_path = hf_hub_download("SOVYN/SOVYN-85M", "model.py")
# 아키텍처 로드
import importlib.util
spec = importlib.util.spec_from_file_location("model", code_path)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
# 모델 로드
model = mod.SOVYN85M()
state_dict = load_file(model_path)
state_dict = {k: v.float() for k, v in state_dict.items()}
model.load_state_dict(state_dict)
model.eval()
tokenizer = Tokenizer.from_file(tok_path)
# 추론
prompt = "문제: 3x + 7 = 22일 때, x의 값을 구하시오.\n풀이:\n"
ids = torch.tensor([tokenizer.encode(prompt).ids])
out = model.generate(ids, max_new_tokens=200, temperature=0.3)
print(tokenizer.decode(out[0].tolist()))
문제: {내용}
풀이:
"풀이:" 이후를 생성. 단계별 풀이 + "답: {정답}" 형태로 출력.
Apache-2.0
--- license: apache-2.0 language: - ko tags: - reasoning - math - code - from-scratch - korean - gpt pipeline_tag: text-generation model-index: - name: SOVYN-85M results: - task: type: reasoning name: Custom Reasoning Benchmark metrics: - type: accuracy value: 86.5 name: Overall Accuracy --- # SOVYN-85M 처음부터 학습한 85M 파라미터 한국어 추론 모델. 수학, 코드 트레이싱, 논리, 물리, 화학, 생물, 지구과학, 한국사, 미적분 등 119개 카테고리의 문제를 단계별로 풀이한다. ## 스펙 | | | |---|---| | 파라미터 | 85.4M | | 아키텍처 | GPT (Decoder-only) | | 레이어 | 12 | | 어텐션 헤드 | 12 | | 임베딩 차원 | 768 | | 컨텍스트 길이 | 512 | | 어휘 크기 | 16,384 (BPE) | | 어텐션 | Flash Attention (SDPA) | | 정밀도 | float16 | ## 학습 - 데이터: 591,261개 합성 추론 문제 (119 카테고리), 27.97M 토큰 - 옵티마이저: AdamW (lr=3e-4, weight_decay=0.1) - 스케줄: Cosine decay + warmup 500 steps - 배치: 16 x 4 grad_accum = effective 64 - 스텝: 20,000 - GPU: RTX 5080 16GB - 학습 시간: ~4시간 ## 벤치마크 자체 벤치마크 52문제, 10개 카테고리. | 카테고리 | 정확도 | |---------|--------| | 산술 | 100% | | 코드 트레이싱 | 100% | | 숫자 성질 | 100% | | 서술형 | 100% | | 연산 우선순위 | 88% | | 리스트 연산 | 83% | | 괄호 연산 | 80% | | 방정식 | 80% | | 논리 | 80% | | 수열 | 33% | | **전체** | **86.5%** | ## 사용법 ```bash pip install torch safetensors tokenizers huggingface_hub ``` ```python import torch from safetensors.torch import load_file from tokenizers import Tokenizer from huggingface_hub import hf_hub_download # 다운로드 model_path = hf_hub_download("SOVYN/SOVYN-85M", "model.safetensors") tok_path = hf_hub_download("SOVYN/SOVYN-85M", "tokenizer.json") code_path = hf_hub_download("SOVYN/SOVYN-85M", "model.py") # 아키텍처 로드 import importlib.util spec = importlib.util.spec_from_file_location("model", code_path) mod = importlib.util.module_from_spec(spec) spec.loader.exec_module(mod) # 모델 로드 model = mod.SOVYN85M() state_dict = load_file(model_path) state_dict = {k: v.float() for k, v in state_dict.items()} model.load_state_dict(state_dict) model.eval() tokenizer = Tokenizer.from_file(tok_path) # 추론 prompt = "문제: 3x + 7 = 22일 때, x의 값을 구하시오.\n풀이:\n" ids = torch.tensor([tokenizer.encode(prompt).ids]) out = model.generate(ids, max_new_tokens=200, temperature=0.3) print(tokenizer.decode(out[0].tolist())) ``` ## 프롬프트 형식 ``` 문제: {내용} 풀이: ``` "풀이:" 이후를 생성. 단계별 풀이 + "답: {정답}" 형태로 출력. ## 제한사항 - 합성 데이터로만 학습. 자유 대화 불가. - 수열(등비/피보나치) 약함. - 컨텍스트 512 토큰 제한. ## 라이선스 Apache-2.0
Source context: 17 downloads · 2 likes · Pipeline text-generation · Repo SOVYN/SOVYN-85M
Source context: 5 downloads · 2 likes · Pipeline text-generation · Repo SOVYN/SOVYN-85M