TPU của Google là gì? Chip AI chuyên dụng hoạt động ra sao
Trả lời nhanh: TPU của Google là gì? TPU, viết tắt của Tensor Processing Unit, là chip tăng tốc AI chuyên dụng do Google thiết kế để thực hiện phép nhân ma trận với thông lượng và hiệu quả năng lượng cao. TPU kết hợp Matrix Multiply Unit, systolic array, bộ nhớ băng thông cao, mạng liên kết chip và compiler XLA cho training lẫn inference quy mô lớn.
Cập nhật lần cuối: 20/08/2026
Khi dùng một ứng dụng AI, chúng ta thường chỉ nhìn thấy model và câu trả lời. Phía sau mỗi token là một lượng lớn phép nhân, cộng và di chuyển dữ liệu giữa bộ nhớ với bộ xử lý.
Đó là lý do phần cứng trở thành một phần của chiến lược AI.
CPU có thể chạy gần như mọi loại chương trình. GPU dùng hàng nghìn lõi để xử lý song song. TPU đi xa hơn theo hướng chuyên dụng: Google thiết kế chip, bộ nhớ, mạng và phần mềm quanh những phép toán mà mạng neural thực hiện nhiều nhất.
TPU không đơn giản là “GPU của Google”. Nó là một lựa chọn kiến trúc khác, đánh đổi tính linh hoạt tổng quát để tối ưu các workload tensor ở quy mô lớn.
TPU của Google là gì?
TPU của Google là một bộ xử lý chuyên dụng cho machine learning, tập trung vào phép nhân ma trận và các phép toán tensor dùng trong mạng neural. Cloud TPU được cung cấp dưới dạng hạ tầng tăng tốc trên Google Cloud và có thể ghép nhiều chip thành hệ thống lớn.
TPU đầu tiên được Google triển khai trong data center từ năm 2015 để tăng tốc inference. Các thế hệ sau hỗ trợ training, bộ nhớ lớn hơn, liên kết chip tốc độ cao và nhiều định dạng số dành cho AI.
Đến năm 2026, thế hệ thứ tám được tách thành hai hướng:
- TPU 8t: tối ưu cho training quy mô lớn;
- TPU 8i: tối ưu cho sampling, serving và inference.
Việc tách hai biến thể phản ánh một thực tế: training và inference có profile bộ nhớ, giao tiếp, latency và thông lượng khác nhau.
Vì sao AI cần chip chuyên dụng?
Mạng neural hiện đại dành phần lớn thời gian cho đại số tuyến tính, đặc biệt là phép nhân ma trận. Một lớp đơn giản có thể được biểu diễn gần đúng bằng:
$$Y = W \times X + B$$
Trong đó $X$ là đầu vào, $W$ là trọng số, $B$ là bias và $Y$ là đầu ra.
Khi model có hàng tỷ tham số, phép toán này lặp lại với quy mô khổng lồ. Hai vấn đề xuất hiện:
- Cần rất nhiều phép nhân cộng song song.
- Cần di chuyển lượng dữ liệu rất lớn giữa bộ nhớ và compute.
Chi phí di chuyển dữ liệu có thể quan trọng không kém số phép tính. Một bộ xử lý mạnh nhưng phải chờ trọng số từ bộ nhớ sẽ không đạt thông lượng lý thuyết.
Google xây TPU theo hướng domain-specific architecture: bỏ bớt phần cứng dành cho workload tổng quát, tăng diện tích và băng thông cho matrix processing.
TPU hoạt động thế nào?
Một TPU chip chứa một hoặc nhiều TensorCore. Mỗi TensorCore gồm các thành phần chính:
- Matrix Multiply Unit (MXU): thực hiện phần lớn phép nhân ma trận;
- Vector unit: xử lý activation và phép toán theo vector;
- Scalar unit: xử lý điều khiển và phép toán vô hướng;
- High Bandwidth Memory (HBM): giữ trọng số và activation với băng thông cao;
- Inter-Chip Interconnect (ICI): kết nối nhiều chip để chia mô hình và dữ liệu;
- XLA compiler: chuyển graph tính toán thành chương trình phù hợp phần cứng.
Luồng đơn giản có thể hiểu như sau:
- Host đưa dữ liệu vào hàng đợi input.
- TPU nạp dữ liệu và trọng số vào HBM.
- Trọng số được chuyển tới MXU.
- Dữ liệu chạy qua mạng các multiply-accumulator.
- Vector và scalar unit hoàn thiện các phép toán còn lại.
- Kết quả được trả về hàng đợi output cho host.
Phần tạo khác biệt lớn nằm ở systolic array bên trong MXU.
Systolic array là gì?
Systolic array là một lưới các đơn vị multiply-accumulate kết nối trực tiếp, cho phép dữ liệu và tổng trung gian truyền từ ô này sang ô kế tiếp theo nhịp.
Thay vì mỗi phép toán liên tục đọc và ghi về bộ nhớ chính, dữ liệu được tái sử dụng khi di chuyển qua lưới. Điều này giúp giảm quãng đường di chuyển và giữ các đơn vị tính toán bận rộn hơn.
Một hình dung đơn giản:
- CPU giống một đầu bếp đa năng, làm được nhiều món nhưng xử lý tuần tự nhiều bước;
- GPU giống hàng nghìn đầu bếp cùng thực hiện các thao tác song song;
- systolic array giống một dây chuyền, nguyên liệu được truyền qua các trạm và mỗi trạm hoàn thành một phép nhân cộng.
Google cho biết MXU ở TPU v6e và TPU7x dùng mảng 256 x 256, còn nhiều thế hệ trước dùng 128 x 128. Một MXU có thể thực hiện hàng nghìn multiply-accumulate mỗi chu kỳ, trong khi kết quả tích lũy dùng FP32 để giữ độ ổn định.
TPU khác CPU và GPU ở đâu?
| Tiêu chí | CPU | GPU | TPU |
|---|---|---|---|
| Mục tiêu thiết kế | Tính toán tổng quát | Đồ họa và song song | Machine learning, tensor |
| Điểm mạnh | Logic, branch, workload đa dạng | Hệ sinh thái rộng, song song linh hoạt | Matrix throughput, hiệu quả hệ thống lớn |
| Đơn vị chính | Core phức tạp | Nhiều core, Tensor Core | MXU và systolic array |
| Phần mềm phổ biến | Mọi ngôn ngữ, hệ điều hành | CUDA, PyTorch, nhiều framework | JAX, XLA, PyTorch/Keras trên TPU |
| Khả năng di chuyển cloud | Cao | Cao hơn nhờ nhiều nhà cung cấp | Chủ yếu trong hệ sinh thái Google Cloud |
| Workload phù hợp | Điều phối, tiền xử lý, ứng dụng | Prototype, training và inference đa dạng | Training hoặc serving tensor quy mô lớn |
GPU không chỉ là chip đồ họa cũ được tận dụng. GPU hiện đại có Tensor Core, HBM và mạng liên kết mạnh cho AI. Lợi thế lớn của GPU là hệ sinh thái phần mềm, thư viện và nguồn nhân lực rất rộng.
TPU tạo lợi thế khi phần cứng và software stack được đồng thiết kế. Nhưng lợi thế đó chỉ xuất hiện nếu workload map tốt lên MXU và team vận hành được hệ sinh thái liên quan.
TPU 8t và TPU 8i khác nhau thế nào?
Theo Google Cloud, thế hệ thứ tám chia thành hai chip chuyên biệt thay vì một thiết kế dùng chung.
| Thành phần | TPU 8t | TPU 8i |
|---|---|---|
| Workload chính | Pretraining và training lớn | Sampling, serving, inference |
| Topology | 3D torus | Boardfly |
| HBM | 216 GB | 288 GB |
| Băng thông HBM | 6.528 GB/s | 8.601 GB/s |
| SRAM on-chip | 128 MB | 384 MB |
| Tính năng riêng | SparseCore, LLM decoder engine | Collectives Acceleration Engine |
| Ưu tiên | Thông lượng huấn luyện | Latency, memory và giao tiếp serving |
Các số liệu trên là thông số do Google công bố. Hiệu năng thực phụ thuộc model, precision, batch, sequence length, parallelism và mức tối ưu compiler.
Vì sao training cần một thiết kế riêng?
Training phải chạy forward pass, backward pass và cập nhật optimizer. Nó giữ tham số, gradient, activation và optimizer state, đồng thời cần truyền dữ liệu giữa nhiều chip. TPU 8t ưu tiên thông lượng và scale-out cho quá trình dài.
Vì sao inference cần một thiết kế riêng?
Inference bỏ backward pass nhưng nhạy với latency, memory bandwidth và KV cache. Agentic workload còn tạo chuỗi gọi model, tool và nhiều lượt phản hồi. TPU 8i có HBM lớn hơn, SRAM nhiều hơn và cơ chế tăng tốc giao tiếp tập thể để tối ưu profile này.
Bộ nhớ và mạng quan trọng thế nào?
Một chip có nhiều FLOPS nhưng thiếu băng thông sẽ phải chờ dữ liệu. Với LLM, mỗi token mới có thể cần đọc lượng lớn trọng số và KV cache.
High Bandwidth Memory
HBM được đặt gần chip, dùng nhiều kết nối song song để đạt băng thông cao hơn DRAM thông thường. Nó giúp MXU nhận dữ liệu đủ nhanh và giữ model lớn hơn trên mỗi chip.
Inter-Chip Interconnect
Model lớn không nằm gọn trên một chip. ICI giúp nhiều TPU trao đổi tensor, gradient và kết quả trung gian với latency thấp hơn so với chỉ dùng mạng data center thông thường.
Google gọi cụm quy mô lớn là TPU Pod. Ironwood thế hệ bảy có thể scale tới 9.216 chip trong một pod. Hệ thống như vậy cần đồng thiết kế compute, topology, optical switching, cooling và orchestration, không chỉ ghép nhiều card lại với nhau.
XLA làm gì trong hệ sinh thái TPU?
XLA, viết tắt của Accelerated Linear Algebra, là compiler tối ưu graph tính toán cho accelerator. Nó thực hiện các bước như fusion, layout, tiling và phân phối phép toán lên MXU.
Tiling đặc biệt quan trọng. Ma trận cần được chia thành block phù hợp kích thước phần cứng. Nếu shape không khớp, compiler có thể padding thêm số 0, làm giảm utilization và tăng bộ nhớ.
Google khuyến nghị:
- ưu tiên computation có matrix multiply chiếm tỷ trọng lớn;
- tránh quá nhiều reshape, concatenate hoặc op memory-bound;
- dùng shape và batch thuận lợi cho tiling;
- hạn chế dynamic shape nếu khiến graph phải compile lại;
- profile chương trình thay vì chỉ nhìn peak FLOPS.
Đây là lý do chuyển code từ GPU sang TPU không phải lúc nào cũng chỉ đổi một dòng cấu hình.
BFloat16 giúp gì cho training?
AI thường không cần mọi phép toán ở FP32 đầy đủ. BFloat16 giữ 8 bit exponent như FP32 nhưng giảm phần mantissa, nhờ đó vẫn có dynamic range rộng với một nửa số bit.
Lợi ích gồm:
- giảm lượng bộ nhớ cho tensor;
- tăng thông lượng matrix multiply;
- giảm băng thông cần di chuyển dữ liệu;
- vẫn dùng tích lũy FP32 ở MXU để giữ ổn định.
Các thế hệ mới còn hỗ trợ nhiều precision thấp hơn cho từng workload. Precision càng thấp có thể tăng tốc và giảm chi phí, nhưng phải kiểm tra ảnh hưởng tới quality, overflow và convergence.
Khi nào nên dùng TPU?
TPU là ứng viên tốt khi:
- model dùng nhiều matrix multiplication dense;
- workload đủ lớn để tận dụng batch và nhiều chip;
- team dùng hoặc sẵn sàng dùng JAX, XLA hay stack TPU;
- training dài hoặc inference volume cao làm price-performance đáng kể;
- hệ thống đã ở Google Cloud và ít yêu cầu multi-cloud;
- model có shape tương đối ổn định;
- cần scale nhiều accelerator với interconnect chặt.
Ví dụ có thể là huấn luyện foundation model, fine-tune lớn, recommendation, embedding, image generation hoặc serving LLM ở volume cao.
Hệ thống cá nhân hóa như Spotify nhắc chúng ta rằng model chỉ là một phần. Nếu muốn xem AI, dữ liệu và trải nghiệm phối hợp ra sao, đọc Spotify dùng AI cá nhân hóa trải nghiệm như thế nào.
Khi nào GPU hoặc CPU phù hợp hơn?
Chọn GPU khi
- cần hệ sinh thái CUDA và PyTorch trưởng thành;
- dùng custom kernel hoặc thư viện chưa hỗ trợ TPU;
- cần chạy trên nhiều cloud hoặc on-premise;
- workload thay đổi nhanh và ưu tiên thời gian thử nghiệm;
- quy mô chưa đủ để bù chi phí chuyển đổi.
Chọn CPU khi
- model nhỏ hoặc volume thấp;
- phần lớn pipeline là logic, I/O, tiền xử lý và business rule;
- latency khởi động hoặc chi phí idle quan trọng;
- inference đã quantize và không cần accelerator riêng.
Dùng hệ thống kết hợp khi
Phần lớn sản phẩm AI thực tế dùng CPU để điều phối, accelerator để chạy model, storage giữ dữ liệu và network nối các dịch vụ. “TPU hay GPU” chỉ là một quyết định trong kiến trúc lớn hơn.
TPU có liên quan gì tới Vibe Coding và AI Agent?
Với người làm Vibe Coding, không cần biết cách thiết kế chip. Nhưng hiểu profile phần cứng giúp đưa ra ba quyết định tốt hơn:
- Chọn model hợp chi phí: model rất lớn có thể cần hạ tầng mà API là lựa chọn thực tế hơn self-host.
- Thiết kế latency budget: Agent gọi model nhiều lần sẽ nhân latency và chi phí của mỗi inference.
- Tách workload: task đơn giản chạy model nhỏ hoặc effort thấp, task khó mới dùng model và phần cứng đắt hơn.
Mô hình open-weight như Inkling minh họa rõ khác biệt giữa active compute và memory footprint. Dù chỉ một phần tham số hoạt động mỗi token, checkpoint tổng vẫn quyết định lượng VRAM và kiến trúc serving.
Cách benchmark TPU cho dự án AI
Bước 1: Xác định workload
Ghi model, precision, batch, sequence length, input/output token, training hay inference và SLA latency.
Bước 2: Chọn metric nghiệp vụ
Không chỉ đo FLOPS. Hãy đo chi phí trên một triệu token, thời gian hoàn thành training, request mỗi giây, latency P50/P95 và chất lượng model.
Bước 3: Tối ưu một baseline
So sánh TPU với GPU trên code đã được tối ưu hợp lý cho mỗi nền tảng. Chạy code GPU chưa tối ưu trên TPU sẽ cho kết luận sai.
Bước 4: Kiểm tra scale
Đo từ một chip lên nhiều chip. Quan sát utilization, thời gian giao tiếp, compile time, padding và lỗi memory.
Bước 5: Tính total cost
Bao gồm thời gian kỹ sư, chuyển dữ liệu, storage, network egress, reservation, idle capacity và rủi ro lock-in.
Bước 6: Chạy thử production-like
Replay traffic hoặc batch có shape gần thực tế. Peak benchmark hiếm khi phản ánh đầy đủ long-tail latency và variation của input.
FAQ - Câu hỏi thường gặp
TPU có phải do Google sản xuất không?
TPU do Google thiết kế và triển khai trong hạ tầng của mình, đồng thời cung cấp qua Google Cloud. Quá trình sản xuất vật lý có thể liên quan tới đối tác bán dẫn, nhưng kiến trúc và stack được Google đồng thiết kế cho AI.
TPU có nhanh hơn GPU không?
Không có câu trả lời chung. TPU có thể vượt trội về thông lượng hoặc price-performance ở workload phù hợp và quy mô lớn. GPU có thể tốt hơn về thư viện, custom op, khả năng di chuyển và tốc độ phát triển. Cần benchmark trên model thật.
Có thể dùng PyTorch trên TPU không?
Có. Google hỗ trợ PyTorch trong stack TPU và tiếp tục mở rộng trải nghiệm native. Tuy vậy, mức tương thích của custom op, eager mode và thư viện phụ thuộc phiên bản, nên cần kiểm tra với codebase cụ thể.
TPU chỉ dùng để training phải không?
Không. TPU v1 ban đầu tập trung vào inference. Các thế hệ sau hỗ trợ cả training và inference. TPU 8t được tối ưu cho training, còn TPU 8i được thiết kế cho serving và inference.
Cá nhân có cần dùng TPU không?
Phần lớn cá nhân không cần tự quản hạ tầng TPU. TPU hữu ích khi học JAX, chạy notebook được hỗ trợ, fine-tune hoặc xử lý workload đủ lớn. Với ứng dụng nhỏ, dùng API model hoặc GPU phổ biến thường đơn giản hơn.
Tóm lại
- TPU là chip tăng tốc AI chuyên dụng của Google, tập trung vào phép toán tensor và matrix multiplication.
- Systolic array cho phép dữ liệu truyền qua lưới multiply-accumulator, giảm truy cập bộ nhớ lặp lại.
- MXU, HBM, ICI và XLA phải phối hợp như một hệ thống, không thể đánh giá chỉ bằng peak FLOPS.
- TPU 8t phục vụ training lớn, còn TPU 8i ưu tiên inference, memory và latency.
- TPU phù hợp nhất khi workload lớn, shape ổn định và tận dụng được hệ sinh thái Google Cloud.
- GPU vẫn là lựa chọn mạnh khi cần phần mềm rộng, custom kernel, multi-cloud và thử nghiệm nhanh.
- Quyết định đúng phải dựa trên benchmark production-like và total cost, không dựa trên một thông số quảng cáo.
Nguồn tham khảo
- ByteByteGo: EP222, What is Google’s TPU?
- Google Cloud: TPU architecture
- Google Cloud: Introduction to Cloud TPU
- Google Research: In-Datacenter Performance Analysis of a TPU
- Google Cloud: TPU 8t and TPU 8i technical deep dive