CPU, GPU, TPU và sự khác biệt giữa chúng

Trí tuệ nhân tạo và công nghệ học máy đã và đang thúc đẩy sự tiến bộ của các ứng dụng thông minh. Để đối phó với các ứng dụng ngày càng phức tạp, các công ty bán dẫn liên tục phát triển bộ xử lý và bộ tăng tốc, bao gồm CPU, GPU và TPU. Tuy nhiên, với định luật Moore đang chậm lại, hiệu suất CPU sẽ không đủ để thực hiện hiệu quả các tải xử lý đòi hỏi khắt khe. Vấn đề là, làm thế nào các công ty có thể tăng tốc hiệu suất của toàn bộ hệ thống để hỗ trợ các nhu cầu đột biến của các ứng dụng AI? Câu trả lời có thể đến thông qua việc phát triển GPU và TPU để bổ sung cho CPU nhằm chạy các mô hình học sâu. Đó là lý do tại sao việc hiểu các công nghệ đằng sau CPU, GPU và TPU là điều cần thiết để theo kịp các công nghệ không ngừng phát triển nhằm có hiệu suất và hiệu quả tốt hơn.

Nếu bạn đang tìm kiếm câu trả lời về sự khác biệt giữa CPU, GPU và TPU? Hoặc cần hiểu chúng hoạt động như thế nào trong kiến ​​trúc máy tính? Bài blog này có thể giúp bạn trả lời các câu hỏi đó.

CPU so với GPU so với TPU

Về cơ bản, sự khác biệt giữa CPU, GPU và TPU đó là CPU là bộ xử lý hoạt động như bộ não của máy tính được thiết kế lý tưởng cho lập trình mục đích chung. Ngược lại, GPU là bộ tăng tốc hiệu suất giúp tăng cường đồ họa máy tính và tải xử lý AI. Trong khi TPU là bộ xử lý do Google phát triển riêng giúp tăng tốc tải xử lý học máy bằng cách sử dụng TensorFlow (một framework học máy cụ thể).

CPU là gì?

Bộ xử lý trung tâm (CPU) là bộ xử lý nhân (core) có trong tất cả các thiết bị thông minh của bạn. CPU là bộ xử lý đa năng được thiết kế chỉ với một vài nhân nhưng mạnh mẽ và bộ nhớ đệm lớn cho phép nó chạy một vài luồng phần mềm cùng một lúc. CPU giống như một nhạc trưởng trong dàn nhạc; nó điều khiển tất cả các thành phần khác từ bộ nhớ đến card đồ họa để thực hiện nhiều chức năng xử lý cho hệ thống.

CPU có ít nhất một nhân xử lý đơn nhưng đã phát triển theo thời gian để bao gồm ngày càng nhiều nhân. Có nhiều nhân cho phép CPU có khả năng thực hiện đa luồng, một công nghệ cho phép CPU thực hiện hai dòng thực thi (luồng) cùng một lúc trên một nhân. Hơn nữa, CPU hiện đại hiện có từ hai đến sáu nhân và một số thậm chí có tám đến 64 nhân cho CPU cấp doanh nghiệp thường dành riêng cho trung tâm dữ liệu.

Tóm tắt tính năng của CPU:

  • Có nhiều nhân
  • Độ trễ thấp
  • Chuyên về xử lý nối tiếp
  • Có khả năng thực hiện một số thao tác cùng một lúc
  • Có mức sử dụng FLOPS cao nhất cho RNN (mạng nơ-ron hồi quy)
  • Hỗ trợ mô hình lớn nhất nhờ dung lượng bộ nhớ lớn
  • Linh hoạt hơn nhiều và có thể lập trình được cho các phép tính không đều (ví dụ: các phép tính lô nhỏ không phải MatMul)

 

GPU là gì?

GPU (bộ xử lý đồ họa) là bộ xử lý chuyên dụng hoạt động như một bộ tăng tốc hiệu suất cao hoạt động cùng với CPU. So với CPU, GPU có hàng nghìn nhân có thể chia nhỏ các vấn đề phức tạp thành hàng nghìn hoặc hàng triệu tác vụ riêng biệt và xử lý chúng một cách song song. Điện toán song song sử dụng hàng nghìn nhân GPU để tối ưu hóa nhiều ứng dụng khác nhau, bao gồm xử lý đồ họa, dựng video, học máy và thậm chí là khai thác tiền điện tử như Bitcoin.

