Search Strategy: Keyword Map

Visual overview of all terms and queries used to mine on-device LLM issues from GitHub.

22 Resource terms
×
16 Device terms
=
352 Grid queries
+
4 Primary queries
=
356 Queries per repo

Keyword Grid — Cartesian Product

Every resource term is paired with every device term, producing one two-term query per pair. Each query is then scoped to a specific repository (repo: qualifier). All results are deduplicated by (repo, issue_number).

Resource Axis 22 terms
Memory (7)
"out of memory" OOM "memory leak" "KV cache" "context length" RAM VRAM
Performance & Throughput (7)
"tokens/s" "tok/s" latency slow regression "inference speed" "slow inference"
Thermal & Energy (6)
thermal throttling throttled battery energy power
Quantization (2)
quantization "prefill" ← added 2026-10-10
×
352 grid queries
per repository
Device Axis 16 terms
Mobile Platforms (5)
android ios iphone ipad pixel
Hardware / SoC (6)
snapdragon NPU "Apple Silicon" Jetson ARM INT4 ← added 2026-10-10
Context Labels (5)
"on-device" mobile edge raspberry GGUF
Term groups:
Memory
Performance
Thermal/Energy
Quantization
New (2026-10-10)
Mobile Platforms
Hardware/SoC
Context

Primary Queries (standalone — not grid)

Four fixed boolean queries covering the highest-density symptom-device intersections. Executed in addition to the grid; results are merged by (repo, issue_number).

Query-1
Memory × Mobile cohort
is:issue ("out of memory" OR OOM OR "KV cache") AND (android OR snapdragon OR "on-device")
Axis: Memory pressure × mobile cohort · RQ1 (Memory), RQ2
Query-2
Performance × Apple / GPU cohort
is:issue ("tokens/s" OR "tok/s" OR latency) AND ("Apple Silicon" OR ios OR jetson)
Axis: Throughput & latency × Apple / GPU-edge · RQ1 (Latency, Throughput), RQ2
Query-3
Thermal × NPU / Mobile cohort
is:issue (thermal OR throttling OR battery) AND (npu OR mobile OR edge)
Axis: Thermal & energy envelope × NPU / embedded · RQ1 (Energy, Temperature), RQ3
Query-4 — Deployment axis
Model Conversion
is:issue "model conversion" AND (GGUF OR ollama OR NPU)
Axis: Training-to-production transition · RQ1 (Toolchain entry point), RQ3 · Added 2026-10-05

Rejected Terms

Every term that passed the evaluation and failed is recorded here with its pre-test result. A term is rejected when more than 50% of a 20-result sample are build errors, feature requests, or off-topic results.

Term Variant tested Related / 20 Primary noise type
crash free text 3 / 20 Build failures, segfaults with no resource metric
performance free text 6 / 20 Feature requests ("performance roadmap")
CUDA free text — Anchors results in datacenter/desktop-dGPU cohort
temperature free text — Homonym collision with LLM sampling hyperparameter
deployment free text 0 / 20 School assignments, bots, unrelated web apps
deployment + OOM / tok/s / latency 6 / 20 Multi-GPU cloud serving (vLLM, sglang)
serving free text 0 / 20 Food-serving homonym (recipes, restaurant apps)
production free text 0 / 20 CI/CD, manufacturing, blockchain, bots
rollout free text 0 / 20 RL training episode homonym within the ML domain
"model export" AND (GGUF OR executorch OR "mlc-llm") 5 / 20 Documentation issues, feature requests, unrelated repos
"unsupported op" AND (NPU OR executorch OR "mlc-llm") 4 / 20 LuaJIT optimizer, analytics DB, Discord bot

Pattern: process-stage vocabulary (deployment, serving, production) fails because reporters write the symptom, not the stage. Mechanism-naming terms ("model export", "unsupported op") fail for the same reason. This empirically confirms Islam et al.'s symptom-seeded vocabulary principle for the MLOps axis. See the Keyword Matrix §5 for the full decision log.