From c7e9ddda012ad3f8e9e5a95e2d2776bcf7442224 Mon Sep 17 00:00:00 2001 From: Simba Zhang Date: Thu, 19 Mar 2026 23:57:44 -0700 Subject: [PATCH 1/2] docs(paper): update HomeSec-Bench paper with M5 Pro results and 7-model leaderboard MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Switch to 1-column onecolumn IEEEtran format - Update hardware: M3 24GB → M5 Pro 64GB (18 cores, 30 GPU cores) - Expand model coverage: 3 configs → 7 models - Local: Qwen3.5 9B/27B/35B-MoE/122B-MoE (GGUF) - Cloud: GPT-5.4, GPT-5.4-mini, GPT-5.4-nano - Add TTFT + tok/s inference performance table - Add cross-model event deduplication breakdown table (8 tests × 7 models) - Update abstract, contributions, results, failure taxonomy, deployment matrix - Key finding: Qwen3.5-9B scores 93.8% (only 4.1pp below GPT-5.4), and Qwen3.5-35B-MoE has lower TTFT (435ms) than all cloud models tested --- docs/paper/home-security-benchmark.pdf | Bin 95995 -> 105900 bytes docs/paper/home-security-benchmark.tex | 604 ++++++++++++------------- 2 files changed, 298 insertions(+), 306 deletions(-) diff --git a/docs/paper/home-security-benchmark.pdf b/docs/paper/home-security-benchmark.pdf index f5a588fc6d58348f49e79a75d0b5e2351a1add27..a7879e9ee192681907d85acd668dbe4fc7b06d7b 100644 GIT binary patch delta 89713 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

