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 shell commands 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 su commands on production devices
  • Native nanochat checkpoint format (.pt + pickle tokenizer) — not GGUF / not transformers

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
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for arbatov/nanochat-adb-v2

Finetuned
(4)
this model