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
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support