TPU (Tensor Processing Unit)
Исследуй, как тензорные процессоры (TPU) ускоряют машинное обучение. Научись оптимизировать Ultralytics YOLO26 для Edge TPU и облачного обучения для максимальной скорости.
Tensor Processing Unit (TPU) — это специализированная интегральная схема специального назначения (ASIC), разработанная Google специально для ускорения рабочих нагрузок machine learning (ML). В отличие от процессоров общего назначения, которые справляются с широким кругом вычислительных задач, TPU созданы с нуля для оптимизации масштабных матричных операций, лежащих в основе neural networks. Такая узкая специализация позволяет им достигать исключительно высокой пропускной способности и энергоэффективности, что делает их краеугольным камнем современной инфраструктуры artificial intelligence (AI), особенно в рамках Google Cloud ecosystem. Они играют важнейшую роль в сокращении времени, необходимого как для обучения сложных моделей, так и для выполнения real-time inference в больших масштабах.
Архитектура и функциональность#
Архитектура TPU существенно отличается от традиционных процессоров. Если стандартный CPU (Central Processing Unit) отлично справляется с последовательными задачами и сложной логикой, а GPU (Graphics Processing Unit) использует параллельные ядра для графики и общих вычислений, то TPU задействует systolic array architecture. Такая конструкция позволяет данным проходить через тысячи умножителей одновременно, не обращаясь к памяти для каждой операции. За счет максимизации вычислительной плотности и минимизации задержек TPU идеально подходят для тяжелой линейной алгебры в приложениях deep learning (DL).
Это специализированное железо сильно оптимизировано под такие фреймворки, как TensorFlow, и все больше поддерживается PyTorch, позволяя разработчикам обучать массивные foundation models или развертывать эффективные периферийные решения без полного переписывания кодовой базы.
Различия между вычислительными устройствами#
Понимание ландшафта оборудования критически важно для оптимизации machine learning operations (MLOps).
- CPU: Универсальный «мозг» компьютера, идеальный для последовательной обработки, предварительной обработки данных и работы со сложной логикой. Он часто используется в конвейерах data augmentation, но работает медленнее при выполнении тяжелой матричной математики.
- GPU: Первоначально созданные для рендеринга изображений, графические процессоры являются отраслевым стандартом для model training благодаря своей универсальности и массивному параллелизму. Они отлично подходят для обучения гибких моделей, таких как Ultralytics YOLO26.
- TPU: Специализированный ускоритель, который жертвует универсальностью ради чистой скорости тензорных операций. Он разработан для максимального увеличения FLOPS (floating-point operations per second) именно для вычислений нейросетей, часто обеспечивая превосходную производительность на ватт для определенных крупномасштабных рабочих нагрузок.
Реальные приложения#
TPU развертываются в различных средах: от массивных облачных кластеров до крошечных периферийных устройств.
-
Обучение больших языковых моделей: Google использует огромные взаимосвязанные кластеры, известные как TPU Pods, для обучения масштабных large language models (LLMs), таких как PaLM и Gemini. Эти системы способны обрабатывать петабайты training data за малую долю времени, которое потребовалось бы традиционному оборудованию, ускоряя прогресс в области generative AI.
-
Edge AI и IoT: Устройство Coral Edge TPU приносит такое ускорение в маломощные устройства. Оно обеспечивает эффективную работу приложений computer vision (CV), таких как object detection на производственной линии для локального выявления дефектов. Это позволяет принимать решения мгновенно, не полагаясь на облачное подключение, что сохраняет пропускную способность сети и конфиденциальность.
Использование 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 Compiler, что позволит ей эффективно работать на таких устройствах, как Raspberry Pi с Coral USB Accelerator. Дополнительные сведения о развертывании можно найти в документации по TFLite integration.






