Skip to content

sangkan-dev/wiji-experimental

Repository files navigation

WIJI — Weight-Implicit Just-in-time Inference

ꦮꦶꦗꦶ — biji, benih, asal mula

An open research project that asked a hard question and got an honest answer.

Phase 0 W3 W3-07 License


TL;DR

WIJI adalah eksperimen riset terbuka yang mempertanyakan asumsi fundamental di deep learning: apakah weight neural network harus disimpan sebagai matriks angka statis?

Jawaban sejauh ini terbagi dua:

Phase 0 - post-training pretrained weight reconstruction:
  negative result

W3 - WIJI-native structured training from scratch:
  robust positive small-scale results

Phase 0 menunjukkan bahwa weight TinyLlama pretrained tidak bisa diganti secara multi-layer oleh coordinate generator kecil tanpa collapse. Setelah pivot ke WIJI-native training, W3 menemukan jalur yang jauh lebih sehat: shared basis, generated coefficients, hybrid basis, dan layer-group basis.

Hasil terkuat saat ini adalah W3-07: pada TinyShakespeare L8 6000-step, W3-05 full1/r32 mencapai best mean val loss 1.5170 across 3 seeds dengan 1,076,401 params, sedangkan normal Transformer L8 best mean 1.5505 dengan 1,616,449 params. Ini belum membuktikan full JIT/weight-implicit WIJI, tetapi menunjukkan bahwa WIJI-native structured training bisa mengalahkan baseline normal pada setup kecil yang terkontrol.

Pertanyaan Penelitian

Bisakah weight LLM yang sudah dilatih (TinyLlama 1.1B) di-rekonstruksi dari generator coordinate-based yang jauh lebih kecil, sehingga model bisa berjalan dengan footprint memori minimal?

Hipotesis awal: Weight punya redundansi yang bisa di-exploit oleh generator dengan parameter signifikan lebih sedikit.

Hasil: Hipotesis terbukti benar untuk single layer, tapi gagal untuk multi-layer karena floor of irreducible noise di weight yang dihasilkan SGD training.

Hasil Eksperimen — The Full Story

# Eksperimen Arsitektur Compression Output Quality
1 Single matrix swap Coordinate MLP 25x ✅ Functional
2 Multi-layer single gen Coordinate MLP + layer emb 545x ❌ Gibberish
A Full attention layer 0 Coordinate MLP + comp emb 56x ✅ Functional
B2 Per-layer generator 22 × Coordinate MLP 25x ❌ Gibberish
B3 Adaptive capacity 22 × Coordinate MLP (varied) 15x ❌ Worse
B4 Cliff edge test (uses B3 generators) varies 🔍 Cliff at N=2
C1 Fourier Features Fourier encoding + MLP 42x ❌ Same plateau
D1 FFN target Fourier + dynamic 116x ❌ Same plateau
E1 SIREN Sinusoidal activation 28x ❌ Same plateau
F1 Mixture of Generators 16-expert sharding 31x ❌ Same plateau

The Smoking Gun:

Final MSE Layer 21 across 5 different architectures:
  Baseline (B2) :  0.000373
  Adaptive (B3) :  0.000366
  Fourier  (C1) :  0.000356
  SIREN    (E1) :  0.000371
  MoG      (F1) :  0.000377

5 arsitektur yang fundamentally berbeda — coordinate MLP, Fourier features (NeRF-style), SIREN (sinusoidal), Mixture of Generators (sharding) — semuanya mentok di MSE plateau yang hampir identik.

Ini bukti yang sangat kuat bahwa batas yang kami temui bukan batas arsitektur generator, tapi batas fundamental dari weight yang dihasilkan SGD training.

Insight Utama

1. MSE plateau adalah floor, bukan ceiling

Weight neural network setelah training bukan smooth function dari koordinat. Itu stochastic outcome dari proses optimisasi — dependent pada random init, batch order, dan ribuan microevents selama training.

Tidak ada generator coordinate-based yang bisa "compute" nilai weight dari koordinat saja, karena nilai itu bukan fungsi dari koordinat. Itu artifact dari sejarah training.

Ini insight yang signifikan. Banyak research di implicit neural representation berasumsi bahwa learned weight punya struktur yang bisa di-fit oleh fungsi smooth. Eksperimen kami mempertanyakan asumsi itu secara empiris.

2. Cliff edge phenomenon

Model collapse tidak gradual seiring jumlah layer di-swap. Ada phase transition tajam antara N=1 dan N=3.

