{"slug": "bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer", "title": "Bringing Visual Graph Debugging to Custom Edge Compilers with Model Explorer", "summary": "Arm built open-source adapters that plug custom compiler intermediate representations — TOSA, VGF and PTE — into Google AI Edge Model Explorer, giving developers visual debugging of on-device model pipelines. Using the tool, Arm engineers found unintended TRANSPOSE operators introduced by a change in the ExecuTorch Arm backend while validating a PyTorch-trained Neural Super Sampling model exported as a VGF file, and used Model Explorer's split-pane view to compare CPU and NPU-delegated graphs for an Ultralytics YOLO model on the Arm Ethos-U85 NPU. Running the model on Arm's Fixed Virtual Platform simulator with Model Explorer's node data plugin, cycle-accurate traces overlaid as color-coded heatmaps showed a single TRANSPOSE node was the main latency bottleneck; the adapters are available now via PyPI or GitHub.", "body_md": "Model Explorer goes beyond high-level model graphs. See how Arm plugs in custom compiler IRs, verifies NPU delegation side-by-side, and maps cycle-level profiling traces directly onto your execution graph.\n\nMachine learning models run locally on a wide range of hardware, from low-power edge devices to gaming graphics and physical AI systems. Running models efficiently on these targets requires compilation steps such as quantization, graph lowering, operator fusion, and hardware delegation.\n\nArm used [**Google AI Edge Model Explorer**](https://developers.google.com/edge/model-explorer) to give developers visibility into these pipelines. With Model Explorer's hierarchical graph visualization and plugin architecture, Arm built several open-source adapters that make edge model transformations easier to inspect.\n\nWhen deploying a model to edge hardware, a framework change or operator constraint can alter the exported execution graph. Engineers often need to answer three questions:\n\nAnswering these questions by reading raw flatbuffers or text logs takes time, especially for large language models (LLMs) and neural networks. Arm needed a visual tool to inspect Arm-specific intermediate representations and hardware profiling traces.\n\nTo address these deployment challenges, Arm developed custom adapters for Google AI Edge Model Explorer to support several model formats (i.e., [**TOSA**](https://www.mlplatform.org/tosa/tosa_spec.html), [** VGF**](https://docs.pytorch.org/executorch/stable/tutorial-arm-vgf.html), and [** PTE**](https://docs.pytorch.org/executorch/stable/pte-file-format.html)), establishing a comprehensive visual workflow for on-device optimization. Using these extensions, engineering teams can validate exported pipelines, verify accelerator delegation, and pinpoint cycle-level performance bottlenecks directly on the model graph:\n\nArm engineers used Model Explorer to validate a PyTorch-trained [Neural Super Sampling (NSS) model](https://huggingface.co/Arm/neural-super-sampling) exported through the ExecuTorch Arm backend as a VGF file for Vulkan ML Extensions. While inspecting the VGF graph, the team found unintended `TRANSPOSE` operators introduced by a change in the ExecuTorch Arm backend.\n\nModel Explorer enables users to inspect individual nodes of the model graph, such as the `rescale` operator depicted below, which displays the operator's attributes and SPIR-V tensor connections. This functionality assisted the Arm team in identifying and resolving the regression without requiring manual analysis of raw log files.\n\nTo optimize vision models for accelerators like the [Arm Ethos-U85 NPU](https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u85), Arm engineers used **Model Explorer's** [split-pane view](https://github.com/google-ai-edge/model-explorer/wiki/2.-User-Guide#split-pane-view) to compare CPU and NPU-delegated graphs side-by-side for a Ultralytics YOLO model.\n\nThe split-pane view showed the structural difference: the CPU graph displays each individual layer, while the NPU graph groups the network into a single `EthosUBackend` block between `quantize` and `dequantize` nodes. For partially supported models in **LiteRT** or **ExecuTorch**, this view helps identify un-delegated operators and split subgraphs.\n\nTo find latency bottlenecks on the Ethos-U NPU, Arm ran their model on their [Fixed Virtual Platform (FVP)](https://www.arm.com/products/development-tools/simulation/fixed-virtual-platforms) simulator and used **Model Explorer's** [node data plugin](https://github.com/google-ai-edge/model-explorer/wiki/4.-API-Guide#custom-node-data) to overlay cycle-accurate execution traces onto the graph. Color-coded heatmaps showed that a single `TRANSPOSE` node was the main latency bottleneck.\n\nYou can use Google AI Edge Model Explorer along with Arm's open-source adapters today to inspect and optimize your own on-device models locally via PyPI or GitHub.\n\nSpecial thanks to the contributors across the Arm and Google AI Edge teams for their work on these adapters and integrations:\n\nEngineers:\n\nProduct manager: Charlie Stokes (ARM), Derek Bekebrede\n\nDesigners: Ami Kubota, Ioannis Politis (ARM), Kathleen Low, Philip Watson (ARM)\n\nSenior Sponsors: Bala Gattu (ARM), Cormac Brick, Joe Alderson (ARM), Matthias Grundmann, Sharbani Roy (ARM)", "url": "https://wpnews.pro/news/bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer", "canonical_source": "https://developers.googleblog.com/bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer/", "published_at": "2026-10-20 16:18:06.668954+00:00", "updated_at": "2026-10-20 16:18:09.093013+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "ai-infrastructure", "machine-learning"], "entities": ["Arm", "Google AI Edge Model Explorer", "ExecuTorch", "Arm Ethos-U85 NPU", "TOSA", "VGF", "Ultralytics YOLO", "LiteRT"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer", "markdown": "https://wpnews.pro/news/bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer.md", "text": "https://wpnews.pro/news/bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer.txt", "jsonld": "https://wpnews.pro/news/bringing-visual-graph-debugging-to-custom-edge-compilers-with-model-explorer.jsonld"}}