Five months after Google released its powerful TensorFlow machine learning technology to the open-source community, the company has made available for free a new, more versatile version of the software for anyone to use.
The numerous developers, engineers, hobbyists and others that have been using and testing TensorFlow over the past few months now have access to a version of the software library with support for distributed computing. The new TensorFlow 0.8 is designed to run across multiple systems at the same time and gives developers an opportunity to "train" their AI-like applications faster than was possible previously.
Google has been using a version of TensorFlow for years to power some of its most popular apps, including Smart Reply in Inbox, Google Translate and image search in Google Photos. At a high-level, the technology basically enables such applications to become smarter at what they do over time by continuously learning from previous use and data.
One example is Google's image-recognition apps, which Google says are getting increasingly better at recognizing objects with little external help because of machine learning. The company says it has used machine learning to teach a neural network how to recognize images of cats, among other things, from unlabeled images on YouTube.
The distributed support now available in open-source TensorFlow will give developers an opportunity to train and teach such apps faster than they were able to with the single-processer version of the technology.
In a blog post this week, Derek Murray, software engineer at Google, said the distributed TensorFlow 0.8 version supports training on hundreds of distributed machines concurrently. Google has used the capability to shorten training times in some cases from weeks to a matter of a few hours. The software has also allowed the company to experiment with increasingly sophisticated and large applications.
"Ever since we released TensorFlow as an open-source project, distributed training support has been one of the most requested features. Now the wait is over," Murray said.
Not all users of TensorFlow are likely to have applications that require hundreds of distributed processors for training. But "even small clusters—or a couple of machines under your desk—can benefit from distributed TensorFlow, since adding more GPUs improves the overall throughput, and produces accurate results sooner," Murray said.
Along with TensorFlow 0.8, Google this week also released what it described as a distributed trainer for an image classification technology called Inception. Murray claimed the trainer technology helped Google train its image classification neural network quickly and with a substantial degree of accuracy.
The distributed version of TensorFlow is just the first of many improvements to the machine learning technology that Google plans to open-source in the future. The company is seeking to improve TensorFlow through engineering and through improvements to the underlying algorithm. Updates, as they become available, will be released through the GitHub code repository, according to Murray.
While machine learning is a major focus with TensorFlow, the software library can be used in other areas, as Google has previously noted. For instance, the technology is useful for applications involving analysis of extremely large data sets, like those associated with protein folding.