wader-100m-base 🐟

[English Version: README.en.md]

Model bahasa Indonesia ringan berukuran ~110 Juta parameter yang mengimplementasikan arsitektur DeepSeek-V4 (MLA, MoE, Hyper-Connections), dilatih dari nol menggunakan korpus percakapan bahasa Indonesia berskala besar. Ini adalah model dasar (pretrained base model) — untuk versi Chat/SFT, silakan gunakan neosantara/wader-100m.

Arsitektur

Model ini mengimplementasikan inovasi kunci DeepSeek-V4 pada skala miniatur:

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

Fitur DeepSeek-V4 yang Diimplementasikan

  • Multi-head Latent Attention (MLA): Kompresi KV cache menggunakan proyeksi laten.
  • Mixture of Experts (MoE): Aktivasi jarang (sparse) — hanya 2 dari 4 expert yang aktif per token.
  • Hyper-Connections: Status tersembunyi (hidden states) salinan ganda dengan rute Sinkhorn yang dapat dipelajari (menggantikan koneksi residual standar).
  • SwiGLU FFN: Blok feed-forward berkapasitas tinggi.
  • Grouped output projection: Rute keluaran yang terstruktur dan efisien.

Pelatihan (Training)

  • Dataset: neosantara/IndoTalk (396k baris penjelasan mendalam, penalaran, dan obrolan kasual berbahasa Indonesia)
  • Langkah (Steps): 5.000 langkah
  • Ukuran Batch: 8 × 4 gradient accumulation = 32 efektif
  • Panjang Sekuens: 2.048 token
  • Learning rate: 6e-4 (Cosine decay dengan warmup)
  • Optimizer: AdamW (β1=0.9, β2=0.95, weight_decay=0.1)
  • Presisi: bf16 mixed precision
  • Perangkat Keras (Hardware): NVIDIA GeForce RTX 5090 Blackwell (Daytona Cloud) via PyTorch Nightly cu128

Metrik Pelatihan

Metrik Nilai
Final Train Loss ~2.83 (Cross-Entropy pada Step 5000)
Token Accuracy ~49.38% (Prediksi kata berikutnya dari awal)

Penggunaan (Usage)

import torch
from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file

# PENTING: Model ini mewajibkan penggunaan GPU modern (Ampere/Ada/Hopper) yang mendukung bfloat16.
# Jika dijalankan di CPU atau GPU tua (seperti T4), akan terjadi error NaN.
device = "cuda" if torch.cuda.is_available() else "cpu"

# 1. Load config and model
repo_id = "neosantara/wader-100m-base"
config = AutoConfig.from_pretrained(repo_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_config(config, trust_remote_code=True).to(torch.bfloat16).to(device)

# 2. Download and load weights
weights_path = hf_hub_download(repo_id, "model.safetensors")
state_dict = load_file(weights_path)
model.load_state_dict(state_dict, strict=True)
model.eval()

# 3. Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(repo_id, trust_remote_code=True)

# 4. Generate Indonesian text completion
prompt = "Indonesia adalah negara kepulauan yang memiliki"
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(device)

with torch.no_grad():
    output = model.generate(
        input_ids,
        max_new_tokens=100,
        temperature=0.7,
        top_p=0.9,
        repetition_penalty=1.1,
        pad_token_id=tokenizer.eos_token_id,
    )

print(tokenizer.decode(output[0], skip_special_tokens=True))

Keterbatasan (Limitations)

  • Ukuran kecil: Hanya 110 Juta parameter, didesain untuk eksperimen kilat.
  • Hanya Base Model: Ini adalah model dasar untuk meneruskan kalimat (text completion). Untuk interaksi chat/tanya-jawab, harap gunakan neosantara/wader-100m.
  • Custom architecture: Membutuhkan trust_remote_code=True.
  • Wajib GPU Modern: Komponen DeepSeek-V4 seperti MLA/MoE dan Hyper-Connections dikembangkan khusus untuk GPU dengan presisi bfloat16. Berjalan di CPU murni (float32) atau GPU lama (T4) akan meluapkan limit kalkulasi (overflow) yang menyebabkan NaN error.

Lisensi

Apache-2.0

Downloads last month
36
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for neosantara/wader-100m-base

Finetunes
2 models
Quantizations
1 model

Dataset used to train neosantara/wader-100m-base