SPB Git

spb/wp33_uqo

Public MIT
3.7 KB · 56 lines latex
1\section{Experimental Setup}2\label{sec:setup}34\subsection{Hardware (live inventory, 2026-11-01)}5Table~\ref{tab:nodes} lists the machines whose specifications were read live (\code{sysctl}, \code{system\_profiler}) on6the day of the experiments; the sanitized inventory is \code{artifacts/environment.json}. Eight aliases of the cluster's7nominal 29 did not answer SSH within 15~s and are excluded rather than assumed. All nodes negotiate 1000BASE-T; iperf3 measures80.945--0.947~Gbit/s and ping 0.5--1.0~ms between the Studios; no Thunderbolt link is active between any two nodes.910\begin{table}[t]11\centering\small12\caption{Machines used or available. GPU = GPU cores. Dev.\ laptop is not on the cluster LAN.}13\label{tab:nodes}14\begin{tabular}{llrrll}15\toprule16Alias & Chip & RAM (GB) & GPU & macOS & Role in this version \\17\midrule18laptop & Apple M5 Max & 48 & 40 & 27.0 & single-node experiments (Gates B--C); NVMe 8.5 GB/s random \\19M3U96a & Apple M3 Ultra & 96 & 60 & 26.6 & coordinator; Qwen3-30B-A3B baselines \\20M3U96b & Apple M3 Ultra & 96 & 60 & 26.4 & worker (Gate E) \\21M2U64 & Apple M2 Ultra & 64 & 60 & 26.5 & worker (Gate E) \\22M4M64a/b/c & Apple M4 Max & 64 & 40 & 26.4--26.5 & workers (Gate F) \\23M5M36 & Apple M5 Max & 36 & 32 & 27.0 & heterogeneous worker (Gate F) \\24m4mm, m4mn & Apple M4 Pro & 48 & 16 & 26.5 & heterogeneous workers (Gate F) \\25others (12) & M1--M6, 8--32 GB & & & & inventoried, unused \\26\bottomrule27\end{tabular}28\end{table}2930\subsection{Models}31\begin{itemize}32  \item \textbf{Small}: OLMoE-1B-7B-0125-Instruct \citep{muennighoff2024olmoe}, mlx-community 4-bit conversion (affine, group 64),33    revision \code{e2384419}, Apache-2.0: 16 layers, 64 experts, top-8, no shared expert; 3.375~MiB per expert, 3.62~GB of experts,34    0.27~GB dense; 128 experts (432~MiB) touched per decode token.35  \item \textbf{Medium}: Qwen3-30B-A3B-Instruct-2507 \citep{yang2025qwen3}, mlx-community 4-bit (routers 8-bit), revision \code{e9675aa3},36    Apache-2.0: 48 layers, 128 experts, top-8, renormalised gates; 2.53~MiB per expert, 16.3~GB of experts, 0.87~GB dense;37    384 experts (0.97~GiB) per decode token. Stacked \code{switch\_mlp} layout (per-expert byte ranges are slices of the first axis).38  \item \textbf{Large} (gpt-oss-120b, 62~GB): not downloaded in this version (authorization pending).39\end{itemize}4041\subsection{Workloads and metrics}42Prompts are synthetic instructions written for this study in six families (general, code, reasoning, multilingual,43long-context, domain drift), split into \emph{fit} prompts (used to fit predictors) and \emph{held-out} prompts (never used to44fit anything); v1 has 18 prompts (Gate B), v2 has 65 (Gate C). Decoding is greedy. Metrics follow \code{research/protocol.md}:45prefill and decode tok/s as reported by mlx-lm's generator plus wall-clock inter-token latencies (p50/p95/p99) measured in the46driver, time to first token, expert hit rate, misses, stall time, bytes read, peak memory; energy (\code{powermetrics}) in47the distributed and Pareto experiments. Every run records its command line, git commit and environment; order is shuffled with a48fixed seed; the first run of each configuration is a discarded warm-up; repeats are $\ge 2$ in the smoke tests reported here49and $\ge 5$ in the final sweeps.5051\subsection{Tiers and constants used by the simulator}52Measured on the laptop: page-cache fetch of one OLMoE expert 0.21~ms (batched demand path), cold NVMe 0.43~ms (F\_NOCACHE after53\code{purge}, single reader), 1~GbE transfer $\approx 28$~ms; per-layer decode compute $\tau_\ell = 0.128$~ms (489~\tps{}).54The trace-driven simulator (\code{benchmarks/scripts/simulate\_cache.py}) is exact for hits and misses and uses these constants55for stall estimates.56
Files · e0179f6574745be33cff2b16fda99d154b18eabd
Menu

Theme