Что ж вышел Pixel 6: появились обзоры, мы всё поняли, хайп прошел. Или нет?

Не пугайтесь про Pixel 6 и Pixel 6 Pro еще будет куча контента! В любом случае, теперь мы можем спокойно поговорить про самую главную и наверное самую недооцененную фишку нового смартфона Google — процессор Tensor.



Это необычный чип. Google Tensor не похож на, то что делает Samsung, Qualcomm, даже Apple и на то что делал HUAWEI тоже. Tensor — это нечто особенное.

В своё время Google показал, как делать вычислительную фотографию. И судя по тому, что мы узнали про Tensor, теперь Google показывает всей индустрии как делать процессоры.

Поэтому сегодня подробно разберем по полочкам, что есть Google Tensor. Поясним за странные инженерные решения. Расскажем про секретное оружие Google и раскроем пару секретов про Google Tensor 2.

Чем Google Tensor не является...




Вступление было достаточно пафосным. Поэтому давайте чуть вернёмся на землю и посмотрим правде в глаза: Google Tensor – не идеальный процессор. Он не самый быстрый, не самый энергоэффективный и далеко не такой вертикально интегрированный, как А15 Bionic. Ведь в процессорах Apple, в отличие от Google, свой дизайн ядер, своя графика, и вообще все свое, кроме модема, но и это вопрос времени.

Но есть в Google Tensor такое, что выделяет его среди всех конкурентов. И речь идет про уникальные инженерные решения, до которых кроме Google никто не додумался. И начнем мы с такого решения, как компоновка.

Компоновка




Такой вопрос. Кто у нас в мире главный модельер? Или скажем так, самый влиятельный модельер? Как думаете? Кто-нибудь из дома Gucci? Armani? Prada? Может Канье Уэст?

Нет! Это компания ARM, которая, как положено хорошему модельеру, каждый год выпускает новую коллекцию дизайнов ядер Cortex. Дальше эти дизайны лицензируют вендоры: Qualcomm, Samsung, MediaTek и теперь Google. Они и воплощают их в виде процессоров для наших смартфонов.

Поэтому именно компания ARM определяет, что именно вы будете носить в карманах джинс и сумочках в этом году. Более того, помимо дизайна ядер, ARM еще дает рекомендации — как именно, оптимальнее всего эти ядра компоновать.

Например, в этом году на пике моды трёхкластерная компоновка 1+3+4, где есть одно огромное ядро Cortex-X1, три мощных ядра Cortex-A78, и четыре энергоэффективных Cortex-A55.



Такая компоновка используется в Snapdragon 888, Exynos 2100, да и остальные делают примерно то же самое, танцуя в ритме 1+3+4.

Но только не Google! Эти ребята делают какую-то особую дичь. В Google Tensor в качестве энергоэффективных ядер, как и у всех используется четыре ядра Cortex A55. Но вместо одного альфа ядра, тут сразу два Cortex-X1. А вместо актуальных на текущий момент Cortex-A78, они используют два ядра Cortex-A76.

А это даже не прошлый, а позапрошлый дизайн, который вышел еще в 2018 году. Это времена Snapdragon 855. Например, Pixel 4 работал на таком процессоре.

Зачем Google так делает? Ведь в использовании старых ядер нет ни экономической выгоды, ни технических причин. А всё дело вот в этой картинке.



Здесь вы видите сравнение ядер Cortex A76, A77 и A78 по производительности, потребляемой энергии и площади при использовании одинакового техпроцесса 7 нм.

И тут мы видим, что Cortex A76 из этой троицы — это самые компактные и энергоэффективные ядра и разница тут огромная. То есть смотрите, если Google уже влепил два огромных мощных ядра X1, они просто не могут поставить им в пару практически такие же мощные A78. Процессор будет тупо перегреваться. А мы знаем как перегревается Snapdragon 888 с одним ядром X1.

Поэтому Google взяли Cortex-A76 — как самые оптимальные средние ядра. И тем самым у них получилась куда более честная и логичная трёхкластерная компоновка 2+2+4.

Более того, Cortex-A76 в Google Tensor — это не те же самые ядра, что были 3 года назад и стоят в Pixel 4. Ведь тогда процессоры разрабатывалась по техпроцессу 7 нм, а Google перенёс старый дизайн на новый техпроцесс 5 нм, что позволило сделать ядра еще меньше и энергоэффективнее. И скорее всего, так сделать было сложнее, чем просто использовать актуальные A78 изначально заточенные под 5 нм.

Круто! Но зачем нужно было создавать себе сложности, и брать два ядра X1? Так процессор будет работать быстрее? Нет!

