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 Ultralytics YOLO26 cho Edge TPUs và huấn luyện trên cloud để đạt tốc độ tối đa.
Bộ xử lý tensor (TPU) là một mạch tích hợp chuyên dụng cho ứng dụng cụ thể (ASIC) do Google thiết kế riêng để tăng tốc các workload học máy (ML). Không giống các bộ xử lý đa dụng có thể xử lý nhiều loại tác vụ tính toán, TPU được thiết kế tối ưu ngay từ đầu cho các phép toán ma trận quy mô lớn, vốn là nền tảng của mạng neural. Trọng tâm chuyên biệt này cho phép TPU đạt thông lượng và hiệu suất năng lượng đặc biệt cao, khiến chúng trở thành thành phần cốt lõi của hạ tầng trí tuệ nhân tạo (AI) hiện đại, đặc biệt trong hệ sinh thái Google Cloud. Chúng đóng vai trò quan trọng trong việc rút ngắn thời gian cần thiết để huấn luyện các model phức tạp cũng như chạy suy luận theo thời gian thực ở 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 CPU (Bộ xử lý trung tâm) tiêu chuẩn hoạt động hiệu quả với các tác vụ tuần tự và logic phức tạp, còn GPU (Bộ xử lý đồ họa) sử dụng các lõi song song cho đồ họa và tính toán đa dụng, TPU lại sử dụng kiến trúc mảng tâm thu. Thiết kế này cho phép dữ liệu truyền qua hàng nghìn bộ nhân đồng thời mà không cần truy cập bộ nhớ cho từng phép toán. 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 chuyên sâu trong các ứng dụng học sâu (DL).
Phần cứng chuyên dụng này được tối ưu hóa mạnh cho các framework như TensorFlow và ngày càng được PyTorch hỗ trợ rộng rãi, cho phép các developer huấn luyện các model nền tảng quy mô lớn hoặc triển khai các giải pháp edge hiệu quả mà không cần viết lại hoàn toàn codebase.
Phân biệt các bộ xử lý#
Hiểu rõ hệ sinh thái phần cứng là yếu tố then chốt để tối ưu hóa hoạt động học máy (MLOps).
- CPU: "Bộ não" đa dụ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. CPU thường được sử dụng cho các pipeline tăng cường dữ liệu, nhưng chậm hơn khi thực hiện các phép toán ma trận nặng.
- GPU: Ban đầu được xây dựng để render hình ảnh, GPU là tiêu chuẩn của ngành cho việc huấn luyện model nhờ tính linh hoạt và khả năng song song hóa lớn. GPU rất phù hợp để huấn luyện các model linh hoạt như Ultralytics YOLO26.
- TPU: Bộ tăng tốc được xây dựng cho một mục đích cụ thể, đánh đổi tính linh hoạt để đạt tốc độ thô cao trong các phép toán tensor. TPU được thiết kế để tối đa hóa FLOPS (phép toán dấu phẩy động trên mỗi giây), đặc biệt cho các phép tính mạng neural, thường mang lại hiệu suất trên mỗi watt vượt trội đối với một số workload quy mô lớn.
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 quy mô lớn đến những thiết bị edge nhỏ gọn.
-
Huấn luyện Large Language Model: Google sử dụng các cụm liên kết khổng lồ, được gọi là TPU Pod, để huấn luyện các large language model (LLM) lớn như PaLM và Gemini. Các hệ thống này có thể xử lý hàng petabyte dữ liệu huấn luyện trong một phần nhỏ thời gian so với phần cứng truyền thống, thúc đẩy những tiến bộ trong AI tạo sinh.
-
AI edge và IoT: Coral Edge TPU đưa khả 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 thị giác máy tính (CV) hiệu quả, chẳng hạn như chạy phát hiện đối tượng trên dây chuyền sản xuất để nhận diện lỗi ngay tại chỗ. Điều này cho phép đưa ra quyết định tức thời mà không phụ thuộc vào kết nối cloud, đồng thời tiết kiệm băng thông và bảo vệ quyền riêng tư.
Sử dụng TPU với Ultralytics#
Developer có thể tận dụng khả năng tăng tốc của TPU cho các model Ultralytics, đặc biệt khi sử dụng Ultralytics Platform để huấn luyện trên cloud hoặc export model để triển khai trên edge. Chẳng hạn, Edge TPU yêu cầu model phải được lượng tử hóa và compile riêng cho kiến trúc của nó.
Ví dụ sau đây minh họa cách export một model Ultralytics YOLO26 sang định dạng TFLite, đây là bước tiên quyết trước khi compile 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 export, model có thể được compile thêm cho Edge TPU bằng Edge TPU Compiler, cho phép model chạy hiệu quả trên các thiết bị như Raspberry Pi cùng Coral USB Accelerator. Để biết thêm chi tiết về việc triển khai, bạn có thể tham khảo tài liệu tích hợp TFLite.









