1 điểm bởi GN⁺ 2024-03-26 | 1 bình luận | Chia sẻ qua WhatsApp
  • TPU(Tensor Processing Unit) v1 đầu tiên của Google nhắm đến việc phát triển một ASIC (Application Specific Integrated Circuit) mang lại lợi thế hiệu năng/chi phí gấp 10 lần, có tính đến cơ hội cho các dịch vụ mới sử dụng deep learning cũng như quy mô và chi phí phần cứng cần thiết.
  • TPU được thiết kế để tăng tốc các phép toán tensor; tensor ở đây là các phép toán ánh xạ quan hệ mảng đa chiều giữa vector, scalar và các tensor khác.
  • Nhân ma trận là phép toán cốt lõi của mạng nơ-ron, được dùng để tính các lớp ẩn và lớp đầu ra bằng cách nhân vector đầu vào với ma trận trọng số rồi áp dụng hàm kích hoạt.

Bộ xử lý tensor đầu tiên của Google: nguồn gốc

  • Dự án TPU v1 bắt đầu vào cuối năm 2013 và được phát triển trong 15 tháng, là một chủ đề thú vị với những ai quan tâm đến bộ gia tốc mạng nơ-ron.
  • Bối cảnh phát triển và mục tiêu của TPU v1 đã được đề cập trong bài trước; trong bài này, chúng ta sẽ xem chi tiết hơn về cấu trúc và hiệu năng của TPU v1.

Cấu trúc và hiệu năng

  • Thiết kế của TPU v1 dựa trên kiến trúc được trình bày trong bài báo năm 1978 "Systolic Arrays (for VLSI)" của H.T Kung và Charles E. Leiserson.
  • Systolic array được cấu thành từ một mạng lưới bộ xử lý, thực hiện tính toán dữ liệu theo chu kỳ và truyền dữ liệu qua hệ thống để thực hiện phép nhân ma trận hiệu quả.
  • Systolic array của TPU v1 gồm các đơn vị nhân/tích lũy kích thước 256x256, tự động tạo ra các kết quả cần thiết mà không cần lưu và nạp lại kết quả trung gian vào bộ nhớ chính.

Các đơn vị Multiply/Accumulate (MAC)

  • TPU v1 thực hiện phép nhân số nguyên 8 bit x 8 bit và tận dụng lượng tử hóa, vốn cần ít diện tích die hơn so với tính toán số thực dấu phẩy động.

Tập lệnh

  • TPU v1 sử dụng khoảng 20 lệnh phức tạp (CISC), và các lệnh này được truyền từ máy chủ qua giao tiếp PCIe.
  • Các lệnh chính gồm đọc bộ nhớ máy chủ, đọc trọng số, nhân/hợp ma trận, kích hoạt và ghi bộ nhớ máy chủ.

Phần mềm

  • Phần cứng của TPU v1 hỗ trợ ngăn xếp phần mềm như Tensorflow để các ứng dụng được phát triển trên CPU và GPU có thể nhanh chóng được port sang TPU.

Chế tạo và die

  • TPU v1 được sản xuất trên tiến trình 28nm của TSMC, với diện tích die nhỏ hơn một nửa so với chip CPU Intel Haswell và GPU Nvidia K80 mà Google từng dùng trong các trung tâm dữ liệu.

Hiệu năng

  • TPU v1 được thiết kế để giúp suy luận hiệu quả hơn, mang lại tốc độ suy luận và hiệu quả năng lượng nhanh hơn khoảng 15 đến 30 lần so với GPU Nvidia K80 và CPU Haswell.

Bài học rút ra

  • Kiến trúc tùy biến của TPU v1 cho phép đạt hiệu năng và mức sử dụng năng lượng tốt hơn nhiều so với CPU và GPU hiện đại.
  • TPU v1 được thiết kế với mục tiêu làm cho suy luận nhanh và tiết kiệm điện, chứ không nhằm phục vụ huấn luyện.

Ý kiến của GN⁺

  • Việc phát triển TPU v1 đánh dấu một bước ngoặt quan trọng khi Google chuyển sang phần cứng chuyên dụng để tối ưu hóa tác vụ suy luận trong các trung tâm dữ liệu quy mô lớn.
  • Kiến trúc systolic array tối ưu hóa luồng dữ liệu để giảm thiểu truy cập bộ nhớ, từ đó góp phần cải thiện hiệu quả năng lượng và hiệu năng.
  • Thành công của TPU v1 đã dẫn tới việc phát triển nhiều phiên bản TPU khác nhau về sau và đóng vai trò quan trọng trong sự tiến bộ của phần cứng suy luận AI.
  • Các sản phẩm khác cung cấp chức năng tương tự TPU gồm GPU tích hợp Tensor Core của Nvidia, Nervana NNP của Intel và Inferentia của Amazon.
  • Khi áp dụng công nghệ TPU, cần cân nhắc khả năng tương thích với hạ tầng hiện có, ngăn xếp phần mềm và mức độ tối ưu hóa cho từng ứng dụng cụ thể. Lợi ích khi chọn TPU là tăng tốc độ cho tác vụ suy luận và cải thiện hiệu quả năng lượng, nhưng có thể vẫn cần tối ưu hóa cho một số mô hình hoặc kiểu dữ liệu nhất định.

1 bình luận

 
GN⁺ 2024-03-26
Ý kiến trên Hacker News
  • CEO của Groq, Jonathon Ross, đã kể trong một cuộc phỏng vấn podcast về quá trình tạo ra nguyên mẫu TPU tại Google. Ban đầu, trong quỹ thời gian 20% của mình, ông đã làm một FPGA để giải quyết vấn đề tốc độ suy luận của nhóm bên cạnh. Sau khi Jeff Dean tính toán, họ quyết định chuyển sang ASIC. Hiện có ý kiến cho rằng Google nên tách đội TPU thành một công ty độc lập. TPU là đối thủ đáng tin cậy duy nhất của NVidia, và mức độ hỗ trợ phần mềm của nó chỉ đứng sau NVidia.
  • Có ý kiến đặt câu hỏi vì sao, dù Google phát minh ra TPU và Google Research công bố các bài báo chủ chốt về LLM, phần lớn giá trị thị trường lại đang thuộc về NVidia và các startup AI.
  • Một nhân viên Google khuyên nên xem thử TPU v5. Nó hỗ trợ PyTorch/JAX nên dễ dùng hơn nhiều so với khi chỉ dùng TensorFlow.
  • Có ý kiến cho rằng một bài viết đã giải thích rất hay cách những phần trừu tượng được kết nối thông qua silicon. Việc thấy các lệnh CISC được ánh xạ vào giai đoạn suy luận của LLM là điều thú vị.
  • Có ý kiến cho rằng Google nên tham gia công nghệ EUV 2nm và tiến tiếp xuống dưới 2nm. Nếu có được công nghệ quang khắc điện tử do ASML cung cấp, họ có thể đạt kết quả rất mạnh. Đây có thể là một dự án táo bạo của Google X, và nếu TPU thực sự tốt thì đây cũng có thể là cơ hội tốt để xây dựng một doanh nghiệp có fab và công nghệ riêng.
  • Có người hỏi hiện nay tên gọi của TPU đang lấy theo sinh vật biển nào.
  • Trích dẫn của OP (người đăng bài gốc): "TPU v1 sử dụng thiết kế CISC với khoảng 20 lệnh." Đáp lại, có ý kiến châm biếm rằng CISC/RISC đã đi qua đủ mọi giai đoạn, từ chương trình nghiên cứu đến thuật ngữ tiếp thị, và giờ đã trở thành những âm thanh vô nghĩa.
  • Có bình luận nói rằng họ không hiểu vì sao lại dùng thuật ngữ "tensor" khi phần cứng TPU thực tế chỉ thực hiện các phép toán vector và ma trận.
  • [Bình luận đã bị xóa]
  • [Bình luận đã bị xóa]