По одноядерной производительности мы вполне логично получаем паритет с Qualcomm Snapdragon 888 и Samsung Exynos 2100. А вот в многопотоке Tensor по полной сливает всем актуальным чипам.

Тогда зачем Google пришлось экспериментировать с компоновкой? А ответ кроется в понятии гетерогенные вычисления. Смотрите.

Гетерогенные вычисления




Да, процессор Google в бенчмарках – не чемпион, хотя и не аутсайдер, это тоже стоит признать, но Snapdragon 888 объективно в бенчмарках быстрее. По крайней мере в тестах CPU.

Но дело в том, что бенчмарки не показывают как процессор будет работать в реальной жизни.

Бенчмарк – это как упражнение в спортзале, когда изолированно нагружаешь какую-то группу мышц. Но в реальной жизни, когда нужно перетащить шкаф, хорошо прокаченный трицепс может и не пригодиться.

Тоже самое и с процессорами, очень редко бывает когда нагружается какой-то отдельный вычислительный блок, например, только одно мощное ядро.

Поэтому реальный тест на прочность процессора происходит когда одновременно происходят вычисления совершенно разного типа, и соответственно нагрузка идет на всю систему на кристалле, а не только на CPU или GPU. Это и называется гетерогенными вычислениями.

Яркий пример таких вычислений — это работа приложения “камера”. В этом случае нагрузка на центральный процессор не максимальная, а средняя. Но одновременно с ЦП тут на полную трудится сигнальный сопроцессор ISP, постоянно считая и обрабатывая данные с матрицы. Трудится графический процессор, особенно, если запустить AR. Нейронный движок постоянно распознаёт, сегментирует изображение. И всё это в реальном времени со скоростью 60 кадров в секунду. И вот именно под такие средние гетерогенные нагрузки и спроектирован Google Tensor.

Одни из руководителей команды Google Silicon Фил Кармак описывает это так:

“В задачах с довольно высокой нагрузкой, мы используем два ядра X1 на пониженных частотах, что делает их ультраэффективными. При условиях, в которых вы бы привычно использовали пару Cortex A76, выжатых на максимум, пара Cortex X1 будет едва напрягаться.”

К примеру, если предыдущий Pixel 5 перегревался при записи 4К видео. То в Pixel 6 такой проблемы нет, несмотря на то, что «шестерка» пишет видео в HDR.

Также по словам Кармака два ядра Cortex X1 позволяют быстрее щелкать кратковременные быстрые задачи, типа открытия приложения или подгрузки страницы, чтобы быстрее переходить в энергоэффективное состояние.

По крайней мере, именно такая была идея по словам Google. На практике же, судя по тестам авторитетного ресурса Anandtech, именно реализация идей подкачала. Средние ядра А76 и мелкие А55 в реализации Google, тупо отстают от конкурентов как по энергоэффективности, так и по мощности.



Tensor


Но не об этом, на самом деле нам хотелось поговорить, рассказывая про Google Tensor. Давайте уже обратим внимание на слона в комнате, имя этого слона «Искусственный интеллект».

Главная инновация мобильного процессора Google — это собственный нейронный движок TPU. Собственно TPU расшифровывается Tensor Processing Unit. Весь процессор, назван в честь этого компонента и построен вокруг этого компонента.

И вот, по тем же данным Anandtech, нейромодулятор в Google Tensor, просто уничтожает всех. Например, в области обработки естественного языка, превосходство над конкурентами трехкратное. И это разница в несколько поколений.



Да, не во всех тестах нейромодуль Google доминирует, но везде цифры очень хорошие. И это говорит, что нейропроцессор Google – один из самых мощных, а может и самый мощный на рынке.

Но зачем Google понадобилась такая мощность?

Дело в том, что у Google есть особое оружие — подразделение Google Research, в котором трудятся масса ученых умов и они постоянно публикуют кучу научных работ с бешеными алгоритмами.

И вот наконец-то настал их звёздный час, потому, что теперь появилось железо на котором их алгоритмы можно воплотить в жизнь. Давайте посмотрим, что уже реализовали.

HDRnet




В 2017 году ребята научили нейросеть, в реальном времени имитировать работу их фирменного алгоритма HDR+.

Сначала эту наработку стали использовать в Pixel 4 в виде функции Live HDR+. В приложении камера появились HDR превью и слайдеры регулировки тени и света.

А в Pixel 6 этот же алгоритм встроили прямо в ISP-модуль и поэтому смогли масштабировать для записи HDR видео. И теперь этот алгоритм называют HDRnet.

Кстати, обратили внимание как Google прокачал стабилизацию в видео? Еще бы, ведь они использовали алгоритм Deep Online Fused Video Stabilization из публикации этого года.



