caca-50M

๐Ÿš€ CACA-50M

Model Transformer Modern dengan Arsitektur Canggih

License Python 3.8+ PyTorch Transformers

114,875,008 parameters โ€ข 114.9M โ€ข 16 layers

๐Ÿ“– Dokumentasi โ€ข ๐Ÿš€ Quick Start โ€ข ๐Ÿ’ก Fitur โ€ข ๐Ÿ”ง Training โ€ข ๐Ÿ“Š Spesifikasi


โš ๏ธ PENTING: Model Belum Dilatih (Untrained)

PERHATIAN: Ini adalah model yang belum melalui proses training. Bobot model masih dalam kondisi random initialization. Output yang dihasilkan akan tidak bermakna dan acak.

Status Model:

  • ๐Ÿ”ด Belum dilatih - Bobot masih random
  • ๐ŸŸก Hanya untuk riset - Eksperimen arsitektur & training
  • ๐ŸŸข Siap dilatih - Arsitektur sudah teruji

Widget di atas hanya menunjukkan format input yang diharapkan. Setelah model dilatih dengan dataset yang tepat, format yang sama akan menghasilkan output berkualitas.


๐Ÿ“‹ Deskripsi

Caca adalah arsitektur Large Language Model (LLM) generasi terbaru yang menggabungkan berbagai teknik state-of-the-art dalam deep learning. Model ini dirancang dengan fokus pada efisiensi, skalabilitas, dan performa tinggi.

๐ŸŽฏ Keunggulan Utama

  • ๐Ÿ‡ฎ๐Ÿ‡ฉ Bilingual Support: Optimized untuk Bahasa Indonesia & English
  • โšก Ultra Fast: Flash Attention 2 untuk inferensi 3x lebih cepat
  • ๐Ÿ’พ Memory Efficient: Grouped Query Attention menghemat 75% KV cache
  • ๐ŸŽฏ Long Context: Support hingga 4,096 token
  • ๐Ÿ”ง Modular: Arsitektur fleksibel dengan berbagai opsi konfigurasi

โœจ Fitur Utama

๐ŸŽฏ Core Features

  • โœ… Grouped Query Attention (GQA) - Efisiensi memori dan komputasi superior

    • Query heads: 10
    • KV heads: 2
    • Ratio: 5:1 (hemat 75% KV cache)
  • โœ… Rotary Position Embeddings (RoPE) - Generalisasi konteks panjang lebih baik

    • Theta: 10000
    • Support extrapolation untuk konteks > training length
  • โœ… RMSNorm - Normalisasi lebih stabil dan 50% lebih cepat dari LayerNorm

    • Epsilon: 1e-06
  • โœ… SwiGLU Activation - Performa 10-15% lebih baik dari ReLU/GELU

    • Intermediate size: 2,560
  • โœ… Flash Attention 2 - Akselerasi hingga 3x dengan memory efficiency

    • Otomatis aktif jika tersedia CUDA

๐Ÿ”ฅ Advanced Features

๐ŸŽฏ Attention Mechanisms

  • โšก Flash Attention v2 - 3x faster with IO-aware algorithm
  • ๐Ÿ”‘ Grouped Query Attention (GQA) - 10Q : 2KV heads
  • ๐Ÿš€ xFormers Support - Memory efficient attention fallback
  • ๐ŸŽฏ PyTorch SDPA - Native scaled dot product attention

๐Ÿ“ Position Encodings

  • ๐Ÿ”„ RoPE - Rotary embeddings (ฮธ=10000)

๐ŸชŸ Long Context Features

๐ŸŽ“ Training Optimizations

  • ๐Ÿ’พ Gradient Checkpointing - Memory efficient training
  • ๐ŸŽฏ Mixed Precision - BF16 & FP16 support

๐Ÿ“ฆ Quantization Support

  • 4๏ธโƒฃ 4-bit Quantization - NF4, FP4 via bitsandbytes
  • 8๏ธโƒฃ 8-bit Quantization - LLM.int8() support
  • ๐Ÿ”„ Double Quantization - Further compression