Trong thập kỷ qua, GPU đã trở nên thiết yếu đối với sự phát triển của deep learning. Với khả năng tăng tốc các phép toán ma trận lớn và thực hiện các phép tính ma trận có độ chính xác hỗn hợp trong một phép toán duy nhất, GPU có thể tăng tốc deep learning ở tốc độ cao. Công nghệ điện toán song song này khiến GPU trở thành một phần quan trọng của siêu máy tính hiện đại đã châm ngòi cho sự bùng nổ AI trên toàn thế giới.

Tóm tắt tính năng của GPU:

  • Có hàng ngàn nhân xử lý
  • Thông lượng cao
  • Chuyên dụng cho xử lý song song
  • Có khả năng thực hiện hàng ngàn thao tác cùng một lúc

TPU là gì?

TPU là viết tắt của Tensor Processing Units, là mạch tích hợp dành riêng cho ứng dụng (ASIC). TPU được Google thiết kế từ đầu; họ bắt đầu sử dụng TPU vào năm 2015 và công bố chúng vào năm 2018. TPU có sẵn dưới dạng đám mây hoặc phiên bản chip nhỏ hơn. TPU đám mây cực kỳ nhanh khi thực hiện các phép tính vectơ và ma trận dày đặc để tăng tốc quá trình học máy mạng nơ-ron trên phần mềm TensorFlow. TensorFlow là một nền tảng học máy nguồn mở do Nhóm Google Brain xây dựng để giúp các nhà phát triển, nhà nghiên cứu và doanh nghiệp chạy và vận hành các mô hình AI trên các API TensorFlow cấp cao được hỗ trợ bởi phần cứng TPU đám mây. TPU giảm thiểu thời gian để đạt được độ chính xác trong quá trình đào tạo các mô hình mạng nơ-ron lớn và phức tạp. Với TPU, các mô hình học sâu trước đây mất nhiều tuần để đào tạo trên GPU thì giờ đây chỉ mất nhiều giờ trên TPU.

 Tóm tắt tính năng của TPU:

  • Phần cứng đặc biệt cho xử lý ma trận
  • Độ trễ cao (so với CPU)
  • Thông lượng rất cao
  • Tính toán với tính song song tối đa
  • Được tối ưu hóa cao cho các lô lớn và CNN (mạng nơ-ron tích chập)

 

Nhà sản xuất CPU, GPU và TPU là ai?

Các nhà sản xuất CPU: Intel, AMD, Qualcomm, NVIDIA, IBM, Samsung, Apple, Hewlett-Packard, VIA, Atmel, v.v.

Nhà sản xuất GPU: NVIDIA, AMD, Broadcom Limited, Imagination Technologies (PowerVR)

Nhà sản xuất TPU: Google, Coral (thuộc sở hữu của Google), HAILO

 

Khi nào nên sử dụng CPU, GPU hoặc TPU để chạy Mô hình học máy?

CPU là bộ xử lý đa năng, trong khi GPU và TPU là bộ tăng tốc được tối ưu hóa giúp tăng tốc quá trình học máy. Có vẻ khá đơn giản khi chọn bộ xử lý nào để chạy tải xử lý học máy của bạn. Tuy nhiên, bạn có thể muốn xem xét kỹ hơn và cân nhắc loại mô hình học máy nào đang chạy để quyết định phần cứng nào phù hợp nhất với tải xử lý của bạn. Sau đây là một số hướng dẫn nhanh để bạn xác định bộ xử lý nào phù hợp nhất với ứng dụng của mình:

CPU:

  • Các prototype đòi hỏi tính linh hoạt cao nhất
  • Đào tạo các mô hình đơn giản không đòi hỏi nhiều thời gian
  • Đào tạo các mô hình nhỏ với kích thước lô nhỏ hiệu quả
  • Hầu hết được viết bằng C++ dựa trên các hoạt động TensorFlow tùy biến
  • Các mô hình có I/O hạn chế hoặc băng thông mạng hệ thống hạn chế

