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 machine learning. 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ý nhiều quy trình machine learning khác nhau, chúng vẫn là phần cứng có mục đích chung, được sử dụng cho nhiều tác vụ hàng ngày khác nhau. Để tăng tốc đào tạo AI, Google đã phát triển một mạch tích hợp dành riêng cho ứng dụng (ASIC) được gọi là Tensor Processing Unit (TPU). Tuy nhiên, Tensor Processing Unit là gì và làm cách nào để tăng tốc độ lập trình AI?
Tensor Processing Unit (TPU) là gì?
Tensor Processing Unit là ASIC của Google dành cho machine learning. TPU được sử dụng đặc biệt cho deep learning để giải quyết các phép toán vector 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à vector ở 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ộ.
Các ứng dụng cho TPU
Google đã sử dụng TPU từ năm 2015. Hãng 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 ở Google Street View, 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 Go mạnh nhất và hệ thống AlphaZero đã giành chiến thắng trước các chương trình hàng đầu trong Chess, Go, và Shogi.
TPU có thể được sử dụng trong các ứng dụng deep learning 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à nhiều dự đoán xã hội khác nhau.
Sử dụng TPU khi nào?
Vì TPU là phần cứng chuyên dụng cao cho deep learning, 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. Với suy nghĩ này, 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à những model phụ thuộc nhiều vào tính toán ma trận, như hệ thống đề xuất cho các công cụ tìm kiếm. TPU cũng mang lại kết quả tuyệt vời cho các mô hình trong đó AI phân tích lượng lớn những điểm dữ liệu 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 những 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.
Khi nào không sử dụng TPU?
Như đã nêu trước đó, việc tối ưu hóa TPU khiến các loại bộ xử lý này chỉ hoạt động trên những khối lượng công việc cụ thể. Do đó, có những trường hợp chọn 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 model bị giới hạn bởi những điểm dữ liệu có sẵn
- Các model đơn giản và có thể được đào tạo nhanh chóng
- Model quá khó để thay đổi
- Các model phụ thuộc vào những hoạt động TensorFlow tùy chỉnh được viết bằng C++
Các phiên bản và thông số kỹ thuật của TPU
Kể từ khi Google công bố TPU của mình, công chúng đã liên tục được cập nhật về các phiên bản TPU mới nhất và thông số kỹ thuật của chúng. Sau đây là danh sách tất cả các phiên bản TPU với thông số kỹ thuật đi kèm:
TPUv1 | TPUv2 | TPUv3 | TPUv4 | Edgev1 | |
Ngày ra mắt | 2016 | 2017 | 2018 | 2021 | 2018 |
Node xử lý (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 độ xung nhịp (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 (Tera Operations Per Second) | 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 TPU dường như không quá ấn tượng, đặc biệt là khi các máy tính để bàn 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 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ới 0,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 interface mạng nơ ron.
Với mỗi phiên bản được phát hành, TPU mới 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 cho mỗi phiên bản.
- TPUv1:TPU được công bố công khai đầu tiên. Được thiết kế như một matrix multiplication engine 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 floating point (số thực dấu phẩy động), giúp nó hữu ích cho việc đào tạo và tham khảo.
- TPUv3:Được phát hành vào năm 2018, TPUv3 có gấp đôi bộ xử lý và được triển khai với số lượng chip nhiều gấp 4 lần TPUv2. Các nâng cấp cho phép phiên bản này có hiệu suất gấp 8 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ể. Mặc dù chỉ sử dụng 2 watt điện, Edge TPU có thể giải quyết tối đa 4 terra hoạt động mỗi giây. 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.
Tiếp cận 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 nguyên 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 Type C cho dữ liệu và nguồn. Nó cung cấp cho thiết bị của bạn khả năng điện 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).
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, Big Tech không ngừng tìm cách để làm cho machine learning diễn ra nhanh chóng và hiệu quả nhất có thể. Mặc dù TPU của Google được cho là ASIC phổ biến nhất phát triển cho deep learning, các công ty công nghệ khác như Intel, Microsoft, Alibaba và Qualcomm cũng đã phát triển những trình tăng tốc AI của riêng mình. Chúng bao gồm Microsoft Brainwave, Intel Neural Compute Stick và IPU (Intelligence Processing Unit) của Graphicore.
Nhưng trong khi nhiều phần cứng AI hơn đang được phát triển, điều đáng buồn là hầu hết chúng vẫn chưa có mặt trên thị trường và nhiều phần cứng sẽ không bao giờ xuất hiện. Như tại thời điểm bài viết, 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 prototype Coral, Intel NCS, Graphicore Bow Pod hoặc Asus IoT AI Accelerator. Nếu 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.
Thanks for your blog, nice to read. Do not stop.