TPU (Tensor Processing Unit)
Khám phá cách Tensor Processing Units (TPUs) tăng tốc machine learning. Tìm hiểu cách tối ưu hóa Ultralytics YOLO26 cho Edge TPUs và đào tạo trên đám mây để đạt tốc độ tối đa.
Tensor Processing Unit (TPU) là một mạch tích hợp chuyên dụng theo ứng dụng (ASIC) do Google thiết kế dành riêng để tăng tốc các khối lượng công việc machine learning (ML). Không giống như các bộ xử lý đa năng xử lý nhiều loại tác vụ điện toán, TPU được thiết kế từ đầu để tối ưu hóa các phép toán ma trận lớn vốn là nền tảng của neural networks. Sự tập trung cụ thể này cho phép chúng đạt được thông lượng và hiệu quả năng lượng cực kỳ cao, biến chúng thành nền tảng của cơ sở hạ tầng artificial intelligence (AI) hiện đại, đặc biệt là trong Google Cloud ecosystem. Chúng đóng vai trò quan trọng trong việc giảm thời gian cần thiết cho cả việc huấn luyện các mô hình phức tạp và chạy real-time inference ở quy mô lớn.
Kiến trúc và Chức năng#
Kiến trúc của TPU khác biệt đáng kể so với các bộ xử lý truyền thống. Trong khi một CPU (Central Processing Unit) tiêu chuẩn xuất sắc trong các tác vụ tuần tự và logic phức tạp, và một GPU (Graphics Processing Unit) sử dụng các lõi song song cho đồ họa và điện toán tổng quát, TPU lại sử dụng systolic array architecture. Thiết kế này cho phép dữ liệu chảy qua hàng nghìn bộ nhân cùng một lúc mà không cần truy cập bộ nhớ cho mọi thao tác. Bằng cách tối đa hóa mật độ tính toán và giảm thiểu độ trễ, TPU đặc biệt phù hợp với đại số tuyến tính nặng trong các ứng dụng deep learning (DL).
Phần cứng chuyên dụng này được tối ưu hóa mạnh mẽ cho các framework như TensorFlow và ngày càng được hỗ trợ nhiều hơn bởi PyTorch, cho phép các nhà phát triển huấn luyện các foundation models khổng lồ hoặc triển khai các giải pháp biên hiệu quả mà không cần viết lại hoàn toàn cơ ốc mã nguồn của họ.
Phân biệt các Bộ xử lý#
Hiểu biết về bối cảnh phần cứng là rất quan trọng để tối ưu hóa machine learning operations (MLOps).
- CPU: "Bộ não" đa năng của máy tính, lý tưởng cho việc xử lý tuần tự, tiền xử lý dữ liệu và xử lý logic phức tạp. Nó thường được sử dụng cho các đường ống data augmentation nhưng chậm hơn đối với toán học ma trận nặng.
- GPU: Ban đầu được xây dựng để kết xuất hình ảnh, GPU là tiêu chuẩn công nghiệp cho model training nhờ tính linh hoạt và khả năng xử lý song song lớn. Chúng xuất sắc trong việc huấn luyện các mô hình linh hoạt như Ultralytics YOLO26.
- TPU: Bộ tăng tốc được xây dựng có mục đích đánh đổi tính linh hoạt lấy tốc độ thô trong các thao tác tensor. Nó được thiết kế để tối đa hóa FLOPS (floating-point operations per second) đặc biệt cho các phép tính mạng thần kinh, thường cung cấp hiệu suất trên mỗi watt vượt trội cho các khối lượng công việc quy mô lớn cụ thể.
Các ứng dụng trong thực tế#
TPU được triển khai trong nhiều môi trường khác nhau, từ các cụm cloud khổng lồ đến các thiết bị biên nhỏ gọn.
-
Huấn luyện Large Language Model: Google sử dụng các cụm kết nối lớn, được gọi là TPU Pods, để huấn luyện các large language models (LLMs) khổng lồ như PaLM và Gemini. Các hệ thống này có thể xử lý petabyte training data trong một phần nhỏ thời gian so với phần cứng truyền thống, thúc đẩy sự tiến bộ trong generative AI.
-
Edge AI và IoT: Coral Edge TPU mang tính năng tăng tốc này đến các thiết bị công suất thấp. Nó hỗ trợ các ứng dụng computer vision (CV) hiệu quả, chẳng hạn như chạy object detection trên dây chuyền sản xuất để xác định các lỗi tại chỗ. Điều này cho phép ra quyết định ngay lập tức mà không cần dựa vào kết nối đám mây, bảo toàn băng thông và quyền riêng tư.
Sử dụng TPU với Ultralytics#
Các nhà phát triển có thể tận dụng khả năng tăng tốc TPU cho các mô hình Ultralytics, đặc biệt khi sử dụng Ultralytics Platform để huấn luyện trên đám mây hoặc xuất các mô hình cho việc triển khai ở biên. Ví dụ, Edge TPU yêu cầu các mô hình phải được lượng tử hóa và biên dịch đặc biệt cho kiến trúc của nó.
Ví dụ sau đây minh họa cách xuất một model Ultralytics YOLO26 sang định dạng TFLite, đây là bước điều kiện tiên quyết trước khi biên dịch cho một 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)Sau khi được xuất, mô hình có thể được biên dịch thêm cho Edge TPU bằng cách sử dụng Edge TPU Compiler, cho phép nó chạy hiệu quả trên các thiết bị như Raspberry Pi với Coral USB Accelerator. Để biết thêm chi tiết về việc triển khai, việc khám phá tài liệu TFLite integration có thể rất hữu ích.






