Neural Processing Unit (NPU)
Tìm hiểu cách Neural Processing Unit (NPU) tăng tốc AI. Khám phá cách triển khai Ultralytics YOLO26 trên NPU để có edge computing và inference hiệu quả, tiết kiệm năng lượng.
Bộ xử lý thần kinh (NPU) là một mạch phần cứng chuyên dụng được thiết kế riêng để tăng tốc thực thi các thuật toán trí tuệ nhân tạo và machine learning. Không giống các bộ xử lý đa dụng, NPU được thiết kế với kiến trúc có khả năng xử lý tự nhiên các phép toán ma trận phức tạp, song song, vốn là nền tảng của các model deep learning. Bằng cách thực hiện các phép tính này với hiệu suất cực cao, NPU giảm đáng kể mức tiêu thụ điện năng đồng thời cải thiện đáng kể độ trễ suy luận. Điều này khiến NPU trở thành một thành phần thiết yếu trong điện thoại di động, laptop hiện đại và các thiết bị IoT chuyên dụng, nơi việc triển khai hiệu quả các model phức tạp mà không làm pin nhanh cạn là yếu tố then chốt.
NPU So Với Các Bộ Xử Lý Khác#
Để hiểu rõ giá trị của NPU, cần phân biệt NPU với các bộ tăng tốc phần cứng phổ biến khác trong lĩnh vực AI:
- Bộ xử lý trung tâm (CPU): “Bộ não” đa dụng của máy tính. Mặc dù có thể chạy mã machine learning, CPU xử lý các tác vụ tuần tự, khiến chúng chậm và kém hiệu quả khi thực hiện phép nhân ma trận nặng, cần thiết cho các model thị giác máy tính hiện đại.
- Bộ xử lý đồ họa (GPU): Được thiết kế để xử lý song song, GPU đặc biệt hiệu quả trong việc xử lý các workload deep learning quy mô lớn. Tuy nhiên, GPU tiêu thụ nhiều điện năng và tạo ra lượng nhiệt đáng kể, nên phù hợp với quá trình training trên cloud hơn là điện toán biên sử dụng pin.
- Bộ xử lý tensor (TPU): Một mạch tích hợp chuyên dụng cho ứng dụng do Google phát triển dành cho machine learning. Mặc dù có khái niệm tương tự NPU, TPU thường gắn liền với các rack máy chủ điện toán đám mây quy mô lớn, trong khi NPU thường được tích hợp trực tiếp vào các hệ thống trên chip (SoCs) dành cho người dùng.
Các Ứng Dụng Thực Tế Của NPU#
Sự phát triển của NPU đã mở ra khả năng chạy trí tuệ nhân tạo (AI) trực tiếp trên thiết bị của người dùng mà không phụ thuộc vào kết nối cloud liên tục.
- Điện thoại thông minh và thị giác di động: Các thiết bị di động hiện đại tận dụng mạnh mẽ NPU tích hợp, chẳng hạn như Apple Neural Engine hoặc Qualcomm Hexagon NPU, để hỗ trợ nhiếp ảnh điện toán, nhận diện khuôn mặt theo thời gian thực và dịch văn bản cục bộ. Bằng cách xử lý dữ liệu hình ảnh ngay trên thiết bị, chúng giúp duy trì thời lượng pin và đảm bảo quyền riêng tư dữ liệu.
- Laptop hỗ trợ AI: Các bộ xử lý PC tiên tiến hiện được tích hợp NPU để quản lý những tác vụ nền như làm mờ hậu cảnh và hiệu chỉnh hướng nhìn trong hội nghị truyền hình mà không làm CPU chính quá tải, cho phép người dùng thực hiện đa nhiệm mượt mà.
- Triển khai AI biên: Camera giám sát thông minh và robot sử dụng các NPU chuyên dụng, chẳng hạn như Google Coral Edge TPU hoặc phần cứng Intel tích hợp, để thực hiện phát hiện đối tượng tức thời ngay tại nguồn. Điều này loại bỏ các nút thắt băng thông và cho phép đưa ra quyết định trong tích tắc.
Sử Dụng NPU Với Ultralytics YOLO#
Đối với các developer muốn tận dụng NPU, việc triển khai các model thị giác máy tính đã trở nên vô cùng đơn giản. Với model Ultralytics YOLO26 mạnh mẽ, bạn có thể export network đã training sang các định dạng được tối ưu hóa cho nhiều bộ tăng tốc phần cứng khác nhau. Để đơn giản hóa toàn bộ vòng đời này, Ultralytics Platform cung cấp các công cụ mạnh mẽ để quản lý dataset trên cloud, tự động annotation và triển khai các model đã tối ưu hóa đến hầu như mọi môi trường triển khai model.
Khi làm việc cục bộ, bạn có thể sử dụng các integration framework như ONNX Runtime, PyTorch ExecuTorch hoặc TensorFlow Lite để nhắm mục tiêu đến NPU. Dưới đây là một ví dụ Python ngắn minh họa cách export một model YOLO sang định dạng OpenVINO, định dạng này ủy quyền liền mạch các workload tính toán cho NPU Intel để tăng tốc suy luận thời gian thực.
from ultralytics import YOLO
# Load the highly recommended Ultralytics YOLO26 Nano model
model = YOLO("yolo26n.pt")
# Export to OpenVINO with int8 quantization for optimal NPU performance
model.export(format="openvino", int8=True)
# Run highly efficient, accelerated inference on the edge device
results = model("path/to/environment_image.jpg")





