Контакты и реквизиты
Томский политехнический университет
Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский Томский политехнический университет» Россия, 634050, г. Томск, проспект Ленина, дом 30.
УФК по Томской области (ФГАОУ ВО НИ ТПУ л/сч 30656Щ45270)
ИНН:
7018007264
КПП:
701701001
ОКТМО:
69701000
Расчетный счет:
03214643000000016500
Банк получателя:
Отделение Томск Банка России//УФК по Томской области, г. Томск
БИК:
016902004
Кор. Счет:
40102810245370000058
Для заключаемых договоров по Субсидии на иные цели:
УФК по Томской области (ФГАОУ ВО НИ ТПУ л/сч 31656Щ45270)
ИНН:
7018007264
КПП:
701701001
ОКТМО:
69701000
Расчетный счет:
03214643000000016500
Банк получателя:
Отделение Томск Банка России//УФК по Томской области, г. Томск
БИК:
016902004
Кор. Счет:
40102810245370000058
Банк плательщика/Банк получателя: Филиал «Центральный» Банка ВТБ (ПАО) в г. Москве
Корреспондентский счет:
30101810145250000411 в Главном управлении Банка России по Центральному федеральному округу г. Москва
БИК:
044525411
КПП:
770943002
ИНН:
7702070139
Расчетный счет:
40503810610034000001
Получатель:
ФГАОУ ВО НИ ТПУ.
ИНН:
7018007264
Реквизиты в долларах США ПАО «ВТБ»
Beneficiary:
Tomsk Polytechnic University
Address:
Lenina avenue, 30, 634050, Tomsk, Russia
Bank Name:
VTB Bank (public joint-stock company) Tsentralnyi branch, Moscow
Bank address:
KUZNETSKIY MOST 17/1
Account:
40503840610034200004 (платеж в пользу ТПУ)
40503840710034100004 (платеж из средств ТПУ)
SWIFT:
VTBRRUM2MS2
Реквизиты в ЕВРО ПАО «ВТБ»
Beneficiary:
Tomsk Polytechnic University
Address:
Lenina avenue, 30, 634050, Tomsk, Russia
Bank Name:
VTB Bank (public joint-stock company) Tsentralnyi branch, Moscow
Bank address:
KUZNETSKIY MOST 17/1
Account:
40503978210034200004 (платеж в пользу ТПУ)
40503978310034100004 (платеж из средств ТПУ)
SWIFT:
VTBRRUM2MS2
Реквизиты в юани ПАО «ВТБ»
Beneficiary:
Tomsk Polytechnic University
Address:
Lenina avenue, 30, 634050, Tomsk, Russia
Bank Name:
VTB Bank (public joint-stock company) Tsentralnyi branch, Moscow
Bank address:
KUZNETSKIY MOST 17/1
Account:
40503156910034200003 (платеж в пользу ТПУ)
40503156010034100003 (платеж из средств ТПУ)
SWIFT:
VTBRRUM2MS2
Реквизиты в рублях АО “Газпромбанк”
Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский Томский политехнический университет» 634050, г. Томск, пр-кт Ленина, д. 30
ИНН:
7018007264
КПП:
701701001
ОГРН:
1027000890168
р/сч:
40503810400000000017
в Банке ГПБ (АО)
ИНН:
7744001497
КПП:
997950001
БИК
044525823
Кор. счет:
30101810200000000823 в ГУ Банка России по ЦФО
Код:
ОКПО 09807684
ОГРН:
1027700167110
Реквизиты в долларах США АО «Газпромбанк»
Bank Name:
Gazprombank (Joint Stock Company)
Bank Address:
16 Nametkina Street, building 1, Moscow, 117420, Russia
Account name:
National Research Tomsk Polytechnic University
Transit account number:
40503840600007000013 (платеж в пользу ТПУ)
Account:
40503840800000000014 (платеж из средств ТПУ)
SWIFT code:
GAZPRUMM
Bank corr:
Citibank N.A., New York
SWIFT:
CITIUS33
Corr. Account:
36141825
Реквизиты в евро АО “Газпромбанк”
Bank Name:
Gazprombank (Joint Stock Company)
Bank Address:
16 Nametkina Street, building 1, Moscow, 117420, Russia
Account name:
National Research Tomsk Polytechnic University
Transit account number:
40503978300007000010 (платеж в пользу ТПУ)
Account:
40503978500000000011 (платеж из средств ТПУ)
SWIFT code:
GAZPRUMM
Bank corr:
Bank GPB International S. A., Luxembourg
SWIFT:
GAZPLULL
Corr. Account:
11178035.2004
Реквизиты в юанях АО “Газпромбанк”
Bank Name:
“Gazprombank” (Joint-stock Company)
Bank Address:
117420, 16, building 1, Nametkina street, Moscow, Russia
Account name:
Tomsk Polytechnic University
Transit account number:
40503156300007000007 (платеж в пользу ТПУ)
Account:
40503156200000000007 (платеж из средств ТПУ)
SWIFT code:
GAZPRUMM
Bank corr:
Bank of China (Russia), Mosco
SWIFT:
BKCHRUMM
Corr. Account:
30109156800000000050
Реквизиты в рублях АО “Райффайзенбанк”
Федеральное государственное автономное образовательное учреждение высшего образования «Национальный исследовательский Томский политехнический университет»
634050, г. Томск, пр-кт Ленина, д. 30
ИНН:
7018007264
КПП:
701701001
ОГРН:
1027000890168
р/сч:
40503810607000000003
Сибирский филиал АО «Райффайзенбанк»
Адрес:
630099, г. Новосибирск, ул. Урицкого, 20
БИК
045004799
Код:
ОКПО 79053821
ИНН:
7744000302
КПП:
540743001
Кор. счет:
30101810300000000799 СИБИРСКОЕ ГУ БАНКА РОССИИ Г НОВОСИБИРСК
ОГРН:
1027739326449
SWIFT:
RZBMRUMM
Реквизиты в долларах США АО “Райффайзенбанк”
Beneficiary:
National Research Tomsk Polytechnic University, Tomsk Polytechnic University, TPU
Address:
Lenina avenue, 30, 634050, Tomsk, Russia
Bank Name:
Raiffeisenbank AO
Bank Address:
129090, Russia, Moscow, Troitskaya str. 17, bld. 1
Account:
40503840307000000001 (платеж в пользу ТПУ)
Account:
40503840007000000000 (платеж из средств ТПУ)
SWIFT:
RZBMRUMM
Correspondent bank:
CITIBANK NA
388 Greenwich Street, New York, NY 10013, USA
SWIFT:
CITIUS33
ABA:
021000089
Corr. Account:
36343873
Реквизиты в евро АО “Райффайзенбанк”
Beneficiary:
National Research Tomsk Polytechnic University, Tomsk Polytechnic University, TPU
Address:
Lenina avenue, 30, 634050, Tomsk, Russia
Bank Name:
Raiffeisenbank AO
Bank Address:
129090, Russia, Moscow, Troitskaya str. 17, bld. 1
Account:
40503978907000000001 (платеж в пользу ТПУ)
Account:
40503978607000000000 (платеж из средств ТПУ)
SWIFT:
RZBMRUMM
Correspondent bank:
Raiffeisen Bank International AG
Am Stadtpark 9, A-1030 Vienna, Austria
SWIFT:
RZBAATWW
Corr. Account:
155025928
Основные сведения
# | Название | Адрес |
---|---|---|
1 | Главный учебный корпус | 634050, Томская область, г.![]() |
2 | Учебный корпус № 1 | 634034, Томская область, г. Томск, Советская улица, 73 |
3 | Учебный корпус № 2 | 634034, Томская область, г. Томск, Ленина проспект, д. 43а |
4 | Учебный корпус № 3 | 634034, Томская область, г. Томск, Ленина проспект, 43 |
5 | Учебный корпус № 4 | 634034, Томская область, г. Томск, Ленина проспект, 30а, |
6 | Учебный корпус № 5 | 634034, Томская область, г. Томск, Ленина проспект, 30, строен.![]() |
7 | Учебный корпус № 6 | |
8 | Учебный корпус № 7 | 634034, Томская область, г. Томск, Усова улица, 7, строен. 6 |
9 | Учебный корпус № 8 | 634034, Томская область, г. Томск, Усова улица, 7 |
10 | Учебный корпус № 9 | 634028, Томская область, г. Томск, Аркадия Иванова улица, 4 |
11 | Учебный корпус № 10 | 634028, Томская область, г. Томск, Ленина проспект, д. 2 |
12 | Учебный корпус № 11 | 634028, Томская область, г.![]() |
13 | Учебный корпус № 12 | 634034, Томская область, г. Томск, Ленина проспект, 30, строен. 3 |
14 | Учебный корпус № 15 | 634028, Томская область, г. Томск, Ленина проспект, 2, строен. 1 |
15 | Учебный корпус № 16 | 634028, Томская область, г. Томск, Тимакова улица, 12 |
16 | Учебный корпус № 18 | 634028, Томская область, г. Томск, Савиных улица, д. 7 |
17 | Учебный корпус № 19 | 634034, Томская область, г.![]() |
18 | Научно-техническая библиотека | 634034, Томская область, г. Томск, Белинского улица, 53а |
19 | Кибернетический центр | 634034, Томская область, г. Томск, Советская улица, 84/3 |
20 | Спортивный корпус | 634028, Томская область, г. Томск, Карпова улица, 4 |
21 | Студенческий бизнес-инкубатор | 634034, Томская область, г. Томск, Белинского улица, 51 |
22 | Учебный корпус № 20 | 634028, Томская область, г.![]() |
23 | Учебный корпус № 21 | 634034, Томская область, г. Томск, Пирогова улица, 10б |
24 | Спортивный комплекс | 634035, Томская область, г. Томск, 19-й Гвардейской дивизии улица, 13 |
25 | Здание реактора | 634067, Томская область, г. Томск, Кузовлевский тракт, 48, строен. 2 |
26 | Бассейн “Политехник” | 634028, Томская область, г. Томск, ул. Савиных, д. 5 |
27 | Стадион “Политехник” | 634045, Томская область, г.![]() |
28 | Спортплощадка № 1 | 634034, Томская область, г. Томск, ул. Вершинина, д. 46 |
29 | Спортплощадка № 2 | 634034, Томская область, г. Томск, ул. Вершинина, д. 48 |
30 | Спортивно-технический комплекс | 634034, Томская область, г. Томск, Усова улица, 7, строен. 1 |
31 | Учебно-лабораторный корпус, блок Б, Корпус №16 | 634050, г. Томск, Московский тракт 2, строение 7 |
32 | Биокорпус, Учебный корпус № 10 | 634036, г.![]() |
33 | Корпус кафедры гигиены, Учебный корпус №3 | 634050, г. Томск, Московский тракт 2, строение 9 |
34 | Госпитальные клиники | 634050, г. Томск, пр. Ленина, 4 |
35 | Учебно-медицинский корпус | 634050, г. Томск, пр. Ленина, 4, строение 4 |
36 | Главный корпус, Корпус № 11 | 634050, г. Томск, Московский тракт 2 |
37 | Мастерские Военного учебного центра | 634028, Томская область, г. Томск, Аркадия Иванова улица, 4, строен.![]() |
38 | Лаборатория Военного учебного центра | 634028, Томская область, г. Томск, Аркадия Иванова улица, 4, строен. 2 |
# | Название | Адрес |
---|---|---|
1 | Главный учебный корпус | 634050, Томская область, г. Томск, Ленина проспект, д. 30 |
2 | Учебный корпус № 1 | 634034, Томская область, г. Томск, Советская улица, 73 |
3 | Учебный корпус № 2 | 634034, Томская область, г. Томск, Ленина проспект, д. 43а |
4 | Учебный корпус № 3 | 634034, Томская область, г.![]() |
5 | Учебный корпус № 4 | 634034, Томская область, г. Томск, Ленина проспект, 30а, |
6 | Учебный корпус № 5 | 634034, Томская область, г. Томск, Ленина проспект, 30, строен.1 |
7 | Учебный корпус № 6 | 634034, Томская область, г. Томск, Усова улица, 9в |
8 | Учебный корпус № 7 | 634034, Томская область, г. Томск, Усова улица, 7, строен. 6 |
9 | Учебный корпус № 8 | 634034, Томская область, г. Томск, Усова улица, 7 |
10 | Учебный корпус № 9 | 634028, Томская область, г.![]() |
11 | Учебный корпус № 10 | 634028, Томская область, г. Томск, Ленина проспект, д. 2 |
12 | Учебный корпус № 11 | 634028, Томская область, г. Томск, Ленина проспект, 2, строен. 4 |
13 | Учебный корпус № 12 | 634034, Томская область, г. Томск, Ленина проспект, 30, строен. 3 |
14 | Учебный корпус № 15 | 634028, Томская область, г. Томск, Ленина проспект, 2, строен. 1 |
15 | Учебный корпус № 16 | 634028, Томская область, г.![]() |
16 | Учебный корпус № 18 | 634028, Томская область, г. Томск, Савиных улица, д. 7 |
17 | Учебный корпус № 19 | 634034, Томская область, г. Томск, Советская улица, д. 73, стр. 1 |
18 | Научно-техническая библиотека | 634034, Томская область, г. Томск, Белинского улица, 53а |
19 | Кибернетический центр | 634034, Томская область, г. Томск, Советская улица, 84/3 |
20 | Спортивный корпус | 634028, Томская область, г. Томск, Карпова улица, 4 |
21 | Учебный корпус № 20 | 634028, Томская область, г.![]() |
22 | Учебный корпус № 21 | 634034, Томская область, г. Томск, Пирогова улица, 10б |
23 | Стадион “Политехник” | 634045, Томская область, г. Томск, ул. 19 Гвардейской дивизии, д. 20, ст. 1 |
24 | Спортплощадка № 1 | 634034, Томская область, г. Томск, ул. Вершинина, д. 46 |
25 | Спортплощадка № 2 | 634034, Томская область, г. Томск, ул. Вершинина, д. 48 |
# | Название | Адрес |
---|---|---|
1 | Учебно-лабораторный корпус, блок Б, Корпус №16 | 634050, г.![]() |
2 | Биокорпус, Учебный корпус № 10 | 634036, г. Томск, ул. Учебная, 39 |
3 | Корпус кафедры гигиены, Учебный корпус №3 | 634050, г. Томск, Московский тракт 2, строение 9 |
4 | Госпитальные клиники | 634050, г. Томск, пр. Ленина, 4 |
5 | Учебно-медицинский корпус | 634050, г. Томск, пр. Ленина, 4, строение 4 |
6 | Главный корпус, Корпус № 11 | 634050, г. Томск, Московский тракт 2 |
Cloud Tensor Processing Units (TPU)
Tensor Processing Units (TPUs) — это специально разработанные Google
специализированные интегральные схемы (ASIC), используемые для
ускорить рабочие нагрузки машинного обучения. ТПУ спроектированы из
с нуля благодаря богатому опыту и лидерству Google в
машинное обучение.
Cloud TPU позволяет запускать рабочие нагрузки машинного обучения на аппаратном ускорителе Google TPU с использованием ТензорФлоу. Cloud TPU разработан для максимальной производительности и гибкости чтобы помочь исследователям, разработчикам и предприятиям создавать вычисления TensorFlow кластеры, которые могут использовать CPU, GPU и TPU. Высокоуровневые API TensorFlow поможет вам запустить модели на оборудовании Cloud TPU.
Преимущества TPU
Облачные ресурсы TPU ускоряют выполнение линейной алгебры вычисления, которые широко используются в приложениях машинного обучения. ТПУ свести к минимуму время достижения точности при обучении большой и сложной нейронной сети модели. Модели, на обучение которых раньше уходили недели на других аппаратных платформах может сходиться в часах на TPU.
Доступность
Регионы и зоны Cloud TPU показывают места, где
Доступны облачные TPU.
Модель программирования Cloud TPU
Облачные TPU очень быстро выполняют плотные векторные и матричные вычисления. Передача данных между Cloud TPU и памятью хоста происходит медленно по сравнению со скоростью вычислений – скорость шины PCIe на намного на медленнее чем межсоединение Cloud TPU и встроенная высокая пропускная способность память (HBM). Частичная компиляция модели, где выполнение проходит туда и обратно между хостом и устройством, заставляет TPU простаивать большую часть время ожидания поступления данных по шине PCIe. Чтобы облегчить это ситуации модель программирования для Cloud TPU предназначена для выполнять большую часть обучения на TPU — в идеале весь цикл обучения.
Ниже приведены некоторые характерные особенности модели программирования TPU:
- Все параметры модели хранятся во встроенной памяти с высокой пропускной способностью.
- Стоимость запуска вычислений на Cloud TPU амортизируется
выполнение многих тренировочных шагов в цикле.
- Входные обучающие данные передаются в очередь «входа» на Облачный ТПУ. Программа, работающая в Cloud TPU, извлекает партии из этих очередей на каждом шаге обучения.
- Сервер TensorFlow, работающий на хост-компьютере (ЦП, подключенный к Облачное устройство TPU) извлекает данные и предварительно обрабатывает их перед «подача» на оборудование Cloud TPU.
- Параллелизм данных: ядра в облачном TPU выполняют идентичные программы, находящиеся в их собственном соответствующем HBM синхронным образом. А операция редукции выполняется в конце каждого шага нейронной сети по все ядра.
Когда использовать TPU
Облачные TPU оптимизированы для определенных рабочих нагрузок. В некоторых ситуациях вы можете хотите использовать GPU или CPU в экземплярах Compute Engine для запускать рабочие нагрузки машинного обучения. В общем, вы можете решить, какое оборудование лучше всего подходит для вашей рабочей нагрузки на основе следующих рекомендаций:
-
ЦП
- Быстрое прототипирование, требующее максимальной гибкости
- Простые модели, которые не требуют много времени для обучения
- Небольшие модели с небольшими эффективными размерами партий
- Модели, в которых преобладают пользовательские операции TensorFlow, написанные на С++
- Модели, которые ограничены доступным вводом-выводом или пропускной способностью сети хост-система
-
GPU
- Модели, для которых источник не существует или его изменение слишком обременительно
- Модели со значительным количеством пользовательских операций TensorFlow, которые должны работать хотя бы частично на процессорах
- Модели с операциями TensorFlow, недоступными на
Облачный ТПУ (см.
список доступные операции TensorFlow)
- Модели среднего и крупного размера с большими эффективными размерами партий
-
ТПУ
- Модели, в которых преобладают матричные вычисления
- Модели без пользовательских операций TensorFlow внутри основного цикла обучения
- Модели, которые тренируются неделями или месяцами
- Большие и очень большие модели с очень большими эффективными размерами партий
Облачные TPU , а не подходят для следующих рабочих нагрузок:
- Программы линейной алгебры, которые требуют частого ветвления или доминируют поэлементно по алгебре. TPU оптимизированы для быстрой работы с громоздкой матрицей умножение, поэтому рабочая нагрузка, в которой не преобладает матричное умножение вряд ли будет хорошо работать на TPU по сравнению с другими платформами.
- Рабочие нагрузки, которые обращаются к памяти разреженным образом, могут быть недоступны на
ТПУ.
- Рабочие нагрузки, требующие высокоточных арифметических операций. Например, арифметика с двойной точностью не подходит для TPU.
- Рабочие нагрузки нейронной сети, содержащие пользовательские операции TensorFlow, написанные на С++. В частности, пользовательские операции в теле основного цикла обучения не подходит для ТПУ.
Рабочие нагрузки нейронной сети должны иметь возможность выполнять несколько итераций всего тренировочный цикл на ТПУ. Хотя это не является принципиальным требованием ТПУ сами по себе, это одно из текущих ограничений программной экосистемы TPU. что требуется для эффективности.
Отличия от обычного обучения
Типичный обучающий граф TensorFlow состоит из нескольких перекрывающихся подграфов которые обеспечивают различные функции, включая:
- Операции ввода-вывода для чтения обучающих данных.
- Этапы предварительной обработки ввода, часто связанные через очереди.
- Переменные модели.
- Код инициализации для этих переменных.
- Сама модель.
- Функции потерь.
- Код градиента (обычно генерируется автоматически).
- Сводка операций по наблюдению за обучением.
- Сохранение/восстановление операций для контрольной точки.
В Cloud TPU программы TensorFlow компилируются
Своевременный компилятор XLA. Когда
обучение на Cloud TPU, код только , который можно скомпилировать и
выполненный на оборудовании соответствует плотным частям модели,
подграфы потерь и градиента. Все остальные части программы TensorFlow работают на
хост-компьютеры (сервер Cloud TPU) как часть регулярного
распределенный сеанс TensorFlow. Обычно это операции ввода/вывода
которые считывают обучающие данные, любой код предварительной обработки (например: декодирование
сжатые изображения, случайная выборка/обрезка, сборка обучающих мини-пакетов)
и все части обслуживания графа, такие как сохранение/восстановление контрольной точки.
Рекомендации по разработке моделей
Один чип Cloud TPU содержит 2 ядра, каждое из которых содержит несколько матричных блоков (MXU), предназначенных для ускорения программ, в которых доминируют плотные матричные умножения и свертки (см. Архитектура системы). Программы, которые тратят значительную часть своего времени на выполнение матричные умножения обычно хорошо подходят для Cloud TPU. Программа, в вычислениях которой преобладают нематричные операции. такие как добавление, изменение формы или объединение, скорее всего, не приведут к высокому значению MXU. использование. Ниже приведены некоторые рекомендации, которые помогут вам выбрать и построить модели. которые подходят для Cloud TPU.
Одно устройство Cloud TPU состоит из четырех микросхем, каждая из которых имеет два ядра ТПУ. Поэтому для эффективного использования Cloud TPU необходимо программа должна использовать каждое из восьми ядер.
Компоновка
Компилятор XLA выполняет преобразования кода, включая мозаичное построение матрицы
размножаться на более мелкие блоки, чтобы эффективно выполнять вычисления на
матричный блок (MXU). Аппаратная структура MXU, систолическое 128×128
массив и конструкция ТПУ
подсистема памяти, которая предпочитает размеры, кратные 8, используется
компилятор XLA для эффективности листов. Следовательно, некоторые макеты более
подходит для укладки плитки, в то время как другие требуют изменяет форму , которую нужно выполнить до того, как они
можно выложить плиткой. Операции изменения формы часто связаны с памятью.
Облачный ТПУ.
Фигуры
Компилятор XLA компилирует граф TensorFlow как раз вовремя для первой партии. Если какие-либо последующие партии имеют другую форму, модель не работает. (Повторно компилировать график каждый раз при изменении формы слишком медленно.) Следовательно, любая модель, которая имеет тензоры с динамическими формами, которые изменяются во время выполнения, не является хорошо подходит для ТПУ.
Прокладка
Высокопроизводительная программа Cloud TPU — это программа, в которой плотные вычисления
можно легко разбить на фрагменты размером 128×128. Когда матричное вычисление не может занимать
весь MXU компилятор дополняет тензоры нулями. Есть два недостатка
to padding:
- Тензоры, дополненные нулями, недостаточно используют ядро TPU.
- Padding увеличивает объем встроенной памяти, необходимой для тензора. и в крайнем случае может привести к ошибке нехватки памяти.
Хотя при необходимости компилятор XLA автоматически выполняет заполнение, один может определить количество заполнения, выполненного с помощью op_profile орудие труда. Вы можете избежать заполнения, выбрав размеры тензора, которые хорошо подходят к ТПУ.
Размеры
Выбор подходящих размеров тензора имеет большое значение для извлечения максимального
производительность оборудования TPU, особенно MXU. Компилятор XLA
пытается использовать либо размер пакета, либо размер элемента, чтобы максимально
использовать MXU. Следовательно, одно из них должно быть кратно 128. В противном случае
компилятор дополнит один из них до 128. В идеале размер пакета, а также функция
размеры должны быть кратны 8, что позволяет извлекать высокую производительность
из подсистемы памяти.
Операции
См. список доступных операций TensorFlow.
Интеграция элементов управления службой VPC
Cloud TPU Элементы управления службой VPC позволяют определить безопасность периметры вокруг ваших ресурсов Cloud TPU и контролировать перемещение данных через границу периметра. Дополнительные сведения об элементах управления услугами VPC см. Обзор средств управления услугами VPC. К узнать об ограничениях использования Cloud TPU с VPC Service Controls, см. поддерживаемые продукты и ограничения.
Edge TPU
Модели машинного обучения, обученные в облаке, все чаще нуждаются в запуске
вывод «на границе», то есть на устройствах, которые работают на границе сети.
Интернет вещей (IoT). К таким устройствам относятся датчики и другие интеллектуальные устройства.
которые собирают данные в режиме реального времени, принимают разумные решения, а затем предпринимают действия или
передавать свою информацию на другие устройства или в облако.
Поскольку такие устройства должны работать с ограниченной мощностью (включая питание от батареи), Google разработал сопроцессор Edge TPU для ускорения вывода машинного обучения на маломощные устройства. Отдельный Edge TPU может выполнять 4 трлн. операций в секунду (4 TOPS), потребляя всего 2 Вт мощности, другими словами, вы получаете 2 TOPS на ватт. Например, Edge TPU может выполнять современные модели мобильного зрения, такие как MobileNet V2, со скоростью почти 400 кадров в секунду, и энергоэффективным способом.
Этот ускоритель машинного обучения с низким энергопотреблением дополняет Cloud TPU и Cloud IoT для предоставить сквозную (между облаком, аппаратным и программным обеспечением) инфраструктуру, которая облегчает ваши решения на основе ИИ.
Edge TPU доступен для ваших собственных прототипов и производственных устройств в
несколько форм-факторов, в том числе одноплатный компьютер, система-на-модуле,
Карта PCIe/M. 2 и модуль для поверхностного монтажа. Для получения дополнительной информации о
Edge TPU и все доступные продукты можно найти на сайте coral.ai.
Что дальше
- Прочитайте краткое руководство по TPU, чтобы начать использовать Ресурсы облачного ТПУ.
- Завершите одно из учебных пособий по Cloud TPU. чтобы узнать, как запускать общие рабочие нагрузки машинного обучения на Ресурсы облачного ТПУ.
Что такое тензорный процессор (TPU) и как он работает? | by Mostafa Ibrahim
TPU более чем в 20 раз быстрее современных графических процессоров… Но как?
TPU — это аппаратные ускорители, специализирующиеся на задачах глубокого обучения. В этой лаборатории кода вы увидите, как использовать их с Keras и Tensorflow 2. Облачные TPU доступны в базовой конфигурации с 8 ядрами, а также в более крупных конфигурациях, называемых «модулями TPU», до 2048 ядер. Дополнительное оборудование можно использовать для ускорения обучения за счет увеличения размера пакета обучения.
![]()
Источник: Colab
Все мы знаем, что GPU быстрее, чем CPU, когда речь идет о машинном обучении. И в течение последних нескольких лет мы видим, что гиганты отрасли, такие как Nvidia и ARM, разрабатывают новые чипы для оптимизации тензорных (матричных) операций машинного обучения, что приводит нас к тензорным процессорным блокам (TPU). Вы, вероятно, сталкивались с ними, когда участвовали в соревнованиях Kaggle или использовали онлайн-поставщика графических процессоров, такого как Google colab.
В этой статье я хочу объяснить, почему TPU быстрее, чем GPU, что позволяет им выполнять более быстрые тензорные операции, что делает их самыми быстрыми машинами машинного обучения.
Чтобы взглянуть на вещи в перспективе, мы должны понимать, что каждый чип оптимизирован для того, для чего он создан. Вероятно, это скорее совпадение, что графические процессоры быстрее, чем ЦП, для таких задач, как машинное обучение и майнинг криптовалюты, учитывая, что графические процессоры изначально были созданы для рендеринга графики (отсюда и графические процессоры). Я думаю, прежде чем мы начнем углубляться в TPU, стоит объяснить, почему GPU быстрее, чем CPU.
Графические процессоры против ЦП
Фото Niek Doup на UnsplashНесмотря на то, что графические процессоры обычно имеют меньшие ядра по сравнению с центральными процессорами, их гораздо больше. Эти ядра содержат арифметико-логические устройства (АЛУ), блоки управления и кэши памяти, которые позволяют графическим процессорам выполнять большее количество математических операций. Эти ALU были включены для обеспечения быстрых геометрических вычислений, которые позволяют играм иметь большое количество кадров в секунду. [1]
Имейте в виду, что процессоры, конечно, имеют некоторые преимущества перед графическими процессорами, но не в том, что касается машинного обучения. Примером таких преимуществ является доступ к памяти. Графические процессоры обычно имеют доступ только к 8 ГБ памяти, может быть, 16 ГБ, в то время как процессоры могут легко иметь доступ к большему количеству (в зависимости от вашей оперативной памяти). Операции передачи в/из ОЗУ намного быстрее, чем в/из графических процессоров (но это полезно только для частых операций, а не для длительных, таких как обучение модели).
Теперь вернемся к нашему первоначальному сравнению. ЦП изначально были созданы для одновременной обработки нескольких задач, а не для обработки одной сложной задачи, например выполнения операций операционной системы (например, операций ядра). Однако графические процессоры были созданы для максимально быстрого выполнения математических операций, поскольку рендеринг графики полностью построен на этих простых математических операциях.
Хорошей новостью является то, что все эти геометрические операции 3D-рендеринга являются тензорными операциями, такими как расчеты текстур, рендеринг RGB, и все они по сути являются матричными арифметическими операциями. Кроме того, все эти операции выполняются в формате с плавающей запятой , что делает его идеальным для машинного обучения. Фактически, де-факто для измерения производительности моделей машинного обучения используются операции с плавающей запятой в секунду (FLOPS).
Ладно, хватит о GPU и CPU, давайте углубимся в TPU.
TPU против GPU Photo by Nana Dua on Unsplash
Хотя TPU и GPU выполняют тензорные операции, TPU больше ориентированы на выполнение больших тензорных операций, которые часто [2] присутствуют при обучении нейронной сети по сравнению с рендерингом 3D-графики . Если вы такой же системный энтузиаст, как и я, вам этого мало, вам все равно хочется узнать подробности!
Ядро TPU v2 состоит из блока умножения матриц (MXU), который выполняет умножение матриц, и блока векторной обработки (VPU) для всех других задач, таких как активация, softmax и т. д. VPU обрабатывает вычисления с плавающей запятой 32 и int32. MXU, с другой стороны, работает в формате смешанной точности 16–32 бит с плавающей запятой.
Источник: Colab
Ядро TPU Google состоит из 2 блоков. Блок матричного умножения и блок векторной обработки, как упомянуто выше. Что касается программного уровня, оптимизатор используется для переключения между операциями bfloat16 и bfloat32 (где 16 и 32 — количество битов), чтобы разработчикам не нужно было менять код для переключения между этими операциями. Очевидно, что bfloat16 использует меньше оперативной памяти, но менее точен, чем bfloat32.
Конечным результатом является то, что архитектура систолического массива TPU имеет значительное преимущество в плотности и мощности, а также существенное преимущество в скорости по сравнению с GPU при вычислении умножения матриц.
Источник: Colab
Еще одна интересная концепция для ускорения тензорных операций — так называемый «систолический массив » Систолический означает сокращение и высвобождение струи (обычно используется в медицине) [2]. Систолические массивы используются для выполнения точечных произведений тензоров на 1 ядре TPU вместо того, чтобы распределяться параллельно по нескольким ядрам GPU. Они могут сделать это, используя умножающие аккумуляторы, которые используют операции bfloat16 для обеих матриц и bfloat32 для результата.
Еще один хороший момент, на который стоит обратить внимание: когда вы используете TPU Colab/Kaggle, вы используете не только одно ядро TPU, вы на самом деле используете довольно много. Градиенты [2] обычно передаются между ядрами TPU с использованием «алгоритма all-reduce»
Последнее, о чем я хочу поговорить, что делает TPU более производительными, чем GPU, — это квантование. Квантование — это процесс аппроксимации случайного значения между двумя пределами. Это довольно активно используется для сжатия вычислений с плавающей запятой путем преобразования непрерывных чисел в дискретные числа. Это довольно интересно, и вы можете узнать больше об этом здесь.
Заключительные мысли и выводы
Я надеюсь, что эта статья дала некоторый контекст о том, почему чипы, такие как нейронный движок Apple и TPU Colab, хорошо работают при обучении моделей машинного обучения.