NPU là gì?

NPU (Neural processing unit) là một bộ vi xử lý chuyên tăng tốc các thuật toán học máy, thường bằng cách hoạt động trên các mô hình dự đoán như ANN hoặc RF.

Điều quan trọng cần lưu ý là nó không thể được sử dụng cho các mục đích tính toán chung như CPU. Chủ yếu là do phần mềm hỗ trợ cho bộ xử lý này chưa được phát triển để sử dụng cho bất kỳ mục đích tính toán nào. Trên thực tế, việc phát triển một phần mềm / trình biên dịch như vậy có thể là một thách thức, đồng thời, nó có thể mang lại hiệu suất thấp cho các tác vụ mà nó không được thiết kế để hoạt động.

Sự cần thiết của NPU

Trong vài năm gần đây, chúng tôi đã đạt được những tiến bộ đáng kinh ngạc trong các ứng dụng Học máy. Chúng cũng vượt trội hơn con người khi thực hiện một số nhiệm vụ như chơi cờ vây và cờ vua.

Đồng thời, các ứng dụng Machine Learning đã đưa cuộc sống của con người lên một tầm cao mới. Một số ứng dụng sẽ bao gồm:

  • Xe tự lái.
  • Giám sát các hệ thống khu vực về các mối đe dọa như hệ thống an ninh liên quan đến nhận dạng khuôn mặt đồng thời.
  • Cải thiện sức khỏe với phân tích và điều trị chính xác.

Tất cả những điều này đã làm tăng số lượng tính toán liên quan và các phương pháp được sử dụng theo cấp số nhân GPU trước đây không thể mở rộng quy mô tốt. Điều này đã mở đường để thiết kế một bộ xử lý hoạt động tốt hơn GPU và theo kịp những tiến bộ mà chúng tôi đang tạo ra trong Học máy.

NPU được yêu cầu thực hiện những điều sau:

  • Tăng tốc tính toán các tác vụ Máy học lên gấp nhiều lần (gần 10 nghìn lần) so với GPU.
  • Tiêu thụ năng lượng thấp và cải thiện việc sử dụng tài nguyên cho các tác vụ Học máy so với GPU và CPU.

Ví dụ

Các cài đặt thực tế của NPU là:

  • TPU của Google
  • NNP, Myriad, EyeQ từ Intel
  • NVDLA của Nvidia
  • Amazon’s AWS Inferentia
  • Ali-NPU của Alibaba
  • Kunlun của Baidu
  • Bitmain’s Sophon
  • MLU của Cambricon
  • Graphcore IPU
  • Đi lên từ Huawei
  • Công cụ thần kinh của Apple
  • Bộ xử lý thần kinh (NPU) của Samsung