Text Generation
Transformers
Safetensors
PyTorch
Indonesian
English
caca
causal-lm
transformer
untrained
gqa
rope
swiglu
rmsnorm
flash-attention
indonesian
bilingual
custom_code
Instructions to use Lyon28/caca-70M-untrained with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Lyon28/caca-70M-untrained with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Lyon28/caca-70M-untrained", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("Lyon28/caca-70M-untrained", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Lyon28/caca-70M-untrained with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Lyon28/caca-70M-untrained" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Lyon28/caca-70M-untrained", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Lyon28/caca-70M-untrained
- SGLang
How to use Lyon28/caca-70M-untrained with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Lyon28/caca-70M-untrained" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Lyon28/caca-70M-untrained", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Lyon28/caca-70M-untrained" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Lyon28/caca-70M-untrained", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Lyon28/caca-70M-untrained with Docker Model Runner:
docker model run hf.co/Lyon28/caca-70M-untrained
| license: apache-2.0 | |
| language: | |
| - id | |
| - en | |
| tags: | |
| - text-generation | |
| - pytorch | |
| - causal-lm | |
| - transformer | |
| - untrained | |
| - gqa | |
| - rope | |
| - swiglu | |
| - rmsnorm | |
| - flash-attention | |
| - indonesian | |
| - bilingual | |
| library_name: transformers | |
| pipeline_tag: text-generation | |
| widget: | |
| - text: "Jakarta adalah ibu kota" | |
| example_title: "๐ฎ๐ฉ Pelengkapan Teks (ID)" | |
| - text: | | |
| Pertanyaan: Apa itu kecerdasan buatan? | |
| Jawaban: | |
| example_title: "๐ฎ๐ฉ Tanya Jawab (ID)" | |
| - text: | | |
| Tulis cerita pendek tentang robot yang belajar mencintai. | |
| example_title: "๐ฎ๐ฉ Penulisan Kreatif (ID)" | |
| - text: "The capital of Indonesia is" | |
| example_title: "๐ฌ๐ง Text Completion (EN)" | |
| - text: | | |
| Question: What is artificial intelligence? | |
| Answer: | |
| example_title: "๐ฌ๐ง Question Answering (EN)" | |
| - text: | | |
| def fibonacci(n): | |
| """Hitung bilangan fibonacci ke-n""" | |
| example_title: "๐ป Pelengkapan Kode" | |
| - text: | | |
| # Fungsi untuk mengurutkan array | |
| def sort_array(arr): | |
| example_title: "๐ป Generasi Kode" | |
| - text: | | |
| User: Halo! Siapa kamu? | |
| Assistant: | |
| example_title: "๐ฌ Format Chat (ID)" | |
| - text: | | |
| User: Jelaskan tentang machine learning dalam 2 kalimat. | |
| Assistant: | |
| example_title: "๐ฌ Conversational (ID)" | |
| inference: | |
| parameters: | |
| max_new_tokens: 100 | |
| temperature: 0.7 | |
| top_p: 0.9 | |
| top_k: 50 | |
| do_sample: true | |
| repetition_penalty: 1.1 | |
| num_beams: 1 | |
| datasets: [] | |
| metrics: | |
| - perplexity | |
| - accuracy | |
| model-index: | |
| - name: caca-70M | |
| results: [] | |
| <div align="center"> | |
| <img src="https://i.postimg.cc/MTSj073X/logo.png" width="400" alt="caca-70M"/> | |
| # ๐ค caca-70M | |
| ### Arsitektur Transformer Modern dengan Fitur Canggih | |
| [](https://opensource.org/licenses/Apache-2.0) | |
| [](https://www.python.org/downloads/) | |
| [](https://pytorch.org/) | |
| [](https://github.com/huggingface/transformers) | |
| []() | |
| []() | |
| []() | |
| **70,022,848** parameters โข **70.02M** โข **179 layers** โข **2,048 tokens** | |
| [๐ Documentation](#-dokumentasi) โข [๐ป Usage](#-cara-penggunaan) โข [โ๏ธ Configuration](#๏ธ-konfigurasi-detail) โข [๐ฌ Architecture](#-arsitektur) | |
| </div> | |
| --- | |
| ## โ ๏ธ PENTING: Model Belum Dilatih (Untrained) | |
| <div style="background: #fff3cd; border-left: 4px solid #ffc107; padding: 12px; margin: 16px 0;"> | |
| <strong>โ ๏ธ PERHATIAN</strong>: Ini adalah model yang <strong>belum melalui proses training</strong>. Bobot model masih dalam kondisi <strong>random initialization</strong>. Output yang dihasilkan akan <strong>tidak bermakna dan acak</strong>. | |
| </div> | |
| **Status Model:** | |
| - ๐ด **Belum dilatih** - Bobot masih random (Kaiming/Xavier init) | |
| - ๐ก **Untuk riset & eksperimen** - Arsitektur sudah siap, tinggal train | |
| - ๐ข **Production-ready architecture** - Teruji dan optimal | |
| Widget di atas hanya menunjukkan **format input yang diharapkan**. Setelah model dilatih dengan dataset yang tepat, format yang sama akan menghasilkan output berkualitas tinggi. | |
| ### ๐ฏ Apa yang Bisa Dilakukan? | |
| | โ Bisa | โ Belum Bisa | | |
| |---------|----------------| | |
| | Load model architecture | Generate teks bermakna | | |
| | Test forward pass | Menjawab pertanyaan | | |
| | Measure memory & speed | Reasoning & understanding | | |
| | Start training | Production deployment | | |
| | Fine-tuning experiments | Real-world applications | | |
| --- | |
| ## ๐ 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 komputasi**, **skalabilitas**, dan **performa tinggi**. | |
| <blockquote style="border-left: 4px solid #4A90E2; padding-left: 16px; margin: 16px 0; background: #f8f9fa; padding: 12px;"> | |
| <p><strong>๐ Tentang Project Caca</strong></p> | |
| <p><em>Caca</em> adalah eksperimen open-source Indonesian LLM yang dibuat dari nol secara individual dan bertahap. Bukan kompetitor siapa-siapa, cuma pengen eksplorasi apa yang bisa dilakukan dengan budget terbatas, passion unlimited, dan mindset collaborative.</p> | |
| <p>Kalau berguna buat orang lain, alhamdulillah. Kalau enggak, ya tetap fun kok. Ini proyek eksplorasi, jadi kalau gagal ya bagian dari proses belajar. Kalau berhasil, itu bonus.</p> | |
| <p>โ <strong>Lyon</strong>, Creator</p> | |
| </blockquote> | |
| ### ๐ Mengapa Caca? | |
| 1. **๐ฎ๐ฉ Fokus pada Bahasa Indonesia** - Dirancang dengan mempertimbangkan karakteristik bahasa Indonesia | |
| 2. **โก Efisiensi Tinggi** - GQA & Flash Attention untuk inferensi 3-5x lebih cepat | |
| 3. **๐พ Memory Efficient** - Hemat 67% memory untuk KV cache | |
| 4. **๐ง Modular & Extensible** - Mudah dikustomisasi untuk berbagai use case | |
| 5. **๐ Bilingual** - Support optimal untuk Indonesia & English | |
| ### ๐ฏ Keunggulan vs Model Lain | |
| | Fitur | Caca caca-70M | LLaMA-2 70.02M | GPT-3 70.02M | | |
| |-------|------------|-----------|----------| | |
| | **Attention Type** | GQA | GQA | MHA | | |
| | **Position Encoding** | RoPE + ALiBI | RoPE | Learned | | |
| | **Activation** | SwiGLU | SwiGLU | GELU | | |
| | **Flash Attention** | โ v2 | โ v1/v2 | โ | | |
| | **Long Context** | Sliding Window + Sink | โ | Limited | | |
| | **MoE Support** | โ Optional | โ | โ | | |
| | **Multimodal** | โ Optional | โ | โ | | |
| | **Quantization** | 4/8-bit | 4/8-bit | Limited | | |
| --- | |
| ## ๐ฏ Use Cases & Applications | |
| ### โ Cocok Untuk | |
| <table> | |
| <tr> | |
| <td width="50%"> | |
| **๐ฌ Research & Development** | |
| - Eksperimen arsitektur transformer | |
| - Ablation studies | |
| - Novel training techniques | |
| - Architecture search | |
| **๐ Academic & Education** | |
| - Thesis & research papers | |
| - Teaching materials | |
| - Student projects | |
| - LLM internals understanding | |
| </td> | |
| <td width="50%"> | |
| **๐ Base Model for Fine-tuning** | |
| - Task-specific models | |
| - Domain adaptation | |
| - Instruction tuning | |
| - RLHF experiments | |
| **๐ก Prototyping** | |
| - Proof of concept | |
| - Feature testing | |
| - A/B testing architectures | |
| - Benchmark comparisons | |
| </td> | |
| </tr> | |
| </table> | |
| ### โ Tidak Cocok Untuk | |
| <div style="background: #ffe6e6; border-left: 4px solid #ff4444; padding: 12px; margin: 16px 0;"> | |
| - ๐ซ **Production Applications** - Model belum dilatih, output random | |
| - ๐ซ **Real-world Deployment** - Perlu training & safety alignment dulu | |
| - ๐ซ **Safety-critical Systems** - Tidak ada safety guardrails | |
| - ๐ซ **Direct User-facing Apps** - Output tidak dapat diprediksi | |
| - ๐ซ **Commercial Use (as-is)** - Harus dilatih terlebih dahulu | |
| </div> | |
| --- | |
| ## ๐ Spesifikasi Model | |
| <table> | |
| <tr> | |
| <td><strong>Parameter</strong></td> | |
| <td><strong>Value</strong></td> | |
| <td><strong>Parameter</strong></td> | |
| <td><strong>Value</strong></td> | |
| </tr> | |
| <tr> | |
| <td>Total Parameters</td> | |
| <td><code>70,022,848</code></td> | |
| <td>Vocab Size</td> | |
| <td><code>16,000</code></td> | |
| </tr> | |
| <tr> | |
| <td>Hidden Size</td> | |
| <td><code>192</code></td> | |
| <td>Intermediate Size</td> | |
| <td><code>448</code></td> | |
| </tr> | |
| <tr> | |
| <td>Num Layers</td> | |
| <td><code>179</code></td> | |
| <td>Attention Heads</td> | |
| <td><code>3</code></td> | |
| </tr> | |
| <tr> | |
| <td>KV Heads (GQA)</td> | |
| <td><code>1</code></td> | |
| <td>Head Dimension</td> | |
| <td><code>64</code></td> | |
| </tr> | |
| <tr> | |
| <td>Max Context Length</td> | |
| <td><code>2,048</code></td> | |
| <td>RoPE Base (ฮธ)</td> | |
| <td><code>10,000</code></td> | |
| </tr> | |
| <tr> | |
| <td>Model Size (FP16)</td> | |
| <td><code>0.14 GB</code></td> | |
| <td>Formatted Size</td> | |
| <td><code>70.02M</code></td> | |
| </tr> | |
| </table> | |
| --- | |
| ### ๐ฏ Core Features | |
| <details open> | |
| <summary><b>๐ Klik untuk expand/collapse</b></summary> | |
| - โ **Grouped Query Attention (GQA)** - Efisiensi memori dan komputasi superior | |
| - Query heads: **3** | |
| - KV heads: **1** | |
| - Ratio: **3:1** (hemat ~67% memory KV cache) | |
| - **Benefit**: Inferensi lebih cepat dengan memory footprint lebih kecil | |
| - โ **Rotary Position Embeddings (RoPE)** - Generalisasi konteks panjang lebih baik | |
| - Theta (ฮธ): **10,000** | |
| - Support extrapolation untuk konteks > training length | |
| - **Benefit**: Performa stabil pada sequence length yang belum pernah dilihat saat training | |
| - โ **RMSNorm** - Normalisasi lebih stabil dan ~50% lebih cepat dari LayerNorm | |
| - Epsilon: **1e-06** | |
| - **Benefit**: Training lebih stabil, inference lebih cepat, gradient flow lebih baik | |
| - โ **SwiGLU Activation** - Performa 10-15% lebih baik dari ReLU/GELU | |
| - Intermediate size: **448** (2.3x hidden) | |
| - **Benefit**: Kapasitas model lebih besar tanpa menambah parameter signifikan | |
| - โ **Flash Attention 2** - Akselerasi hingga 3x dengan memory efficiency | |
| - Otomatis aktif jika tersedia CUDA device | |
| - IO-aware algorithm untuk minimal HBM access | |
| - **Benefit**: Training & inference jauh lebih cepat, support batch size lebih besar | |
| </details> | |
| ### ๐ฅ Advanced Features | |
| ### ๐ฏ Mekanisme Attention | |
| - โก **Flash Attention v2** - Algoritma IO-aware yang 3x lebih cepat dari attention standar | |
| - ๐ **Grouped Query Attention (GQA)** - 3 Query heads : 1 KV heads | |
| - Rasio kompresi: **3:1** (hemat ~67% memory KV cache) | |
| - ๐ **xFormers Support** - Fallback memory-efficient attention | |
| - ๐ฏ **PyTorch SDPA** - Native scaled dot product attention | |
| ### ๐ Position Encodings | |
| - ๐ **RoPE (Rotary Position Embeddings)** - Base frequency ฮธ=10,000 | |
| - Generalisasi lebih baik untuk sequence panjang dibanding absolute PE | |
| ### ๐ Optimisasi Training | |
| - ๐พ **Gradient Checkpointing** - Trade compute for memory (support model hingga 100B+ params) | |
| - ๐ฏ **Mixed Precision Training** - Support FP16, BF16, dan TF32 | |
| - ๐ **Dropout Regularization** | |
| - Hidden dropout: 0.1 | |
| - Attention dropout: 0.0 | |
| - Residual dropout: 0.1 | |
| ### ๐ฆ Dukungan Quantization | |
| - 4๏ธโฃ **4-bit Quantization** - NF4 & FP4 via bitsandbytes | |
| - Memory reduction: ~**75%** (4GB โ 1GB) | |
| - Accuracy loss: <2% pada kebanyakan tasks | |
| - Support double quantization untuk kompresi maksimal | |
| - 8๏ธโฃ **8-bit Quantization** - LLM.int8() dengan outlier handling | |
| - Memory reduction: ~**50%** (4GB โ 2GB) | |
| - Accuracy loss: <1% | |
| - ๐ **Dynamic Quantization** - Runtime quantization tanpa calibration | |
| ### ๐ฌ Advanced Features | |
| - ๐ **Automatic Mixed Precision (AMP)** - Dynamic loss scaling | |
| - ๐ฏ **Gradient Clipping** - Stabilitas training dengan max norm clipping | |
| - ๐ **Learning Rate Scheduling** - Support cosine, linear, warmup | |
| - ๐ก **Smart Memory Management** - Auto cache clearing & monitoring | |
| - ๐ **Metrics Tracking** - Real-time perplexity, loss, gradient norms | |
| - ๐ก๏ธ **NaN/Inf Detection** - Automatic recovery dari numerical instability | |
| --- | |
| ## ๐พ Kebutuhan Memory | |
| ### Training Requirements | |
| <table> | |
| <tr> | |
| <th>Configuration</th> | |
| <th>Model Weights</th> | |
| <th>+ Optimizer States</th> | |
| <th>Total Training</th> | |
| </tr> | |
| <tr> | |
| <td><strong>FP32 (AdamW)</strong></td> | |
| <td>0.28 GB</td> | |
| <td>+0.84 GB</td> | |
| <td><strong>1.12 GB</strong></td> | |
| </tr> | |
| <tr> | |
| <td><strong>Mixed Precision</strong></td> | |
| <td>0.14 GB</td> | |
| <td>+0.98 GB</td> | |
| <td><strong>1.12 GB</strong></td> | |
| </tr> | |
| <tr> | |
| <td><strong>+ Gradient Checkpointing</strong></td> | |
| <td colspan="2">Menghemat ~30-50% activation memory</td> | |
| <td><strong>~0.67 GB</strong></td> | |
| </tr> | |
| </table> | |
| ### Inference Requirements | |
| <table> | |
| <tr> | |
| <th>Precision</th> | |
| <th>Model Size</th> | |
| <th>KV Cache (2K ctx)</th> | |
| <th>Total Memory</th> | |
| <th>Memory Saving</th> | |
| </tr> | |
| <tr> | |
| <td><strong>FP16 / BF16</strong></td> | |
| <td>0.14 GB</td> | |
| <td>0.09 GB</td> | |
| <td><strong>0.23 GB</strong></td> | |
| <td>Baseline</td> | |
| </tr> | |
| <tr> | |
| <td><strong>INT8</strong></td> | |
| <td>0.07 GB</td> | |
| <td>0.09 GB</td> | |
| <td><strong>0.16 GB</strong></td> | |
| <td>~50% โ</td> | |
| </tr> | |
| <tr> | |
| <td><strong>INT4 (NF4)</strong></td> | |
| <td>0.04 GB</td> | |
| <td>0.09 GB</td> | |
| <td><strong>0.13 GB</strong></td> | |
| <td>~75% โ</td> | |
| </tr> | |
| </table> | |
| > ๐ก **Note**: KV cache bertambah secara linear dengan panjang sequence. Untuk context 8K, kalikan nilai KV cache dengan 4. | |
| ### Performance Estimates | |
| <table> | |
| <tr> | |
| <th>Metric</th> | |
| <th>Value</th> | |
| <th>Notes</th> | |
| </tr> | |
| <tr> | |
| <td><strong>FLOPs per Token</strong></td> | |
| <td>140,045,696</td> | |
| <td>Forward pass only</td> | |
| </tr> | |
| <tr> | |
| <td><strong>TFLOPs per Token</strong></td> | |
| <td>0.0001</td> | |
| <td>โ 6ร untuk backward</td> | |
| </tr> | |
| <tr> | |
| <td><strong>Bandwidth (FP16)</strong></td> | |
| <td>0.14 GB/token</td> | |
| <td>Memory bandwidth requirement</td> | |
| </tr> | |
| </table> | |
| --- | |
| ### ๐ Struktur Arsitektur Lengkap | |
| <details> | |
| <summary><b>๐ Klik untuk lihat detail arsitektur</b></summary> | |
| ``` | |
| CacaForCausalLM (70.02M) | |
| โ | |
| โโ Embedding: 16,000 ร 192 | |
| โ | |
| โโ Transformer Layers (179x) | |
| โ โโ RMSNorm | |
| โ โโ Attention (GQA) | |
| โ โ โโ Q: 3 heads ร 64 dim | |
| โ โ โโ KV: 1 heads ร 64 dim | |
| โ โ โโ RoPE (ฮธ=10,000) | |
| โ โ โโ Flash Attention v2 | |
| โ โโ Residual | |
| โ โโ RMSNorm | |
| โ โโ FFN (SwiGLU) | |
| โ โ โโ Gate: 192 โ 448 | |
| โ โ โโ Up: 192 โ 448 | |
| โ โ โโ Down: 448 โ 192 | |
| โ โโ Residual | |
| โ | |
| โโ Final RMSNorm | |
| โโ LM Head: 192 โ 16,000 | |
| โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| ๐ PARAMETER BREAKDOWN: | |
| โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| Embeddings: 3,072,000 ( 4.4%) | |
| Transformer Layers: 63,787,008 ( 91.1%) | |
| โโ Attention: 17,596,416 | |
| โโ FFN: 46,190,592 | |
| Final Norm: 192 ( 0.0%) | |
| โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| TOTAL: 70,022,848 (100.0%) | |
| โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| ``` | |
| **Key Design Decisions:** | |
| 1. **GQA over MHA**: Hemat 67% KV cache memory dengan minimal accuracy loss | |
| 2. **SwiGLU over GELU**: ~10% better performance pada language modeling | |
| 3. **RMSNorm over LayerNorm**: Lebih cepat & stabil, tanpa bias term | |
| 4. **RoPE over Learned**: Better extrapolation untuk sequence length > training | |
| 5. **No Bias in Linear**: Mengikuti modern LLM best practices (LLaMA-style) | |
| </details> | |
| --- | |
| ## ๐ Dokumentasi | |
| ### ๐ฆ Instalasi Dependencies | |
| ```bash | |
| # Core dependencies (REQUIRED) | |
| 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 (3x speedup) | |
| pip install xformers # Memory efficient attention | |
| pip install bitsandbytes # 4/8-bit quantization | |
| # Optional: Untuk monitoring & profiling | |
| pip install tensorboard wandb # Training monitoring | |
| pip install gputil psutil # Resource monitoring | |
| ``` | |
| **Compatibility Matrix:** | |
| | Component | Version | Note | | |
| |-----------|---------|------| | |
| | Python | 3.8 - 3.11 | 3.11 recommended | | |
| | PyTorch | โฅ 2.0.0 | 2.1+ untuk SDPA optimal | | |
| | CUDA | 11.8 / 12.1 | Untuk Flash Attention | | |
| | Transformers | โฅ 4.35.0 | Untuk AutoModel support | | |
| ### Cara Penggunaan | |
| #### 1๏ธโฃ Basic Loading | |
| ```python | |
| from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer | |
| import torch | |
| # Load configuration | |
| config = AutoConfig.from_pretrained( | |
| "Lyon28/caca-70M-untrained", | |
| trust_remote_code=True | |
| ) | |
| # Load model (FP16 untuk efisiensi) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| "Lyon28/caca-70M-untrained", | |
| config=config, | |
| trust_remote_code=True, | |
| torch_dtype=torch.float16, | |
| device_map="auto" # Automatic device placement | |
| ) | |
| # Model ini UNTRAINED - butuh training dulu! | |
| print(f"Model loaded: {model.num_parameters():,} parameters") | |
| print("โ ๏ธ Model ini belum dilatih dan belum bisa digunakan untuk inference") | |
| ``` | |
| #### 2๏ธโฃ Quantized Loading (4-bit/8-bit) | |
| ```python | |
| from transformers import AutoModelForCausalLM, BitsAndBytesConfig | |
| import torch | |
| # 4-bit quantization config | |
| bnb_config = BitsAndBytesConfig( | |
| load_in_4bit=True, | |
| bnb_4bit_quant_type="nf4", | |
| bnb_4bit_compute_dtype=torch.bfloat16, | |
| bnb_4bit_use_double_quant=True | |
| ) | |
| # Load model dengan quantization | |
| model = AutoModelForCausalLM.from_pretrained( | |
| "Lyon28/caca-70M-untrained", | |
| trust_remote_code=True, | |
| quantization_config=bnb_config, | |
| device_map="auto" | |
| ) | |
| print(f"Memory footprint: ~0.04GB (4-bit)") | |
| ``` | |
| #### 3๏ธโฃ Training Setup | |
| ```python | |
| from transformers import TrainingArguments, Trainer | |
| # Training configuration | |
| training_args = TrainingArguments( | |
| output_dir="./output", | |
| per_device_train_batch_size=1, | |
| gradient_accumulation_steps=16, | |
| learning_rate=2e-4, | |
| max_steps=10000, | |
| lr_scheduler_type="cosine", | |
| warmup_steps=500, | |
| logging_steps=10, | |
| save_steps=500, | |
| fp16=True, # Mixed precision | |
| gradient_checkpointing=True, # Memory efficient | |
| ) | |
| # Initialize trainer | |
| trainer = Trainer( | |
| model=model, | |
| args=training_args, | |
| train_dataset=train_dataset, | |
| ) | |
| # Start training | |
| trainer.train() | |
| ``` | |
| ### Advanced Usage | |
| #### Gradient Checkpointing (Memory Efficient) | |
| ```python | |
| model.gradient_checkpointing_enable() | |
| print("โ Gradient checkpointing enabled - saves ~40% memory") | |
| ``` | |
| #### Custom Training Loop | |
| ```python | |
| from torch.optim import AdamW | |
| from torch.cuda.amp import autocast, GradScaler | |
| optimizer = AdamW(model.parameters(), lr=2e-4) | |
| scaler = GradScaler() | |
| for batch in dataloader: | |
| # Mixed precision forward | |
| with autocast(dtype=torch.bfloat16): | |
| outputs = model(**batch) | |
| loss = outputs.loss | |
| # Backward with gradient scaling | |
| scaler.scale(loss).backward() | |
| scaler.step(optimizer) | |
| scaler.update() | |
| optimizer.zero_grad() | |
| ``` | |
| #### Multi-GPU Training (DDP) | |
| ```python | |
| import torch.distributed as dist | |
| from torch.nn.parallel import DistributedDataParallel | |
| # Initialize process group | |
| dist.init_process_group(backend="nccl") | |
| # Wrap model | |
| model = DistributedDataParallel( | |
| model, | |
| device_ids=[local_rank], | |
| find_unused_parameters=False | |
| ) | |
| ``` | |
| --- | |
| ## โ๏ธ Konfigurasi Detail | |
| ### Full Configuration JSON | |
| ```json | |
| { | |
| "architectures": ["CacaForCausalLM"], | |
| "model_type": "caca", | |
| "vocab_size": 16000, | |
| "hidden_size": 192, | |
| "intermediate_size": 448, | |
| "num_hidden_layers": 179, | |
| "num_attention_heads": 3, | |
| "num_key_value_heads": 1, | |
| "head_dim": 64, | |
| "max_position_embeddings": 2048, | |
| "rope_theta": 10000, | |
| "rms_norm_eps": 1e-06, | |
| "use_cache": true, | |
| "use_qk_norm": true, | |
| "use_flash_attn": true, | |
| "attention_dropout": 0.0, | |
| "hidden_dropout": 0.1, | |
| "torch_dtype": "float16" | |
| } | |
| ``` | |
| ### Custom Configuration | |
| ```python | |
| from transformers import AutoConfig | |
| # Load dan modifikasi config | |
| config = AutoConfig.from_pretrained("Lyon28/caca-70M-untrained") | |
| # Custom modifications | |
| config.max_position_embeddings = 16384 # Extend context | |
| config.rope_scaling = {"type": "linear", "factor": 2.0} | |
| config.use_flash_attn = True | |
| config.hidden_dropout = 0.05 | |
| # Save custom config | |
| config.save_pretrained("./custom_config") | |
| ``` | |
| --- | |
| ## ๐ฌ Arsitektur | |
| ### Layer Structure | |
| ``` | |
| Input Tokens | |
| โ | |
| Embedding Layer (16,000 โ 192) | |
| โ | |
| โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| โ Decoder Block ร 179 โ | |
| โ โ | |
| โ โโ RMSNorm โ | |
| โ โโ Multi-Head Attention (GQA) โ | |
| โ โ - Flash Attention v2 โ | |
| โ โ - 3 Query heads, 1 KV heads โ | |
| โ โ - RoPE position encoding โ | |
| โ โโ Residual Connection โ | |
| โ โ โ | |
| โ โโ RMSNorm โ | |
| โ โโ Feed-Forward Network (SwiGLU) โ | |
| โ โ - Gate: 192 โ 448 โ | |
| โ โ - Up: 192 โ 448 โ | |
| โ โ - Down: 448 โ 192 โ | |
| โ โโ Residual Connection โ | |
| โ โ | |
| โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ | |
| โ | |
| RMSNorm (Final) | |
| โ | |
| LM Head (192 โ 16,000) | |
| โ | |
| Output Logits | |
| ``` | |
| ### Attention Mechanism (GQA) | |
| ``` | |
| Query: [3 heads ร 64 dim] = 192 | |
| Key: [1 heads ร 64 dim] = 64 | |
| Value: [1 heads ร 64 dim] = 64 | |
| Grouped Query Attention: | |
| - Setiap 3 query heads berbagi 1 KV head | |
| - Memory KV cache: 67% lebih kecil dari Multi-Head Attention | |
| - Kualitas mendekati MHA, speed mendekati MQA | |
| ``` | |
| ### Feed-Forward Network (SwiGLU) | |
| ``` | |
| FFN(x) = (SiLU(xW_gate) โ xW_up) W_down | |
| Where: | |
| - W_gate: 192 ร 448 | |
| - W_up: 192 ร 448 | |
| - W_down: 448 ร 192 | |
| - SiLU(x) = x ยท sigmoid(x) | |
| - โ = element-wise multiplication | |
| ``` | |
| ## ๐ฌ Format Chat & Prompt Engineering | |
| ### ๐ Chat Template | |
| Model mendukung format chat standar untuk conversational AI: | |
| ```python | |
| # Format chat template bawaan | |
| chat_template = """ | |
| {% for message in messages %} | |
| {% if message['role'] == 'system' %} | |
| System: {{ message['content'] }} | |
| {% elif message['role'] == 'user' %} | |
| User: {{ message['content'] }} | |
| {% elif message['role'] == 'assistant' %} | |
| Assistant: {{ message['content'] }} | |
| {% endif %} | |
| {% endfor %} | |
| {% if add_generation_prompt %}Assistant:{% endif %} | |
| """ | |
| # Contoh penggunaan | |
| messages = [ | |
| {"role": "system", "content": "Kamu adalah asisten AI yang membantu dan ramah."}, | |
| {"role": "user", "content": "Jelaskan tentang fotosintesis"}, | |
| {"role": "assistant", "content": "Fotosintesis adalah proses di mana tumbuhan mengubah cahaya matahari menjadi energi kimia..."}, | |
| {"role": "user", "content": "Apa manfaatnya bagi manusia?"}, | |
| ] | |
| # Apply template | |
| formatted = tokenizer.apply_chat_template( | |
| messages, | |
| tokenize=False, | |
| add_generation_prompt=True | |
| ) | |
| print(formatted) | |
| # Output: | |
| # System: Kamu adalah asisten AI yang membantu dan ramah. | |
| # | |
| # User: Jelaskan tentang fotosintesis | |
| # Assistant: Fotosintesis adalah proses di mana tumbuhan... | |
| # User: Apa manfaatnya bagi manusia? | |
| # Assistant: | |
| ``` | |
| --- | |
| ## ๐ฏ Use Cases | |
| Model ini dirancang untuk berbagai aplikasi NLP setelah melalui proses training: | |
| ### Text Generation | |
| - โ๏ธ Creative writing & storytelling | |
| - ๐ฐ Article generation | |
| - ๐ฌ Conversational AI | |
| - ๐ Text completion | |
| ### Language Understanding | |
| - ๐ Text classification | |
| - ๐ท๏ธ Named Entity Recognition (NER) | |
| - โ Question Answering | |
| - ๐ Summarization | |
| ### Code Generation | |
| - ๐ป Code completion | |
| - ๐ Bug fixing suggestions | |
| - ๐ Documentation generation | |
| - ๐ Code translation | |
| ### Multilingual Tasks | |
| - ๐ Translation (ID โ EN) | |
| - ๐ฃ๏ธ Cross-lingual understanding | |
| - ๐ Multilingual classification | |
| --- | |
| ## ๐ Benchmark & Evaluation | |
| > โ ๏ธ Model belum melalui evaluasi karena status untrained | |
| Setelah training, model akan dievaluasi pada: | |
| ### Indonesian Benchmarks | |
| - **IndoNLU**: Comprehensive Indonesian NLU tasks | |
| - **IndoQA**: Indonesian Question Answering | |
| - **IndoSum**: Summarization | |
| - **IndoNER**: Named Entity Recognition | |
| ### Multilingual Benchmarks | |
| - **MMLU**: Massive Multitask Language Understanding | |
| - **HellaSwag**: Common sense reasoning | |
| - **ARC**: Science QA | |
| - **TruthfulQA**: Truthfulness evaluation | |
| ### Generation Quality | |
| - **Perplexity**: Language modeling quality | |
| - **BLEU/ROUGE**: Translation & summarization | |
| - **Human Evaluation**: Fluency, coherence, factuality | |
| --- | |
| ## ๐ ๏ธ Development & Training Tips | |
| ### Optimal Batch Size | |
| ```python | |
| # Rule of thumb untuk 70.02M model | |
| # GPU Memory โ Batch size per device | |
| if gpu_memory >= 80: # A100 80GB | |
| batch_size = 228 | |
| gradient_accumulation = 1 | |
| elif gpu_memory >= 40: # A100 40GB | |
| batch_size = 114 | |
| gradient_accumulation = 1 | |
| elif gpu_memory >= 24: # RTX 3090/4090 | |
| batch_size = 1 | |
| gradient_accumulation = 1 | |
| # Effective batch size = batch_size ร gradient_accumulation ร num_gpus | |
| ``` | |
| ### Learning Rate Scheduling | |
| ```python | |
| # Recommended untuk 70.02M model | |
| learning_rate = 0.0005 # Base LR | |
| warmup_ratio = 0.05 # 5% of total steps | |
| lr_scheduler = "cosine" # atau "linear" | |
| # Learning rate scaling rule: | |
| # LR โ sqrt(batch_size) | |
| # Untuk batch size 256: LR = 0.0005 | |
| # Untuk batch size 512: LR = 7.07e-04 | |
| ``` | |
| ### Gradient Clipping | |
| ```python | |
| # Prevent gradient explosion | |
| max_grad_norm = 1.0 # Clip at 1.0 | |
| # Monitor gradients | |
| from torch.nn.utils import clip_grad_norm_ | |
| grad_norm = clip_grad_norm_(model.parameters(), max_grad_norm) | |
| if grad_norm > 10.0: | |
| print(f"โ ๏ธ High gradient norm: {grad_norm:.2f}") | |
| ``` | |
| ### Training Stability | |
| ```python | |
| # Tips untuk stable training: | |
| 1. **Warmup**: Mulai dengan LR rendah | |
| 2. **Gradient Checkpointing**: Kurangi memory footprint | |
| 3. **Mixed Precision**: Gunakan BF16 jika tersedia (lebih stable dari FP16) | |
| 4. **Batch Size**: Start small, increase gradually | |
| 5. **Monitor**: Track loss, perplexity, gradient norms | |
| ``` | |
| --- | |
| ## ๐ง Troubleshooting | |
| ### Out of Memory (OOM) | |
| ```python | |
| # Solusi OOM saat training: | |
| โ 1. Enable gradient checkpointing | |
| model.gradient_checkpointing_enable() | |
| โ 2. Reduce batch size | |
| per_device_train_batch_size = 1 | |
| โ 3. Increase gradient accumulation | |
| gradient_accumulation_steps = 32 | |
| โ 4. Use quantization | |
| load_in_8bit = True # atau load_in_4bit | |
| โ 5. Reduce sequence length | |
| max_length = 2048 # Start dengan ini | |
| โ 6. CPU offloading (jika perlu) | |
| device_map = "auto" | |
| offload_folder = "offload" | |
| ``` | |
| ### Slow Training | |
| ```python | |
| # Optimasi kecepatan training: | |
| โ 1. Flash Attention | |
| config.use_flash_attn = True # 2-3x speedup | |
| โ 2. Compile model (PyTorch 2.0+) | |
| model = torch.compile(model, mode="reduce-overhead") | |
| โ 3. DataLoader optimization | |
| dataloader = DataLoader( | |
| dataset, | |
| batch_size=batch_size, | |
| num_workers=4, # Parallel data loading | |
| pin_memory=True, # Faster GPU transfer | |
| prefetch_factor=2 | |
| ) | |
| โ 4. Mixed precision | |
| use_fp16 = True # atau bf16 | |
| โ 5. Optimize communication (multi-GPU) | |
| find_unused_parameters = False | |
| gradient_as_bucket_view = True | |
| ``` | |
| ### NaN Loss | |
| ```python | |
| # Jika loss menjadi NaN: | |
| โ 1. Reduce learning rate | |
| learning_rate = learning_rate * 0.1 | |
| โ 2. Check gradient norms | |
| clip_grad_norm_(model.parameters(), 1.0) | |
| โ 3. Use BF16 instead of FP16 | |
| torch_dtype = torch.bfloat16 # Lebih stable | |
| โ 4. Add epsilon to RMSNorm | |
| rms_norm_eps = 1e-5 # Increase jika perlu | |
| โ 5. Check data | |
| # Pastikan tidak ada inf/nan di dataset | |
| assert not torch.isnan(input_ids).any() | |
| assert not torch.isinf(attention_mask).any() | |
| ``` | |
| --- | |
| ### ๐ซ Prohibited Uses | |
| <div style="background: #ffebee; border-left: 4px solid #f44336; padding: 12px; margin: 16px 0;"> | |
| Model ini **TIDAK BOLEH** digunakan untuk: | |
| - ๐ซ **Harmful content generation** (violence, self-harm, illegal acts) | |
| - ๐ซ **Misinformation/disinformation campaigns** | |
| - ๐ซ **Harassment or hate speech** | |
| - ๐ซ **Impersonation or identity theft** | |
| - ๐ซ **Child safety violations** (CSAM, grooming, exploitation) | |
| - ๐ซ **Privacy violations** (doxxing, stalking, surveillance abuse) | |
| - ๐ซ **Malicious code generation** (malware, exploits, etc) | |
| - ๐ซ **Spam or manipulation** (fake reviews, astroturfing) | |
| - ๐ซ **Medical/legal advice** (tanpa disclaimer & expert review) | |
| - ๐ซ **Financial fraud** (scams, market manipulation) | |
| **Violation consequences:** Model access revocation + legal action jika applicable | |
| </div> | |
| --- | |
| ## ๐ License & Citation | |
| ### ๐ License | |
| <div style="background: #e8f5e9; border-left: 4px solid #4caf50; padding: 12px; margin: 16px 0;"> | |
| Model ini dirilis di bawah **Apache License 2.0** | |
| โ **Anda BEBAS untuk:** | |
| - โ๏ธ Gunakan secara komersial | |
| - โ๏ธ Modifikasi sesuka hati | |
| - โ๏ธ Distribusi ulang | |
| - โ๏ธ Patent use | |
| - โ๏ธ Private use | |
| โ ๏ธ **Dengan syarat:** | |
| - ๐ Include license & copyright notice | |
| - ๐ State changes yang dibuat | |
| - ๐ Disclaimer of warranty | |
| โ **Tanpa jaminan apapun** (use at your own risk) | |
| </div> | |
| **Full license text**: [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) | |
| ## ๐ Citation | |
| Jika Anda menggunakan model ini dalam penelitian, mohon sitasi: | |
| ```bibtex | |
| @misc{cacacaca70m, | |
| author = {Lyon}, | |
| title = {Caca-caca-70M: Modern Transformer Architecture with Grouped Query Attention}, | |
| year = {2026}, | |
| publisher = {Hugging Face}, | |
| journal = {Hugging Face Model Hub}, | |
| howpublished = {\url{https://huggingface.co/Lyon28/caca-70M-untrained}}, | |
| note = {Untrained model with 70,022,848 parameters} | |
| } | |
| ``` | |
| **APA Style:** | |
| ``` | |
| Lyon. (2026). Caca-caca-70M: Modern Transformer Architecture with Grouped | |
| Query Attention [Untrained model]. Hugging Face. | |
| https://huggingface.co/Lyon28/caca-70M-untrained | |
| ``` | |
| **MLA Style:** | |
| ``` | |
| Lyon. "Caca-caca-70M: Modern Transformer Architecture with Grouped Query Attention." | |
| Hugging Face, 2026, huggingface.co/Lyon28/caca-70M-untrained. | |
| ``` | |
| --- | |
| ### ๐ Acknowledgments | |
| Model ini berdiri di pundak para raksasa! Terima kasih kepada: | |
| <details> | |
| <summary><b>๐๏ธ Klik untuk daftar lengkap acknowledgments</b></summary> | |
| #### ๐๏ธ **Core Architecture** | |
| - **LLaMA/LLaMA 2** (Meta AI, 2023) - Decoder-only architecture, RMSNorm, SwiGLU | |
| - Paper: [LLaMA: Open and Efficient Foundation Language Models](https://arxiv.org/abs/2302.13971) | |
| - Authors: Hugo Touvron et al. | |
| - **GPT-3** (OpenAI, 2020) - Transformer language modeling paradigm | |
| - **PaLM** (Google, 2022) - SwiGLU activation insights | |
| #### ๐ฏ **Attention Mechanisms** | |
| - **Flash Attention v2** (Tri Dao et al., Stanford, 2023) | |
| - Paper: [FlashAttention-2: Faster Attention with Better Parallelism](https://arxiv.org/abs/2307.08691) | |
| - 3x speedup dengan IO-aware algorithm | |
| - **Grouped Query Attention** (Joshua Ainslie et al., Google, 2023) | |
| - Paper: [GQA: Training Generalized Multi-Query Transformer](https://arxiv.org/abs/2305.13245) | |
| - Memory-efficient KV cache | |
| - **Multi-Query Attention** (Noam Shazeer, Google, 2019) | |
| - Fast inference dengan shared K/V | |
| - **xFormers** (Meta AI, 2022) - Memory efficient attention | |
| - **PyTorch SDPA** (PyTorch Team, 2023) - Native attention optimization | |
| #### ๐ **Position Encodings** | |
| - **RoPE** (Jianlin Su et al., EleutherAI, 2021) | |
| - Paper: [RoFormer: Enhanced Transformer with Rotary Position Embedding](https://arxiv.org/abs/2104.09864) | |
| - Superior length extrapolation | |
| - **ALiBI** (Ofir Press et al., 2022) | |
| - Paper: [Train Short, Test Long: Attention with Linear Biases](https://arxiv.org/abs/2108.12409) | |
| - Length generalization without retraining | |
| - **YaRN** (Bowen Peng et al., 2023) | |
| - Paper: [YaRN: Efficient Context Window Extension](https://arxiv.org/abs/2309.00071) | |
| #### ๐ช **Long Context & Efficiency** | |
| - **Sliding Window Attention** (Albert Gu et al., Mistral AI, 2023) | |
| - Paper: [Mistral 7B](https://arxiv.org/abs/2310.06825) | |
| - **StreamingLLM** (Guangxuan Xiao et al., MIT, 2023) | |
| - Paper: [Efficient Streaming Language Models with Attention Sinks](https://arxiv.org/abs/2309.17453) | |
| - Infinite sequence length! | |
| - **Logit Softcapping** (Google Gemma Team, 2024) | |
| - Paper: [Gemma: Open Models Based on Gemini](https://arxiv.org/abs/2403.08295) | |
| #### ๐ง **Mixture of Experts** | |
| - **Mixtral 8x7B** (Albert Jiang et al., Mistral AI, 2024) | |
| - Paper: [Mixtral of Experts](https://arxiv.org/abs/2401.04088) | |
| - State-of-the-art sparse MoE | |
| - **Switch Transformers** (William Fedus et al., Google, 2021) | |
| - Paper: [Switch Transformers: Scaling to Trillion Parameter Models](https://arxiv.org/abs/2101.03961) | |
| - Expert scaling insights | |
| - **GLaM** (Nan Du et al., Google, 2021) - Generalist Language Model | |
| - **Expert Choice Routing** (Yanqi Zhou et al., Google, 2022) | |
| - Better load balancing | |
| #### ๐ **Training Optimizations** | |
| - **Layer Scale** (Hugo Touvron et al., Meta, 2021) | |
| - Paper: [Going Deeper with Image Transformers](https://arxiv.org/abs/2103.17239) | |
| - Training stability untuk deep networks | |
| - **Stochastic Depth** (Gao Huang et al., 2016) | |
| - Paper: [Deep Networks with Stochastic Depth](https://arxiv.org/abs/1603.09382) | |
| - **Mixture of Depths** (David Raposo et al., DeepMind, 2024) | |
| - Paper: [Mixture-of-Depths: Dynamically allocating compute](https://arxiv.org/abs/2404.02258) | |
| - Dynamic compute allocation | |
| - **Gradient Checkpointing** (Tianqi Chen et al., 2016) | |
| #### ๐ฆ **Quantization** | |
| - **LLM.int8()** (Tim Dettmers et al., 2022) | |
| - Paper: [LLM.int8(): 8-bit Matrix Multiplication for Transformers](https://arxiv.org/abs/2208.07339) | |
| - **QLoRA** (Tim Dettmers et al., 2023) | |
| - Paper: [QLoRA: Efficient Finetuning of Quantized LLMs](https://arxiv.org/abs/2305.14314) | |
| - 4-bit efficient fine-tuning | |
| - **bitsandbytes** (Tim Dettmers) - Quantization library | |
| #### ๐จ **Multimodal** | |
| - **Vision Transformer** (Alexey Dosovitskiy et al., Google, 2020) | |
| - Paper: [An Image is Worth 16x16 Words](https://arxiv.org/abs/2010.11929) | |
| - **Flamingo** (Jean-Baptiste Alayrac et al., DeepMind, 2022) | |
| - Paper: [Flamingo: a Visual Language Model](https://arxiv.org/abs/2204.14198) | |
| - Perceiver Resampler | |
| - **BLIP-2** (Junnan Li et al., Salesforce, 2023) | |
| - Paper: [BLIP-2: Bootstrapping Language-Image Pre-training](https://arxiv.org/abs/2301.12597) | |
| - Q-Former architecture | |
| - **Whisper** (Alec Radford et al., OpenAI, 2022) - Audio encoding | |
| #### ๐ ๏ธ **Normalization & Activations** | |
| - **RMSNorm** (Biao Zhang, Rico Sennrich, 2019) | |
| - Paper: [Root Mean Square Layer Normalization](https://arxiv.org/abs/1910.07467) | |
| - **SwiGLU** (Noam Shazeer, Google, 2020) | |
| - Paper: [GLU Variants Improve Transformer](https://arxiv.org/abs/2002.05202) | |
| #### ๐ง **Tools & Frameworks** | |
| - **๐ค Hugging Face** - Transformers, Accelerate, PEFT | |
| - Making NLP accessible to everyone | |
| - **PyTorch** - Deep learning framework | |
| - Facebook AI Research team | |
| - **Safetensors** - Secure serialization | |
| - Hugging Face team | |
| - **DeepSpeed** - Distributed training | |
| - Microsoft Research | |
| - **Flash Attention Implementation** - Tri Dao & team | |
| #### ๐ฎ๐ฉ **Indonesian NLP Community** | |
| Special thanks to Indonesian NLP researchers & practitioners yang telah membangun foundation untuk Indonesian language AI. | |
| </details> | |
| --- | |
| ## ๐ License | |
| Model ini dirilis di bawah **Apache License 2.0**. | |
| ### Ketentuan Penggunaan: | |
| - โ **Bebas digunakan** untuk keperluan komersial dan non-komersial | |
| - โ **Modifikasi** diperbolehkan | |
| - โ **Distribusi** diperbolehkan dengan attribution | |
| - โ ๏ธ **No Warranty** - model disediakan "as is" | |
| - ๐ **Attribution Required** - sertakan copyright notice | |
| Lihat [LICENSE](LICENSE) untuk detail lengkap. | |
| --- | |
| ## ๐ค Contributing | |
| Kami sangat terbuka untuk kontribusi! Berikut cara Anda bisa berkontribusi: | |
| ### Training & Fine-tuning | |
| - ๐ Train model ini dengan dataset Anda | |
| - ๐ Share benchmark results | |
| - ๐ฌ Experiment dengan hyperparameters | |
| ### Code & Architecture | |
| - ๐ Report bugs atau issues | |
| - ๐ก Suggest improvements | |
| - ๐ง Submit pull requests | |
| ### Documentation | |
| - ๐ Improve documentation | |
| - ๐ Add translations | |
| - โ๏ธ Write tutorials & guides | |
| ### Dataset & Evaluation | |
| - ๐ Contribute training data | |
| - ๐งช Create evaluation benchmarks | |
| - ๐ฏ Share fine-tuned versions | |
| --- | |
| ## ๐ฅ Team & Acknowledgments | |
| ### Core Team | |
| - **LyonPoy** - Architecture design & implementation | |
| ### Special Thanks | |
| - ๐ค **Hugging Face** - Infrastructure & community | |
| - โก **FlashAttention Team** - Efficient attention implementation | |
| - ๐ง **Anthropic, Google, Meta** - Research inspirations | |
| ### Community | |
| Terima kasih kepada komunitas open-source yang telah berkontribusi pada: | |
| - Transformers library | |
| - PyTorch framework | |
| - Datasets & evaluation tools | |
| --- | |
| ## ๐ Contact & Support | |
| ### Community | |
| - ๐ฌ [Discussions](https://huggingface.co/Lyon28/caca-70M-untrained/discussions) - Ask questions | |
| - ๐ [Issues](https://github.com/lyon28/caca-transformers/issues) - Report bugs | |
| - ๐ง Email : cacatransformers@gmail.com | |
| --- | |
| ## ๐ Star History | |
| <div align="center"> | |
| [](https://star-history.com/#Lyon-28/caca-transformers&Date) | |
| </div> | |
| ## ๐ Dibuat dengan โค๏ธ untuk Komunitas AI Indonesia | |
| <img src="https://i.postimg.cc/MTSj073X/logo.png" width="200" alt="Caca Logo"/> | |
| ### **Terima kasih telah menggunakan Caca!** | |
| Jika model ini berguna, jangan lupa โญ repository kami! | |
| <div align="center"> | |
| <table> | |
| <tr> | |
| <td align="center">โญ<br/><b>Star Repo</b><br/><sub>Show your support</sub></td> | |
| <td align="center">๐<br/><b>Share</b><br/><sub>Tell your friends</sub></td> | |
| <td align="center">๐ฌ<br/><b>Join Discussion</b><br/><sub>Ask questions</sub></td> | |
| <td align="center">๐ค<br/><b>Contribute</b><br/><sub>Make it better</sub></td> | |
| </tr> | |
| </table> | |
| ### ๐ Happy Training! ๐ | |
| **Model ini menunggu untuk dilatih dan menjadi foundation untuk aplikasi AI Anda.** | |
| [๐ฅ Download Model](#) โข [๐ Read Docs](https://caca-transformers.ai) โข [๐ฌ Join Community](https://discord.gg/cacatransformers) | |
| </div> | |
| --- | |
| ### ๐ Model Statistics | |
| <img src="https://img.shields.io/badge/Parameters-70.02M-blue?style=for-the-badge" alt="Parameters"/> | |
| <img src="https://img.shields.io/badge/Status-Untrained-orange?style=for-the-badge" alt="Status"/> | |
| <img src="https://img.shields.io/badge/License-Apache%202.0-green?style=for-the-badge" alt="License"/> | |
| <img src="https://img.shields.io/badge/Architecture-Transformer-purple?style=for-the-badge" alt="Architecture"/> | |
| <img src="https://img.shields.io/badge/Type-Causal%20LM-red?style=for-the-badge" alt="Type"/> | |
| <img src="https://img.shields.io/badge/Context-2,048%20tokens-cyan?style=for-the-badge" alt="Context"/> | |
| --- | |
| ### ๐จ Daily Inspiration | |
| <div align="center"> | |
| <img src="https://quotes-caca.vercel.app/api/SsQuote" alt="Daily Quote" width="600" /> | |
| </div> | |
| --- | |
| ### ๐ Quick Stats | |
| | Metric | Value | | |
| |--------|-------| | |
| | ๐ Total Parameters | 70,022,848 | | |
| | ๐๏ธ Layers | 179 | | |
| | ๐ฏ Attention Heads | 3 | | |
| | ๐ Max Context | 2,048 tokens | | |
| | ๐พ Size (FP16) | 0.14 GB | | |
| | ๐พ Size (INT4) | 0.04 GB | | |
| --- | |
| <sub> | |
| Model ini adalah bagian dari <b>Caca Project</b> - Open source initiative untuk membangun Indonesian LLM ecosystem.<br/> | |
| Created with ๐ป by <a href="https://huggingface.co/Lyon28">@Lyon28</a> | | |
| Licensed under <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a> | | |
| Built with <a href="https://huggingface.co">๐ค HuggingFace</a> | |
| </sub> | |
| <br/><br/> | |
| **๐ "Dari nol, untuk semua" ๐** | |
| <sub>Last updated: january 2026</sub> | |
| </div> | |
| --- | |
| <div align="center"> | |
| <sub>Built with โค๏ธ by Caca Transformers Team</sub><br> | |
| <sub>Powered by ๐ค Transformers โข โก PyTorch โข ๐ฅ Flash Attention</sub> | |
| </div> | |