TorchRec 1.0.0 Stable Release Notes
We are excited to announce the release of TorchRec 1.0.0, the official stable release for TorchRec! This release is done in conjunction with FBGEMM 1.0.0 release.
Stable Release
Core portions of the TorchRec library are now marked as stable, with the following guarantees:
- Backward compatability guarantees, with breaking changes announced two versions ahead of time.
- Enhanced documentation for all stable features of TorchRec
- Functionality guarantees through unit test frameworks for each stable feature, running on every merged PR and release.
- No performance guarantees. However, we are committed to providing support on a best-effort basis.
Improvements
Key improvements have been added to TorchRec for the reliability and UX of the library as part of the stable release. The following main features have been added as part of the stable release:
- TorchRec's documentation has been completely revamped, with added overview of how TorchRec works, high level architecture and concepts, and simplification of the API references for TorchRec stable features! Check out the new documentation here.
- The TorchRec tutorial on pytorch.org has been completely redone, with a new, comprehensive end-to-end tutorial of TorchRec highlighting all the stable features! Check it out the new tutorial here.
- A unit test framework for API compatability have been added under
torchrec/schema
to test compatibility for all TorchRec stable features. - The unit test CI for TorchRec on Github has been enabled on GPU, running on nightly versions of TorchRec and manually validated during release time.
Changelog
Revamped TorchRec inference solution with torch.fx and TorchScript #2101
Faster KJT init #2369
Improvements to TorchRec Train Pipeline #2363 #2352 #2324 #2149 #2181
PT2 Dynamo and Inductor compatibility work with TorchRec and train pipeline #2108 #2125 #2130 #2141 #2151 #2152 #2162 #2176 #2178 #2228 #2310
VBE improvements #2366 #2127 #2215 #2216 #2256
Replace ShardedTensor with DTensor #2147 #2167 #2169
Enable pruning of embedding tables in TorchRec inference #2343
torch.export compatibility support with TorchRec data types and modules #2166 #2174 #2067 #2197 #2195 #2203 #2246 #2250 #1900
Added benchmarking for TorchRec modules #2139 #2145
Much more optimized KeyedTensor regroup with custom module KTRegroupAsDict
with benchmarked results #2120 #2158 #2210
Overlap comms on backwards pass #2117
OSS quality of life improvements #2273