И видимо алгоритм Steadiface 2019 года для фронталки.

Synthesize Motion Blur


Погнали дальше. В Pixel 6 появился режим, имитирующий длинную выдержку? Так публикация ждала своей реализации с 2019 года!

Face Unblur


Или наоборот, Pixel 6 научился убирать размытие движение с лиц? Скорее всего им помогла вот эта работа 2021 года по исправлению размытия. Кстати, вы знали, что на фотках со сверхширокоугольной камеры Google исправляет геометрию лиц? И так далее…

В камере реализовано огромное количество алгоритмов, а сколько всего стоит на очереди даже сложно представить.

Не нравятся блики на фотках нового пикселя? Не проблема, скорее всего в будущем мы от них избавимся, потому как есть алгоритм, удаляющий блики.

Context HUB


А ведь все эти сложные алгоритмы из мира вычислительной фотографии – это только малая часть, того чем занимается Google Research.

В Google Tensor встроен потрясающий движок распознавания речи и перевода, который работает с 52 языками, насколько я помню, и всё это целиком устройстве, без подключения к сети.

Так в системе на кристалле есть отдельный вычислительный блок Context Hub, который по словам Google приносит «машинное обучение в область сверхнизкого энергопотребления».

Это блок, который постоянно трудится и что-то анализирует в фоне. Например, он отвечает за функцию, “Что сейчас играет?” и бог знает чем он еще занимается? Может, предлагает варианты ответа на сообщения в gBoard, может оптимизирует энергопотребление. Мы точно не знаем. Но что мы знаем наверняка: Google Tensor — это первый процессор, в котором настолько обширно используются возможности машинного обучения. И это только начало…

Tensor 2 и выводы




В сеть уже потихоньку начинают утекать данные про Google Tensor 2, который будет в Pixel 7.

Если первый Tensor имел кодовое имя Whitechapel и номер модели GS101, Tensor 2, судя по утечкам, получил крутое кодовое имя Cloudripper и номер GS201.

Данных по характеристикам нового Tensor пока нет, но очевидно что Google в этой игре всерьез и надолго.

Разработка первого Tensor шла на протяжении четырех лет. И хоть у них получился не самый быстрый и энергоэффективный процессор, первый блин вышел точно не комом.

Да, Pixel в общих мировых продажах телефонв занимают ничтожно малою долю. Да, Пиксели всегда в чем-то отстают от конкурентов. Но влияние этих телефонов на всю индустрию огромное!

В свое время Google задал тренд на вычислительную фотографию. Теперь же мы очень надеемся Google задаст новый тренд в мире процессоров.

Ведь Google Tensor — это процессор, созданный не маркетологами, а инженерами. И в наше время это большая редкость.

