Apple всерьез решила заняться искусственным интеллектом. Так, недавно компания запустила в эксплуатацию своё ответвление TensorFlow, библиотеки Google для построения и тренировки нейронных сетей. А потом научила ML Compute, новый фреймворк (вид библиотеки), появившийся в macOS Big Sur летом этого года, задействовать его. Новости вроде этой обычно интересны лишь специалистам, о них обычно не пишут в СМИ, но на этот раз случилась сенсация. Производительность ускоренной TensorFlow выросла даже на Intel Mac'ах, причем в разы. Но интереснее даже не это, а то, что ручные и домашние Mac'и с M1 вытворяют с TensorFlow. Не перегреваясь и не снижая производительности.
Преувеличиваю? Программистам, всерьез занимающимся системами машинного обучения, требуются компьютеры с несредней вычислительной мощью. Типичная рабочая станция начального уровня это HP Z6 G4 с 28-ядерным Intel Xeon Platinum, 48 ГБ оперативной памяти и графическим процессором NVIDIA GeForce RTX 2020 Ti. Внушает? Технический менеджер проекта Google TPU Панкадж Канвар утверждает, что Mac'и с M1 внутри справляются с этой ролью ничуть не хуже.
В Google пробовали MacBook Pro и Mac mini в слегка продвинутой конфигурации: с 16 ГБ оперативной памяти и 512 ГБ флэш-памяти. Главным героем испытания были не M1 Mac'и, а яблочный "форк" TensorFlow, который сравнивали с TensorFlow 2.3 на используемых для этого Mac Pro с Intel Xeon. А интересно было бы посмотреть на MacBook Air в этой роли, не правда ли?
В июне-июле этого года, в узких кругах посвященных в таинства машинного обучения и искусственного интеллекта, ML Compute, новый фреймворк, которому на WWDC 2020 уделили несколько минут в двух сессиях (про компьютерное зрение и Metal), встретили с некоторой прохладой. Специалисты не обнаружили в нем чего-нибудь "эдакого", и будучи скептиками по своей природе, написали о его недостатках, предложили Swift Playground для желающих попробовать новинку. В общем, обошлись без комплиментов и превосходных степеней. "Эдакое" обозначилось 18 ноября, когда ML Compute неожиданно засиял как сверхновая звезда.
Mac Pro 2019 года, 16-ядерный Intel Xeon W, 32 ГБ оперативной памяти, AMD Radeon Pro Vega II Duo с 64 ГБ HBM2 (две графических карты с 32 ГБ HBM2 на каждой из них) и с SSD ёмкостью в 256 ГБ. Космически серым цветом показано время, потребовавшееся Mac Pro для выполнения пяти непростых и трудоемких тестов в TensorFlow 2.3, а желтым – в TensorFlow 2.4:
Неудивительно, что в Apple этим результатам обрадовались. Неужели такого роста можно добиться с помощью оптимизации? Не верите – и правильно делаете. В TensorFlow 2.3 для машинного обучения использовался только центральный процессор. В 2.4 его дополнил и усилил графический процессор. Apple использует графические процессоры не так, как все, возможно эффективнее всех – но для того, чтобы почувствовать яблочную мощь в подлиннике Apple, пришлось собственноручно адаптировать TensorFlow к Metal.
Введите какой-нибудь текст...Участники следующей гонки:
Серым показаны результаты испытаний MacBook Pro с Intel внутри в TensorFlow 2.3, а желтым – результаты того же ноутбука в TensorFlow 2.4. Больше Metal'а и результат гарантирован. MacBook Pro с M1 не работает с TensorFlow 2.3, поэтому ему дали проявить себя исключительно в TensorFlow 2.4, столбики с его результатами оранжевые.
Превзойти Mac Pro ноутбуку даже на M1 не удалось ни в одном из тестов, большой и мощный Mac Pro отстоял честь мощных рабочих станций – тем не менее, результаты маленького Mac'а более чем "зачетные", он годится на роль инструмента для построения и тренировки нейронных сетей.
MacBook Pro с 16 ГБ оперативной памяти и 256 ГБ SSD стоит 149 990 рублей. Mac Pro 2019 года с 16-ядерным Intel Xeon W, 32 ГБ оперативной памяти, с AMD Radeon Pro Vega II Duo с суммарной видеопамятью в 64 ГБ HBM2 (две графических карты с 32 ГБ HBM2 на каждой) и с SSD ёмкостью в 256 ГБ стоит почти в десять раз больше: 1 341 990 рублей. Это ли не чудо?