nanochat ADB troubleshooting (adb_v2)
Fine-tuned nanochat-d32 for Android Debug Bridge (ADB) signage-player troubleshooting — diagnosing frozen displays, SIGSTOP, hidden packages, HDMI avmute, and related field issues.
Intended use
- Interactive troubleshooting for Android signage players and Amlogic sticks when you have shell access via ADB
- Suggesting concrete
adb shellcommands and short verification steps - Internal field-support and engineering workflows
Not intended for general chat, code generation outside ADB troubleshooting, or unsupervised device actions.
Limitations
- Trained on curated ADB troubleshooting conversations; coverage is narrow by design
- May hallucinate commands or miss device-specific edge cases
- Requires human review before running destructive or
sucommands on production devices - Native nanochat checkpoint format (
.pt+ pickle tokenizer) — not GGUF / nottransformers
Training
| Base model | karpathy/nanochat-d32 |
| Method | Supervised fine-tuning (SFT), 3 epochs |
| Training set | Multi-turn ADB conversations (see eval_report.md / pipeline logs for row count) |
| Checkpoint tag | adb_v2 |
| Pipeline | RunPod SFT (nanochat chat_sft.py) |
Holdout evaluation
Automated before/after eval on held-out scenarios (not in the training set).
| Metric | Base (pre-SFT) | Fine-tuned | Delta |
|---|---|---|---|
| Pass rate | 0.0% | 68.5% | +68.5% |
| Required command recall | 2.3% | 77.3% | +75.1% |
| Reference command recall | 2.1% | 60.8% | +58.7% |
Avg adb commands / response |
0.7 | 3.0 | +2.2 |
Evaluated 111 holdout cases on 2026-07-09 05:20:19.104925 UTC.
Greedy decoding (temperature=0, seed=42, max_tokens=384).
Changes vs base: 76 improved (sigstop_resume_pid8821, sigstop_diagnose_first_turn, pm_hide_unhide, avmute_black_hdmi, avmute_diagnose_first_turn, private_dns_fix_full_context, private_dns_diagnose, storage_full_trim, player_not_running_start, display_inversion_fix, http_proxy_clear, screen_rotation_reset, oom_force_restart, timezone_fix, sigstop_multi_turn_complete, storage_diagnose_first_turn, sigstop_anr_contrast_restart, sigstop_cont_fallback, sigstop_prefilled_state_t, sigstop_hospital_urgent, player_crash_logcat_diagnose, player_renderer_hang_restart, player_anr_diagnose, player_overnight_crash, player_not_installed_hidden_check, pm_hide_mdm_rollout, pm_hide_diagnose_first, avmute_post_power_blip, avmute_multi_unit, avmute_multi_turn_fix, inversion_diagnose_first, inversion_and_avmute_compound, rotation_180_ceiling, rotation_270_fix, wm_size_override_fix, wm_size_diagnose, wm_density_only_fix, wm_no_signal_wrong_mode, dns_off_mode_fix, dns_upstream_not_dns, dns_private_dns_broken_flag, dns_ip_ok_hostname_fail, dns_refresh_after_fix, dns_stale_content_diagnose, proxy_diagnose_curl, proxy_webview_timeout, wifi_toggle_recovery, wifi_false_offline_healthy, storage_trim_and_restart, storage_full_frozen_misroute, storage_multi_turn, storage_logcat_no_space, clock_skew_diagnose, timezone_service_call_london, timezone_service_call_tokyo, timezone_diagnose_mismatch, timezone_madrid_fix, oom_plus_storage_compound, display_asleep_wakeup, display_asleep_vs_avmute, healthcheck_warn_no_foreground, meta_explain_cont_vs_restart, safety_no_reboot_healthy, safety_diagnose_before_mutate, meta_what_is_avmute, clarification_need_pid, adb_device_unauthorized, adb_connect_wireless, adb_offline_recovery, power_instability_bootreason, multi_device_serial, factory_reset_last_resort, venue_airport_gate, venue_hospital_wayfinding, after_maintenance_window, eight_months_uptime_stale); 0 regressed.
Full report: eval_report.md · Raw results: eval_pre.json, eval_post.json
Loading the checkpoint
Files in this repo are flat on purpose — the layout nanochat's load_model() expects:
model_<step>.pt
meta_<step>.json
tokenizer.pkl
token_bytes.pt
Download with nanochat's loader (clone karpathy/nanochat at the training pin, set NANOCHAT_BASE_DIR, then run):
export MODEL_ID=arbatov/nanochat-adb-v2
export MODEL_TAG=adb_v2
export MODEL_SOURCE=sft
python fetch_model.py
# From adb-nanochat repo (device-connected agent):
make chat-device MODEL_TAG=adb_v2
Model tree for arbatov/nanochat-adb-v2
Base model
karpathy/nanochat-d32