Litcius/Paper detail

MTIA: First Generation Silicon Targeting Meta's Recommendation Systems

Amin Firoozshahian, Joel Coburn, Roman Levenstein, Rakesh Nattoji, Ashwin Kamath, Olivia Wu, G.P. Grewal, Harish Aepala, Bhasker Jakka, Bob Dreyer, Adam Hutchin, Utku Diril, Krishnakumar Nair, Ehsan K. Aredestani, Martin Schatz, Yuchen Hao, Rakesh Komuravelli, Kunming Ho, Sameer Abu Asal, Joe Shajrawi, Kevin M. Quinn, Nagesh Sreedhara, Pankaj Kansal, W.-H. Wei, Dheepak Jayaraman, Linda Cheng, Pritam Chopda, Eric K. Wang, Ajay Bikumandla, Arun Karthik Sengottuvel, Krishna Thottempudi, Ashwin Narasimha, Brian Dodds, Cao Gao, Jiyuan Zhang, Mohammed Al-Sanabani, Ana Zehtabioskuie, Jordan Fix, Hangchen Yu, Richard Li, Kaustubh Gondkar, Jack G. Montgomery, Mike Tsai, Saritha Dwarakapuram, S. Desai, Nili Avidan, P. V. RAMANI, Karthik Narayanan, Ajit Mathews, S. Gopal, Maxim Naumov, Vijay Rao, Krishna Noru, Harikrishna Reddy, Prahlad Venkatapuram, Alexis Bjorlin

202349 citationsDOI

Abstract

Meta has traditionally relied on using CPU-based servers for running inference workloads, specifically Deep Learning Recommendation Models (DLRM), but the increasing compute and memory requirements of these models have pushed the company towards using specialized solutions such as GPUs or other hardware accelerators. This paper describes the company's effort in constructing its first silicon specifically designed for recommendation systems; it describes the accelerator architecture and platform design, the software stack for enabling and optimizing PyTorch-based models and provides an initial performance evaluation. With our emerging software stack, we have made significant progress towards reaching the same or higher efficiency as the GPU: We averaged 0.9x perf/W across various DLRMs, and benchmarks show operators such as GEMMs reaching 2x perf/W. Finally, the paper describes the lessons we learned during this journey which can improve the performance and programmability of future generations of architecture.

Topics & Concepts

Computer scienceComputer architectureServerArchitectureSoftwareStack (abstract data type)InferenceOperating systemSoftware engineeringEmbedded systemArtificial intelligenceVisual artsArtParallel Computing and Optimization TechniquesLow-power high-performance VLSI designStochastic Gradient Optimization Techniques