TPU (Tensor Processing Unit)
Узнай, как Tensor Processing Units (TPUs) ускоряют машинное обучение. Научись оптимизировать Ultralytics YOLO26 для Edge TPU и облачного обучения, чтобы добиться максимальной скорости.
Тензорный процессор (TPU) — это специализированная интегральная схема (ASIC), разработанная Google специально для ускорения рабочих нагрузок машинного обучения (ML). В отличие от процессоров общего назначения, которые справляются с широким спектром вычислительных задач, TPU с нуля спроектированы для оптимизации масштабных матричных операций, лежащих в основе нейронных сетей. Такая специализация позволяет им достигать исключительно высокой пропускной способности и энергоэффективности, делая их важнейшим компонентом современной инфраструктуры искусственного интеллекта (AI), особенно в рамках экосистемы Google Cloud. Они играют важную роль в сокращении времени, необходимого как для обучения сложных моделей, так и для выполнения вывода в реальном времени в масштабируемых системах.
Архитектура и функциональность#
Архитектура TPU существенно отличается от архитектуры традиционных процессоров. В то время как стандартный CPU (центральный процессор) отлично справляется с последовательными задачами и сложной логикой, а GPU (графический процессор) использует параллельные ядра для графики и общих вычислений, TPU применяет архитектуру систолического массива. Такая конструкция позволяет данным одновременно проходить через тысячи умножителей без обращения к памяти при каждой операции. Максимизируя вычислительную плотность и минимизируя задержку, TPU идеально подходят для ресурсоёмкой линейной алгебры, используемой в приложениях глубокого обучения (DL).
Это специализированное оборудование сильно оптимизировано для таких фреймворков, как TensorFlow, и получает всё более широкую поддержку в PyTorch, позволяя разработчикам обучать масштабные базовые модели или развёртывать эффективные решения на периферийных устройствах без полного переписывания кодовой базы.
Различия между вычислительными блоками#
Понимание аппаратной среды критически важно для оптимизации операций машинного обучения (MLOps).
- CPU: «Мозг» компьютера общего назначения, идеально подходящий для последовательной обработки, предварительной обработки данных и выполнения сложной логики. Он часто используется в конвейерах аугментации данных, но медленнее справляется с ресурсоёмкими матричными вычислениями.
- GPU: Изначально созданные для рендеринга изображений, GPU стали отраслевым стандартом для обучения моделей благодаря своей универсальности и высокой степени параллелизма. Они отлично подходят для обучения гибких моделей, таких как Ultralytics YOLO26.
- TPU: Специализированный ускоритель, жертвующий гибкостью ради максимальной скорости выполнения тензорных операций. Он разработан для максимизации показателя FLOPS (операций с плавающей запятой в секунду) именно для вычислений в нейронных сетях и часто обеспечивает более высокую производительность на ватт для определённых масштабных рабочих нагрузок.
Практические применения#
TPU используются в различных средах — от огромных облачных кластеров до компактных периферийных устройств.
-
Обучение больших языковых моделей: Google использует обширные взаимосвязанные кластеры, известные как TPU Pods, для обучения огромных больших языковых моделей (LLMs), таких как PaLM и Gemini. Эти системы могут обрабатывать петабайты данных для обучения за долю времени, которое потребовалось бы традиционному оборудованию, ускоряя развитие генеративного AI.
-
Edge AI и IoT: Coral Edge TPU переносит эти возможности ускорения на устройства с низким энергопотреблением. Он обеспечивает эффективную работу приложений компьютерного зрения (CV), например обнаружение объектов на производственной линии для локального выявления дефектов. Это позволяет принимать решения немедленно, не полагаясь на подключение к облаку, и сохраняет пропускную способность сети и конфиденциальность данных.
Использование TPU с Ultralytics#
Разработчики могут использовать ускорение TPU для моделей Ultralytics, особенно при работе с Ultralytics Platform для облачного обучения или при экспорте моделей для развёртывания на периферийных устройствах. Например, для Edge TPU требуется специально квантовать и компилировать модели с учётом его архитектуры.
В следующем примере показано, как экспортировать модель Ultralytics YOLO26 в формат TFLite — это обязательный шаг перед компиляцией для Edge TPU:
from ultralytics import YOLO
# Load the latest lightweight YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to TFLite format
# This creates a '.tflite' file suitable for mobile and edge deployment
# Set int8=True for quantization, which is often required for Edge TPU performance
model.export(format="tflite", int8=True)После экспорта модель можно дополнительно скомпилировать для Edge TPU с помощью компилятора Edge TPU, чтобы она эффективно работала на таких устройствах, как Raspberry Pi, с Coral USB Accelerator. Дополнительную информацию о развёртывании можно найти в документации по интеграции TFLite.