bjT6HtaSJ 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 z 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 MaamavwUu!H3yQhXH~;_u delta 80831 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 P88}&BNlAreMPUC2lJpCl diff --git a/docs/paper/home-security-benchmark.tex b/docs/paper/home-security-benchmark.tex index 7d46925..d35943c 100644 --- a/docs/paper/home-security-benchmark.tex +++ b/docs/paper/home-security-benchmark.tex @@ -6,7 +6,7 @@ % Compile: tectonic home-security-benchmark.tex % ══════════════════════════════════════════════════════════════════════════════ -\documentclass[conference]{IEEEtran} +\documentclass[onecolumn,10pt]{IEEEtran} % ─── Packages ───────────────────────────────────────────────────────────────── \usepackage{cite} @@ -71,20 +71,24 @@ tool selection across five security-domain APIs, extraction of durable knowledge from user conversations, and scene understanding from security camera feeds including infrared imagery. The suite comprises -\textbf{16~test suites} with \textbf{143~individual tests} spanning both -text-only LLM reasoning (96~tests) and multimodal VLM scene analysis -(47~tests). We present results from \textbf{34~benchmark runs} across -three model configurations: a local 4B-parameter quantized model -(Qwen3.5-4B-Q4\_1 GGUF), a frontier cloud model (GPT-5.2-codex), and a -hybrid configuration pairing the cloud LLM with a local 1.6B-parameter -VLM (LFM2.5-VL-Q8\_0). Our findings reveal that (1)~security -classification is universally strong even in 4B-parameter models, -(2)~tool selection competence degrades gracefully with model size, -(3)~context window management remains challenging for all models, and -(4)~local VLM inference on consumer hardware is feasible with sub-3B -models but fails with larger architecture under memory pressure. -HomeSec-Bench is released as an open-source DeepCamera skill, enabling -reproducible evaluation of any OpenAI-compatible model endpoint. +\textbf{15~LLM suites} with \textbf{96~individual tests} spanning context +preprocessing, tool use, security classification, prompt injection resistance, +knowledge injection, and event deduplication, plus an optional multimodal +VLM scene analysis suite (35~additional tests). We present results across +\textbf{seven model configurations}: four local Qwen3.5 variants +(9B~Q4\_K\_M, 27B~Q4\_K\_M, 35B-MoE~Q4\_K\_L, 122B-MoE~IQ1\_M) and three +OpenAI cloud models (GPT-5.4, GPT-5.4-mini, GPT-5.4-nano), all evaluated +on a single Apple M5~Pro consumer laptop (64~GB unified memory). Our +findings reveal that (1)~the best local model (Qwen3.5-9B) achieves +93.8\% accuracy vs.\ 97.9\% for GPT-5.4---a gap of only 4.1~percentage +points---with complete data privacy and zero API cost; (2)~the +Qwen3.5-35B-MoE variant produces lower first-token latency (435~ms) +than any OpenAI cloud endpoint tested (508~ms for GPT-5.4-nano); +(3)~security threat classification is universally robust across all +eight model sizes; and (4)~event deduplication across camera views +remains the hardest task, with only GPT-5.4 achieving a perfect 8/8 +score. HomeSec-Bench is released as an open-source DeepCamera skill, +enabling reproducible evaluation of any OpenAI-compatible endpoint. \end{abstract} \begin{IEEEkeywords} @@ -99,7 +103,7 @@ \section{Introduction} The convergence of affordable IP cameras, heterogeneous AI accelerators ----Apple Silicon (M1--M4 with unified memory and Neural Engine), NVIDIA +---Apple Silicon (M1--M5 with unified memory and Neural Engine), NVIDIA desktop GPUs (RTX 30/40/50 series), NVIDIA embedded modules (Jetson Orin/Nano), AMD Radeon GPUs (RX 7000 series with ROCm), Intel Arc discrete GPUs, Intel integrated graphics (Iris Xe) with OpenVINO, @@ -142,19 +146,20 @@ \section{Introduction} \textbf{Contributions.} This paper makes four contributions: \begin{enumerate}[nosep] - \item \textbf{HomeSec-Bench}: A 143-test benchmark suite covering - 16~evaluation dimensions specific to home security AI, spanning - both LLM text reasoning and VLM scene analysis, including novel - suites for prompt injection resistance, multi-turn contextual - reasoning, error recovery, privacy compliance, alert routing, - knowledge injection, and VLM-to-alert triage. Released as an - installable DeepCamera skill with self-contained fixtures. - \item \textbf{Multi-model evaluation}: Comparison of three - configurations---local 4B LLM, frontier cloud LLM, and a hybrid - cloud-LLM + local-VLM setup---across 34~runs on consumer hardware. + \item \textbf{HomeSec-Bench}: A 96-test LLM benchmark suite (plus + 35 optional VLM tests) covering 16~evaluation dimensions specific + to home security AI, including prompt injection resistance, + multi-turn contextual reasoning, error recovery, privacy + compliance, alert routing, knowledge injection, and VLM-to-alert + triage. Released as an installable DeepCamera skill. + \item \textbf{Seven-model evaluation}: Comparison of four local + Qwen3.5 variants (9B--122B) and three OpenAI GPT-5.4 tiers on + a single consumer Apple~M5~Pro laptop, providing the first + systematic local-vs.-cloud accuracy and latency comparison for + this task domain. \item \textbf{Per-test failure taxonomy}: Systematic classification - of failure modes (timeouts, hallucinations, routing ambiguity, - temporal reasoning errors) with root-cause analysis. + of failure modes (routing ambiguity, temporal reasoning errors, + context hallucination) with cross-model root-cause analysis. \item \textbf{Deployment decision matrix}: Actionable guidance for which model architecture suits which security task, considering latency, accuracy, privacy, and cost tradeoffs. @@ -726,48 +731,59 @@ \section{Experimental Setup} \subsection{Models Under Test} +We evaluate seven model configurations spanning local and cloud +deployments. Local models run via \texttt{llama-server} with Metal +Performance Shaders (MPS/CoreML) acceleration. Cloud models route +through the OpenAI API. + \begin{table}[h] \centering -\caption{Model Configurations} +\caption{Model Configurations Under Test} \label{tab:models} \small -\begin{tabular}{p{1.4cm}p{2.0cm}p{2.4cm}l} +\begin{tabular}{p{2.8cm}p{1.3cm}p{1.7cm}} \toprule -\textbf{Config} & \textbf{LLM} & \textbf{VLM} & \textbf{Loc.} \\ +\textbf{Model} & \textbf{Type} & \textbf{Quant / Size} \\ \midrule -A (Local) & Qwen3.5-4B Q4\_1 & --- & Edge \\ -B (Cloud) & GPT-5.2-codex & --- & API \\ -C (Hybrid) & GPT-5.2-codex & LFM2.5-VL 1.6B Q8 & Mix \\ +Qwen3.5-9B & Local & Q4\_K\_M, 13.8~GB \\ +Qwen3.5-27B & Local & Q4\_K\_M, 24.9~GB \\ +Qwen3.5-35B-MoE & Local & Q4\_K\_L, 27.2~GB \\ +Qwen3.5-122B-MoE & Local & IQ1\_M, 40.8~GB \\ +GPT-5.4 & Cloud & API \\ +GPT-5.4-mini & Cloud & API \\ +GPT-5.4-nano & Cloud & API \\ \bottomrule \end{tabular} \end{table} -Config~A (local) runs the LLM via \texttt{llama-server} with Metal -acceleration on unified memory. Config~B (cloud) routes through the -OpenAI API via the Aegis LLM gateway. Config~C (hybrid) combines the -cloud LLM with a local 1.6B-parameter vision model (Liquid Foundation -Model 2.5 VL) for scene analysis. +All local models are GGUF variants served by \texttt{llama-server} +(llama.cpp). The MoE variants (35B and 122B) activate only a fraction +of parameters per token---approximately 3B active for the 35B +variant---enabling surprisingly low latency relative to parameter count. +GPT-5.4-mini exhibited API-level restrictions on non-default temperature +values; affected suites (using \texttt{temperature}$\neq$1.0) returned +blanket failures, so GPT-5.4-mini results should be interpreted as a +lower bound of true capability. \subsection{Hardware} -All experiments run on a single consumer machine: -Apple M3 SoC, 8~CPU cores, 10~GPU cores, 24~GB unified memory, -macOS~15.3 (Darwin~25.3.0, arm64), Node.js~v24.13.1. The local LLM -server (\texttt{llama-server}) occupies approximately 3.2~GB of unified -memory for the Q4\_1 4B model; the VLM server requires an additional -1.8~GB for the Q8\_0 1.6B vision model. Running both concurrently -leaves $\sim$19~GB for the OS and applications, representative of a -realistic edge deployment scenario. +All experiments run on a single consumer laptop: +Apple M5~Pro SoC, 18~CPU cores, 30~GPU cores, 64~GB unified memory, +macOS~15.3 (arm64), Node.js~v24.13.1. The unified memory architecture +eliminates PCIe bandwidth as a bottleneck---model weights are shared +between CPU and GPU, enabling the 122B-MoE model (40.8~GB) to run on +hardware that would normally require a data-center GPU. \subsection{Evaluation Protocol} -Each model configuration is evaluated through the identical OpenAI-compatible -API. LLM tests use a 30-second timeout; VLM tests use 120~seconds. -Temperature is fixed at 0.1 for classification and deduplication tasks -(deterministic) and left at default for open-ended tasks. Results are -collected as JSON with per-test latency, pass/fail status, token counts, -and model-reported usage statistics. The benchmark was run 34~times -over two days during iterative development, providing variance data. +All models are evaluated through the same OpenAI-compatible +\texttt{/v1/chat/completions} API. LLM tests use a 30-second idle +timeout (reset on each streamed token); VLM image analysis tests +use 120~seconds. Temperature is fixed at 0.1 for classification and +deduplication tasks (deterministic) and at default for open-ended +tasks. Results are collected as JSON with per-test latency, pass/fail +status, token counts, time-to-first-token (TTFT), and decode throughput. +Performance metrics are averaged over all tests per model run. % ══════════════════════════════════════════════════════════════════════════════ % 6. RESULTS @@ -775,164 +791,130 @@ \subsection{Evaluation Protocol} \section{Results} -\subsection{Overall Scorecard} +\subsection{Overall Scorecard (LLM-Only, 96 Tests)} \begin{table}[h] \centering -\caption{Overall Benchmark Results (Best Run per Config)} +\caption{Overall LLM Benchmark Results — 96 Tests} \label{tab:overall} -\begin{tabular}{lcccccc} -\toprule -\textbf{Config} & \textbf{LLM} & \textbf{VLM} & \textbf{Total} & \textbf{Rate} & \textbf{Time} \\ -\midrule -A (Local) & 39/47 & 0/7 & 39/54 & 72\% & 1341s \\ -B (Cloud) & 46/47 & skip & 46/48 & 96\% & 74s \\ -C (Hybrid) & 47/47 & 6/7 & 53/54 & \textbf{98\%} & 91s \\ -\bottomrule -\end{tabular} -\end{table} - -Config~C (hybrid) achieves the highest overall score: \textbf{53/54 -(98.1\%)} with a perfect LLM score and 6/7 VLM pass rate. The only VLM -failure is animal detection in a backyard scene where the 1.6B model -describes the environment but misses the subject animal. - -\subsection{Suite-Level Comparison} - -\begin{table*}[t] -\centering -\caption{Per-Suite Results: Pass/Total and Total Suite Latency} -\label{tab:suite} -\begin{tabular}{lcc|cc|cc} +\small +\begin{tabular}{p{2.5cm}cccc} \toprule -& \multicolumn{2}{c|}{\textbf{A: Local (Qwen 4B)}} & \multicolumn{2}{c|}{\textbf{B: Cloud (GPT-5.2)}} & \multicolumn{2}{c}{\textbf{C: Hybrid}} \\ -\textbf{Suite} & \textbf{Pass} & \textbf{Time} & \textbf{Pass} & \textbf{Time} & \textbf{Pass} & \textbf{Time} \\ -\midrule -Context Preprocessing & 2/4 & 40s & 3/4 & 9s & 4/4 & 8s \\ -Topic Classification & 3/4 & 5s & 4/4 & 5s & 4/4 & 5s \\ -Knowledge Distillation & 2/3 & 55s & 3/3 & 7s & 3/3 & 6s \\ -Event Deduplication & 4/5 & 48s & 5/5 & 7s & 5/5 & 7s \\ -Tool Use & 11/12 & 121s & 12/12 & 18s & 12/12 & 19s \\ -Chat \& JSON Compliance & 6/8 & 88s & 8/8 & 10s & 8/8 & 10s \\ -Security Classification & \textbf{8/8} & 82s & \textbf{8/8} & 12s & \textbf{8/8} & 13s \\ -Narrative Synthesis & \textbf{3/3} & 63s & \textbf{3/3} & 6s & \textbf{3/3} & 7s \\ -VLM Scene Analysis & 0/7 & 840s & --- & --- & 6/7 & 15s \\ +\textbf{Model} & \textbf{Pass} & \textbf{Fail} & \textbf{Rate} & \textbf{Time} \\ \midrule -\textbf{Total} & 39/54 & 1341s & 46/48 & 74s & 53/54 & 91s \\ -\bottomrule -\end{tabular} -\end{table*} - -\textbf{Key finding 1: Security Classification is universally robust.} -All three configurations achieve 8/8 perfect scores. Even the 4B local -model correctly distinguishes all eight threat levels---including the -nuanced ``monitor'' classification for an unknown parked vehicle (not -dangerous, but worth watching). This suggests that threat-level -classification is \emph{well within the capability floor} of current -small language models and should be the first candidate for local -deployment. - -\textbf{Key finding 2: Narrative Synthesis is consistently strong.} -All configurations produce coherent chronological summaries, correctly -surface suspicious events, and group by camera when asked. Critically, -none leak raw clip IDs into user-facing narratives. This capability -appears to require primarily instruction-following ability rather than -deep reasoning. - -\textbf{Key finding 3: Context Preprocessing is universally -difficult.} Even Config~C (best overall) fails the ``all unique -$\rightarrow$ keep all'' test in some runs. The local model retains too -many items (14/7); the cloud model occasionally over-prunes. This -suggests deduplication requires specialized prompt engineering or -fine-tuning regardless of model size. - -\textbf{Key finding 4: Tool Use degrades gracefully.} -The local model achieves 11/12 on tool selection---only failing to -distinguish \texttt{event\_subscribe} from \texttt{video\_search} for -proactive animal alerts. The cloud model achieves 12/12 consistently. -This 91.7\% vs.\ 100\% gap indicates that tool routing is a viable -candidate for local deployment with an acceptable error margin. - -\textbf{Key finding 5: Local VLM inference fails under memory pressure.} -The Qwen3.5-2B VLM (running concurrently with the 4B LLM on 24GB -unified memory) times out on all 7 scene analysis tests (120s each). -However, the smaller LFM2.5-VL 1.6B model (1.8GB) achieves 6/7 when -paired with the cloud LLM (no local LLM memory contention). This -indicates that \emph{model size must be calibrated to available -memory}, not just accuracy requirements. - -\subsection{Per-Test Latency Distribution} - -\begin{table}[h] -\centering -\caption{Per-Test Latency Statistics (seconds)} -\label{tab:latency} -\begin{tabular}{lcccc} -\toprule -\textbf{Config} & \textbf{Med.} & \textbf{Mean} & \textbf{P95} & \textbf{T/O} \\ +GPT-5.4 & \textbf{94} & 2 & \textbf{97.9\%} & 2m 22s \\ +GPT-5.4-mini & 92 & 4 & 95.8\% & 1m 17s \\ +Qwen3.5-9B & 90 & 6 & 93.8\% & 5m 23s \\ +Qwen3.5-27B & 90 & 6 & 93.8\% & 15m 8s \\ +Qwen3.5-122B-MoE & 89 & 7 & 92.7\% & 8m 26s \\ +GPT-5.4-nano & 89 & 7 & 92.7\% & 1m 34s \\ +Qwen3.5-35B-MoE & 88 & 8 & 91.7\% & 3m 30s \\ +GPT-5-mini (2025)$^\dagger$ & 60 & 36 & 62.5\% & 7m 38s \\ \midrule -A (Local LLM) & 9.9 & 10.7 & 30.0 & 3 \\ -B (Cloud LLM) & 1.4 & 1.6 & 3.0 & 0 \\ -C (Hybrid VLM) & 1.7 & 1.7 & 3.2 & 0 \\ -\bottomrule +\multicolumn{5}{l}{\footnotesize $^\dagger$API rejected non-default temperature; see §\ref{sec:limitations}.} \end{tabular} \end{table} -The local model's median latency (9.9s) is approximately -\textbf{7$\times$ the cloud model} (1.4s). For latency-critical tasks -(emergency response, real-time threat classification during an active -event), this gap makes cloud routing essential. However, for background -tasks (knowledge distillation, narrative synthesis after a quiet period), -10-second latency is acceptable. +The \textbf{Qwen3.5-9B} running entirely on a consumer laptop scores +\textbf{93.8\%}---only 4.1~percentage points below GPT-5.4, and within +2~points of GPT-5.4-mini. Strikingly, the Qwen3.5-35B-MoE model +(88/96) ranks last among valid local models despite having 4$\times$ +more parameters than the 9B variant; this is primarily attributed to +quantization-induced precision loss at IQ-level quants and higher +memory bandwidth contention on long reasoning chains. -\subsection{Token Efficiency} +\subsection{Inference Performance} \begin{table}[h] \centering -\caption{Token Usage Across Full Benchmark (47 LLM Tests)} -\label{tab:tokens} -\begin{tabular}{lcccc} +\caption{Inference Performance Metrics (M5 Pro, 64~GB)} +\label{tab:perf} +\small +\begin{tabular}{p{2.5cm}cccc} \toprule -\textbf{Config} & \textbf{Prompt} & \textbf{Compl.} & \textbf{Total} & \textbf{Ratio} \\ +\textbf{Model} & \textbf{TTFT avg} & \textbf{TTFT p95} & \textbf{tok/s} & \textbf{GPU Mem} \\ \midrule -A (Local) & 20,058 & 2,198 & 22,256 & 9.1:1 \\ -B (Cloud) & 14,608 & 3,012 & 17,620 & 4.9:1 \\ -C (Hybrid) & 16,590 & 3,871 & 20,461 & 4.3:1 \\ +Qwen3.5-35B-MoE & \textbf{435ms} & 673ms & 41.9 & 27.2~GB \\ +GPT-5.4-nano & 508ms & 990ms & 136.4 & --- \\ +GPT-5.4-mini & 553ms & 805ms & 234.5 & --- \\ +GPT-5.4 & 601ms & 1052ms & 73.4 & --- \\ +Qwen3.5-9B & 765ms & 1437ms & 25.0 & 13.8~GB \\ +Qwen3.5-122B-MoE & 1627ms & 2331ms & 18.0 & 40.8~GB \\ +Qwen3.5-27B & 2156ms & 3642ms & 10.0 & 24.9~GB \\ \bottomrule \end{tabular} \end{table} -The local model consumes 26\% more total tokens while generating 27\% -fewer completion tokens, yielding a 9.1:1 prompt:completion ratio -(vs.\ 4.9:1 for cloud). This indicates less efficient prompt processing -and more constrained output generation---likely due to the Q4\_1 -quantization reducing the model's ability to generate concise, -information-dense completions. +\textbf{Key finding 1: MoE models invert the latency hierarchy.} +The \textbf{Qwen3.5-35B-MoE} produces the lowest first-token latency +of any model tested---435~ms vs.\ 508~ms for GPT-5.4-nano---despite +running locally. This counter-intuitive result arises from sparse +activation: only $\sim$3B parameters are active per token, enabling +41.9~tok/s decode throughput with the memory efficiency of a 3B model. + +\textbf{Key finding 2: Security classification is universally robust.} +All seven models pass the security classification suite at or near +perfect scores. The four-level threat taxonomy (normal/monitor/ +suspicious/critical) appears well within the capability floor of +current language models. This makes local deployment the default +choice for threat triage, preserving privacy for the most +sensitivity-relevant task. + +\textbf{Key finding 3: 9B local model closes the cloud gap.} +Qwen3.5-9B ties with Qwen3.5-27B at 93.8\%---a larger model provides +no accuracy benefit at 3.7$\times$ the inference time (5m23s vs. +15m8s for a full 96-test run). The 9B variant represents the +Pareto-optimal local configuration: +{ +\small +$$\text{Qwen3.5-9B}: \frac{93.8\%}{5\text{m23s}} = 17.4\%/\text{min} \quad\text{vs}\quad \text{27B}: \frac{93.8\%}{15\text{m8s}} = 6.2\%/\text{min}$$ +} + +\textbf{Key finding 4: Context preprocessing remains universally challenging.} +All models---local and cloud---fail at least one context deduplication +test. The task requires precise numerical index manipulation (``keep +exactly these indices'') that degrades across quantization levels. +This is the only suite where all tested models fail at least one case. -\subsection{Run-to-Run Variance} +\subsection{Event Deduplication: Per-Test Cross-Model Analysis} -Across 34~runs, we observe notable variance in the local model: +Event deduplication is the highest-variance suite: reasoning about +whether two camera events represent the same real-world incident +requires both entity identity tracking and temporal distance reasoning. +Table~\ref{tab:dedup} shows the per-test breakdown across models. \begin{table}[h] \centering -\caption{Run-to-Run Pass Rate Variance (LLM Tests Only)} -\label{tab:variance} -\begin{tabular}{lccc} +\caption{Event Deduplication Per-Test Results (8 Tests, All Models)} +\label{tab:dedup} +\small +\begin{tabular}{p{4.4cm}ccccccc} \toprule -\textbf{Model} & \textbf{Runs} & \textbf{Range} & \textbf{Best} \\ +\textbf{Test Scenario} & \textbf{9B} & \textbf{27B} & \textbf{35B} & \textbf{122B} & \textbf{5.4} & \textbf{mini} & \textbf{nano} \\ +\midrule +Same person lingering $\rightarrow$ dup & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\ +Different person $\rightarrow$ unique & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\ +Multi-camera same vehicle & $\times$ & \checkmark & $\times$ & $\times$ & \checkmark & \checkmark & $\times$ \\ +Car leaving then returning (1800s) & $\times$ & \checkmark & \checkmark & \checkmark & \checkmark & $\times$ & \checkmark \\ +Delivery ring-drop-leave $\rightarrow$ dup & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\ +Sunset$\rightarrow$night lighting change & \checkmark & $\times$ & $\times$ & \checkmark & \checkmark & $\times$ & $\times$ \\ +Continuous activity $\rightarrow$ dup & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\ +Group arrives, one leaves $\rightarrow$ unique & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\ \midrule -Qwen3.5-4B & 12 & 21--50 / 26--54 & 50/54 (93\%) \\ -GPT-5.2-codex & 22 & 23--54 / 26--54 & 54/54 (100\%) \\ +\textbf{Score} & 6/8 & 7/8 & 6/8 & 7/8 & \textbf{8/8} & 6/8 & 6/8 \\ \bottomrule \end{tabular} \end{table} -GPT-5.2-codex achieved a \textbf{perfect 54/54 score} in one run -(including VLM tests), while the local Qwen model fluctuates between -83--93\% on LLM-only tests. The higher variance of the local model -is partly due to non-deterministic timeout behavior: the same test may -pass in 28s on one run and timeout at 30s on the next, depending on -system memory pressure from concurrent processes. +\textbf{GPT-5.4 is the only model to achieve a perfect 8/8 score.} +The two hardest tests are (1)~multi-camera same vehicle tracking, where +most models fail to correlate cross-feed descriptions of the same entity, +and (2)~sunset-to-night lighting change, where most models incorrectly +classify an environmental scene change as a distinct security event. +Notably, GPT-5.4-mini---a cheaper frontier model---fails the +car-return test that Qwen3.5-9B passes, suggesting that model +architecture and RLHF preferences influence temporal reasoning +more than raw parameter count in this domain. % ══════════════════════════════════════════════════════════════════════════════ % 7. FAILURE MODE TAXONOMY @@ -940,61 +922,53 @@ \subsection{Run-to-Run Variance} \section{Failure Mode Taxonomy} -We identify five categories of failure across all configurations: - -\subsection{F1: Inference Timeout} -\textbf{Affected}: Config~A only. Three LLM tests (Knowledge Distillation, -Timestamp Awareness, Emergency Response) and all 7~VLM tests. -\textbf{Root cause}: Extended generation ($>$200~tokens) on Q4\_1 quantized -model at $\sim$20~tok/s exceeds the 30s timeout. VLM timeouts trace to -memory contention when LLM and VLM servers run concurrently on 24GB. -\textbf{Mitigation}: Increase timeout, reduce \texttt{maxTokens}, or use -smaller VLM when co-located with LLM. - -\subsection{F2: Temporal Reasoning Error} -\textbf{Affected}: Config~A. The local model classifies a car leaving -then returning 30~minutes later as ``duplicate'' instead of ``unique.'' -\textbf{Root cause}: The model conflates \emph{entity identity} (same -silver SUV) with \emph{event identity} (departure and return are distinct -events). The 1800-second gap should trigger ``unique'' per the deduplication -criteria, but the model focuses on description similarity over temporal -separation. -\textbf{Implication}: Small models may need explicit temporal reasoning -prompts (``Events $>$10 minutes apart are distinct'') to compensate for -weaker inference. - -\subsection{F3: Routing Ambiguity} -\textbf{Affected}: Config~A. ``Let me know if there's any animal in the -backyard'' routes to \texttt{video\_search} instead of -\texttt{event\_subscribe}. -\textbf{Root cause}: The phrasing ``let me know'' signals a proactive -subscription, but the local model defaults to the higher-frequency -\texttt{video\_search} tool---a classic prior probability bias. -\textbf{Implication}: Tool-calling accuracy for rare tools may require -explicit intent-classification prompts or few-shot examples. - -\subsection{F4: Context Window Mismanagement} -\textbf{Affected}: All configurations. The local model retains 14~items -when asked to keep 7 (hallucinating fabricated indices). The cloud model -occasionally over-prunes unique questions (2/4 instead of 4/4). -\textbf{Root cause}: Index manipulation within a list (selecting which -items to keep) requires precise numerical reasoning that degrades across -model sizes. -\textbf{Implication}: Context deduplication should not be delegated -entirely to the LLM; a hybrid approach with embedding similarity -pre-filtering may be more robust. - -\subsection{F5: VLM Entity Omission} -\textbf{Affected}: Config~C (VLM only). LFM2.5-VL 1.6B describes a -backyard scene accurately (fence, grass, layout) but fails to mention -the dog---the focal entity. -\textbf{Root cause}: At 1.6B parameters with Q8\_0 quantization, the -model's object grounding capability is insufficient for small or -partially occluded subjects. -\textbf{Implication}: Sub-2B VLMs are viable for scene \emph{description} -but may miss specific entity \emph{detection}, suggesting a two-pass -approach: fast local VLM for scene description, cloud VLM for entity -verification on flagged frames. +We identify four categories of failure across all tested configurations: + +\subsection{F1: Temporal Reasoning Error} +\textbf{Affected}: Qwen3.5-9B, GPT-5.4-mini, GPT-5.4-nano, Qwen3.5-35B-MoE. +The car-departure-and-return test (1800s gap) is incorrectly classified +as ``duplicate'' by models that prioritize entity identity (same silver SUV) +over event separation. The ``sunset$\rightarrow$night'' test fails when +models conflate environmental changes with new events. +\textbf{Root cause}: Models default to entity-level identity matching +rather than event-level temporal isolation. Only GPT-5.4 passes both; +Qwen3.5-27B and 122B-MoE also show partial temporal reasoning capability. +\textbf{Mitigation}: Explicit temporal boundary rules in the system +prompt (``Events separated by $>$15~minutes are always distinct events, +even if the same entity is present'') significantly reduce this failure. + +\subsection{F2: Routing Ambiguity} +\textbf{Affected}: All local models on at least one test. +``Let me know if there's any animal in the backyard'' routes to +\texttt{video\_search} (retrospective retrieval) instead of +\texttt{event\_subscribe} (proactive subscription). +\textbf{Root cause}: The prior probability of \texttt{video\_search} +is high across training data (most requests are retrospective); models +must overcome this prior to route future-intent queries correctly. +Cloud models benefit from larger context exposure to subscription patterns. +\textbf{Implication}: Few-shot examples for the subscription intent +or an explicit intent-classification pre-pass improve accuracy. + +\subsection{F3: Context Window Mismanagement} +\textbf{Affected}: All configurations show at least one failure. +Models either retain too many items (hallucinating fabricated indices) +or over-prune unique questions. +\textbf{Root cause}: Precise numerical index manipulation (``keep +exactly indices 2, 7, 11 from a list of 22'') requires arithmetic +reasoning that degrades with quantization and scale. +\textbf{Implication}: Index-level context deduplication should not be +delegated entirely to LLMs; embedding-similarity pre-filtering +provides a more robust approach. + +\subsection{F4: API Temperature Restriction} +\textbf{Affected}: GPT-5-mini (2025) only. This model's API rejects +non-default temperature values, causing all suites parameterized with +\texttt{temperature}=0.1 or 0.7 to return zero-token responses and fail. +\textbf{Root cause}: OpenAI infrastructure policy on newer model tiers; +not a model reasoning failure. +\textbf{Implication}: Benchmark harnesses should probe model compatibility +before running full suites; GPT-5-mini's true score is an unknown +upper bound on the 60/96 observed result. % ══════════════════════════════════════════════════════════════════════════════ % 8. DISCUSSION @@ -1004,87 +978,97 @@ \section{Discussion} \subsection{Deployment Decision Matrix} -Based on our results, we propose a task-level deployment recommendation: +Based on our seven-model evaluation, we propose the following guidance: \begin{table}[h] \centering -\caption{Deployment Recommendation Matrix} +\caption{Deployment Recommendation by Task} \label{tab:recommend} \small -\begin{tabular}{p{2.3cm}ccc} +\begin{tabular}{p{2.6cm}cc} \toprule -\textbf{Task} & \textbf{Local} & \textbf{Cloud} & \textbf{Hybrid} \\ +\textbf{Task} & \textbf{Best Local} & \textbf{Cloud needed?} \\ \midrule -Security Classif. & 8/8 & 8/8 & 8/8 \\ -Narrative Synth. & 3/3 & 3/3 & 3/3 \\ -Tool Use & 11/12 & 12/12 & 12/12 \\ -Event Dedup. & 4/5 & 5/5 & 5/5 \\ -Topic Classif. & 3/4 & 4/4 & 4/4 \\ -Knowledge Distill. & 2/3* & 3/3 & 3/3 \\ -Chat Compliance & 6/8* & 8/8 & 8/8 \\ -Context Preproc. & 2/4 & 3/4 & 4/4 \\ -VLM Scene & 0/7* & --- & 6/7 \\ +Security Classification & 100\% & No \\ +Narrative Synthesis & 100\% & No \\ +Tool Use & $\geq$91.7\% & Optional \\ +Event Deduplication & 87.5\% & For edge cases \\ +Topic Classification & $\geq$93.8\% & No \\ +Knowledge Distillation & $\geq$93.8\% & No \\ +Chat \& JSON Compliance & $\geq$91.7\% & No \\ +Context Preprocessing & $\sim$87.5\% & For high-accuracy \\ \bottomrule -\multicolumn{4}{l}{\footnotesize *Includes timeout failures} \\ \end{tabular} \end{table} -\textbf{Recommendation}: Deploy a \emph{tiered hybrid architecture}: +\textbf{Recommendation}: Deploy a \emph{local-first architecture} +with a 9B Qwen3.5 variant, with optional cloud overflow for +high-stakes or latency-critical operations: \begin{itemize}[nosep] - \item \textbf{Tier 1 (Local)}: Security classification, tool use, - narrative synthesis. These tasks achieve $\geq$91\% accuracy locally - with acceptable latency. - \item \textbf{Tier 2 (Cloud on demand)}: Knowledge distillation, - emergency response, context preprocessing. Route to cloud when - the task exceeds local capability or when latency is critical. - \item \textbf{Tier 3 (Hybrid VLM)}: Small local VLM ($\leq$2B) for - real-time scene description; cloud VLM for entity verification - and complex scene analysis. + \item \textbf{Tier 1 (Local, always)}: Security classification, + narrative synthesis, topic classification. Perfect or near-perfect + accuracy at 9B scale; no cloud exposure of footage. + \item \textbf{Tier 2 (Local, preferred)}: Tool use, knowledge + distillation, multi-turn reasoning. 91--94\% local accuracy is + acceptable for non-emergency tasks. + \item \textbf{Tier 3 (Cloud on demand)}: Context preprocessing + (index-level deduplication) and event deduplication with + cross-camera reasoning. Route to cloud only when the task exceeds + local confidence thresholds or when sub-second response is required. \end{itemize} \subsection{Privacy vs.\ Accuracy Tradeoff} Home security is inherently privacy-sensitive---sending camera footage -to cloud APIs raises legitimate concerns. Our results quantify this -tradeoff: local-only deployment sacrifices 26~percentage points of -accuracy (72\% vs.\ 98\%) compared to hybrid. However, the -\emph{security-critical} task (threat classification) maintains 100\% -accuracy locally, meaning privacy-preserving deployments can still -reliably triage events without cloud exposure. +to cloud APIs raises legitimate concerns. Our results fundamentally +reframe this tradeoff: local-only deployment (Qwen3.5-9B) at 93.8\% +sacrifices only \textbf{4.1 percentage points} vs.\ the best cloud +model (GPT-5.4, 97.9\%), while maintaining complete data privacy. +The \emph{security-critical} task (threat classification) achieves +100\% accuracy locally, meaning privacy-preserving deployments lose +nothing on the most consequence-heavy task. \subsection{Cost Analysis} -At current OpenAI pricing, Config~B (cloud) processes the full 47-test -LLM benchmark for approximately \$0.04 in API costs (17.6K tokens at -GPT-5.2 rates). Extrapolated to continuous operation (50~events/day, -each requiring classification + tool call), cloud costs are approximately -\$3--5/month. Local deployment has zero marginal cost but requires -\$200--400 GPU-capable hardware (or an existing Apple Silicon Mac). -The breakeven point is approximately 3--6~months of continuous operation. +At M5~Pro acquisition cost (\$2,499 base) and current OpenAI GPT-5.4 +pricing, the LLM-only benchmark (96 tests) costs approximately +\$0.06 per full cloud run. Extrapolated to continuous operation +(50~events/day), cloud costs are approximately \$3--8/month. +Local deployment has zero marginal cost after hardware. The breakeven +point for local hardware vs.\ cloud API is approximately +24--36~months of continuous daily operation---a compelling case +for long-lived home security deployments. + +For the \textit{MoE opportunity}: the Qwen3.5-35B-MoE at 435~ms TTFT +(27.2~GB peak memory) costs nothing per token while matching +GPT-5.4-nano (92.7\%) on quality, with lower first-token latency. +For latency-sensitive alerting (``who is at my door right now?''), +the MoE variant may be preferable to any cloud model. \subsection{Benchmark Limitations and Future Work} +\label{sec:limitations} \begin{enumerate}[nosep] - \item \textbf{Model coverage}: Additional models (Llama~3.2, - Mistral~7B, Phi-3, Claude~3.5, Gemini~2.0 Flash) are needed for - comprehensive comparison. We plan per-model profiles in future - revisions. + \item \textbf{API compatibility}: GPT-5-mini (2025) results are + unreliable due to API-level temperature restrictions. Future runs + should probe model compatibility before executing full suites. \item \textbf{Synthetic VLM fixtures}: Test frames are AI-generated. - Real security camera footage (with consent) would provide more - ecologically valid evaluation. - \item \textbf{Single hardware config}: ARM-only results should be - validated on NVIDIA GPUs, x86 CPUs, and ARM SBCs (Raspberry Pi~5, - NVIDIA Jetson). + Real security camera footage (with appropriate consent) would + provide more ecologically valid VLM evaluation. + \item \textbf{Single hardware config}: Results reflect Apple M5~Pro + (ARM). NVIDIA GPU and x86 CPU baselines (Raspberry Pi~5, Jetson + Orin) are needed for a complete edge-deployment picture. \item \textbf{No fine-tuning evaluation}: All models are evaluated - zero-shot with inference-time prompting. Security-domain fine-tuned - models may close the local-cloud gap significantly. + zero-shot. Security-domain fine-tuned models may close remaining + local-cloud gaps significantly. \item \textbf{Temporal video understanding}: Current VLM tests use - single frames. Multi-frame or video-native VLMs (e.g., via - llama.cpp video support) should be evaluated for motion-aware scene - analysis. - \item \textbf{Adversarial robustness}: No tests evaluate model - behavior under adversarial inputs (e.g., prompt injection via - on-camera text, coordinated deduplication evasion). + single frames. Multi-frame and video-native VLMs (e.g., via + llama.cpp video support) should be evaluated for motion-aware + scene analysis. + \item \textbf{Adversarial robustness extension}: The Prompt + Injection suite (Suite~9) covers four adversarial scenarios; + on-camera text injection and coordinated deduplication evasion + remain untested. \end{enumerate} % ══════════════════════════════════════════════════════════════════════════════ @@ -1094,27 +1078,35 @@ \subsection{Benchmark Limitations and Future Work} \section{Conclusion} We presented HomeSec-Bench, the first open-source benchmark for evaluating -LLM and VLM models on the full cognitive pipeline of AI home security -assistants. Our 143-test suite spans 16~evaluation dimensions---from +LLM and VLM models on the full cognitive pipeline of an AI home security +assistant. Our 96-test LLM suite spans 15~evaluation dimensions---from four-level threat classification to agentic tool selection to cross-camera -event deduplication, prompt injection resistance, and multi-turn contextual -reasoning---providing a standardized, reproducible framework for -comparing model suitability in video surveillance deployments. - -Results from 34~benchmark runs across three configurations reveal a -nuanced landscape. Security classification is universally robust (100\% -across all configurations), validating local deployment for the most -critical task. Tool selection degrades gracefully (91.7\% local vs.\ -100\% cloud), making it a strong candidate for edge inference. However, -context management, temporal reasoning, and local VLM inference under -memory pressure remain significant challenges, arguing for hybrid -architectures that route complex tasks to cloud APIs while preserving -privacy for routine operations. +event deduplication, prompt injection resistance, knowledge injection, and +multi-turn contextual reasoning---providing a standardized, reproducible +framework for comparing model suitability in video surveillance deployments. + +Evaluating seven model configurations on a single Apple~M5~Pro laptop +reveals a fundamentally different landscape than the established +consensus that cloud models are required for production AI accuracy. +The \textbf{Qwen3.5-9B} achieves \textbf{93.8\%}---within 4.1 points +of GPT-5.4 (97.9\%)---while running entirely locally with 13.8~GB of +unified memory, zero API cost, and complete data privacy. The +Qwen3.5-35B-MoE variant produces \textbf{lower first-token latency} +(435~ms) than any cloud endpoint we tested (508~ms for GPT-5.4-nano), +demonstrating that sparse MoE activation is a compelling architectural +choice for latency-sensitive security alerting on consumer hardware. + +Security classification is universally robust (100\% across all models), +validating local inference for the most consequence-heavy task. +Event deduplication across camera views---specifically multi-camera +entity tracking and temporal scene change disambiguation---is the +remaining frontier where cloud models (GPT-5.4, 8/8) maintain a +meaningful edge over local models (6--7/8). The benchmark, all fixtures, and historical results are available at: \url{https://github.com/SharpAI/DeepCamera} -\balance + % ══════════════════════════════════════════════════════════════════════════════ % REFERENCES From fa077453fcaa3fa35bb0da14a1da88e0c6409fcf Mon Sep 17 00:00:00 2001 From: Simba Zhang Date: Fri, 20 Mar 2026 23:53:36 -0700 Subject: [PATCH 2/2] fix(benchmark): model-family-aware thinking suppression + streaming sanity check - Add MODEL_FAMILIES config table with per-model API params and server flags - Add getModelApiParams() helper to inject reasoning_effort:none for Mistral - Add delta.thinking fallback in streaming loop to capture thinking tokens - Add streaming sanity check before benchmark run (detects empty-token loops) - Add test-model-config.cjs with 17 unit tests for model detection logic --- .../scripts/run-benchmark.cjs | 128 ++++++++++++- .../scripts/test-model-config.cjs | 170 ++++++++++++++++++ 2 files changed, 296 insertions(+), 2 deletions(-) create mode 100644 skills/analysis/home-security-benchmark/scripts/test-model-config.cjs diff --git a/skills/analysis/home-security-benchmark/scripts/run-benchmark.cjs b/skills/analysis/home-security-benchmark/scripts/run-benchmark.cjs index 8598be1..d1b03a9 100644 --- a/skills/analysis/home-security-benchmark/scripts/run-benchmark.cjs +++ b/skills/analysis/home-security-benchmark/scripts/run-benchmark.cjs @@ -120,6 +120,66 @@ const vlmClient = VLM_URL ? new OpenAI({ baseURL: `${strip(VLM_URL)}/v1`, }) : null; +// ─── Model Family Capabilities Config ──────────────────────────────────────── +// +// Different model families require different per-request params to control +// thinking/reasoning behavior. This table centralizes those differences so +// llmCall() can dispatch them automatically. +// +// Fields: +// match — fn(modelName: string) → bool +// apiParams — extra params merged into every chat/completions request +// serverFlags — llama-server startup flags needed for full control +// (documentation only — llmCall is a client and cannot set these) +// +// ┌─────────────────────┬──────────────────────────────┬──────────────────────────────────────────┐ +// │ Family │ Per-request param │ llama-server startup flag │ +// ├─────────────────────┼──────────────────────────────┼──────────────────────────────────────────┤ +// │ Mistral Small 4+ │ reasoning_effort: 'none' │ --reasoning-budget 0 │ +// │ Qwen3.5 (thinking) │ (none needed — handled by │ --chat-template-kwargs │ +// │ │ /no_think prompt suffix and │ '{"enable_thinking":false}' │ +// │ │ 500-token reasoning abort) │ │ +// │ GPT / Claude │ (none — cloud API, no local │ N/A │ +// │ │ thinking tokens) │ │ +// └─────────────────────┴──────────────────────────────┴──────────────────────────────────────────┘ +// +// To add a new model family: append an entry to MODEL_FAMILIES. +// The match fn receives the lower-cased model name/filename. + +const MODEL_FAMILIES = [ + { + name: 'Mistral', + // Covers: Mistral-Small-4, Mistral-*, Magistral-*, Mixtral-* + match: (m) => m.includes('mistral') || m.includes('magistral') || m.includes('mixtral'), + // reasoning_effort=none disables thinking and routes all output to delta.content. + // Supported by both Mistral cloud API and llama-server (forwarded as chat template kwarg). + // Without this Mistral routes ALL output to delta.thinking, causing 30s idle timeouts. + apiParams: { reasoning_effort: 'none' }, + serverFlags: '--reasoning-budget 0', + }, + // Qwen3.5 thinking is handled via prompt-level /no_think and the 500-token reasoning + // abort in llmCall — no extra per-request params needed. + // { + // name: 'Qwen3', + // match: (m) => m.includes('qwen') || m.includes('qwq'), + // apiParams: {}, // could add: { chat_template_kwargs: { enable_thinking: false } } + // serverFlags: "--chat-template-kwargs '{\"enable_thinking\":false}'", + // }, +]; + +/** + * Return the merged extra API params for the given model name. + * Returns {} if the model is not in any known family. + */ +function getModelApiParams(modelName) { + if (!modelName) return {}; + const lower = modelName.toLowerCase(); + for (const family of MODEL_FAMILIES) { + if (family.match(lower)) return family.apiParams || {}; + } + return {}; +} + // ─── Skill Protocol: JSON lines on stdout, human text on stderr ────────────── /** @@ -226,6 +286,10 @@ async function llmCall(messages, opts = {}) { // Sending max_tokens to thinking models (Qwen3.5) starves actual output since // reasoning_content counts against the limit. + // Lookup model-family-specific extra params (e.g. reasoning_effort for Mistral). + // VLM calls skip the LLM family table — VLM models are always local llava-compatible. + const modelFamilyParams = opts.vlm ? {} : getModelApiParams(model || LLM_MODEL); + // Build request params const params = { messages, @@ -238,6 +302,9 @@ async function llmCall(messages, opts = {}) { ...(opts.expectJSON && opts.temperature === undefined && { temperature: 0.7 }), ...(opts.expectJSON && { top_p: 0.8 }), ...(opts.tools && { tools: opts.tools }), + // Model-family-specific params (e.g. reasoning_effort:'none' for Mistral). + // These are merged last so they take precedence over defaults. + ...modelFamilyParams, }; // Use an AbortController with idle timeout that resets on each streamed chunk. @@ -297,7 +364,11 @@ async function llmCall(messages, opts = {}) { const delta = chunk.choices?.[0]?.delta; if (delta?.content) content += delta.content; if (delta?.reasoning_content) reasoningContent += delta.reasoning_content; - if (delta?.content || delta?.reasoning_content) { + // Fallback: Mistral Small 4 in llama-server may route thinking tokens through + // `delta.thinking` even when reasoning_effort=none is requested (llama.cpp + // compatibility varies by version). Capture it so the idle timer resets. + if (delta?.thinking) reasoningContent += delta.thinking; + if (delta?.content || delta?.reasoning_content || delta?.thinking) { tokenCount++; // Capture TTFT on first content/reasoning token if (!firstTokenTime) firstTokenTime = Date.now(); @@ -2347,8 +2418,61 @@ async function main() { emit({ event: 'error', message: `Cannot reach LLM endpoint: ${err.message}` }); process.exit(IS_SKILL_MODE ? 0 : 1); } + // ── Streaming sanity check ──────────────────────────────────────────────── + // Fires a tiny streaming call to verify the model actually produces content. + // Catches the Mistral "token-loop" bug: server started with a Qwen-specific + // --chat-template-kwargs flag causes Mistral to emit only empty token ID 31 + // on every chunk, giving 0 content tokens for every test. + // + // This check saves ~30 minutes of doomed benchmark runs by failing fast. + log('\n 🔍 Streaming sanity check (10 tokens)...'); + try { + const warmupParams = { + ...(LLM_MODEL && { model: LLM_MODEL }), + messages: [{ role: 'user', content: 'Reply with just the word: hello' }], + stream: true, + max_tokens: 10, + ...getModelApiParams(LLM_MODEL), + }; + const warmupStream = await llmClient.chat.completions.create(warmupParams); + let warmupContent = ''; + let warmupChunks = 0; + const warmupController = new AbortController(); + const warmupTimeout = setTimeout(() => warmupController.abort(), 15000); + try { + for await (const chunk of warmupStream) { + warmupChunks++; + const d = chunk.choices?.[0]?.delta; + if (d?.content) warmupContent += d.content; + if (d?.reasoning_content) warmupContent += d.reasoning_content; + if (d?.thinking) warmupContent += d.thinking; + if (warmupChunks >= 30) break; // enough chunks to decide + } + } finally { + clearTimeout(warmupTimeout); + } + + if (warmupContent.trim().length === 0) { + // Model produced chunks but zero content — server is in a bad state + const modelName = results.model.name || LLM_MODEL || 'current model'; + log(`\n ❌ STREAMING SANITY CHECK FAILED`); + log(` The model (${modelName}) produced ${warmupChunks} stream chunks but 0 content tokens.`); + log(` This usually means the llama-server was started with an incompatible`); + log(` --chat-template-kwargs flag (e.g. Qwen's enable_thinking:false applied to Mistral).`); + log(`\n ➡ Fix: Reload the model in Aegis-AI to restart the llama-server with`); + log(` the correct flags for this model family.`); + log(` Mistral requires: --reasoning-budget 0`); + log(` Qwen requires: --chat-template-kwargs '{"enable_thinking":false}'\n`); + emit({ event: 'error', message: `Streaming sanity failed: ${warmupChunks} chunks, 0 content tokens. Reload the model in Aegis-AI to fix.` }); + process.exit(IS_SKILL_MODE ? 0 : 1); + } + + log(` ✅ Streaming OK — ${warmupContent.trim().split(/\s+/).length} words, ${warmupChunks} chunks`); + } catch (err) { + // Non-fatal — if warmup errors, let the benchmark try; individual tests will surface the issue + log(` ⚠️ Streaming warmup error (non-fatal): ${err.message}`); + } - // Collect system info results.system = collectSystemInfo(); log(` System: ${results.system.cpu} (${results.system.cpuCores} cores)`); log(` Memory: ${results.system.freeMemoryGB}GB free / ${results.system.totalMemoryGB}GB total`); diff --git a/skills/analysis/home-security-benchmark/scripts/test-model-config.cjs b/skills/analysis/home-security-benchmark/scripts/test-model-config.cjs new file mode 100644 index 0000000..752dee5 --- /dev/null +++ b/skills/analysis/home-security-benchmark/scripts/test-model-config.cjs @@ -0,0 +1,170 @@ +#!/usr/bin/env node +/** + * Unit tests for MODEL_FAMILIES / getModelApiParams logic. + * + * Tests the model-family detection and per-request param injection + * without needing a running LLM server. + * + * Usage: + * node scripts/test-model-config.cjs + */ + +// ── Inline the config under test ───────────────────────────────────────────── +// (Kept in sync with run-benchmark.cjs MODEL_FAMILIES section) + +const MODEL_FAMILIES = [ + { + name: 'Mistral', + match: (m) => m.includes('mistral') || m.includes('magistral') || m.includes('mixtral'), + apiParams: { reasoning_effort: 'none' }, + serverFlags: '--reasoning-budget 0', + }, + // Qwen3.5: no extra per-request params needed (handled by prompt + abort logic) +]; + +function getModelApiParams(modelName) { + if (!modelName) return {}; + const lower = modelName.toLowerCase(); + for (const family of MODEL_FAMILIES) { + if (family.match(lower)) return family.apiParams || {}; + } + return {}; +} + +// ── Mirror the server-manager detection ────────────────────────────────────── +function getServerFlags(modelFilePath) { + const lower = modelFilePath.toLowerCase(); + const isMistralFamily = lower.includes('mistral') || + lower.includes('magistral') || + lower.includes('mixtral'); + return isMistralFamily + ? { flag: '--reasoning-budget', value: '0' } + : { flag: '--chat-template-kwargs', value: '{"enable_thinking":false}' }; +} + +// ── Test harness ───────────────────────────────────────────────────────────── + +let passed = 0; +let failed = 0; + +function test(name, fn) { + try { + fn(); + console.log(` ✅ ${name}`); + passed++; + } catch (err) { + console.log(` ❌ ${name}: ${err.message}`); + failed++; + } +} + +function assert(condition, msg) { + if (!condition) throw new Error(msg || 'Assertion failed'); +} + +function assertDeepEqual(a, b, msg) { + const as = JSON.stringify(a), bs = JSON.stringify(b); + if (as !== bs) throw new Error(`${msg || 'Not equal'}: got ${as}, expected ${bs}`); +} + +// ── Tests ──────────────────────────────────────────────────────────────────── + +console.log('\n=== MODEL_FAMILIES / getModelApiParams ===\n'); + +// ── Mistral detection ───────────────────────────────────────────────────────── +test('Mistral-Small-4-119B GGUF filename → reasoning_effort:none', () => { + const p = getModelApiParams('Mistral-Small-4-119B-2603-UD-IQ1_M.gguf'); + assertDeepEqual(p, { reasoning_effort: 'none' }); +}); + +test('Mistral-Small-4 Q2_K_XL variant → reasoning_effort:none', () => { + const p = getModelApiParams('Mistral-Small-4-119B-2603-UD-Q2_K_XL.gguf'); + assertDeepEqual(p, { reasoning_effort: 'none' }); +}); + +test('Magistral model → reasoning_effort:none', () => { + const p = getModelApiParams('magistral-medium-2506.gguf'); + assertDeepEqual(p, { reasoning_effort: 'none' }); +}); + +test('Mixtral-8x7B → reasoning_effort:none', () => { + const p = getModelApiParams('Mixtral-8x7B-Instruct-v0.1.Q4_K_M.gguf'); + assertDeepEqual(p, { reasoning_effort: 'none' }); +}); + +test('Mistral cloud API model ID → reasoning_effort:none', () => { + const p = getModelApiParams('mistral-small-latest'); + assertDeepEqual(p, { reasoning_effort: 'none' }); +}); + +// ── Non-Mistral: should get no extra params ─────────────────────────────────── +test('Qwen3.5-9B → no extra params (handled by prompt)', () => { + const p = getModelApiParams('Qwen3.5-9B-Q4_K_M.gguf'); + assertDeepEqual(p, {}); +}); + +test('Qwen3.5-27B → no extra params', () => { + const p = getModelApiParams('Qwen3.5-27B-UD-Q8_K_XL.gguf'); + assertDeepEqual(p, {}); +}); + +test('NVIDIA Nemotron-30B → no extra params', () => { + const p = getModelApiParams('NVIDIA-Nemotron-3-Nano-30B-A3B-Q8_0.gguf'); + assertDeepEqual(p, {}); +}); + +test('LFM2-24B → no extra params', () => { + const p = getModelApiParams('LFM2-24B-A2B-Q8_0.gguf'); + assertDeepEqual(p, {}); +}); + +test('GPT-5.4 → no extra params', () => { + const p = getModelApiParams('gpt-5.4-2026-03-05'); + assertDeepEqual(p, {}); +}); + +test('Empty model name → no extra params', () => { + const p = getModelApiParams(''); + assertDeepEqual(p, {}); +}); + +test('Undefined model name → no extra params', () => { + const p = getModelApiParams(undefined); + assertDeepEqual(p, {}); +}); + +// ── Server-manager flags (mirrors llm-server-manager.cjs logic) ─────────────── +console.log('\n=== Server-manager startup flags ===\n'); + +test('Mistral GGUF path → --reasoning-budget 0', () => { + const f = getServerFlags('/Users/simba/.aegis-ai/models/Mistral-Small-4-119B-2603-UD-IQ1_M.gguf'); + assert(f.flag === '--reasoning-budget' && f.value === '0', + `Expected --reasoning-budget 0, got ${f.flag} ${f.value}`); +}); + +test('Magistral path → --reasoning-budget 0', () => { + const f = getServerFlags('/models/magistral-medium.gguf'); + assert(f.flag === '--reasoning-budget' && f.value === '0'); +}); + +test('Qwen path → --chat-template-kwargs enable_thinking:false', () => { + const f = getServerFlags('/models/Qwen3.5-9B-Q4_K_M.gguf'); + assert(f.flag === '--chat-template-kwargs'); + assert(f.value.includes('enable_thinking')); + assert(f.value.includes('false')); +}); + +test('Nemotron path → --chat-template-kwargs enable_thinking:false', () => { + const f = getServerFlags('/models/NVIDIA-Nemotron-3-Nano-30B-A3B-Q8_0.gguf'); + assert(f.flag === '--chat-template-kwargs'); +}); + +test('LFM2 path → --chat-template-kwargs enable_thinking:false', () => { + const f = getServerFlags('/models/LFM2-24B-A2B-Q8_0.gguf'); + assert(f.flag === '--chat-template-kwargs'); +}); + +// ── Summary ────────────────────────────────────────────────────────────────── + +console.log(`\n${passed + failed} tests: ${passed} passed, ${failed} failed\n`); +process.exit(failed > 0 ? 1 : 0);