Yang menarik: N=22 (semua layer di-swap) menghasilkan output meski gibberish, sementara N=5-16 menghasilkan empty string. Internal consistency lebih penting dari absolute correctness dalam multi-component systems.

3. MSE Loss bukan reliable predictor untuk LLM quality

Diagnostik A: MSE 6x lebih tinggi dari Eksperimen 1, output tetap berkualitas tinggi. Eksperimen 2: MSE hanya 3x lebih tinggi, output collapse total.

Implikasi: Research di area implicit weight representation perlu metric yang lebih baik dari MSE — output KL-divergence, perplexity comparison, atau task-specific accuracy.

Status Project

🔴 Phase 0 — CLOSED with negative results

Setelah 9 eksperimen sistematik, kami tidak bisa demonstrate bahwa weight LLM yang sudah dilatih bisa di-compress lebih dari N=1 layer dengan coordinate-based generator. Ini bukan kegagalan komunikasi atau eksekusi — ini fundamental limit yang teridentifikasi melalui eksperimen yang hati-hati.

Update: W3 WIJI-Native Structured Training

Setelah Phase 0, arah riset dipivot dari post-training reconstruction ke WIJI-native structured training: constraint dimasukkan sejak training awal, bukan memaksa model pretrained dikompres setelah jadi.

Hasil W3 saat ini:

  • W3-01 shared-basis FFN: robust efficiency result. Model L4 basis1 mencapai mean val loss 1.6221 dengan 429,769 params, mengalahkan G1 normal L2 1.6303 pada budget parameter hampir sama dan low-rank L4 r25 1.6770.
  • W3-02A generated coefficients: robust generative-structure result. Tiny coefficient generator 608 params mencapai mean val loss 1.6008, sangat dekat dengan normal L4 1.5921.
  • W3-02C hybrid basis bank: robust basis-bank tradeoff result. Hybrid full+factorized basis menjadi default Phase 3 dan tetap sehat sampai L6.
  • W3-03 depth scaling L6: positive checkpoint. W3-02C L6 full1/r64 mencapai mean val loss 1.5977 across 3 seeds dengan 810,409 params, mengalahkan W3 basis1 L6 1.6168 dan lebih kecil dari normal L6 1,220,673 params.
  • W3-05 layer-group basis L8: robust Phase 4A result. Layer-group hybrid basis mencapai mean final val loss 1.5683 across 3 seeds dengan 1,322,161 params, memperbaiki W3-02C global L8 1.5853 dan basis1 L8, sambil tetap lebih kecil dari normal L8 1,616,449 params. Varian hemat full2/r32 mencapai 1.5857 dengan 1,256,625 params, jadi full1/r64 tetap bukan default. Varian full1/r32 mencapai mean val loss 1.5593 across 3 seeds dengan 1,076,401 params dan menjadi default W3-05 L8 saat ini.

Ini belum membuktikan full weight-implicit/JIT WIJI, karena basis bank masih disimpan dan normal Transformer masih menjadi quality ceiling pada L6/L8. Tapi ini menunjukkan bahwa WIJI-native structured training jauh lebih sehat daripada scalar coordinate generation, dan bahwa basis sharing perlu menjadi depth-aware saat model makin dalam.

W3-06A mulai menguji block/tile-like variation basis. Run pertama block32x64/rank16 trainable tetapi weak sebagai tradeoff: 1.5885 dengan 1,420,465 params. Follow-up rank4 jauh lebih sehat: 1.5650 dengan 978,097 params pada seed awal, tetapi seed sweep menghasilkan final mean 1.5749; ini mixed efficient result, bukan default baru. W3-06B shared block bank bank8 mencapai 1.5748 dengan 1,030,321 params pada seed awal, masih mixed dan belum menggantikan W3-05 full1/r32. Ablation bank16 memburuk ke 1.5941 dengan 1,230,001 params, jadi kapasitas bank bukan bottleneck sederhana.

W3-07 berikutnya adalah long-training stability test, bukan arsitektur baru: bandingkan W3-05 full1/r32 L8 dan G1 normal L8 pada 6000 step dengan evaluasi lebih stabil.

Hasil W3-07 kuat di tiga seed: W3-05 full1/r32 L8 mencapai final mean 1.5196 dan best mean 1.5170 pada 6000 step dengan 1,076,401 params, sedangkan G1 normal L8 best mean 1.5505 lalu overfit ke final mean 1.6534 dengan 1,616,449 params.