๐Ÿ› ๏ธ Optimization Features

  • ๐Ÿ’พ KV Cache - Generasi autoregressive 5-10x lebih cepat
  • ๐Ÿ”ง Gradient Checkpointing - Training model besar dengan memory terbatas
  • ๐Ÿ“ฆ Quantization Ready - Support 4-bit & 8-bit quantization
  • ๐ŸŽฏ Mixed Precision Training - BF16 & FP16 support

๐Ÿ“Š Spesifikasi Teknis

Spesifikasi Detail
๐Ÿ’Ž Total Parameters 114,875,008 (114.9M)
๐Ÿ“ Hidden Size 640
๐Ÿ”ข Intermediate Size 2,560
๐Ÿ—๏ธ Num Layers 16
๐ŸŽฏ Attention Heads 10
๐Ÿ”‘ KV Heads 2 (GQA)
๐Ÿ“ Head Dimension 64
๐Ÿ“š Vocab Size 32,000 tokens
๐Ÿ“– Max Context 4,096 tokens
๐Ÿ›๏ธ Architecture Decoder-only Transformer
๐ŸŽจ Model Type Causal Language Model

๐Ÿ“ Arsitektur Detail

๐Ÿ” Klik untuk lihat struktur lengkap
CacaForCausalLM (114.9M)
โ”‚
โ”œโ”€ Embedding Layer
โ”‚  โ””โ”€ Token Embeddings: 32,000 ร— 640
โ”‚     โ””โ”€ Parameters: 20,480,000
โ”‚
โ”œโ”€ Transformer Layers (16x)
โ”‚  โ”‚
โ”‚  โ”œโ”€ Layer {i} (repeated 16 times)
โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€ Input LayerNorm (RMSNorm)
โ”‚  โ”‚  โ”‚  โ””โ”€ Params: 640
โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€ Self-Attention (Grouped Query Attention)
โ”‚  โ”‚  โ”‚  โ”œโ”€ Q Projection: 640 โ†’ 640
โ”‚  โ”‚  โ”‚  โ”œโ”€ K Projection: 640 โ†’ 128
โ”‚  โ”‚  โ”‚  โ”œโ”€ V Projection: 640 โ†’ 128
โ”‚  โ”‚  โ”‚  โ”œโ”€ O Projection: 640 โ†’ 640
โ”‚  โ”‚  โ”‚  โ”œโ”€ RoPE Embeddings: ฮธ=10000
โ”‚  โ”‚  โ”‚  โ””โ”€ Flash Attention 2 (if available)
โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€ Post-Attention LayerNorm (RMSNorm)
โ”‚  โ”‚  โ”‚  โ””โ”€ Params: 640
โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”œโ”€ MLP (SwiGLU)
โ”‚  โ”‚  โ”‚  โ”œโ”€ Gate: 640 โ†’ 2,560
โ”‚  โ”‚  โ”‚  โ”œโ”€ Up: 640 โ†’ 2,560
โ”‚  โ”‚  โ”‚  โ”œโ”€ Activation: SiLU (Swish)
โ”‚  โ”‚  โ”‚  โ””โ”€ Down: 2,560 โ†’ 640
โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€ Residual Connections (2x per layer)
โ”‚  โ”‚
โ”‚  โ””โ”€ Total Layer Params: ~5M per layer
โ”‚
โ”œโ”€ Final LayerNorm (RMSNorm)
โ”‚  โ””โ”€ Params: 640
โ”‚
โ””โ”€ LM Head (Output Projection)
   โ””โ”€ Linear: 640 โ†’ 32,000
      โ””โ”€ Parameters: 20,480,000

Perhitungan Parameter:

  • Embeddings: 32,000 ร— 640 = 20,480,000
  • Layers: 16 layers ร— ~5M = ~85M
  • Total: 114,875,008 parameters

๐Ÿš€ Quick Start

๐Ÿ“ฆ Instalasi