Комментарии (12)


  1. Kyoki
    12.11.2021 17:07
    +3

    Я понимаю, что статья рекламная... но почему бы не упомянуть Exynos 9855 (модифицированный Exynos 2100)?


    1. QtRoS
      12.11.2021 17:15
      +1

      Зашел за этим комментарием. Если верить новостям, Tensor это модифицированный Exynos. Понятно, конечно, чего хотели в Google: успеха M1 от Apple. Но способ достижения результата разочаровывает.


      1. Antervis
        13.11.2021 13:37

        ну у вендоров сейчас два пути: либо пойти путём apple, потратить лет 10 и миллиарды долларов на R&D и в конце концов возможно представить достойный чип, либо жрать что дает ARM и мириться с их изъянами. Эволюционное развитие второго пути - добавить к ARM ядрам свой ускоритель чего-нибудь и продавать как киллер фичу нового чипа.


      1. ginkage
        14.11.2021 02:43

        Ну, это если верить не "новостям", а слухам. Да, наверняка эти процессоры выпускаются на фабриках Samsung, ну так там же выпускались и первые "собственные" чипы Apple, а мы помним, к чему это в итоге привело (M1, да). Ведь в мире не так много фабрик, которые могут по запросу сделать ядра A76 на ином техпроцессе, да и вообще, не так уж много фабрик, производящих что-то по дизайну ARM.

        Одно дело взять готовый дизайн Exynos, другое — сделать проект своего собственного дизайна со всеми кастомными плюшками типа TPU, Context Hub, ISP, и прочим. В обоих случаях номенклатурный номер может содержать следы производящей фабрики, но вот результат будет сильно разным. Собственно, об этом-то и статья.


        1. amartology
          14.11.2021 11:56

          не так уж много фабрик, производящих что-то по дизайну ARM.
          Вообще говоря, любая фабрика может производить чипы с ядрами ARM. Например, Микрон )

          ядра A76 на ином техпроцессе
          Ядра A76 не привязаны к определенному техпроцессу. В теории, A76 можно произвести, скажем, по 180 нм. Оно, правда, займет при этом объем хорошего холодильника, но это в целом ничем не хуже, чем собираемые энтузиастами из отдельных логических вентилей «Спектрумы». Никакого теоретического, физического или легального запрета поступать так нет. А уж отказ назад на одно-два поколения технологии назад относительно реализации-первопроходца происходит сплошь и рядом.


  1. Luris
    12.11.2021 18:38
    +6

    С огромным трудом прочёл текст из-за невероятного количества пунктуационных ошибок. Запятых вообще нет там, где обязаны быть. И зачем-то есть там, где им не место. Нет, я понимаю, что хабр — не про пунктуацию. Но интересная и правильная статья, всего лишь из-за неграмотности автора, превращается в кучу букв, которые очень сложно соединить в единое целое и, в итоге, статья прочитана, а ничего узнать не вышло. Поколение Ютуба :(


  1. amartology
    12.11.2021 20:43
    +2

    Google перенёс старый дизайн на новый техпроцесс 5 нм, что позволило сделать ядра еще меньше и энергоэффективнее. И скорее всего, так сделать было сложнее, чем просто использовать актуальные A78 изначально заточенные под 5 нм.
    Ничем не подтвержденная фраза. Более того, ее прямо опровергает многолетний интеловский «тик-так».
    Перенести уже готовый чисто цифровой RTL с одного отлаженного процесса на другой — серьезная работа, но никакого рокет саенса там нет, и уж точно там меньше работы и меньше проблем, чем в знакомстве с полностью новым дизайном и его отладке.

    Google Tensor — это процессор, созданный не маркетологами, а инженерами.
    Еще одно совершенно безосновательное суждение.


  1. Antervis
    13.11.2021 13:16

    И вот, по тем же данным Anandtech, нейромодулятор в Google Tensor, просто уничтожает всех. Например, в области обработки естественного языка, превосходство над конкурентами трехкратное. И это разница в несколько поколений.

    А если верить этим ребятам, то превосходство всё еще вплоть до трехкратного, но уже в другую сторону. А вот например цитата из сравнения anandtech:

    "...it’s to be noted that the workloads on the Tensor run via NNAPI, while other phones are optimised to run through the respective chip vendor’s libraries, such as Qualcomm’s SNPE, Samsung’s EDEN, or MediaTek’s Neuron – unfortunately only the Apple variant is lacking CoreML acceleration, thus we should expect lower scores on the A15".

    То есть даже сравнивать tensor с A15 рановато. Мало того, в среднем по больнице tensor уступает и snapdragon 888. По мне так основная фича пикселя - отсутствие вендорских поделий. Ну и камера хороша.

    Тоже самое и с процессорами, очень редко бывает когда нагружается какой-то отдельный вычислительный блок, например, только одно мощное ядро.

    Поэтому реальный тест на прочность процессора происходит когда одновременно происходят вычисления совершенно разного типа, и соответственно нагрузка идет на всю систему на кристалле, а не только на CPU или GPU. Это и называется гетерогенными вычислениями.

    а вот это - откровенная манипуляция. По факту приложения работают настолько быстро, насколько они упираются в боттлнек производительности на каком-то виде нагрузок, и ускорение других компонентов обычно не дает сколь угодно значимого прироста. Наглядные примеры отлично видны например на сравнении разных CPU в играх - пока боттлнек в GPU, разница в пределах 1% FPS.

    В общем, автор в очередной раз продеманстрировал столь искусное жонглирование фактами, на которое не решился даже вендор. Браво!


  1. copenhagen72
    13.11.2021 13:22

    Да ничем не хорош, сами же и ответили в начале. Пару блоков для фотографирования добавили, вот и вся разница.


  1. flashmozzg
    13.11.2021 13:23

    Есть какие-то подтверждения спекуляциям по поводу выбора А76? Тесты никакого выигрыша у А76 по сравнению с А78 не подтверждают и большая вероятность, что у Самсунга просто друго блока не было доступно для проектирования на момент создания тензора. В итоге получился недо Exynos с нормальным ML акселератором и поддержкой AV1 (хотя он у Exynos тоже присутствует, хоть и не включена по какой-то причине).


  1. praeivis
    13.11.2021 15:21
    +2

    У автора аж 132 публикации и всего 129 комментарии, так что все наши вопроси останутся неотвеченными.


    1. QtRoS
      13.11.2021 16:53

      Хорошее наблюдение! Получается, что главное сказать, а реакция не важна... Возможно даже администрации сайта стоит обратить внимание на таких "кукушек" - статью написали и не сопроводили.