GPU:

  • Các mô hình quá khó để thay đổi hoặc source không còn tồn tại
  • Các mô hình có nhiều hoạt động TensorFlow tùy biến mà GPU phải hỗ trợ
  • Các prototype không có trên Cloud TPU
  • Các mô hình có kích thước trung bình hoặc lớn hơn với kích thước lô hiệu quả lớn hơn

TPU:

  • Mô hình đào tạo chủ yếu sử dụng phép tính ma trận
  • Đào tạo các mô hình không có hoạt động TensorFlow tùy biến bên trong vòng lặp đào tạo chính
  • Các mô hình đào tạo cần nhiều tuần hoặc nhiều tháng để hoàn thành
  • Đào tạo các mô hình lớn với kích thước lô hiệu quả rất lớn

CPU, GPU và TPU kết nối với bo mạch chủ như thế nào?

Bo mạch chủ là một bảng mạch in (PCB) chứa nhiều thành phần máy tính như CPU, bộ nhớ và các đầu nối cho các thiết bị ngoại vi khác. Bo mạch chủ là nơi tất cả CPU, GPU và TPU được kết nối để giao tiếp với các thành phần điện tử khác của hệ thống.

 

CPU kết nối với bo mạch chủ như thế nào?

Có hai loại CPU cơ bản,  CPU socket  và CPU tích hợp SoC (hệ thống trên chip). CPU socket được lắp trên khe cắm CPU tại bo mạch chủ. Socket CPU được chế tạo với hàng nghìn điểm tiếp xúc hoặc chân kim loại để cấp nguồn và truyền dữ liệu giữa CPU và các bộ xử lý khác được kết nối trên bo mạch chủ. CPU socket thường được kết nối thông qua khe cắm CPU mảng lưới ping (PGA) hoặc mảng lưới đất (LGA). Mặt khác, SoC là một chipset độc đáo đúc CPU với các thiết bị ngoại vi thiết yếu khác như bộ nhớ và bộ tăng tốc đồ họa thành một chip silicon duy nhất. SoC thường được hàn trực tiếp vào bo mạch chủ bằng kết nối mảng lưới bi (BGA) và cung cấp mức tiêu thụ điện năng tốt hơn cho IoT và các ứng dụng di động.

Tiêu thụ điện năng của CPU và giải pháp làm mát

Mức tiêu thụ điện năng của CPU là giá trị cho biết CPU cần bao nhiêu điện năng để chạy. Giá trị mức tiêu thụ điện năng có thể là hướng dẫn hữu ích để bạn chọn giải pháp làm mát phù hợp. Khi chọn giải pháp làm mát, các nhà sản xuất thường sử dụng TDP (công suất thiết kế nhiệt) để mô tả mức độ hiệu quả của giải pháp làm mát CPU. Giá trị TDP xác định lượng nhiệt mà bộ xử lý có thể tạo ra trong quá trình làm việc nặng. Mức tiêu thụ điện năng của CPU và TDP có mối liên hệ chặt chẽ, trong đó mức tiêu thụ điện năng cao hơn dẫn đến TDP cao hơn. CPU càng mạnh thì mức tiêu thụ điện năng càng lớn và nhiệt lượng tỏa ra càng nhiều khi chạy tải xử lý nặng. Có nhiều loại CPU với các giá trị TDP khác nhau trên thị trường; TDP của CPU thường dao động từ 10W đến 130W nhiệt lượng tỏa ra. Để chọn giải pháp làm mát phù hợp, giải pháp làm mát và CPU của bạn phải có TDP tương tự nhau. Ví dụ: CPU có TDP 95W yêu cầu giải pháp làm mát TDP 95W. Trong lĩnh vực công nghiệp, máy tính chắc chắn không quạt sử dụng các giải pháp làm mát thụ động để làm mát CPU. Giải pháp không quạt có thể làm mát bộ xử lý với TDP từ 10W đến 65W. Bất kỳ mức nào cao hơn thế sẽ cần giải pháp làm mát chủ động, thường là có quạt.

 

GPU kết nối với bo mạch chủ như thế nào?

