TPU: Специальная архитектура для AI¶
Проблема: Ограничения классических процессоров в AI¶
Для современных задач искусственного интеллекта требуются огромные вычислительные мощности. Традиционные процессоры (CPU) и графические ускорители (GPU) не всегда оптимальны для специфических задач машинного обучения. Поэтому появились специализированные аппаратные решения, такие как Tensor Processing Unit (TPU) — процессоры, разработанные Google для эффективного выполнения операций, связанных с AI.
Ограничения существующих процессоров¶
Ограничения CPU: почему он не подходит для AI¶
- CPU рассчитан на последовательные вычисления
Когда процессор пытается работать с большими массивами данных, узкий канал памяти становится "пробкой". CPU имеет несколько мощных ядер, которые работают над разными задачами одновременно, но в пределах одной задачи CPU выполняет команды последовательно. AI же требует массового параллелизма
- Проблема "узкого места"
CPU использует фон-неймановскую архитектуру, где данные хранятся в оперативной памяти и передаются через шину. Шина данных – узкое место: процессор ждёт загрузки данных вместо того, чтобы сразу выполнять вычисления. В AI-вычислениях CPU простаивает большую часть времени, ожидая данные, что сильно снижает эффективность.
- Слабая оптимизация для матричных операций
Основные вычисления в нейросетях – это умножение матриц и векторов (тензорные операции). CPU не содержит специализированных блоков для матричных вычислений, выполняя их через общие арифметические модули, что делает процесс медленным.
GPU как альтернатива: почему он тоже не идеальна?¶
Когда оказалось, что CPU не справляется с нейросетями, разработчики обратились к графическим процессорам (GPU). Они оказались лучше из-за своей архитектуры, но тоже имели ограничения.
- GPU создан для графики, а не для AI
Графический процессор содержит тысячи маломощных ядер, которые умеют работать параллельно. Это ускорило вычисления нейросетей, но GPU изначально разрабатывались для 3D-графики, а не для нейронных сетей. Они не были оптимизированы именно под тензорные вычисления.
- GPU по-прежнему ограничен памятью
Хоть у GPU больше пропускная способность памяти, он всё равно зависит от передачи данных из оперативной памяти, что создаёт задержки. Массивные модели AI требуют огромных объёмов данных, а узкие места GPU в памяти становятся ограничивающим фактором.
- GPU слишком универсален
Производители GPU (NVIDIA, AMD) создают универсальные решения: они должны работать не только с нейросетями, но и с рендерингом, физическими симуляциями и другими задачами. Универсальность = неоптимальность для конкретных вычислений AI.
Эти ограничения привели к созданию тензорных процессоров (TPU, Tensor Processing Units) — специализированных чипов, разработанных Google, которые значительно ускоряют выполнение тензорных операций, обеспечивая лучшую производительность и энергоэффективность по сравнению с GPU.
Что такое TPU¶
TPU – это интегральная схема специального назначения, разработанная для выполнения конкретных задач в AI вычислениях. Это специализированный ускоритель, созданный Google для ускорения нейросетевых вычислений. TPU предназначен только для AI-задач и построен на принципах максимальной параллельности и эффективности обработки тензорных операций.
Основные принципы работы¶
- Параллельная обработка матричных операций – вместо работы с отдельными числами, TPU обрабатывает целые тензоры.
- Минимизация задержек – TPU хранит данные внутри себя, не загружая их каждый раз из оперативной памяти.
- Оптимизированные вычислительные блоки – TPU использует тензорные процессоры MXU (Matrix Multiply Unit), которые специализированы для операций умножения матриц.
- Минимизация общего назначения инструкций – TPU не содержит сложных управляющих механизмов, которые есть в CPU/GPU, что делает его энергоэффективным.
Главное отличие TPU от CPU/GPU:¶
CPU работает с отдельными числами (скалярами) и выполняет инструкции последовательно. GPU работает с векторами (массивами чисел) и может параллельно выполнять одни и те же операции над разными данными. TPU работает с матрицами (тензорами) и может обрабатывать сотни тысяч операций одновременно.
Как TPU выполняет тензорные операции?¶
Обычно для умножения матриц CPU выполняет отдельные умножения и сложения в несколько шагов. В TPU матрицы загружаются сразу в MXU, и все элементы умножаются одновременно.
CPU (медленно):
- Загружает число A из памяти
- Загружает число B
- Умножает A * B
- Записывает в память
- Повторяет всё снова
TPU (быстро):
- Загружает всю матрицу в MXU
- Все умножения выполняются сразу
- Записывает готовый результат без промежуточных шагов
Основные отличия TPU:¶
- Специализированная архитектура для тензорных вычислений – без избыточных инструкций, характерных для CPU/GPU.
- Отказ от фон-неймановской модели – TPU хранит данные внутри самого процессора и не ждёт загрузки из оперативной памяти.
- Использование тензорных процессоров (MXU) – специализированные модули для умножения матриц работают быстрее, чем любые другие процессоры.
- Высокая параллельность – TPU может одновременно обрабатывать огромное количество данных, обеспечивая прирост производительности.
Итог: почему TPU быстрее CPU и GPU?¶
| Фактор CPU GPU TPU | CPU | GPU | TPU |
|---|---|---|---|
| Использование памяти | Внешняя (RAM) | Внешняя (VRAM) | Внутренняя |
| Основной тип вычислений | Последовательные | Параллельные | Массово параллельные |
| Оптимизация для матриц | Нет | Частично | Полностью |
| Выделенные тензорные блоки | Нет | Частично | Да |
| Быстродействие | Низкое | Среднее | Высокое |
| Проблема | CPU | GPU | TPU |
|---|---|---|---|
| Последовательные вычисления | ✅ | ❌ | ❌ |
| Зависимость от медленной памяти | ✅ | ✅ | ❌ |
| Отсутствие матричных блоков | ✅ | ✅ | ❌ |
| Неоптимальная архитектура | ✅ | ✅ | ❌ |
| Ограниченная параллельность | ✅ | ❌ | ❌ |
Как программируется TPU¶
TPU не программируется напрямую, как CPU или GPU. Вместо этого он управляется высокоуровневым ПО, таким как TensorFlow.
TensorFlow — это открытая библиотека машинного обучения и искусственного интеллекта, разработанная Google. Она предоставляет инструменты для создания, обучения и развертывания моделей AI. TensorFlow поддерживает различные платформы, включая CPU, GPU и TPU. TensorFlow — это не единственный фреймворк, который поддерживает TPU, но он является основным, так как TPU разработаны Google, и TensorFlow — их родной фреймворк.
XLA (Accelerated Linear Algebra) — это компилятор, встроенный в TensorFlow, который преобразует модель в машинный код, оптимизированный для TPU.
Для TPU не пишут код на низкоуровневых языках (C, Assembly), потому что его инструкциями напрямую управляет фреймворк.
Как работать с TPU¶
TPU используется как сопроцессор, работающий в паре с CPU. TPU не может самостоятельно загружать модели или управлять файлами – этим занимается CPU. TPU не имеет прямого доступа к данным на диске или в сети. CPU отвечает за загрузку, подготовку и передачу данных на TPU. Это связано с архитектурой TPU, которая оптимизирована для выполнения вычислений, а не для управления данными.
- После компиляции через XLA на выходе получается бинарный код, который может выполняться на TPU.
- TensorFlow с CPU подключается к TPU и начинает загрузку модели в память, инициализирует её.
- Если доступно несколько ядер TPU, TensorFlow распределяет модель между ними.
- CPU переходит в режим управления.
- А TPU выполняет свои операции независимо от CPU.
- TensorFlow на CPU должен работать всё время, пока выполняется программа, использующая TPU (Это связано с тем, что CPU задачи управления, которые необходимы для работы TPU)
- Данные (например, изображения или тексты) загружаются в память CPU и подготавливаются (например, нормализуются ( преобразование данных к единому масштабу (например, диапазону [0, 1] или стандартному распределению)) и батчируются(разделение исходного набора данных на небольшие группы (батчи или мини-батчи), которые последовательно подаются в модель для обучения или предсказания)).
- Подготовленные данные передаются из памяти CPU в память TPU. Это происходит через высокоскоростной канал (PCIe)
- TPU выполняет нужные операции на переданных данных.
- Результаты вычислений сохраняются в памяти TPU.
- Результаты передаются обратно в память CPU для дальнейшей обработки
- После завершения программы TensorFlow на CPU освобождает ресурсы TPU и завершает работу.
Какие компоненты нужны для работы TPU?¶
Чтобы TPU работал, нужна система:
-
Аппаратное обеспечение
- TPU чип (специализированный ускоритель).
- CPU (управляет TPU, загружает данные).
- ОЗУ (RAM) (буфер для обработки данных).
- SSD / HDD (хранение обученной модели).
-
Программное обеспечение
Для работы с TPU нужен специальный софт.
- Операционная система (Linux, macOS, Windows) — запускает код.
- Фреймворки для AI:
- TensorFlow XLA (компилятор моделей для TPU).
- PyTorch XLA (аналог для PyTorch).
- Драйвер TPU (соединяет TPU с CPU). Google не предоставляет драйверы для локального использования TPU, так как они
оптимизированы для работы в облаке. (драйверы уже предустановлены в средах, где доступны TPU (например, Google
Cloud или Google Colab) Драйверы для TPU не поставляются вместе с TensorFlow или XLA. Они предоставляются Google и
доступны только в определенных средах:
- Компилятор TPU (преобразует нейросетевые операции в инструкции TPU).
Важно: Вся логика программы остаётся на CPU, а TPU делает только ускоренные вычисления.
Взаимодействие с TPU¶
Через какие интерфейсы общается CPU и TPU?
Взаимодействие между CPU и TPU происходит через специализированные интерфейсы и шины данных, обеспечивающие передачу команд, данных и результатов вычислений.
Физические интерфейсы (Аппаратное взаимодействие)¶
CPU и TPU могут быть связаны разными способами, в зависимости от архитектуры TPU:
- PCIe (PCI Express) – стандартный интерфейс для TPU-карт
- Используется в TPU-картах.
- Позволяет подключать TPU как ускоритель к CPU, аналогично видеокартам (GPU).
- Обеспечивает высокую скорость передачи данных между CPU и TPU (от PCIe 3.0 до 5.0).
Плюсы: Высокая скорость передачи, универсальность.
Минусы: Ограниченная пропускная способность для больших тензоров.
- NVLink (альтернатива PCIe, используется в суперкомпьютерах)
- Разработан NVIDIA для связи GPU, но TPU тоже может поддерживать аналоги NVLink.
- Прямое соединение TPU-TPU без посредничества CPU.
- Намного быстрее, чем PCIe (до 900 ГБ/с).
Плюсы: Высокая скорость соединения между TPU.
Минусы: Требует специального оборудования.
- Interconnect (Google TPU Pod(Это масштабируемый кластер из TPU, связанных через высокопроизводительную сеть)) –
объединение TPU в кластер) - это Специализированная сеть для связи между TPU
- В облачных решениях Google TPU соединяются в TPU Pod через оптоволоконные или шины высокой пропускной способности.
- Позволяет объединять сотни TPU в единую систему.
Плюсы: Масштабируемость до суперкомпьютерных мощностей.
Минусы: Используется только в облаке Google.
Программное взаимодействие (Софт и API для связи CPU и TPU)¶
Физическое соединение (PCIe, HBM(High Bandwidth Memory высокоскоростная память для GPU и ускорителей)) — это только транспорт. Чтобы CPU мог передавать команды TPU, используются драйверы и API.
-
Драйвер TPU (TensorFlow XLA, PyTorch XLA)
- Специальный драйвер, который преобразует команды CPU в инструкции для TPU.
- Оптимизирует выполнение тензорных операций.
- Используется в TensorFlow XLA (Accelerated Linear Algebra) и PyTorch XLA.
-
API для программирования TPU. Для работы с TPU используются специальные API, например:
- TensorFlow TPU API
- PyTorch XLA
- Google Cloud TPU API
Эти API автоматически направляют вычисления на TPU, оптимизируя код.
Архитектура процессора TPU¶
Архитектура¶
TPU не попадает в классические архитектуры CISC или RISC, так как:
- Он не универсальный процессор (как CPU), а специализированный чип.
- TPU не выполняет стандартные команды общего назначения (арифметика, ветвления).
- Он использует векторно-матричные команды, управляемые XLA-компилятором.
Если пытаться классифицировать:
- Не CISC, потому что нет сложных инструкций вроде MOV, ADD, JMP.
- Не классический RISC, так как TPU не выполняет независимые команды, а работает с обработкой тензоров.
- Ближе всего TPU к VLIW (Very Long Instruction Word), где за один такт выполняются несколько операций параллельно.
Разрядность¶
Внутренняя архитектура — 32-битная, но оптимизирована для работы с 8/16-битными тензорами. Выбор 32-битной архитектуры объясняется несколькими причинами:
-
Машинное обучение не требует 64-битной точности
- Для AI достаточно 16 или 8, так как нейросети устойчивы к небольшим численным ошибкам.
- 64-битные вычисления увеличили бы энергопотребление и снизили бы эффективность TPU без значительного прироста качества обучения.
-
Оптимизация памяти и энергопотребления
- Чем больше бит занимает число, тем больше памяти требуется для его хранения.
- 64-битные числа занимали бы вдвое больше памяти, увеличивая потребность в пропускной способности и энергопотребление.
- Использование 16 бит позволяет загружать в 4 раза больше данных в ту же память по сравнению с 64.
-
Улучшенная пропускная способность
- TPU использует HBM (High Bandwidth Memory), но её пропускная способность ограничена.
- При 64-битных данных пропускная способность упала бы в 2 раза, а для нейросетей важно питать MXU данными без задержек.
- Использование 16- и 8-битных форматов позволяет выполнять в 4-8 раз больше операций за один такт.
-
MXU (Matrix Multiply Unit) работает с низкой разрядностью
- Главный вычислительный блок TPU (MXU) спроектирован специально для 8/16 бит.
- Включение 64-битных операций потребовало бы изменения всей архитектуры и значительно снизило бы эффективность.
Фон-Неймановская vs Гарвардская архитектура¶
Отказ от традиционной модели памяти (фон-неймановской архитектуры)
Проблема CPU и GPU: память – "узкое место".¶
В традиционной фон-неймановской архитектуре данные хранятся в оперативной памяти и передаются процессору по общей шине данных. Шина данных становится узким местом, поскольку CPU/GPU ждут загрузки данных вместо выполнения вычислений. Даже у GPU, использующего высокоскоростную VRAM, всё ещё есть задержки на передачу данных.
Решение TPU: гарвардская архитектура с локальной памятью.¶
TPU использует специализированную архитектуру, в которой данные загружаются заранее и хранятся внутри самого процессора. Нет необходимости каждый раз загружать данные из RAM, что убирает задержки и увеличивает пропускную способность. TPU использует массивно-параллельные вычисления, где все операции выполняются одновременно, без ожидания данных из памяти.
Что это даёт?¶
- Меньше задержек – TPU не ждёт, пока данные загрузятся из RAM.
- Более высокая пропускная способность – тензоры хранятся внутри TPU, обеспечивая мгновенный доступ.
- Минимальные накладные расходы – нет постоянного обмена данными, как в CPU и GPU.
CPU и GPU: Используют фон-неймановскую архитектуру, где память и процессор разделены. Данные и инструкции хранятся в разных местах, передача идёт через общую шину, что создаёт задержки.
TPU: Использует гарвардскую архитектуру, где память и вычислительные блоки близко расположены или объединены. Данные не загружаются из внешней RAM, а хранятся внутри TPU, что уменьшает задержки и увеличивает скорость работы.
Состав TPU¶
Ключевые технологии TPU:
-
MXU (Matrix Multiply Unit) – сердце TPU
- MXU – это специализированный блок для умножения матриц.
- Это основной вычислительный блок TPU, оптимизированный для выполнения операций умножения матриц.
- MXU может выполнять тысячи операций умножения и сложения за один такт.
-
Встроенная память HBM (High Bandwidth Memory)
- Это высокоскоростная память, которая используется для хранения данных и промежуточных результатов вычислений.
- HBM обеспечивает высокую пропускную способность, что позволяет быстро передавать данные между памятью и вычислительными блоками.
- Данные загружаются один раз и остаются в TPU.
- Нет узкого места памяти, как у CPU и GPU.
-
Unified Buffer (UB):
- Это быстрая память, которая используется для хранения промежуточных данных и результатов вычислений.
- Unified Buffer меньше по объему, чем HBM, но быстрее и используется для временного хранения данных.
-
Activation Unit:
- Этот блок отвечает за выполнение нелинейных операций, таких как функции активации (Функции активации – это математические фильтры, которые решают, какие данные дальше пойдут в нейросеть, а какие нет. Они делают так, чтобы модель могла понимать сложные зависимости, а не просто складывать числа.). В TPU за это отвечают Activation Units – маленькие ускорители внутри чипа, которые очень быстро считают эти функции. Они работают как светофор: ReLU – если число положительное, пропускаем его дальше, если отрицательное – заменяем на ноль. Sigmoid – сжимает любое число в диапазон от 0 до 1, удобно для вероятностей. Softmax – превращает кучу чисел в вероятности, например, что на фото кошка (90%), а не собака (10%). Tanh – как Sigmoid, но сжимает от -1 до 1, хорошо для баланса данных.
- Activation Unit работает совместно с MXU для выполнения полного цикла вычислений.
-
Accumulators:
- Это регистры, которые используются для накопления промежуточных результатов вычислений.
- Accumulators позволяют выполнять операции, такие как суммирование или усреднение, без необходимости сохранять промежуточные результаты в памяти.
-
Control Unit:
- Это блок управления, который координирует работу всех компонентов TPU.
- Control Unit управляет выполнением инструкций, передачей данных и синхронизацией между блоками.
Как работают компоненты TPU?¶
Загрузка данных: Данные загружаются из HBM в Unified Buffer. Unified Buffer используется для временного хранения данных, которые будут использоваться в вычислениях.
Выполнение операций: Данные передаются из Unified Buffer в MXU. MXU выполняет операции умножения матриц и сложения. Промежуточные результаты сохраняются в Accumulators.
Нелинейные операции: Промежуточные результаты передаются в Activation Unit для выполнения нелинейных операций (например, ReLU). Результаты возвращаются в Unified Buffer или HBM.
Сохранение результатов: Окончательные результаты вычислений сохраняются в HBM. Результаты могут быть переданы обратно в CPU или использованы для следующих вычислений.
Итог¶
- TPU состоит из нескольких ключевых компонентов, таких как MXU, HBM, Unified Buffer, Activation Unit, Accumulators, Control Unit и Interconnect.
- MXU — это основной вычислительный блок, оптимизированный для выполнения операций умножения матриц.
- HBM — это высокоскоростная память, которая обеспечивает высокую пропускную способность.
- Unified Buffer — это быстрая память, которая используется для временного хранения данных.
- Activation Unit отвечает за выполнение нелинейных операций.
- Accumulators используются для накопления промежуточных результатов вычислений.
- Control Unit координирует работу всех компонентов TPU.
- Interconnect соединяет различные компоненты TPU и позволяет им обмениваться данными.
Обработка данных: последовательность vs параллельность¶
| Характеристика | CPU | GPU | TPU |
|---|---|---|---|
| Основной тип вычислений | Последовательные | Параллельные | Массово параллельные |
| Количество ядер | 2-64 мощных ядра | 1000+ слабых ядер | Массив тензорных блоков |
| Оптимизация для матричных операций | ❌ | ⚠️ Частично | ✅ Полностью |
CPU: Ориентирован на последовательную обработку, его ядра выполняют разные задачи, но работают по очереди. Даже у многопоточных CPU узким местом остаётся ограничение по количеству потоков и пропускной способности памяти.
GPU: Ориентирован на массовую параллельность, имеет сотни или тысячи потоков, которые выполняют одни и те же инструкции над разными данными (SIMD). Подходит для графики и нейросетей, но не идеально оптимизирован для матриц.
TPU: Использует специальные тензорные процессоры (MXU) для максимально параллельных матричных операций. Не просто параллельные вычисления, а массовая параллельность с минимумом накладных операций.
Использование памяти и шины¶
| Характеристика | CPU | GPU | TPU |
|---|---|---|---|
| Где хранятся данные? | В оперативной памяти (RAM) | В видеопамяти (VRAM) | Внутри TPU |
| Ограничение памяти | Узкое место: шина | VRAM быстрее, но всё ещё ограничение | Минимальные задержки |
| Пропускная способность | Низкая | Средняя | Очень высокая |
CPU и GPU:
Часто простаивают, ожидая загрузку данных из памяти. GPU быстрее CPU, так как использует видеопамять (VRAM), но всё равно зависит от пропускной способности памяти.
TPU:
Данные уже загружены в TPU, нет нужды в постоянном обмене с RAM. Реализован ускоренный доступ к данным внутри процессора. Резко снижены накладные расходы на перемещение данных.
Вычислительные блоки (ALU, CUDA, MXU)¶
| Блок | CPU | GPU | TPU |
|---|---|---|---|
| Арифметико-логическое устройство (ALU) | ✅ | ✅ | ❌ |
| CUDA/Shader Execution Units | ❌ | ✅ | ❌ |
| Тензорные процессоры (MXU) | ❌ | ❌ | ✅ |
CPU: Использует ALU (Arithmetic Logic Unit) для выполнения инструкций. Подходит для разноплановых вычислений, но не оптимизирован для нейросетей.
GPU: Использует CUDA-ядра (у NVIDIA) или Shader Execution Units (у AMD). Хорош для параллельных операций, но не всегда эффективен для нейросетей.
TPU: Основной вычислительный блок – MXU (Matrix Multiply Unit). MXU обрабатывает матрицы напрямую, обеспечивая гигантскую пропускную способность для AI. Не нужны сложные инструкции (как у CPU/GPU), всё сосредоточено на быстром умножении матриц.
Резюме:
- CPU (Central Processing Unit) Вычислительные блоки:
ALU (Arithmetic Logic Unit) — выполняет арифметические и логические операции (сложение, умножение, сравнение).
CU (Control Unit) — управляет потоком инструкций и данных.
Особенности:
- Универсальность: оптимизирован для последовательных задач (условия, ветвления, сложная логика).
- Мало ядер (4–64), но каждое ядро мощное и автономное.
- Кэш-память для уменьшения задержек.
Пример задач: ОС, базы данных, веб-серверы.
- GPU (Graphics Processing Unit) Вычислительные блоки:
CUDA-ядра — тысячи упрощённых ALU, оптимизированных для параллельных вычислений.
Tensor Cores (в современных GPU) — специализированные блоки для матричных операций.
Особенности:
- Массовый параллелизм: тысячи ядер для одновременной обработки данных (например, пикселей или вершин).
- Нет сложного управления потоком — выполняет одну операцию на множестве данных (SIMD).
- Высокая пропускная способность памяти (GDDR/HBM).
Пример задач: Графика, машинное обучение (CNN), научные расчёты.
- TPU (Tensor Processing Unit) Вычислительные блоки:
MXU (Matrix Multiply Unit) — специализирован только для умножения матриц (основа ИИ-моделей).
Vector Processing Unit (VPU) — вспомогательные операции (активации, нормализация).
Особенности:
- Жёстко заточен под тензорные операции (матрицы 16×16 или 128×128).
- Нет универсальных ALU — только предопределённые ИИ-оптимизированные вычисления.
- Минимальные задержки: данные и веса загружаются напрямую в MXU.
Пример задач: Обучение/инференс нейросетей (Transformer, ResNet).
Энергопотребление и эффективность¶
| Характеристика | CPU | GPU | TPU |
|---|---|---|---|
| Энергопотребление | Высокое 50-150 Вт | Очень высокое 200-500 Вт | Низкое 30-100 Вт |
| Эффективность AI-задач | Плохая | Средняя | Высокая |
| Тепловыделение | Высокое | Очень высокое | Низкое |
CPU: Потребляет много энергии на управление потоками, памятью и инструкциями. Мало полезных вычислений на ватт потребляемой мощности.
GPU: Высокая мощность, но много "лишних" вычислений. Эффективнее CPU, но всё ещё много накладных расходов.
TPU: Оптимизирован под AI, не тратит энергию на ненужные инструкции. Минимальные накладные расходы = больше вычислений за ту же мощность.
Высокая производительность не всегда означает большие затраты энергии. TPU не только быстрее, но и намного эффективнее по энергопотреблению.
Почему TPU потребляет меньше энергии?
- Нет сложной логики управления, как у CPU.
- Нет больших накладных расходов на память, как у GPU.
- Оптимизирован для AI → выполняет только нужные операции.
Итог¶
- Специализация под ИИ
Google создал Tensor Processing Unit (TPU) — первый в мире специализированный процессор для машинного обучения, оптимизированный исключительно под матричные операции (MXU). Это позволило:
Ускорить обучение моделей в 10–100 раз по сравнению с GPU.
Снизить энергопотребление за счёт отказа от универсальности.
- Архитектурные инновации
Matrix Multiply Unit (MXU) — жёстко заточен под умножение матриц (основа ИИ).
High Bandwidth Memory (HBM) — решает проблему "бутылочного горлычка" памяти.
Interconnect — масштабируемость до тысяч TPU в дата-центрах.
- Влияние на индустрию
Подтолкнул NVIDIA и AMD к созданию аналогичных решений (Tensor Cores, CDNA).
Сделал ИИ доступнее — облачные TPU в Google Cloud снизили стоимость обучения моделей.
Запустил гонку специализированных ускорителей (например, Cerebras, Graphcore).
- Ограничения
Не универсален — бесполезен вне задач ИИ.
Закрытая экосистема — работает только в Google Cloud.