W3-08 mulai mengecek generalisasi ke token-level WikiText-2 BPE8k. W3-05 full1/r32 tetap train stabil dan hemat 540,048 parameter, tetapi pada long-run 6000 step G1 normal L8 tetap unggul kualitas (4.7454 vs 4.8104 val loss). Ini sinyal generalisasi yang mixed: W3-05 tetap kompetitif dan efisien, tetapi belum menang di token-level WikiText-2. Follow-up W3-09 menunjukkan token-level W3-05 sensitif terhadap kapasitas: menaikkan basis rank dari 32 ke 64 membaik ke 4.7863, tetapi rank96 memburuk ke 4.8003 dan G1 masih unggul. W3-10 kemudian menunjukkan bahwa basis yang lebih depth-aware (GROUP_SIZE=2, 4 groups) hampir menyamai G1 (4.7455 vs 4.7454), tetapi dengan parameter lebih besar dari G1, sehingga ini quality-recovery result, bukan compression win. Varian lebih hemat GROUP_SIZE=2/rank32 mencapai 4.7787 dengan parameter sedikit di bawah G1, menjadikannya tradeoff token-level W3 terbaik sejauh ini. Varian tengah rank48 membaik ke 4.7620, tetapi sudah lebih besar dari G1. W3-11 mencoba mengurangi biaya GROUP_SIZE=2/rank64 dengan shared global anchor; parameternya turun ke 2,695,024, tetapi val loss memburuk ke 4.7877, sehingga anchor per group tampak penting untuk quality recovery token-level. W3-12 kemudian mencoba shared anchor + low-rank group delta rank16; parameternya naik ke 2,776,944, tetapi val loss tetap lemah (4.7919 final / 4.7915 best), sehingga delta kecil belum memulihkan kapasitas anchor per group. W3-13 mencoba uneven 3-group pattern 2,3,3; hasilnya sedikit membaik dari 2-group gsize4/r64 (4.7830 vs 4.7863), tetapi masih lebih buruk dan lebih besar daripada efficient candidate gsize2/r32. W3-14 mulai mengecek dataset naratif token-level TinyStories BPE8k. Pada subset 50k dokumen dan 3000 step, W3 GROUP_SIZE=2/rank32 sedikit mengalahkan G1 (2.6049 vs 2.6188 val loss) sambil memakai 27,024 parameter lebih sedikit. Pada long-run 6000 step, G1 mengejar dan unggul sangat tipis (2.3952 vs 2.3960), sehingga statusnya menjadi near-tie/competitive result, bukan win robust W3. Seed 42 kemudian memihak G1 lebih jelas (2.3822 vs 2.4120); seed 2026 mengonfirmasi pola itu (2.3738 vs 2.4014). Across three 6000-step seeds, G1 unggul mean (2.3837 vs 2.4031). W3 tetap stabil dan sedikit lebih kecil, tetapi W3-14 sekarang paling aman dibaca sebagai competitive/mixed TinyStories token-level result dengan G1 sebagai quality leader.

W3-15 kemudian menguji fixed online distillation (alpha=0.5, T=2.0) pada TinyStories. Across tiga seed, distillation memperbaiki mean W3 dari 2.4031 menjadi 2.3947, tetapi G1 tetap unggul pada mean 2.3837. W3-16 memakai schedule hold-then-linear-decay: alpha ditahan 0.5 sampai step 3000 lalu diturunkan ke 0.0 pada step 5999. Schedule ini mengalahkan W3 CE-only dan fixed distillation pada ketiga seed, dengan mean 2.3832. Dibanding G1, W3-16 menang pada seed 1337 dan kalah tipis pada seed 42/2026; selisih mean -0.0005 terlalu kecil untuk diklaim sebagai robust per-seed G1 win. Klaim aman W3-16 adalah robust positive training-strategy result dan near-tie terhadap G1, dengan student memakai 27,024 parameter lebih sedikit tetapi membutuhkan teacher online saat training.

W3-17 menguji schedule yang sama pada WikiText-2 dan mengonfirmasi bahwa teacher-guided training juga memperbaiki W3 di dataset yang lebih umum/noisy. W3-18 kemudian menjalankan kontrol paired yang lebih ketat: untuk setiap seed, W3 fixed alpha=0.5 dan W3 scheduled memakai teacher checkpoint, inisialisasi student, dan batch-order awal yang sama. Deterministic full-validation menunjukkan fixed lebih baik daripada scheduled pada 2/3 seed dan mean (4.70699439 vs 4.71682831). Fixed-distilled W3 juga mengalahkan same-seed G1 pada 3/3 audit (4.70699439 vs 4.73716882 mean) sambil memakai 27,024 parameter student lebih sedikit. Ini adalah robust teacher-guided training result, bukan architecture-only atau total-compute efficiency win karena training fixed distillation membutuhkan teacher online sepanjang run.

