Microsoft Research Open Sources TensorWatch AI Tool
Microsoft on June 25 announced the open source release of TensorWatch, a debugging and visualization tool for deep learning projects that helps manage the increasing complexity, depth and training requirements of AI models.
TensorWatch is available on GitHub as an open source project under the MIT License.
The new tool eschews prepackaged user interfaces (UI) for composable UI in Jupyter Notebooks or live, shareable dashboards in Jupyter Lab. And because TensorWatch is a Python library, users can build their own UIs or leverage assets in the Python data science ecosystem.
TensorWatch also addresses a common modeling bottleneck -- the high cost of logging -- with a lazy logging mode that eliminates the need to explicitly log information in advance. Users instead use TensorWatch to observe variables, and then perform interactive queries via Python lambda expressions to return streams that can saved, processed, or visualized in a Jupyter Notebook.
Microsoft says lazy logging marks an important change from the "what you see is what you log" approach of most training environments. Due to the high cost of logging, researchers and engineers often rely on limited information to diagnose training patterns -- an approach that becomes increasingly untenable as model data sets and complexity grow.
In a blog post, the development team at Microsoft Research 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?"
Crossing the Streams
Core to TensorWatch is the concept of streams. The tool treats all data and other objects -- including files, consoles, sockets, and visualizations -- as streams bearing a common interface that enables broad interaction.
"TensorWatch streams can listen to other streams, which enables the creation of custom data flow graphs," writes the Microsoft Research team, adding 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."
James McCaffrey is a research engineer at Microsoft Research and senior contributing editor at MSDN Magazine and Visual Studio Magazine, where he frequently writes about AI tooling and techniques. He says TensorWatch takes aim at an important pain point for data scientists—the trial-and-error tuning of dozens of hyperparameters in complex neural prediction systems.
"The number of possible values for the hyperparameters of even a simple neural system is unimaginably large. So, data scientists must use their experience and intuition to explore," he says. "Using TensorWatch allows data scientists to rapidly explore the effect of changing hyperparameter values. This speeds up the experience-learning process tremendously, perhaps by about a factor of ten."
Michael Desmond is an editor and writer for 1105 Media's Enterprise Computing Group.