Tăng tốc phần cứng
Machine Learning Systems — Tập I, Chương 11
← tất cả bài họcDanh sách cảnh (15 mục, 100 cảnh)
Mục 1Mục đích0:00
Mục 2Chuyên biệt hoá phần cứng10:12
Mục 3Các nguyên thuỷ tính toán của AI24:17
Mục 4Đơn vị tính toán và mô hình thực thi33:54
Mục 5Hệ thống bộ nhớ cho AI55:08
Mục 6Mô hình roofline77:46
Mục 7Ánh xạ lên phần cứng89:50
Mục 8Tối ưu luồng dữ liệu98:28
Mục 9Hỗ trợ từ trình biên dịch124:57
Mục 10Hỗ trợ từ môi trường chạy139:48
Mục 11Mở rộng ra nhiều chip144:16
Mục 12Thiết kế SoC không đồng nhất147:00
Mục 13Tính bền vững của phần cứng151:53
Mục 14Ngộ nhận và cạm bẫy153:31
Mục 15Tổng kết157:58
📓 Sổ tay thực hành
Chạy trên Colab bằng CPU, không cần cài thêm gì.
1. Mô hình roofline: hai trần, điểm gãy và chỗ đứng của từng phép toán
Tính điểm gãy của V100, A100, H100, đếm FLOP và byte của các phép toán trong chương từ hình dạng tensor, đặt chúng lên roofline của A100, rồi xem batch, độ chính xác số và các ngộ nhận cuối chương làm dịch chuyển chúng.
Mục 2. Chuyên biệt hoá phần cứng · 5. Hệ thống bộ nhớ cho AI · 6. Mô hình roofline · 14. Ngộ nhận và cạm bẫy · 15. Tổng kết
chạy dưới 1 phútMở trong Colab ↗2. Đo roofline trên CPU của bạn, rồi hợp nhất kernel để bớt lưu lượng
Đếm mật độ tính toán của phép nhân ma trận và phép theo từng phần tử, đo hai trần của máy đang chạy sổ tay, đặt một tầng dày đặc ở chín kích thước batch lên roofline đo được, rồi đếm và đo lưu lượng mà hợp nhất kernel bớt đi cho chuỗi ReLU, chuẩn hóa theo batch và affine.
Mục 3. Các nguyên thuỷ tính toán của AI · 6. Mô hình roofline · 8. Tối ưu luồng dữ liệu · 9. Hỗ trợ từ trình biên dịch
chạy dưới 1 phútMở trong Colab ↗3. Mảng systolic, chia khối và thứ tự vòng lặp: mỗi byte được dùng lại bao nhiêu lần
Tính lại ví dụ Tensor Core, mô phỏng từng chu kỳ một mảng systolic giữ trọng số tại chỗ cùng chi phí nạp đầy và xả, tính lại napkin math 1.1, đếm lưu lượng của phép nhân chia khối và khối nào vừa bộ nhớ nháp, rồi chạy cả 120 thứ tự vòng lặp của ví dụ 1.4 trên một tệp thanh ghi.
Mục 4. Đơn vị tính toán và mô hình thực thi · 7. Ánh xạ lên phần cứng · 8. Tối ưu luồng dữ liệu
chạy dưới 1 phútMở trong Colab ↗4. Từ một kernel nhanh tới cả hệ thống: Amdahl, năng lượng, nhiều chip và cacbon
Dùng định luật Amdahl để xem vì sao 247 lần trên đường nhân ma trận chỉ còn 18.6 lần cho cả ứng dụng, tính năng lượng của việc di chuyển dữ liệu, lập lịch đệm kép, chạy thật một AllReduce vòng rồi tính kịch bản tám GPU và quy mô GPT-3, và tính lại napkin math 1.10 cùng độ nhạy của nó.
Mục 1. Mục đích · 2. Chuyên biệt hoá phần cứng · 5. Hệ thống bộ nhớ cho AI · 10. Hỗ trợ từ môi trường chạy · 11. Mở rộng ra nhiều chip · 13. Tính bền vững của phần cứng · 14. Ngộ nhận và cạm bẫy
chạy dưới 1 phútMở trong Colab ↗