Tpu на материнской плате что это

Epu на материнской плате что это

Вольты, амперы, ёмкость

Начнем с базовых понятий мира электричества: Вольты и Амперы (более подробно про это читай в этом уроке). Вольты – напряжение, оно же разность потенциалов. Напряжение задаёт источник питания, например батарейка или блок питания. Амперы – сила тока в цепи, показывает с какой силой “расходуется” электрическая энергия. Ток в цепи задаёт потребитель. (Примечание: описанное выше справедливо для источника напряжения, коим является любая батарейка/аккумулятор или обычный блок питания. Источником тока может быть специальное зарядное устройство или светодиодный драйвер, от них питать предназначенную для источника напряжения схему нельзя – сразу сгорит). Потребляемую и запасаемую энергию принято считать в Ампер*часах, работает это следующим образом: допустим, ёмкость аккумулятора составляет 1 А*ч (Ампер*час). Это означает, что такой аккумулятор сможет отдавать ток с силой 1 Ампер в течение одного часа, полностью при этом разрядившись. Если ток в цепи будет 0.5 А – аккумулятора хватит на 1 А*ч / 0.5 А == 2 часа. Плата Ардуино потребляет в районе 24 мА, то есть тот же условный аккумулятор сможет питать её в течение 1000 мА*ч /24 мА ~ 42 часов. При параллельном подключении потребителей, как это обычно бывает в схеме, ток потребления суммируется. Если добавить в “схему” из предыдущего расчёта дисплей с подсветкой, который будет потреблять условно ещё 30 мА, то такая схема проработает от того же аккумулятора 1000 мА*ч / (24+30 мА) ~ 18.5 часов. 

Выбор материнской платы

К разгону нужно подходить очень ответственно и не пытаться разогнать Core i9-9900K на материнских платах, которые не рассчитаны на данный процессор (это, к примеру, ASRock Z390 Phantom Gaming 4, Gigabyte Z390 UD, Asus Prime Z390-P, MSI Z390-A Pro и так далее), так как удел этих материнских плат — процессоры Core i5 и, возможно, Core i7 в умеренном разгоне. Intel Core i9-9900K в результате разгона и при серьезной постоянной нагрузке потребляет от 220 до 300 Ватт, что неминуемо вызовет перегрев цепей питания материнских плат начального уровня и, как следствие, выключение компьютера, либо сброс частоты процессора. И хорошо, если просто к перегреву, а не прогару элементов цепей питания.

Все материнские платы разделены на 4 группы: от начального уровня до продукта для энтузиастов. По большому счету, материнские платы второй и, с большой натяжкой, третьей группы хорошо справятся с разгоном процессора i9-9900K.

Питание

Источник питания

Выбор источника питания очень важен для эффективного энергосбережения: максимально желательно питать МК напрямую от батарейки/аккумулятора:

  • Трёх-четырёх АА/ААА батареек или аккумуляторов достаточно для работы на стандартной частоте 16 МГц (с 4-мя батарейками нужно быть аккуратнее по суммарному напряжению, а 4 никелевых аккумулятора подходят идеально).
  • От одного литиевого аккумулятора (3.7-4.2V) можно работать на 16 МГц, но при разряде ниже 3.5V работа на такой частоте уже может быть не очень стабильной (частоту можно чуть понизить, об этом ниже).
  • От литиевой 3V таблетки (CR2025, CR2032 и прочие) микроконтроллер отлично будет работать на внутреннем 8 МГц клоке.
  • Плохим вариантом можно считать ситуации, когда приходится использовать понижающие преобразователи и стабилизаторы: они все будут тратить несколько миллиампер “в тепло”, и даже режим сна МК может оказаться абсолютно бессмысленным. Но в любой ситуации нужно считать потребление и прикидывать время работы, для каких-то задач и работа от “Кроны” через стабилизатор будет приемлемой во имя упрощения схемы и стабильных 5 Вольт (китайский транзистор-тестер, например, включается на несколько секунд, поэтому заморочек по питанию нет).
  • Если в устройстве используется аккумуляторная батарея, то можно схитрить: высоковольтный потребитель (мотор к примеру) может питаться от общего напряжения с батареи через драйвер, а микроконтроллер может работать от одной его “банки”, соединяясь общим проводом с минусом. Микроконтроллер, особенно в режиме сна, потребляет ничтожно мало по сравнению с тем же мотором, поэтому о разбалансировке банок можно не беспокоиться. Таким образом МК также может мониторить напряжение батареи и отключать её при разряде, выполняя роль BMS. Про измерение напряжения мы говорили в уроке про аналоговые входы.
  • Также напомню, что питать всякие железки напрямую от МК можно только в некоторых пределах, подробнее о них и вообще питании проекта мы говорили в уроке о питании Ардуино и схемы в целом.

