Trong thế giới trí tuệ nhân tạo ngày càng phát triển, Neural Processing Units (NPUs) đã trở thành một phần quan trọng, cho phép tiến bộ trong xử lý AI trên thiết bị và công nghệ. Những chip chuyên dụng này được tạo ra để xử lý các yêu cầu tính toán khắc nghiệt của mạng nơ-ron, cung cấp hiệu suất và hiệu quả mà CPU tiêu dùng thông thường không thể sánh kịp.
Chúng cũng được yêu cầu cho Copilot+, nhưng chính xác thì NPUs là gì và chúng đóng vai trò như thế nào trong bối cảnh rộng lớn hơn của AI?
Kiến trúc của một NPU
Phân tích thiết kế
Tại trung tâm của thiết kế NPU là một kiến trúc tập trung vào tính song song và dữ liệu cục bộ. Không giống như CPU và GPU đa dụng, được thiết kế để xử lý nhiều loại tác vụ (mặc dù GPU cũng xử lý nhiều tác vụ song song), NPUs được điều chỉnh đặc biệt cho các yêu cầu độc đáo của các phép tính mạng nơ-ron.
Với tập trung vào tính song song, NPUs có một mảng lớn các lõi xử lý. Những lõi này có khả năng thực hiện nhiều lệnh đồng thời, điều này có lợi cho tính chất song song của các hoạt động mạng nơ-ron. Mạng nơ-ron thường liên quan đến việc thực hiện cùng một thao tác trên các điểm dữ liệu khác nhau đồng thời, điều này rất hợp lý để thực hiện song song. Ngoài ra, mỗi lõi trong NPU có thể xử lý các phép toán vector và ma trận, vốn rất phổ biến trong các tính toán mạng nơ-ron. Bằng cách phân phối các phép toán này qua nhiều lõi, NPUs có thể đạt được những lợi ích về hiệu suất đáng kể.
Bên cạnh tính song song, NPUs tích hợp các hệ thống phân cấp bộ nhớ chuyên dụng. Những hệ thống này được thiết kế để đảm bảo rằng dữ liệu luôn ở gần các đơn vị xử lý nhất có thể, do đó giảm thời gian và năng lượng cần thiết để lấy dữ liệu. Điều này có thể có nghĩa là có SRAM trên chip, là bộ nhớ nhanh, độ trễ thấp để lưu trữ dữ liệu trung gian, trọng số và kích hoạt trong quá trình xử lý mạng nơ-ron. Điều này có lợi vì việc giữ dữ liệu thường xuyên được truy cập trên chip giúp NPUs giảm thiểu nhu cầu truy cập vào DRAM ngoài chip chậm hơn, đáng kể giảm độ trễ và tiêu thụ năng lượng.
Ngoài ra, NPUs cũng có thể có các hệ thống bộ nhớ đệm đa cấp, với các bộ nhớ đệm L1 và L2 cung cấp các lớp bộ nhớ truy cập nhanh bổ sung. Các bộ nhớ đệm này lưu trữ dữ liệu và lệnh đã được truy cập gần đây, tăng cường thêm tính cục bộ của dữ liệu và giảm thời gian truy cập. Các bộ máy tính toán thần kinh của Intel’s Meteor Lake không có bộ nhớ đệm L1 hoặc L2 nhưng có quyền truy cập vào 2MB SRAM mỗi bộ máy tính toán thần kinh.
Tính toán và xử lý
Khi nói đến tính toán, các đơn vị xử lý tensor (TPU) chuyên dụng, được thiết kế đặc biệt để xử lý các phép toán toán học cơ bản của mạng nơ-ron, đảm nhận phần lớn khối lượng công việc. Mạng nơ-ron phụ thuộc nhiều vào các phép nhân ma trận và các phép toán chập, và các TPU trong NPUs được tối ưu hóa cho các phép toán này, có các bộ tăng tốc phần cứng có thể thực hiện các phép nhân ma trận lớn và các phép toán chập. Các bộ tăng tốc này sử dụng tính song song dữ liệu bằng cách thực hiện các phép toán trên nhiều điểm dữ liệu đồng thời.
NPUs có thể xử lý các lớp khác nhau của một mạng nơ-ron cùng một lúc, từ các lớp hoàn toàn kết nối đến các lớp chập. Tính song song cho phép NPUs xử lý lượng lớn dữ liệu, tăng tốc cả các giai đoạn huấn luyện và suy luận. Nhiều NPUs sử dụng các mảng systolic, một kiến trúc tính toán song song được xây dựng để xử lý các mô hình dòng dữ liệu lặp đi lặp lại và đều đặn của các hoạt động mạng nơ-ron. Các mảng systolic bao gồm một lưới các phần tử xử lý (PEs) truyền dữ liệu qua mảng, cho phép các tính toán thông lượng cao và độ trễ thấp và tăng tốc các phép nhân ma trận.
Cuối cùng, NPUs thường bao gồm các bộ điều khiển truy cập bộ nhớ trực tiếp (DMA) cho phép chuyển dữ liệu giữa bộ nhớ và các đơn vị xử lý mà không yêu cầu các lõi tính toán phải thực hiện bất cứ điều gì. Điều này cho phép các lõi tập trung vào tính toán, cải thiện hiệu suất tổng thể.
Tầm quan trọng của NPU
Một NPU sẽ trở nên ngày càng quan trọng, ít nhất là cho AI trên thiết bị. Máy tính xách tay tiếp theo của bạn có thể sẽ có NPU, ít nhất nếu nó được cung cấp bởi một chip Intel hoặc Ryzen gần đây. Qualcomm cũng có NPU riêng của mình, và engine thần kinh của Apple cũng là một NPU. Chúng ngày càng trở nên quan trọng trong việc quản lý các tải công việc AI trên thiết bị một cách tiết kiệm năng lượng hơn, mặc dù mỗi NPU đều khác nhau. Hiện tại, chúng ta có rất nhiều phần cứng NPU khác nhau mà các nhà phát triển cũng đang tìm cách sử dụng, và chúng có các khả năng khác nhau.