Ringkasan lengkap: docs/W3-FINDINGS.md. Ringkasan khusus token-level: docs/W3-TOKEN-LEVEL-SUMMARY.md. Roadmap aktif: docs/PRD-v2.md.

Apa yang Mungkin (untuk orang lain)

Jalur yang belum kami eksplor dan mungkin menghasilkan hasil berbeda:

  1. Co-Training / HyperNetwork Training from Scratch: Train model from scratch dimana generator adalah part of the architecture. Hypothesis: weight yang terbentuk dari generator akan compressible by definition. Sudah ada di literature (Ha et al. 2016+) tapi belum ada yang push ke LLM-scale.

  2. Output-aware loss: Daripada minimize MSE pada weight, minimize KL-divergence pada output distribusi. Computationally expensive tapi might bypass MSE plateau.

  3. Different model architectures: Test pada Mamba/SSM yang struktur weightnya mungkin berbeda dari transformer.

  4. Distillation approach: Train small student dengan weight generated from generator, distill from teacher. Mengubah problem dari "fit existing weight" ke "learn capabilities."

Struktur Repository

wiji-experimental/
├── README.md                  # File ini
├── LICENSE                    # MIT
├── CONTRIBUTING.md            # Panduan kontribusi
├── pyproject.toml
│
├── docs/
│   ├── PRD.md                 # Product Requirements Document (historical)
│   ├── RESULTS.md             # Hasil lengkap 9 eksperimen
│   ├── INSIGHTS.md            # Pelajaran teknis dan filosofis
│   ├── POSTMORTEM.md          # Analisis kenapa Phase 0 ditutup
│   ├── RESEARCH-FOUNDATIONS.md  # Paper-paper pendukung
│   └── CHANGELOG.md
│
├── experiments/
│   ├── exp01_single_matrix.py
│   ├── exp02_multi_layer_single_gen.py
│   ├── expA_full_attention_layer0.py
│   ├── expB2_per_layer_generator.py
│   ├── expB3_adaptive_capacity.py
│   ├── expB4_cliff_edge.py
│   ├── expC1_fourier_features.py     # Negative result
│   ├── expD1_ffn_target.py            # Negative result
│   ├── expE1_siren_o_proj.py          # Negative result
│   └── expF1_mixture_of_generators.py # Negative result
│
├── results/                   # Raw outputs from all experiments
├── scripts/
└── publications/              # LinkedIn, Medium, paper strategy

Quick Start

git clone https://github.com/sangkan-dev/wiji-experimental.git
cd wiji-experimental
uv sync

# Run any experiment
uv run experiments/exp01_single_matrix.py

Hardware: 16 GB RAM laptop, no GPU required.

Contributing

WIJI Phase 0 ditutup, tapi repo terbuka untuk:

  • Reproduce results dan validasi temuan kami
  • Critique methodology — apakah ada flaw di experimental setup yang membuat hasil misleading?
  • Try alternative approaches (co-training, output-aware loss, dll) sebagai fork atau Phase 1
  • Discuss philosophy — apakah kesimpulan kami terlalu pesimistis?

Lihat CONTRIBUTING.md.

Filosofi Project

WIJI dimulai dari pertanyaan yang ambisius dan ditutup dengan jawaban yang jujur. Bagi saya, itu adalah research yang valid — bahkan yang valuable.

Banyak project AI yang dimulai dengan klaim besar dan tidak pernah memberikan bukti. WIJI berani mengatakan: "Ini yang kami coba. Ini yang kami pelajari. Ini batas yang kami temui."

Negative results yang well-documented adalah kontribusi nyata ke komunitas riset. Setidaknya orang berikutnya yang punya ide serupa akan tahu apa yang sudah dicoba dan kenapa itu tidak bekerja — menghemat berbulan-bulan effort.

"Mari kita lebih menggila di dunia yang udah gila ini."

Project ini gila. Hasilnya jujur. Itu cukup.

Lisensi

MIT License — bebas untuk dipakai, modifikasi, dan extend.

Acknowledgments

  • Claude (Anthropic) untuk research collaboration intens
  • Microsoft Research untuk BitNet
  • Komunitas hypernetwork research (D'OH, fractal generative models, etc.)
  • Filosofi Jawa untuk naming dan way-of-thinking
  • Komunitas yang bersedia membaca negative results dengan respect

ꦮꦶꦗꦶ — biji ditanam, kebenaran tumbuh.

Sometimes the most valuable research output is knowing what doesn't work.

Built with curiosity by Sangkan · 2026

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors