Views
No views yet
| Komponen | Detail |
|---|---|
| Parameter | ~110M total (41M embedding, 69M non-embedding) |
| Hidden size | 320 |
| Layer | 8 |
| Attention heads | 8 (1 KV head — gaya MQA) |
| Head dim | 96 (32 RoPE + 64 NoPE) |
| MLA | q_lora_rank=160, o_groups=2, o_lora_rank=80 |
| MoE | 4 routed experts + 1 shared, top-2 routing |
| Expert FFN | SwiGLU, intermediate_size=640 |
| Routing | sqrtsoftplus scoring, noaux_tc method |
| Hyper-Connections | hc_mult=4, Sinkhorn routing (2 iters) |
| Vocab | 128.000 (Tokenizer DeepSeek-V4) |
| Konteks | 2.048 token |
| Metrik | Nilai |
|---|---|
| Final Train Loss | ~2.83 (Cross-Entropy pada Step 5000) |
| Token Accuracy | ~49.38% (Prediksi kata berikutnya dari awal) |
1import torch
2from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer
3from huggingface_hub import hf_hub_download
4from safetensors.torch import load_file
5
6# PENTING: Model ini mewajibkan penggunaan GPU modern (Ampere/Ada/Hopper) yang mendukung bfloat16.
7# Jika dijalankan di CPU atau GPU tua (seperti T4), akan terjadi error NaN.
8device = "cuda" if torch.cuda.is_available() else "cpu"
9
10# 1. Load config and model
11repo_id = "neosantara/wader-100m-base"
12config = AutoConfig.from_pretrained(repo_id, trust_remote_code=True)
13model = AutoModelForCausalLM.from_config(config, trust_remote_code=True).to(torch.bfloat16).to(device)
14
15# 2. Download and load weights
16weights_path = hf_hub_download(repo_id, "model.safetensors")
17state_dict = load_file(weights_path)
18model.load_state_dict(state_dict, strict=True)
19model.eval()
20
21# 3. Load tokenizer
22tokenizer = AutoTokenizer.from_pretrained(repo_id, trust_remote_code=True)
23
24# 4. Generate Indonesian text completion
25prompt = "Indonesia adalah negara kepulauan yang memiliki"
26input_ids = tokenizer.encode(prompt, return_tensors="pt").to(device)
27
28with torch.no_grad():
29 output = model.generate(
30 input_ids,
31 max_new_tokens=100,
32 temperature=0.7,
33 top_p=0.9,
34 repetition_penalty=1.1,
35 pad_token_id=tokenizer.eos_token_id,
36 )
37
38print(tokenizer.decode(output[0], skip_special_tokens=True))trust_remote_code=True.bfloat16. Berjalan di CPU murni (float32) atau GPU lama (T4) akan meluapkan limit kalkulasi (overflow) yang menyebabkan NaN error.