Earlier this week, at an event on AI in the Metaverse, Meta (previously Facebook) announced that it was open-sourcing TorchRec. TorchRec is a PyTorch library for recommendation systems.
According to PyTorch, the TorchRec library includes modeling primitives, optimized recommendation system kernels, a sharder for partitioning tables, a planner than can generate sharding plans, GPU inference support, common modules for recommendation systems, and pipelining for overlapping dataloading device transfer, inter-device communication, and computation.
“Recommendation Systems (RecSys) comprise a large footprint of production-deployed AI today, but you might not know it from looking at Github. Unlike areas like Vision and NLP, much of the ongoing innovation and development in RecSys is behind closed company doors,” Donny Greenberg, product manager for PyTorch; Colin Taylor, senior software engineer for Facebook AI; and Dmytro Ivchenko, software engineer at Facebook, wrote in a blog post.
According to the researchers, in mid-2020 PyTorch had received a lot of feedback on there not being a large-scale engine in PyTorch. As they searched for an answer, Facebook engineers approached, offering up their production recommendation system and wanting to build a community around it.
From Facebook’s initial contribution, the community began modularizing and scaling the codebase so that it could be adapted for various use cases.
“Open-source and open-technology have universal benefits. Meta is seeding the PyTorch community with a state-of-the-art RecSys package, with the hope that many join in on building it forward, enabling new research and helping many companies. The team behind TorchRec plan to continue this program indefinitely, building up TorchRec to meet the needs of the RecSys community, to welcome new contributors, and to continue to power personalization at Meta,” the engineers wrote.