Самоблокировка питания

Самый надёжный и аппаратно простой способ сэкономить энергию – самоблокировка питания. Он подходит для устройств, которые включаются тактовой кнопкой (без фиксации) и через некоторое время должны сами отключиться до следующего клика по кнопке. Самоблокировка работает следующим образом: нажатие на кнопку подаёт ток на МК, он запускается, подаёт сигнал на “ключ”, который запараллеливает линию питания. Мы отпускаем кнопку, а МК продолжает работать, потому что сам удерживает ключ, через который идёт питание. Отсюда и название: самоблокировка питания. По тайм-ауту или другому алгоритму работы МК может отпустить ключ и отключиться. Через этот же ключ могут питаться и остальные железки, и точно так же быть отключены от питания при самовыключении. Проблема в том, что МК от AVR могут питаться от любого GPIO пина (при наличии общей GND), поэтому практически все старые схемы из интернета не работают. Пока что удалось найти две схемы на форуме arduino, но лично я их не тестировал. В будущем дополню урок.

Но есть шикарный, простой и рабочий вариант: использовать стабилизатор напряжения с пином Enable, за который МК может “заблокировать” себе питание (за идею спасибо Дмитрию Карманову). Вот пример со стабилизатором me6212c33m5g на 3.3V (стоит в районе 15 руб). На схеме PWR_EN ведёт на физическую кнопку, подключенную второй ногой к питанию (батарейке), BUT_MK идёт на пин МК, который будет подавать высокий сигнал при запуске. 3V3 соответственно линия 3.3 (от неё питается сам МК и опционально что-то ещё), и BAT – батарейка.

Основные законы[]

Принцип относительности Галилея

Основная статья: Принцип относительности

Основным принципом, на котором базируется классическая механика является принцип относительности, сформулированный Г. Галилеем на основе эмпирических наблюдений. Согласно этому принципу существует бесконечно много систем отсчёта, в которых свободное тело покоится или движется с постоянной по модулю и направлению скоростью. Эти системы отсчёта называются инерциальными и движутся друг относительно друга равномерно и прямолинейно. Во всех инерциальных системах отсчёта свойства пространства и времени одинаковы, и все процессы в механических системах подчиняются одинаковым законам. Этот принцип можно также сформулировать как отсутствие абсолютных систем отсчёта, т. е. систем отсчёта, каким-либо образом выделенных относительно других.

Законы Ньютона

Основная статья: Законы Ньютона

Основой классической механики являются три закона Ньютона (формулируя данные законы, Ньютон применял термин «тело», хотя фактически речь в них идёт о материальных точках).

Первый закон устанавливает наличие свойства инертности у материальных тел и постулирует наличие таких систем отсчёта, в которых движение свободного тела происходит с постоянной скоростью (такие системы отсчёта называются инерциальными).

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

ma→=F→,{\displaystyle m{\vec {a}}={\vec {F}},}

где F→{\displaystyle {\vec {F}}} — результирующий вектор сил, действующих на тело; a→{\displaystyle {\vec {a}}} — вектор ускорения тела; m — масса тела.

Второй закон Ньютона может быть также записан в терминах изменения импульса материальной точки p→{\displaystyle {\vec {p}}}:

dp→dt=F→.{\displaystyle {\frac {d{\vec {p}}}{dt}}={\vec {F}}.}

При записи закона в такой форме, как и ранее, полагают, что масса материальной точки неизменна во времени.

Второго закона Ньютона недостаточно для описания движения частицы. Дополнительно требуется описание силы F→{\displaystyle {\vec {F}}}, полученное из рассмотрения сущности физического взаимодействия, в котором участвует тело.

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

Закон сохранения импульса

Основная статья: Закон сохранения импульса

Закон сохранения импульса является следствием законов Ньютона для замкнутых систем (т. е. систем, на которые не действуют внешние силы или равнодействующая внешних сил равна нулю). Фундаментальной основой данного закона служит свойство однородности пространства, а взаимосвязь закона сохранения импульса и данного свойства выражается теоремой Нётер.

Закон сохранения энергии

Основная статья: Закон сохранения энергии

Закон сохранения энергии является следствием законов Ньютона для замкнутых консервативных систем (т. е. систем, в которых действует только консервативные силы). Фундаментальной основой данного закона служит свойство однородности времени, причём взаимосвязь закона сохранения энергии и данного свойства снова выражаетсятеоремой Нётер.

Потребление МК

Частота тактирования

Вычислительное ядро потребляет энергию всегда, когда находится в активном режиме: вычисляет ли программа арккосинус, ожидает ли окончание задержки , висит ли в бесконечном пустом – неважно. Потребление будет одинаковым во всех случаях, пока ядро тактируется

Более того, от частоты тактирования зависит напряжение, при котором МК гарантированно стабильно работает. Вот картинки из даташита на ATmega328:   На самом деле всё как обычно слегка “завышено”, потому что на 16 МГц клоке Ардуино прекрасно работает начиная от 3.3V, а на 8 МГц (внутреннем) – от 1.8V (при отключенном BOD). Есть четыре уровня управления тактовой частотой:

  • Подключение внешнего кварца с нужной частотой (на плате Ардуино стоит 16 МГц, сам МК поддерживает вплоть до 20 МГц без разгона).
  • Выбор источника тактирования при помощи фьюзов: внешний (частота соответствует установленному генератору) и внутренний (8 МГц).
  • Изменение системной частоты прямо из программы: большинство МК avr позволяют понизить приходящую с источника тактирования частоту, а именно – поделить (реализовано в GyverPower). Таким образом можно замедлить работу всего МК для уменьшения потребления энергии или увеличения стабильности работы от пониженного напряжения. Можно выполнить необходимые действия на высокой частоте, а затем понизить её до минимума до наступления внешних событий по прерываниям или по таймеру. На некоторых МК есть PLL – умножитель частоты (например на Attiny85), позволяющий тактироваться на частоте 36 МГц от внутреннего источника! Для такого разгона придется поднять напряжение и обеспечить теплоотвод, но об этом не в этом уроке =).
  • Фьюз CKDIV8: системный делитель из предыдущего пункта автоматически устанавливается на 8 перед запуском МК. Это нужно для более надёжного старта при низком напряжении. Обычно используют так: МК стартует с CKDIV8 на пониженной частоте, измеряет напряжение питания, если оно достаточно высокое (аккумулятор не разряжен) частота выставляется на необходимую и работа продолжается. Иначе например можно всё вырубить и уйти в сон.

Также прилагаю картинку с графиками тока потребления МК в активном режиме (не во сне) в зависимости от частоты и напряжения питания:  

Режимы энергосбережения

У микроконтроллера есть несколько режимов энергосбережения, в каждом из которых остаются в активном режиме только некоторые из аппаратных блоков (таймеры, интерфейсы, АЦП, и т.д.). Также у мк есть блок BOD, отвечающий за постоянный мониторинг напряжения и перезагрузку в случае его падения ниже настроенного порога. Во всех режимах сна остаётся активен АЦП, его нужно отключать отдельно (всё реализовано в GyverPower). Режимы энергосбережения МК (AVR):

  • – Легкий сон, отключается только клок CPU и Flash, пробуждается мгновенно от любых прерываний
  • – Наиболее глубокий сон, отключается всё кроме WDT и внешних прерываний, просыпается от аппаратных (обычных + PCINT) или WDT, пробуждение за 16+6 тактов (~1.375 мкс на 16 МГц). Прерывание должно быть длиннее этого времени для успешного пробуждения!
  • – Глубокий сон, идентичен + system clock активен, пробуждение за 6 тактов (0.4 мкс)
  • – Глубокий сон, идентичен  + timer 2 активен (+ можно проснуться от его прерываний), можно использовать для счета времени
  • – Глубокий сон, идентичен + system clock активен, пробуждение за 6 тактов (0.4 мкс)

