AI Debugging & Visualization Tool ‘TensorWatch’ Open-Sourced By Microsoft Research
Microsoft Research has open-sourced TensorWatch, a new AI debugging and visualization tool on GitHub under the MIT license, where it’s “under heavy development with a goal of providing a platform for debugging machine learning in one easy to use, extensible, and hackable package.”
The aim of TensorWatch is to reduce the growing complexity, depth, and training requirements of AI models and also provide more efficient and cost-effective debugging and logging.
“We’re happy to introduce TensorWatch,” Microsoft Research Team said in an announcement post published on June 25. “We like to think of TensorWatch as the Swiss Army knife of debugging tools with many advanced capabilities researchers and engineers will find helpful in their work.”
According to Microsoft, the available tools for machine learning training have focused on a “what you see is what you log” approach. As a result, researchers and engineers tend to avoid it as logging is relatively expensive, and they instead depend on a few signals to project the cause of the patterns they see.
Microsoft Research further wrote: “What if we could dramatically reduce the cost of getting more information about the state of the system? What if we had advanced tooling that could help researchers make more informed decisions effectively?”
TensorWatch is designed to be flexible and extensible so that it can be used to create custom visualizations, UIs, and dashboards. It also has a unique capability to execute arbitrary queries against your live ML training process, return a stream as a result of the query and view this stream using your choice of a visualizer (also called as Lazy Logging Mode).
With the help of lazy logging mode, one can automate logging information by allowing the tool to watch variables. Users can easily track multiple variables which include large models or the entire batches during machine learning training, perform interactive queries, and many more.
Further, Microsoft uses Jupyter Notebook for this platform instead of any other pre-packaged user interfaces, thus making it more customizable.
“TensorWatch extensively leverages Jupyter Notebook instead of prepackaged user interfaces, which are often difficult to customize. TensorWatch provides the interactive debugging of real-time training processes using either the composable UI in Jupyter Notebooks or the live shareable dashboards in Jupyter Lab. In addition, since TensorWatch is a Python library, you can also build your own custom UIs or use TensorWatch in the vast Python data science ecosystem. TensorWatch also supports several standard visualization types, including bar charts, histograms, and pie charts, as well as 3D variations,” Microsoft Research Team said.
“TensorWatch streams can listen to other streams, which enables the creation of custom data flow graphs,” added Microsoft Research team, stating that the approach supports advanced scenarios. “For example, you can render many streams into the same visualization, or one stream can be rendered in many visualizations simultaneously, or a stream can be persisted in many files, or not persisted at all.”
It also improves the debugging capabilities in the pre-training and post-training phases by including several other excellent open-source libraries such as model graph visualization, data exploration through dimensionality reduction, model statistics and several prediction explainers for convolution networks.
“We hope TensorWatch helps spark further advances and ideas for efficiently debugging and visualizing machine learning and invite the ML community to participate in this journey via GitHub,” the team concluded.
You can find TensorWatch as an open-source project on GitHub here.
Source: Microsoft Blog