Bộ xử lý Tensor (Tensor Processing Unit) là gì? TPU được dùng để làm gì?

Bộ xử lý Tensor (Tensor Processing Unit) là gì? TPU được dùng để làm gì?

Chia sẻ kiến thức 17/08/2022

Nếu bạn muốn tăng tốc quá trình đào tạo AI của mình, hãy xem xét các công cụ tăng tốc AI như TPU của Google.

Nền tảng TensorFlow của Google cho phép người dùng đào tạo AI bằng cách cung cấp các công cụ và tài nguyên cho học máy. Đã từ lâu, các kỹ sư AI đã sử dụng CPU và GPU truyền thống để đào tạo AI. Mặc dù các bộ vi xử lý này có thể xử lý các quy trình học máy khác nhau, chúng vẫn là phần cứng được thiết kế cho các tác vụ hàng ngày.

Để tăng tốc đào tạo AI, Google đã phát triển Mạch tích hợp dành riêng cho ứng dụng (Application Specific Integrated Circuit, hay ASIC) được gọi là Bộ xử lý Tensor (TPU). Tuy nhiên, Bộ xử lý Tensor là gì và nó tăng tốc độ lập trình AI như thế nào?

1. Bộ xử lý Tensor là gì?

Bộ xử lý Tensor là ASIC của Google dành cho học máy, được sử dụng đặc biệt cho việc học sâu để giải quyết các phép toán vectơ và ma trận phức tạp. TPU được sắp xếp hợp lý để giải quyết các phép toán ma trận và vectơ ở tốc độ cực cao nhưng phải được ghép nối với CPU để đưa ra và thực hiện các lệnh. TPU chỉ có thể được sử dụng với nền tảng TensorFlow hoặc TensorFlow Lite của Google , cho dù thông qua điện toán đám mây hay phiên bản lite trên phần cứng cục bộ.

2. Ứng dụng của TPU

Google đã sử dụng TPU từ năm 2015. Họ cũng đã xác nhận việc sử dụng các bộ xử lý mới này để xử lý văn bản ở Chế độ xem phố (Street view) của Google, Google Photos và Kết quả tìm kiếm của Google (Rank Brain), cũng như để tạo ra một AI được gọi là AlphaGo, đã đánh bại những người chơi cờ vây hàng đầu và hệ thống AlphaZero đã giành chiến thắng trước các chương trình hàng đầu về Cờ vua, cờ vây và Shogi.

TPU có thể được sử dụng trong các ứng dụng học sâu khác nhau như phát hiện gian lận, thị giác máy tính, xử lý ngôn ngữ tự nhiên, ô tô tự lái, AI giọng nói, nông nghiệp, trợ lý ảo, giao dịch chứng khoán, thương mại điện tử, v.v.

3. Khi nào sử dụng TPU? 

Vì TPU là phần cứng chuyên dụng cao để học sâu, nên nó mất đi rất nhiều chức năng khác mà bạn thường mong đợi từ một bộ xử lý đa năng như CPU. Tuy nhiên, có những tình huống cụ thể trong đó việc sử dụng TPU sẽ mang lại kết quả tốt nhất khi đào tạo AI.

Thời điểm tốt nhất để sử dụng TPU là cho các hoạt động mà các mô hình phụ thuộc nhiều vào tính toán ma trận, ví dụ như hệ thống đề xuất cho các công cụ tìm kiếm. TPU cũng thích hợp với các mô hình trong đó AI phân tích lượng lớn các điểm dữ liệu mà sẽ mất nhiều tuần hoặc nhiều tháng để hoàn thành. Các kỹ sư AI sử dụng TPU cho các trường hợp không có mô hình TensorFlow tùy chỉnh và phải bắt đầu lại từ đầu.

4. Khi nào không sử dụng TPU?

Như đã nói, việc tối ưu hóa TPU khiến loại bộ xử lý này chỉ thích hợp với các hoạt động có mức khối lượng công việc nhất định. Do đó, có những trường hợp trong đó sử dụng CPU và GPU truyền thống sẽ mang lại kết quả nhanh hơn. Những trường hợp này bao gồm:

  • Tạo prototype nhanh chóng với tính linh hoạt tối đa
  • Các mô hình bị giới hạn bởi các điểm dữ liệu có sẵn
  • Các mô hình đơn giản và có thể được đào tạo nhanh chóng
  • Mô hình quá khó để thay đổi
  • Các mô hình phụ thuộc vào các hoạt động TensorFlow tùy chỉnh được viết bằng C ++

5. Các phiên bản và thông số kỹ thuật của TPU

Dưới đây là danh sách tất cả các phiên bản TPU với thông số kỹ thuật:

  TPUv1 TPUv2 TPUv3 TPUv4 Edgev1