# Dependencies dasar
pip install torch>=2.0.0 transformers>=4.35.0 accelerate safetensors

# Optional: Untuk performa maksimal
pip install flash-attn --no-build-isolation  # Flash Attention 2
pip install xformers                          # Memory efficient attention
pip install bitsandbytes                      # Quantization support

๐Ÿ’ป Penggunaan Dasar

1๏ธโƒฃ Load Model

from transformers import AutoModelForCausalLM, AutoConfig
import torch

# Load configuration
config = AutoConfig.from_pretrained(
    "Lyon28/caca-50M-untrained",
    trust_remote_code=True
)

print(f"Model: {config.model_type}")
print(f"Parameters: 114,875,008")
print(f"Hidden size: {config.hidden_size}")
print(f"Layers: {config.num_hidden_layers}")

# Load model
model = AutoModelForCausalLM.from_pretrained(
    "Lyon28/caca-50M-untrained",
    config=config,
    torch_dtype=torch.bfloat16,  # Gunakan BF16 untuk efisiensi
    device_map="auto",            # Otomatis distribusi ke GPU
    trust_remote_code=True
)

print(f"Model loaded! Device: {model.device}")

2๏ธโƒฃ Verifikasi Model

# Hitung total parameter
total_params = sum(p.numel() for p in model.parameters())
trainable_params = sum(p.numel() for p in model.parameters() if p.requires_grad)

print(f"Total parameters: {total_params:,}")
print(f"Trainable parameters: {trainable_params:,}")
print(f"Model size: {total_params * 2 / 1e9:.2f} GB (BF16)")

# Test forward pass
batch_size, seq_len = 2, 10
input_ids = torch.randint(0, config.vocab_size, (batch_size, seq_len))
input_ids = input_ids.to(model.device)

with torch.no_grad():
    outputs = model(input_ids)

print(f"Output shape: {outputs.logits.shape}")
print("โœ… Model berfungsi dengan baik!")

3๏ธโƒฃ Generate Text (Setelah Training)

from transformers import AutoTokenizer

# Load tokenizer (gunakan tokenizer yang sesuai)
tokenizer = AutoTokenizer.from_pretrained("your-tokenizer-here")

# Prepare input
text = "Jelaskan tentang kecerdasan buatan"
inputs = tokenizer(text, return_tensors="pt").to(model.device)

# Generate
outputs = model.generate(
    **inputs,
    max_new_tokens=100,
    temperature=0.7,
    top_p=0.9,
    top_k=50,
    do_sample=True,
    repetition_penalty=1.1,
    pad_token_id=tokenizer.eos_token_id
)

# Decode
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(generated_text)

๐Ÿ”ง Training Guide

๐Ÿ“š Persiapan Dataset

from datasets import load_dataset

# Load dataset (contoh)
dataset = load_dataset("indonesian-nlp/id-wikipedia")

# Atau load dari file lokal
from datasets import Dataset
import pandas as pd

df = pd.read_csv("your_data.csv")
dataset = Dataset.from_pandas(df)

print(f"Dataset size: {len(dataset)}")

๐ŸŽฏ Training Configuration

from transformers import Trainer, TrainingArguments
from transformers import DataCollatorForLanguageModeling

# Training arguments
training_args = TrainingArguments(
    # Output
    output_dir="./caca-caca-50M-trained",
    run_name="caca-caca-50M-v1",
    
    # Training
    num_train_epochs=3,
    per_device_train_batch_size=4,
    gradient_accumulation_steps=8,  # Effective batch size = 32
    learning_rate=2e-4,
    weight_decay=0.1,
    warmup_steps=2000,
    
    # Optimization
    bf16=True,                      # Mixed precision training
    gradient_checkpointing=True,     # Hemat memory
    optim="adamw_torch_fused",      # Optimizer tercepat
    max_grad_norm=1.0,
    
    # Logging & Evaluation
    logging_steps=10,
    logging_first_step=True,
    eval_strategy="steps",
    eval_steps=500,
    save_steps=1000,
    save_total_limit=3,
    
    # Hub integration
    push_to_hub=True,
    hub_model_id="your-username/caca-caca-50M-trained",
    hub_strategy="every_save",
    
    # Distributed training
    ddp_find_unused_parameters=False,
    dataloader_num_workers=4,
)