Самый часто используемый на практике режим – power down, самый глубокий сон. В нём отключается всё, кроме watchdog и аппаратных прерываний (обычные external и PCINT). В данном режиме МК потребляет минимальный ток (ATmega328 – чуть меньше 1 мкА), а проснуться можно только по прерыванию Watchdog таймера или по аппаратному прерыванию (по кнопке). Очевидно, что в глубоком сне не работают таймеры и прерывания по ним, поэтому счёт времени становится отдельной задачей (в GyverPower эта задача решена максимально удобно).

Периферия

Помимо главного “ядра” у микроконтроллера есть куча периферийных блоков (АЦП, компаратор, таймеры, интерфейсы связи), которые по сути работают отдельно и могут общаться с МК на аппаратном уровне. Каждый блок потребляет некоторый ток, и при желании некоторые блоки можно отключить. В режиме глубокого сна они отключаются автоматически, а вот в активной работе нужно отключить их вручную. Большую таблицу с потреблением МК в разных режимах и с разным набором активной периферии можно посмотреть на официальной странице библиотеки Low Power, на всякий случай приложу её ниже. Управление периферией также реализовано в GyverPower.

⇡#Упаковка и комплектация

Плата поставляется в картонной коробке стандартных размеров, оформленной в чёрном цвете. На лицевой стороне приведены крупное фото платы ASUS TUF Gaming Z590 Plus WiFi, название модели и пиктограммы с обозначением основных технологий и особенностей платы.

На другой стороне коробки можно ознакомиться с подробными характеристиками TUF Gaming Z590 Plus WiFi и её ключевыми особенностями, а с торца размещён стикер с серийным номером платы и кратким перечислением интерфейсов.

В комплекте с платой поставляются антенна беспроводного модуля связи, винты для крепления накопителей в портах M.2, два кабеля SATA, диск с драйверами и утилитами, инструкция, набор наклеек и сертификат надёжности TUF Gaming.

На выпускаемую в Китае плату предоставляется трёхлетняя гарантия. Розничная стоимость ASUS TUF Gaming Z590 Plus WiFi в России составляет чуть больше 21 тысячи рублей. Как мы и упоминали выше, на сегодняшний день это средний ценовой уровень для плат на наборе системной логики Intel Z590.

Как работают нейросети

Перед тем, как начать сравнивать CPU, GPU и TPU, посмотрим, какого рода вычисления требуются для машинного обучения – а конкретно, для нейросетей.

Представьте, к примеру, что мы используем однослойную нейросеть для распознавания рукописных цифр, как показано на следующей диаграмме:

Если картинка будет сеткой размером 28х28 пикселей серой шкалы, её можно преобразовать в вектор из 784 значений (измерений). Нейрон, распознающий цифру 8, принимает эти значения и перемножает их со значениями параметра (красные линии на диаграмме).

Параметр работает как фильтр, извлекая особенности данных, говорящих о схожести изображения и формы 8:

Это наиболее простое объяснение классификации данных нейросетями. Перемножение данных с соответствующими им параметрами (окраска точек) и их сложение (сумма точек справа). Наивысший результат обозначает наилучшее совпадение введённых данных и соответствующего параметра, которое, скорее всего, и будет правильным ответом.

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

Есть ли опыт использования переключателя TPU на мобильных устройствах ASUS с процессором i5 2500K?

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

Статус
Закрыто для дальнейших ответов.

13 декабря 2011 г.

#1

13 декабря 2011 г.

  • Добавить закладку
  • #1

Привет, у меня есть материнская плата ASUS P8Z68-V-LE, и я заинтригован функцией переключателя TPU. Это по сути «автоматический разгон»? Что самое худшее может произойти, если я включу его? Кстати, у меня есть только стандартный радиатор и вентилятор — я бы, очевидно, следил за температурой.

Кто-нибудь еще использовал переключатель TPU? Опыт?