Ngày giới thiệu 2016 2017 2018 Năm 2021 2018
Nút quy trình (nm) 28 16 16 7  
Kích thước khuôn (mm²) 331 <625 <700 <400  
Bộ nhớ trên chip 28 32 32 144  
Tốc độ đồng hồ (MHz) 700 700 940 1050  
Cấu hình bộ nhớ nhỏ nhất (GB) 8 DDR3 16 HBM 32 HBM 32 HBM  
TDP (Watts) 75 280 450 175 2
TOPS (Hoạt động Tera mỗi giây) 23 45 90 ? 4
TOPS/W 0,3 0,16 0,2 ? 2

Như bạn có thể thấy, tốc độ xung nhịp của TPU dường như không quá ấn tượng, đặc biệt là khi các desktop hiện đại ngày nay có thể có tốc độ xung nhịp nhanh hơn 3-5 lần. Nhưng nếu bạn nhìn vào hai hàng dưới cùng của bảng, bạn có thể thấy rằng TPU có thể xử lý 23-90 tera-hoạt động mỗi giây chỉ với0,16—0,3 watt điện. TPU được ước tính nhanh hơn 15-30 lần so với các CPU và GPU hiện đại khi sử dụng giao diện mạng thần kinh (neural network interface).

Với mỗi phiên bản được phát hành, TPU cho thấy những cải tiến và khả năng đáng kể. Dưới đây là một vài điểm nổi bật về mỗi phiên bản.

  • TPUv1: TPU được công bố đầu tiên. Được thiết kế như một công cụ nhân ma trận 8-bit và chỉ giới hạn trong việc giải các số nguyên.
  • TPUv2: Vì các kỹ sư lưu ý rằng TPUv1 bị hạn chế về băng thông, phiên bản này hiện có băng thông bộ nhớ gấp đôi với 16GB RAM. Phiên bản này hiện có thể giải quyết các dấu chấm động, giúp nó hữu ích cho việc đào tạo và suy luận. 
  • TPUv3: Được phát hành vào năm 2018, TPUv3 có số lượng bộ xử lý gấp đôi và số lượng chip nhiều gấp bốn lần TPUv2. Những nâng cấp đó cho phép phiên bản này có hiệu suất gấp tám lần so với các phiên bản trước.
  • TPUv4: Đây là phiên bản mới nhất của TPU được công bố vào ngày 18 tháng 5 năm 2021. Giám đốc điều hành của Google thông báo rằng phiên bản này sẽ có hiệu suất cao hơn gấp đôi so với TPU v3.
  • Edge TPU: Phiên bản TPU này dành cho các hoạt động nhỏ hơn được tối ưu hóa để sử dụng ít năng lượng hơn các phiên bản TPU khác trong hoạt động tổng thể. Edge TPU chỉ được tìm thấy trên các thiết bị cầm tay nhỏ như điện thoại thông minh Pixel 4 của Google.

6. Bạn truy cập TPU bằng cách nào? Ai có thể sử dụng chúng?

TPU là các đơn vị xử lý độc quyền do Google thiết kế để sử dụng với nền tảng TensorFlow. Quyền truy cập của bên thứ ba vào các bộ xử lý này đã được cho phép kể từ năm 2018. Ngày nay, TPU (ngoại trừ Edge TPU) chỉ có thể được truy cập thông qua các dịch vụ điện toán của Google thông qua đám mây. Trong khi phần cứng Edge TPU có thể được mua thông qua điện thoại thông minh Pixel 4 của Google và bộ tạo mẫu của nó được gọi là Coral.

Coral là một bộ tăng tốc USB sử dụng USB 3.0 Loại C cho dữ liệu và nguồn. Nó cung cấp cho thiết bị của bạn tính toán Edge TPU có khả năng 4 TOPS cho mỗi 2W công suất. Bộ công cụ này có thể chạy trên các máy sử dụng Windows 10, macOS và Debian Linux (nó cũng có thể hoạt động với Raspberry Pi).

7. Các công cụ tăng tốc AI chuyên dụng khác

Với việc trí tuệ nhân tạo đang là xu hướng thịnh hành trong thập kỷ qua, các gã khổng lồ công nghệ không ngừng tìm cách để việc học máy diễn ra nhanh nhất và hiệu quả nhất có thể. Mặc dù TPU của Google được cho là ASIC phổ biến nhất được phát triển cho học sâu, các công ty công nghệ khác như Intel, Microsoft, Alibaba và Qualcomm cũng đã phát triển các bộ tăng tốc AI của riêng họ, ví dụ như Microsoft Brainwave, Intel Neural Compute Stick và IPU (Bộ xử lý thông minh) của Graphicore.

Nhưng trong khi nhiều phần cứng AI hơn đang được phát triển, hầu hết vẫn chưa có mặt trên thị trường. Tại thời điểm này, nếu bạn thực sự muốn mua phần cứng tăng tốc AI, các tùy chọn phổ biến nhất là mua bộ tạo mẫu Coral, Intel NCS, Graphicore Bow Pod hoặc Asus IoT AI Accelerator. Nếu bạn chỉ muốn truy cập vào phần cứng AI chuyên dụng, bạn có thể sử dụng các dịch vụ điện toán đám mây của Google hoặc các lựa chọn thay thế khác như Microsoft Brainwave.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/what-is-tpu-how-is-it-used/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!