# Data collator
data_collator = DataCollatorForLanguageModeling(
    tokenizer=tokenizer,
    mlm=False  # Causal LM, bukan Masked LM
)

# Trainer
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=dataset["train"],
    eval_dataset=dataset["validation"],
    data_collator=data_collator,
)

# Train!
print("๐Ÿš€ Starting training...")
trainer.train()

# Save final model
print("๐Ÿ’พ Saving model...")
trainer.save_model("./caca-caca-50M-final")
trainer.push_to_hub()

print("โœ… Training complete!")

๐Ÿ“Š Estimasi Resource

๐Ÿ’ฐ Klik untuk melihat estimasi biaya & waktu training

Hardware Requirements:

GPU Memory Batch Size Speed Est. Time (100B tokens)
RTX 3090 (24GB) 24GB 1-2 ~1K tok/s ~30 hari
A100 (40GB) 40GB 4-8 ~5K tok/s ~6 hari
A100 (80GB) 80GB 8-16 ~8K tok/s ~4 hari
8ร—A100 (80GB) 640GB 64+ ~50K tok/s ~14 jam

Cloud Costs (approximate):

  • AWS p4d.24xlarge (8ร—A100): $32/hour ร— 24 hours = **$768/day**
  • GCP a2-ultragpu-8g: $30/hour ร— 24 hours = **$720/day**
  • Lambda Labs (8ร—A100): $15/hour ร— 24 hours = **$360/day**

Tips menghemat biaya:

  • Gunakan spot instances (60-70% lebih murah)
  • Gradient accumulation untuk batch size lebih besar
  • Mixed precision (BF16) untuk 2x speedup
  • Gradient checkpointing untuk hemat memory

๐Ÿ’ฌ Format Chat

Model ini mendukung format chat standar:

# Single-turn
messages = [
    {"role": "user", "content": "Halo! Siapa kamu?"},
]

# Multi-turn conversation
messages = [
    {"role": "system", "content": "Kamu adalah asisten AI yang membantu."},
    {"role": "user", "content": "Jelaskan tentang fotosintesis"},
    {"role": "assistant", "content": "Fotosintesis adalah proses..."},
    {"role": "user", "content": "Apa manfaatnya bagi manusia?"},
]

# Apply chat template
formatted = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)

print(formatted)
# Output:
# System: Kamu adalah asisten AI yang membantu.
#
# User: Jelaskan tentang fotosintesis
# Assistant: Fotosintesis adalah proses...
# User: Apa manfaatnya bagi manusia?
# Assistant:

๐ŸŽฏ Use Cases

โœ… Cocok Untuk:

  • ๐Ÿ”ฌ Penelitian: Eksperimen arsitektur LLM modern
  • ๐Ÿ“š Edukasi: Belajar tentang transformer & training
  • ๐ŸŽ“ Akademis: Paper, thesis, project
  • ๐Ÿš€ Base Model: Fine-tuning untuk task spesifik
  • ๐Ÿ’ก Proof of Concept: Test ide sebelum scale up

โŒ Tidak Cocok Untuk:

  • ๐Ÿšซ Production: Model belum dilatih
  • ๐Ÿšซ Real-world apps: Output masih random
  • ๐Ÿšซ Safety-critical: Belum ada safety alignment
  • ๐Ÿšซ Direct deployment: Perlu training dulu

๐Ÿ“– Dokumentasi

๐Ÿ”— Links Penting

๐Ÿ“ Related Models

Model Size Parameters Link
๐Ÿฃ Tiny 1M - 50M caca-1M to caca-50M
๐Ÿฅ Small 75M - 500M caca-75M to caca-500M
๐Ÿฆ… Medium 600M - 1B caca-600M to caca-1B
๐Ÿฆ Large 1.5B - 5B caca-1.5B to caca-5B
๐Ÿ‰ XL 6B - 10B caca-6B to caca-10B
๐Ÿฆ– XXL 12B+ caca-12B to caca-70B

