HybriKo-430M-A166M-PoC
โ ๏ธ PoC only. ์ค์ ์ฌ์ฉ ๋ถ๊ฐ.
Total 430.8M Active 166.2M Layers 52
Colab
# ========================================
# ์ Colab - ๋ฐ๋ก ์คํ
# ========================================
!pip install huggingface_hub sentencepiece torch -q
from huggingface_hub import snapshot_download
import sys
import torch
import sentencepiece as spm
# ๋ค์ด๋ก๋
local_dir = snapshot_download("Yaongi/Yaongi-430M-A166M-PoC")
print(f"โ
๋ค์ด๋ก๋: {local_dir}")
# ๋ชจ๋ธ ์ฝ๋ ๋ก๋
sys.path.insert(0, local_dir)
from model import HybriKo52, CFG
# ํ ํฌ๋์ด์
sp = spm.SentencePieceProcessor()
sp.load(f"{local_dir}/tokenizer.model")
# ๋ชจ๋ธ ๋ก๋
device = "cuda" if torch.cuda.is_available() else "cpu"
model = HybriKo52(CFG).to(device)
model.load_state_dict(torch.load(f"{local_dir}/model.pt", map_location=device))
model.eval()
print(f"โ
๋ชจ๋ธ ๋ก๋ ({device})")
# ์์ฑ
import torch.nn.functional as F
@torch.no_grad()
def generate(prompt, max_new=50, temp=0.5, rep_penalty=1.2):
ids = torch.tensor([[2] + sp.encode(prompt)]).to(device)
for _ in range(max_new):
logits = model(ids)['logits'][:, -1, :] / temp
for t in set(ids[0].tolist()): logits[0, t] /= rep_penalty
next_id = torch.multinomial(F.softmax(logits, -1), 1)
if next_id.item() == 1: break
ids = torch.cat([ids, next_id], 1)
return sp.decode(ids[0].tolist())
# ํ
์คํธ
print(generate("์ธ๊ณต์ง๋ฅ์"))
print(generate("๋ํ๋ฏผ๊ตญ"))
print(generate("์์ธ์", max_new=150, temp=0.7, rep_penalty=1.15))
print(generate("ํ๊ตญ์ด๋", max_new=150))
- Downloads last month
- 10