GPU là bộ tăng tốc bổ sung có cách kết nối hơi khác với bo mạch chủ. GPU có hai loại cơ bản: GPU rời và GPU tích hợp. GPU rời là bộ xử lý đồ họa ngoài tách biệt với bộ xử lý trung tâm. GPU có bộ nhớ chuyên dụng riêng biệt với CPU. GPU rời thường được gắn vào khe cắm PCI Express x16 trên bo mạch chủ. Ngược lại, GPU tích hợp được nhúng cùng với CPU trên mạch tích hợp SoC.

Tiêu thụ điện năng của GPU và giải pháp làm mát của nó

Card đồ họa cũng chia sẻ mức tiêu thụ điện năng và giá trị TDP được đo bằng watt (W). GPU rời thông thường tiêu thụ điện năng khoảng 80W đến 250W và tỏa nhiệt khoảng 100W đến 300W dựa trên mức TDP của chúng. GPU rời thường bao gồm các giải pháp làm mát tích hợp phù hợp với TDP của card đồ họa. Kiểm tra mức tiêu thụ điện năng và giá trị TDP của GPU giúp quyết định nên mua PSU (bộ cấp nguồn) nào hoặc bạn có muốn lắp thêm các giải pháp làm mát cho các ứng dụng ép xung nặng không.

 

TPU kết nối với bo mạch chủ như thế nào?

Vào đầu năm 2019, Google cuối cùng đã phát hành phần cứng TPU mà bạn có thể mua từ thương hiệu Coral của họ. Thông số kỹ thuật hiện tại cho các đơn vị TPU mà bạn có thể mua có thể thực hiện 4 nghìn tỷ phép tính mỗi giây (TOPS), chỉ chạy bằng 0,5 watt điện cho mỗi TOPS. Có ba loại phần cứng TPU mà bạn có thể mua ngày nay:

  1. Bộ tăng tốc USB TPU có chức năng kết nối Edge TPU thông qua kết nối cáp USB.
  2. Các TPU kết nối thông qua kết nối mPCIe hoặc M.2 (phím A+E và B+M). Các đầu nối M.2 và mPCIe cho phép gắn trực tiếp TPU vào bo mạch chủ.
  3. Tùy chọn TPU Dev Board là máy tính bảng đơn có hệ thống trên module (SoM) có thể tháo rời dành cho các ứng dụng AI dạng module.

Tiêu thụ điện năng của TPU và giải pháp làm mát của nó

Bộ tăng tốc Google Edge TPU ML có tổng hiệu suất đỉnh là 8 TOPS (nghìn tỷ phép tính mỗi giây) với mức tiêu thụ điện năng là 2 TOPS trên mỗi watt. Đối với giải pháp làm mát, bạn có thể gắn bộ tản nhiệt hoặc vỏ kim loại thông qua các miếng đệm nhiệt riêng lẻ trên M.2 TPU để đảm bảo hoạt động thành công trong thời gian dài. Hơn nữa, Edge TPU có nhiệt độ mối nối Tj cao, với nhiệt độ mối nối tối đa là Tj: 115℃. Nhiệt độ mối nối là nhiệt độ hoạt động cao nhất của chip silicon. Nhiệt độ mối nối của Edge TPU phải luôn thấp hơn giới hạn nhiệt độ để vận hành an toàn. Mỗi TPU bao gồm một cảm biến nhiệt độ để theo dõi nhiệt độ bên trong và chỉ định điểm ngắt để điều chỉnh tần số động (DFS). Nhu cầu về TPU cho các ứng dụng công nghiệp ngày càng tăng do kích thước nhỏ gọn, mức tiêu thụ điện năng thấp, hiệu suất tuyệt vời và các tính năng chịu nhiệt độ cao.

Người ta đã chứng minh rằng các công nghệ xử lý khác nhau mang lại nhiều lợi thế khác nhau tùy thuộc vào ứng dụng cụ thể. Công nghệ mới nổi đang phát triển nhanh chóng, khiến việc cập nhật những cải tiến mới nhất về công nghệ máy tính trở nên rất quan trọng vì ngành công nghiệp AI và bán dẫn tiếp tục phát triển theo cấp số nhân.

____
Bài viết liên quan
Góp ý / Liên hệ tác giả