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 loại mạch tích hợp chuyên dụng (ASIC) được Google thiết kế đặc biệt để tăng tốc các khối lượng công việc machine learning (ML). Khác với các bộ xử lý đa năng xử lý nhiều loại tác vụ tính toán, TPU được thiết kế từ đầu để tối ưu hóa các phép toán ma trận khổng lồ vốn là nền tảng của neural networks. Sự tập trung chuyên biệt này cho phép chúng đạt được lưu lượng xử lý và hiệu suất năng lượng cực 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 hệ sinh thái Google Cloud. Chúng đóng vai trò quan trọng trong việc giảm thời gian cần thiết để huấn luyện các model phức tạp và thực hiện real-time inference ở quy mô lớn.
Link to this sectionKiế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 vượt trội ở 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 nhân xử lý song song cho đồ họa và tính toán chung, thì TPU lại sử dụng kiến trúc mảng tâm thu (systolic array architecture). Thiết kế này cho phép dữ liệu truyền qua hàng ngàn bộ nhân cùng 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 cho đại số tuyến tính chuyên sâu có 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ợ 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 phải viết lại hoàn toàn cơ sở mã của họ.
Link to this sectionPhân biệt các Bộ xử lý#
Hiểu rõ 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 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 pipeline data augmentation nhưng chậm hơn đối với các phép toán 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 mạnh mẽ. Chúng rất xuất sắc trong việc huấn luyện các model linh hoạt như Ultralytics YOLO26.
- TPU: Một 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 (số phép tính dấu phẩy động mỗi giây) đặc biệt cho các phép tính neural network, 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ể.
Link to this sectionCá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 rộng 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ý hàng petabyte training data chỉ trong một phần thời gian so với phần cứng truyền thống, thúc đẩy những tiến bộ trong generative AI.
-
Edge AI và IoT: Coral Edge TPU mang khả năng tăng tốc này đến các thiết bị tiêu thụ năng lượng thấp. Nó cho phép 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 lỗi tại chỗ. Điều này cho phép ra quyết định tức thì mà không cần dựa vào kết nối cloud, giúp tiết kiệm băng thông và bảo mật quyền riêng tư.
Link to this sectionSử 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 model của Ultralytics, đặc biệt là khi sử dụng Ultralytics Platform để huấn luyện trên cloud hoặc xuất model để triển khai trên biên. Ví dụ, Edge TPU yêu cầu các model phải được lượng tử hóa và biên dịch riêng cho kiến trúc của nó.
Ví dụ sau đây trình bày cách xuất một model YOLO26 sang định dạng TFLite, đây là bước tiên quyết trước khi biên dịch cho 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 xuất, model 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.






