Phase 4 — Jalur data irisan pakar (M1)

Perangkat lemah mengunduh beberapa pakar 6 MB, bukan lapisan 1.4 GB — dan komputasi sharded menyamai monolitik hingga 3.6e-12.

Terverifikasi · Qwen3.5-122B-A10B nyata

Irisan pakar adalah salinan byte — tanpa dekuantisasi

256→8
irisan dim pakar
~6.1
MB / pakar (Q4+Q6)
206 MB
unduhan 2 lapisan × 16 pakar
200
HTTP, GGUF valid

Tensor pakar MoE menumpuk semua pakar sepanjang dimensi ggml terluar, sehingga pembaca mengekspos (n_expert, rows, row_bytes) byte terkuantisasi mentah. Pakar *e* adalah lempengan bersambung selaras blok-kuantisasi — irisannya secara harfiah data[a:b], tanpa dekuantisasi dan tanpa pengemasan ulang.

write_expert_shard_gguf — bolak-balik yang terverifikasi.

sliced = tensor.data[a:b]              # outermost axis = expert
writer.add_tensor(name, sliced, raw_dtype=tensor.tensor_type)
# router (ffn_gate_inp) & shared expert stay on the backbone → excluded
GET /api/proxy/models/{m}/expert-shard?layers=0:2&experts=0:16  # node-token authed
A laser slicing one expert slab into a mini-GGUF beside a perfectly level balance scale
Oracle numerik

dispatch + combine == monolitik, persis

Dengan pakar layer-0 122B nyata (referensi terdekuantisasi), membagi pakar menjadi 4 shard, menghitung masing-masing secara terpisah lalu menggabungkan menyamai FFN MoE monolitik: sharding adalah pengelompokan ulang eksak dari jumlah berbobot yang sama, bukan aproksimasi.

3.6e-12
max|mono − sharded|
1.2e-07
galat relatif
True
allclose(1e-5)
28/256
pakar tersentuh
Worker C++, terverifikasi di perangkat keras

linkcpp-expert-worker mereproduksi oracle di ROCm

  • ggml/gguf murni (tanpa libllama): memuat irisan ke backend GPU dan menjalankan mul_mat_id(up/gate) → swiglu → mul_mat_id(down).
  • Build + run ROCm di MI250: 122B layer-0, pakar [0,8), 4 token.
  • Cosine 0.99995 vs oracle, allclose(1e-3) = True, max|Δ| = 7.9e-7 — residu ini sendiri adalah kasus terukur pertama ekuivalensi lintas-backend (ROCm vs numpy).
  • Jalur kode yang sama mencakup CUDA/Metal/Vulkan/CPU (mul_mat_id/swiglu adalah ggml standar; CUDA punya kernel MoE khusus).

Bagian tersulit dan paling berisiko — kernel worker di perangkat — terverifikasi di sini. Yang tersisa adalah orkestrasi backbone↔worker; worker adalah fungsi murni terbukti yang mengonsumsi irisan-irisan ini.