Microsoft Becomes the Chief Maintainer of PyTorch on Windows
- By John K. Waters
Microsoft is expanding its involvement with Facebook's open-source PyTorch machine learning (ML) library, by taking ownership of the development and maintenance of the PyTorch build for Windows, the two companies announced this week. Redmond assumes the new role as of the 1.6 release, also announced this week.
PyTorch, one of the most popular ML libraries, was developed primarily by Facebook's AI Research lab (FAIR). Based on the Torch open-source machine learning library, and released under the Modified BSD license, it has been gaining fans and market share against its closest competitor, Google's TensorFlow, since version 1.0 was released in 2018. Microsoft has been a supporter of PyTorch from early days.
According to a post on the PyTorch blog, although the latest Stack Overflow developer survey found that Windows remains the primary operating system for the developer community (46% Windows vs 28% MacOS), support for PyTorch on Windows has been lagging. The posts authors attribute that lag to the availability of limited resources to support the platform, and resulting problems. For example, they cite a lack of test coverage that resulted in "unexpected issues popping up every now and then." Some of the core tutorials meant for new users who want to learn and adopt PyTorch would fail to run. And the installation experience was "not as smooth, with the lack of official PyPI support for PyTorch on Windows."
Maybe most important, some of the PyTorch functionality was not available on the Windows platform--things like the TorchAudio domain library and distributed training support.
"To help alleviate this pain, Microsoft is happy to bring its Windows expertise to the table and bring PyTorch on Windows to its best possible self," the post reads.
They give credit to community member Jiachen Pu for a "heroic effort" to add support for PyTorch on Windows, but putting that effort into the hands of an organization with the resources of Microsoft was a move that's almost guaranteed to improve dramatically the status of the PyTorch among Windows developers.
To get the ball rolling, the team improved the core quality of the Windows build in the PyTorch 1.6 release by bringing test coverage up to par with Linux for core PyTorch and its domain libraries. and by automating tutorial testing.
"Thanks to the broader PyTorch community, which contributed TorchAudio support to Windows, we were able to add test coverage to all three domain libraries: TorchVision, TorchText, and TorchAudio," they said in the blog. "In subsequent releases of PyTorch, we will continue improving the Windows experience based on community feedback and requests. So far, the feedback we received from the community points to distributed training support and a better installation experience using pip as the next areas of improvement."
In addition to the native Windows experience, Microsoft released a preview that adds GPU compute support to Windows Subsystem for Linux (WSL) 2 distros, with a focus on enabling AI and ML developer workflows. WSL is designed for developers that want to run any Linux based tools directly on Windows. This preview enables valuable scenarios for a variety of frameworks and Python packages that utilize NVIDIA CUDA for acceleration and only support Linux. This means WSL customers using the preview can run native Linux based PyTorch applications on Windows unmodified without the need for a traditional virtual machine or a dual boot setup.
John K. Waters is the editor in chief of a number of Converge360.com sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS. He can be reached at email@example.com.