- TPU là bộ tăng tốc chuyên biệt theo miền của Google, mạnh dạn loại bỏ mọi thứ không cần thiết và chỉ giữ lại các phép tính thật sự cần cho deep learning
- Dự án bắt đầu từ giới hạn mở rộng của trung tâm dữ liệu vào năm 2013, và sau 12 năm đã phát triển tới thế hệ thứ 7 là ‘Ironwood’
- Khi thời kỳ hiệu năng bán dẫn tự động tăng lên đã kết thúc, chiến lược tự thiết kế thay vì chờ đợi trở thành một lựa chọn then chốt
- TPU không phải chỉ là một con chip, mà là một hệ thống đồng thiết kế gồm phần cứng, trình biên dịch, mạng và phần mềm vận hành
- Qua từng thế hệ, trọng tâm thiết kế dịch chuyển từ cuộc đua hiệu năng sang điện năng, triển khai và chi phí vận hành (TCO)
- Năng lực cạnh tranh của TPU không nằm ở một công nghệ đơn lẻ mà ở tổng hòa của hơn 10 năm kinh nghiệm thiết kế và vận hành tích lũy
Something New
- TPU không phải vũ khí bí mật, mà là thành quả được mài giũa trong thời gian dài bằng nghiên cứu công khai và lặp lại nội bộ
- Thay vì tiếp tục mở rộng trung tâm dữ liệu, Google đã chọn con đường thay đổi tận gốc cách tính toán
- Khoảng năm 2013, áp lực phải tăng gấp đôi năng lực trung tâm dữ liệu cùng giới hạn về thời gian đã dẫn tới sự ra đời của TPU chỉ sau 15 tháng
- Tại Google Cloud Next tháng 4/2025, Google công bố TPU Ironwood thế hệ thứ 7 với các con số 9.216 chip/pod, 42,5 Exaflops, 10MW
- GPU vốn không phải thiết bị được tạo ra cho deep learning, còn TPU ngay từ đầu đã được thiết kế với tiền đề là tính toán mạng nơ-ron
- Nhờ lựa chọn này, TPU có được lợi thế cấu trúc không chỉ về hiệu năng tính toán mà còn về hiệu quả điện năng và độ ổn định vận hành
- Đây không phải kết quả của “sự tình cờ”, mà là thành quả tích lũy từ việc liên tục lặp lại các ràng buộc, trade-off và đồng thiết kế
Slowing Down
- Khi Moore’s Law và Dennard Scaling suy yếu, trước đây chỉ cần chờ CPU mới là chương trình cũng nhanh hơn, nhưng tiền đề đó đã sụp đổ
- Số lượng transistor vẫn tiếp tục tăng, nhưng giới hạn điện năng và nhiệt cản trở việc cải thiện hiệu năng
- Đồng thời, mạng nơ-ron đòi hỏi dữ liệu lớn hơn và mô hình lớn hơn, khiến nhu cầu tính toán bùng nổ
- Vì vậy, thay vì “con chip làm được mọi việc ở mức khá”, người ta cần “con chip làm cực tốt một việc duy nhất”
- Việc cốt lõi của tính toán mạng nơ-ron là các phép lặp xoay quanh nhân ma trận đã mở đường cho thiết kế chuyên biệt
The Inference Chip
- TPU đầu tiên tập trung vào suy luận (Inference), tức chạy mô hình đã được huấn luyện, chứ không phải huấn luyện
- TPUv1 loại bỏ cache, dự đoán nhánh và multithreading để giảm tối đa chi phí điều khiển
- Thay vào đó, mọi tài nguyên được dồn vào Systolic Array (MXU) chuyên xử lý các phép nhân ma trận lớn không ngừng nghỉ
- Trong khi chạy, chip không tự ra quyết định mà chỉ tuân theo đúng thứ tự thực thi đã được xác định từ lúc biên dịch
- Kết quả là với cùng mức điện năng, nó xử lý được nhiều tác vụ suy luận hơn hẳn so với GPU và CPU
The Training Chip
- Huấn luyện đòi hỏi lượng tính toán lớn hơn suy luận rất nhiều cùng phạm vi biểu diễn số rộng hơn
- Từ TPUv2, cấu trúc không còn chỉ dành cho suy luận mà được bổ sung độ linh hoạt cho việc huấn luyện
- Thay đổi cốt lõi là tách riêng vai trò của ma trận (MXU), vector (VPU) và điều khiển (Scalar Unit)
- Luồng thực thi được trình biên dịch XLA tính toán và quyết định trước, còn chip chỉ việc thực hiện theo
- Liên kết tốc độ cao chuyên dụng (ICI) cũng được thiết kế cùng lúc để nhiều TPU hoạt động như một thiết bị duy nhất
Scaling Up
- Khi hệ thống lớn dần, câu hỏi chuyển từ “nhanh đến đâu” sang “có thể chạy lâu đến đâu, với chi phí thấp đến mức nào”
- Để làm vậy, người ta đặt bộ nhớ on-chip dung lượng lớn (CMEM) gần khối tính toán để giảm truy cập DRAM chậm
- Với các tác vụ nhiều dữ liệu thưa như hệ thống gợi ý, các đơn vị chuyên dụng như SparseCore cũng được đưa vào
- Việc tách giao tiếp bên trong chip và giao tiếp giữa các chip giúp giảm về mặt cấu trúc độ phức tạp dây nối và các điểm nghẽn
- Từ đây, hiệu quả vận hành chứ không phải con số hiệu năng mới là thứ chi phối toàn bộ thiết kế
Island Hopping
- Trong môi trường dùng hàng nghìn TPU, sự cố không phải ngoại lệ mà là điều được giả định sẵn
- Mục tiêu là một hệ thống không dừng lại, tức cấu trúc có thể hấp thụ các lỗi cục bộ
- Công việc được chia ra chạy trên nhiều TPU nhưng vẫn được quản lý để trông như một chương trình duy nhất
- Khi có vấn đề, thay vì dừng toàn bộ, hệ thống chọn tái phân bổ và khởi động lại thật nhanh
- Phần lớn quy trình phức tạp này được phần mềm vận hành tự động xử lý
Mở rộng Datacenter Network
- Khi một cụm TPU không còn đủ, cần phải kết nối nhiều cụm lại với nhau
- Mạng thông thường có giới hạn, nên chuyển mạch quang học (OCS) được đưa vào
- Nhờ đó, toàn bộ trung tâm dữ liệu có thể được cấu thành như một tài nguyên tính toán khổng lồ duy nhất
- Cách mở rộng mô hình thực thi hiện có và một mô hình thực thi bất đồng bộ hoàn toàn mới (Pathways) cùng tồn tại
- Nhờ vậy có thể gánh được các mô hình lớn hơn và các mẫu giao tiếp phức tạp hơn
Ceci n’est pas une TPU
- TPU hiện đại nhìn vào các con số thì rất áp đảo, nhưng nguyên tắc cốt lõi vẫn giống như ban đầu
- Hướng đi vẫn là tập trung vào những phép tính cần thiết và loại bỏ sự phức tạp không cần thiết
- Chỉ dựa vào thông số phần cứng thì không thể sao chép được hệ thống này
- Trình biên dịch (XLA), liên kết chuyên dụng (ICI), chuyển mạch quang học (OCS) và bộ lập lịch vận hành phải cùng hoạt động
- TPU không phải một phát minh trong một lần, mà là kết quả tích lũy của hàng trăm lựa chọn bình thường
Một vài công nghệ cốt lõi cần nhớ
- Systolic Array (MXU): trái tim của TPU, xử lý nhân ma trận với hiệu suất cao
- Trình biên dịch XLA: tính trước thứ tự thực thi để loại bỏ chi phí điều khiển
- BF16: định dạng số giúp giảm chi phí phần cứng nhưng vẫn giữ được dải giá trị cần thiết cho huấn luyện
- ICI / OCS: cấu trúc truyền thông chuyên dụng gắn kết chip, rack và trung tâm dữ liệu thành một
- Thiết kế lấy TCO làm trung tâm: tư duy tối ưu chi phí vận hành dài hạn thay vì hiệu năng tức thời
3 bình luận
Tôi có một mong muốn cá nhân là
Mong TPU được thương mại hóa rộng rãi để các doanh nghiệp không còn dùng GPU nữa.
Để rồi Nvidia lại tập trung trở lại vào GPU cho người tiêu dùng cá nhân.....
Bài gốc đi quá sâu về mặt kỹ thuật nên nếu tóm tắt nguyên văn thì chỉ thành một loạt thuật ngữ kỹ thuật, vì vậy tôi đã sắp xếp lại một chút để giúp dễ hiểu hơn về quá trình phát triển. Nếu bạn muốn tìm hiểu các chi tiết kỹ thuật, hãy tham khảo bài gốc có phần giải thích kèm hình ảnh.
Ý kiến trên Hacker News