AI Debugging Tool TensorWatch Open Sourced by Microsoft Research
TensorWatch, a new AI debugging and visualization tool from Microsoft Research, is now available as an open source offering on GitHub, 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."
"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," said an announcement post published June 25 by a team from Microsoft Research, the home of our own resident data scientist, Dr. James McCaffrey, who authors VSM Data Science Lab tutorials.
The Microsoft Research team said the open source project stemmed from an examination of ever-increasing model complexity, larger datasets and longer training times for models. While logging can provide insights into understanding training metrics, that relatively expensive approach tends to be generally avoided, leaving data scientists to often guesstimate the cause of observed patterns while relying on limited signals. So the team asked these questions:
- 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?
The tool's GitHub site provides more details on the logging issue:
TensorWatch is designed to be flexible and extensible so you can also build your own custom visualizations, UIs, and dashboards. Besides traditional "what-you-see-is-what-you-log" approach, 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 (we call this Lazy Logging Mode).
Besides the Lazy Logging Mode, other characteristics of TensorWatch as detailed in Microsoft's announcement include:
- It extensively leverages Jupyter Notebook instead of prepackaged UIs, which are often difficult to customize.
- As a Python library, developers and data scientists can build custom UIs or use TensorWatch otherwise in the huge Python data science ecosystem.
- One of the central premises of the TensorWatch architecture is that data and other objects are uniformly treated as streams, including files, console, sockets, cloud storage and even visualizations themselves.
- TensorWatch supports several standard visualization types such as bar charts, histograms, and pie charts, as well as 3D variations.
- It leverages several other open source libraries to enable many pre- and post-training features, which include 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.
On GitHub, the new project already boasts 1,575 stars at the time of this writing, receiving code from five contributors -- with the lead being Shital Shah -- and sporting four releases, under an MIT license.
David Ramel is the editor of Visual Studio Magazine.