๐Ÿค Contributing

Kami sangat terbuka untuk kontribusi! Beberapa cara untuk berkontribusi:

  • ๐Ÿ› Report bugs: Temukan bug? Buka issue
  • ๐Ÿ’ก Suggest features: Punya ide? Share di discussions
  • ๐Ÿ“ Improve docs: PR welcome untuk dokumentasi
  • ๐ŸŽ“ Share results: Training hasil? Share di model card
  • โญ Star & Share: Bantu project ini berkembang

๐Ÿ“œ License & Citation

๐Ÿ“„ License

Model ini dirilis di bawah Apache License 2.0:

  • โœ… Gratis untuk penggunaan komersial
  • โœ… Gratis untuk penggunaan riset
  • โœ… Boleh modifikasi & distribusi
  • โœ… Tidak ada garansi

๐Ÿ“š Citation

Jika Anda menggunakan model ini dalam penelitian atau project, mohon cite:

@misc{cacacaca-50M2025,
  author = {Lyon},
  title = {Caca-caca-50M: Modern Transformer Architecture with GQA and Advanced Features},
  year = {2025},
  publisher = {Hugging Face},
  journal = {Hugging Face Model Hub},
  howpublished = {\url{https://huggingface.co/Lyon28/caca-50M-untrained}},
}

๐Ÿ™ Acknowledgments

Model ini terinspirasi dan mengimplementasikan berbagai penelitian terkini:

๐Ÿ—๏ธ Core Architecture

๐ŸŽฏ Attention Mechanisms

๐Ÿ“ Position Encodings

๐ŸชŸ Long Context & Efficiency

๐Ÿง  Mixture of Experts (MoE)

๐ŸŽ“ Training Optimizations

๐Ÿ“ฆ Quantization

๐ŸŽจ Multimodal Components

๐Ÿ› ๏ธ Normalization & Activations

๐Ÿ”ง Implementation & Tools

  • Hugging Face Transformers - Model implementation framework
  • PyTorch - Deep learning framework
  • Safetensors - Secure tensor serialization format
  • Accelerate - Distributed training utilities

Special Thanks to:

  • ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesian NLP Community
  • ๐Ÿค— Hugging Face Team
  • ๐Ÿ”ฌ Open source AI research community

โš ๏ธ Limitations & Bias

Keterbatasan

  • ๐Ÿ”ด Untrained: Model belum dilatih, output random
  • ๐ŸŸก No Tokenizer: Perlu prepare tokenizer sendiri
  • ๐ŸŸก No Safety: Belum ada content filtering/alignment
  • ๐ŸŸ  Memory Intensive: Training butuh GPU besar

Potential Biases

Model ini akan mewarisi bias dari data training yang digunakan. Mohon perhatikan:

  • Bahasa: Bias terhadap bahasa mayoritas di dataset
  • Kultur: Bias terhadap perspektif kultur tertentu
  • Gender & Demografis: Potential stereotypes
  • Faktual: Bisa generate informasi tidak akurat

Rekomendasi: Lakukan evaluation & filtering sebelum deployment.


๐Ÿ“ž Support & Contact

๐Ÿ’ฌ Community

๐Ÿ“ง Contact

Untuk pertanyaan atau kolaborasi:


๐ŸŒŸ Star History

Star History Chart


๐Ÿ’ Dibuat dengan โค๏ธ untuk komunitas AI Indonesia

Terima kasih telah menggunakan Caca!

Jika project ini bermanfaat, consider untuk:

  • โญ Star repository ini
  • ๐Ÿ”— Share ke teman-teman
  • ๐Ÿ’ฌ Join discussions
  • ๐Ÿค Contribute ke project

Quote Dari caca

Daily Quote
Downloads last month
104
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

Collection including Lyon28/caca-50M-untrained

Evaluation results