14 декабря 2011 г.

#2

14 декабря 2011 г.

  • Добавить закладку
  • #2

Нет, я не использовал его специально, но да, по сути, это автоматический разгон. Очевидно, что он динамический, поэтому он будет разгоняться только при загрузке, поэтому не удивляйтесь, если поначалу ничего не изменится.

Я бы не стал слишком беспокоиться о штатном радиаторе. Это то, что, по их предположению, у вас есть.

15 декабря 2011 г.

#3

15 декабря 2011 г.

  • Добавить закладку
  • #3

Я переключил переключатель TPU на моем ASUS P8Z68-V (не Pro) с 2500K. Он перезагрузил BIOS примерно 3 раза, и я получил разгон до 4,32. Это ОС по запросу, проверенная с помощью CoreTemp и SuperPI. Я использую Arctic Cooling Freezer Pro 7. Если я правильно помню, включение переключателя TPU аналогично включению автоматического разгона в BIOS, но переключение приносит больше удовольствия!

16 декабря 2011 г.

#4

16 декабря 2011 г.

  • Добавить закладку
  • #4

Вы правы. Установка OC Tuner в BIOS на «ok» точно такая же, как и при использовании физического переключателя на материнской плате.

Я бы заменил стандартный HSF на что-нибудь получше, прежде чем разгонять процессор.

16 декабря 2011 г.

#5

16 декабря 2011 г.

  • Добавить закладку
  • #5

Да, и функции TPU, и EPU можно включить с помощью программного обеспечения или встроенного переключателя, поэтому переключатель(и) может не соответствовать тому, что на самом деле установлено в BIOS (но соответствующий встроенный индикатор должен показывать состояние ) — вместо этого для переключения функции следовало использовать мини-кнопки (например, кнопку сброса cmos).

16 декабря 2011 г.

#6

16 декабря 2011 г.

  • Добавить закладку
  • #6

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

Конвертируем нейросеть на Keras в модель для TPU

Модели на Keras и TensorFlow можно обучать на GPU без каких-либо изменений. На TPU пока так делать нельзя, поэтому придется преобразовать созданную нами модель в модель для TPU.

Для начала нужно узнать, где находится доступный нам TPU. На платформе Colaboratory это можно сделать следующей командой:

Теперь можно получить модель для TPU с помощью функции keras_to_tpu_model :

В первой строке включено логирование на уровне Info. Вот что в логе конвертации модели:

INFO:tensorflow:Querying Tensorflow master (b’grpc://10.102.233.146:8470′) for TPU system metadata. INFO:tensorflow:Found TPU system: INFO:tensorflow:*** Num TPU Cores: 8 INFO:tensorflow:*** Num TPU Workers: 1 INFO:tensorflow:*** Num TPU Cores Per Worker: 8 . WARNING:tensorflow:tpu_model (from tensorflow.contrib.tpu.python.tpu.keras_support) is experimental and may change or be removed at any time, and without warning.

Можно видеть, что найден TPU по указанному нами ранее адресу, в нем 8 ядер. Также мы видим предупреждение, что tpu_model является экспериментальной и может быть изменена или удалена в любое время. Надеюсь, что со временем можно будет обучать модели Keras напрямую на TPU без всякого преобразования.

Тензорные процессоры

На Хабре уже писали о том, как устроены TPU (здесь, здесь и здесь), а также почему TPU хорошо подходят для обучения нейронных сетей. Поэтому я не буду углубляться в детали архитектуры TPU, а рассмотрю только те особенности, которые нужно учитывать при обучении нейонных сетей.

Сейчас есть три поколения тензорных процессоров, производительность TPU последнего, третьего поколения составляет 420 TFlops (триллионов операций с плавающей точкой в секунду), он содержит 128 ГБ памяти High Bandwidth Memory. Однако на Colaboratory доступны только TPU второго поколения, у которых 180 TFlops производительности и 64 ГБ памяти. В дальнейшем я буду рассматривать именно эти TPU.

Тензорный процессор состоит из четырех чипов, каждый из которых содержит два ядра, всего в TPU восемь ядер. Обучение на TPU ведется параллельно на всех ядрах с помощью репликации: на каждом ядре работает копия графа TensorFlow с одной восьмой объема данных.

Основа тензорного процессора — матричное устройство (matrix unit, MXU). Оно использует хитрую структуру данных систолический массив размером 128х128 для эффективной реализации операций с матрицами. Поэтому, чтобы наиболее полно использовать ресурсы оборудования TPU, размерность мини-выборки или признаков должна быть кратна 128 (источник). Также из-за особенностей системы памяти TPU желательно, чтобы размерность мини-выборки и признаков была кратна 8.

TPU и EPU — авторазгон и энергосбережение

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

В общем, как утверждала Википедия:

На моей старой P5E Deluxe, которой стукнуло уже черт знает сколько лет, — эта возможность (причем, по-моему только EPU, т. е энергосбережение) была реализована на уровне BIOS и соответствующего ПО под Windows . Сейчас на новенькой плате (да и вообще, как я понимаю, почти на всех новых, что поддерживают эти технологии), оно реализовано двумя чипами..

Распознаем объекты на CPU

Теперь давайте попробуем использовать модель, обученную на TPU, для того, чтобы распознавать объекты на изображениях с помощью CPU. Для этого создаем модель заново и загружаем в нее обученные на TPU веса:

Модель готова к использования на центральном процессоре. Давайте попробуем распознать с ее помощью одно из изображений тестового набора CIFAR-10:

Картинка маленькая, но можно понять, что это самолет. Запускаем распознавание:

Получаем список выходных значений нейронов, почти все из них близки к нулю, кроме первого значения, которое соответствует самолету.

] самолет

