Тензорний блок обробки
Тензорний блок обробки (англ. tensor processing unit, TPU) — це інтегральна схема специфічного застосування (ASIC) призначена для прискорення розрахунків штучного інтелекту, що була розроблена компанією Google спеціально для машинного навчання нейронних мереж.
Огляд
Тензорний блок обробки був анонсований у травні 2016 року на конференції Google I/O, де компанія оголосила, що TPU вже більше року використовується в її дата-центрах.[1][2] Чип було розроблено спеціально для програмного каркаса TensorFlow, математичної бібліотеки символьних обчислень, що використовується для таких застосунків машинного навчання як штучні нейронні мережі.[3] Водночас Google продовжував використовувати центральні і графічні процесори для інших видів машинного навчання.[1] Окрім тензорного блоку від Google, з'являються й інші різновиди прискорювачів штучного інтелекту від інших виробників, що, зокрема, націлені на ринки вбудованої електроніки та робототехніки.
TPU є власністю Google і комерційно не розповсюджується, хоча 12 лютого 2018 року The New York Times повідомила, що Google «дозволить іншим компаніям купувати доступ до цих чипів за допомогою служби хмарних обчислень».[4] Google стверджує, що TPU були використані в серії ігор у ґо комп'ютера проти людини, у яких програма AlphaGo здобула перемогу над корейський майстром Лі Седолом, а також у системі AlphaZero, яка навчилася грати у шахи, сьоґі і ґо на надлюдському рівні знаючи лише правила цих ігор та здобула перевагу над іншими провідними програмами в цих іграх.[5] Google також використовувала TPU для обробки тексту в Google Street View і змогла знайти весь текст у власній базі даних менш ніж за п'ять днів. В Google Фото окремий TPU може обробляти більше 100 мільйонів фотографій на день. TPU також використовується в системі RankBrain, яку Google використовує для надання результатів пошуку.[6]
У порівнянні з графічним процесором, TPU розрахований на великі обсяги обчислень з низькою точністю (наприклад, лише 8-бітною точністю)[7], з вищою кількістю операцій вводу-виводу в секунду на ват. У TPU відсутністі апаратні засоби для растрування/відображення текстур.[2] Чип TPU монтується разом із радіатором та може розміститися в гнізді жорсткого диска в стійці центру обробки даних.[1]
У 2018 році TPU були використані для навчання ботів, що грають у StarCraft, поширену комп'ютерну стратегію реального часу. Таким чином комп'ютер вперше зміг здобути переконливу перемогу над професійними гравцями. Для навчання боти (окремі версії програми) грали між собою у турнір. Кожен бот використовував 16 тензорних процесорів TPU (що, за словами керівника DeepMind, відповідало потужності близько 50 графічних процесорів). Натреновані таким чином на тензорних блоках нейронні мережі були застосовані на типовому графічному процесорі для гри проти професійних гравців-людей.[8]
Покоління
Перше покоління
TPU першого покоління є 8-бітним процесором множення матриць, який керується командами CISC від головного процесора через шину PCIe 3.0. Він виготовлений на процесі 28 нм з розміром кристалу ≤ 331 мм2. Тактова частота 700 МГц, тепловий розрахунок на потужність 28-40 Вт. Має 28 МіБ пам'яті на чипі і 4 МіБ 32-розрядних акумуляторів, які отримують результати систолічного масиву розміру 256х256 з 8-бітних множників.[9] Всередині TPU також міститься 8 ГіБ двоканальної оперативної пам'яті DDR3 SDRAM з частотою 2133 МГц, що пропонує 34 Гб/с пропускної спроможності.[10] Команди переносять дані на або з головного процесора, виконують множення матриць, згортки, застосовують функції активації.[9]
Друге покоління
TPU другого покоління було анонсовано у травні 2017 року.[11] У Google заявили, що продуктивність першого покоління TPU була обмеженою через недостатню пропускну здатність оперативної пам'яті. У другому поколінні було використано 16 Гб пам'яті High Bandwidth Memory, через що пропускна здатність збільшилася до 600 Гб/с, а продуктивність — до 45 TFLOPS.[10] Нові TPU було об'єднано в модулі з чотирьох чипів із загальною продуктивністю 180 TFLOPS.[11] 64 таких модулі об'єднувалися у блоки модулів із 256-ма чипами та загальною продуктивністю 11,5 PFLOPS.[11] В той час як TPU першого покоління обмежувалися цілими числами, TPU другого покоління також можуть обчислювати числа з рухомою комою. Це робить TPU другого покоління корисними як для навчання, так і для застосування моделей машинного навчання. У Google заявили, що TPU другого покоління будуть доступні на Google Compute Engine для використання у застосунках TensorFlow.[12]
Третє покоління
TPU третього покоління було анонсовано 8 травня 2018 року.[13] Google оголосив, що самі процесори вдвічі потужніші, ніж TPU другого покоління, а кожен блок модулів міститиме вчетверо більше чипів, ніж в попередньому поколінні.[14][15] Відтак, кожен блок модулів буде увосьмеро продуктивнішим порівняно з другим поколінням.
Див. Також
- Зоровий процесор — подібний пристрій спеціалізований для машинного зору.
- ШІ-прискорювач
Примітки
- Google's Tensor Processing Unit explained: this is what the future of computing looks like. TechRadar (англ.). Процитовано 19 січня 2017.
- Jouppi, Norm (18 травня 2016). Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog (амер.). Google. Процитовано 22 січня 2017.
- "TensorFlow: Open source machine learning" "It is machine learning software being used for various kinds of perceptual and language understanding tasks" — Jeffrey Dean, minute 0:47 / 2:17 from Youtube clip
- Google Makes Its Special A.I. Chips Available to Others. The New York Times (англ.). Процитовано 12 лютого 2018.
- McGourty, Colin (6 грудня 2017). DeepMind’s AlphaZero crushes chess. chess24.com (англ.).
- Google's Tensor Processing Unit could advance Moore's Law 7 years into the future. PCWorld (англ.). Процитовано 19 січня 2017.
- Armasu, Lucian (19 травня 2016). Google's Big Chip Unveil For Machine Learning: Tensor Processing Unit With 10x Better Efficiency (Updated). Tom's Hardware. Процитовано 26 червня 2016.
- DeepMind StarCraft II Demonstration — YouTube, 24.01.2019. (англ.)
- Jouppi, Norman P.; Young, Cliff; Patil, Nishant; Patterson, David; Agrawal, Gaurav; Bajwa, Raminder; Bates, Sarah; Bhatia, Suresh; Boden, Nan; Borchers, Al; Boyle, Rick; Cantin, Pierre-luc; Chao, Clifford; Clark, Chris; Coriell, Jeremy; Daley, Mike; Dau, Matt; Dean, Jeffrey; Gelb, Ben; Ghaemmaghami, Tara Vazir; Gottipati, Rajendra; Gulland, William; Hagmann, Robert; Ho, C. Richard; Hogberg, Doug; Hu, John; Hundt, Robert; Hurt, Dan; Ibarz, Julian; Jaffey, Aaron; Jaworski, Alek; Kaplan, Alexander; Khaitan, Harshit; Koch, Andy; Kumar, Naveen; Lacy, Steve; Laudon, James; Law, James; Le, Diemthu; Leary, Chris; Liu, Zhuyuan; Lucke, Kyle; Lundin, Alan; MacKean, Gordon; Maggiore, Adriana; Mahony, Maire; Miller, Kieran; Nagarajan, Rahul; Narayanaswami, Ravi; Ni, Ray; Nix, Kathy; Norrie, Thomas; Omernick, Mark; Penukonda, Narayana; Phelps, Andy; Ross, Jonathan; Ross, Matt; Salek, Amir; Samadiani, Emad; Severn, Chris; Sizikov, Gregory; Snelham, Matthew; Souter, Jed; Steinberg, Dan; Swing, Andy; Tan, Mercedes; Thorson, Gregory; Tian, Bo; Toma, Horia; Tuttle, Erick; Vasudevan, Vijay; Walter, Richard; Wang, Walter; Wilcox, Eric; Yoon, Doe Hyun (26 червня 2017). In-Datacenter Performance Analysis of a Tensor Processing Unit™. Toronto, Canada. Процитовано 17 листопада 2017.
- Kennedy, Patrick (22 серпня 2017). Case Study on the Google TPU and GDDR5 from Hot Chips 29. Serve The Home. Процитовано 23 серпня 2017.
- Bright, Peter (17 травня 2017). Google brings 45 teraflops tensor flow processors to its compute cloud. Ars Technica. Процитовано 30 травня 2017.
- Kennedy, Patrick (17 травня 2017). Google Cloud TPU Details Revealed. Serve The Home. Процитовано 30 травня 2017.
- Frumusanu, Andre (8 травня 2018). Google I/O Opening Keynote Live-Blog. Процитовано 9 травня 2018.
- Feldman, Michael (11 травня 2018). Google Offers Glimpse of Third-Generation TPU Processor. Top 500. Процитовано 14 травня 2018.
- Teich, Paul (10 травня 2018). Tearing Apart Google’s TPU 3.0 AI Coprocessor. The Next Platform. Процитовано 14 травня 2018.