Распознавание прошло успешно!

Как работает TPU

Когда мы в Google разрабатывали TPU, мы построили архитектуру, предназначенную для определённой задачи. Вместо разработки процессора общего назначения, мы разработали матричный процессор, специализированный для работы с нейросетями. TPU не сможет работать с текстовым процессором, управлять ракетными двигателями или выполнять банковские транзакции, но он может обрабатывать огромное количество умножений и сложений для нейросетей с невероятной скоростью, потребляя при этом гораздо меньше энергии и умещаясь в меньшем физическом объёме.

Главное, что позволяет ему это делать – радикальное устранение узкого места архитектуры фон Неймана. Поскольку основной задачей TPU является обработка матриц, разработчикам схемы были знакомы все необходимые шаги вычислений. Поэтому они смогли разместит тысячи множителей и сумматоров, и соединить их физически, сформировав большую физическую матрицу. Это называется архитектурой конвейерного массива. В случае с Cloud TPU v2 используются два конвейерных массива по 128 х 128, что в сумме даёт 32 768 ALU для 16-битных значений с плавающей точкой на одном процессоре.

Посмотрим, как конвейерный массив выполняет подсчёты для нейросети. Сначала TPU загружает параметры из памяти в матрицу множителей и сумматоров.

Затем TPU загружает данные из памяти. По выполнению каждого умножения результат передаётся следующим множителям, при одновременном выполнении сложений. Поэтому на выходе будет сумма всех умножений данных и параметров. В течение всего процесса объёмных вычислений и передачи данных доступ к памяти совершенно не нужен.

Поэтому TPU демонстрирует большую пропускную способность при подсчётах для нейросетей, потребляя гораздо меньше энергии и занимая меньше места.

Итоги

Удалось продемонстрировать работоспособность TPU на платформе Colaboratory, его вполне можно применять для обучения нейронных сетей на Keras. Однако набор данных CIFAR-10 слишком маленький, его недостаточно для полной загрузки ресурсов TPU. Ускорение по сравнению с GPU получилось небольшим (можете проверить сами выбрав в качеству ускорителя GPU вместо TPU и переобучив модель заново).

На Хабре есть статья, в которой измеряли производительность TPU и GPU V100 на обучении сети ResNet-50. На этой задаче TPU показал такую же производительность, как и четыре GPU V100. Приятно, что Google дает такой мощный ускоритель обучения нейронных сетей бесплатно!

Видео с демонстрацией обучения нейросети Keras на TPU.

Понравилась статья? Поделиться с друзьями:
Компьютерная помощь
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: