HƯỚNG DẪN KỸ THUẬT

Sự đánh đổi tính toán lại kích hoạt

Tính toán lại kích hoạt (điểm kiểm tra độ dốc hoặc kích hoạt) giúp tiết kiệm bộ nhớ GPU trong quá trình đào tạo bằng cách loại bỏ các kích hoạt trung gian trong quá trình chuyển tiếp và tính toán lại chúng trong quá trình chuyển ngược.

Tổng quan

Tính toán lại kích hoạt (điểm kiểm tra độ dốc hoặc kích hoạt) giúp tiết kiệm bộ nhớ GPU trong quá trình đào tạo bằng cách loại bỏ các kích hoạt trung gian trong quá trình chuyển tiếp và tính toán lại chúng trong quá trình chuyển ngược. Nó đánh đổi khả năng tính toán bổ sung để có khả năng huấn luyện các mô hình lớn hơn hoặc các chuỗi dài hơn trên cùng một phần cứng.

Kích hoạt tính toán lại sự đánh đổi là một khối xây dựng kỹ thuật ảnh hưởng đến chất lượng mô hình, chi phí cơ sở hạ tầng, độ trễ và độ tin cậy trên quy mô lớn.

Lặn sâu

Lan truyền ngược cần kích hoạt chuyển tiếp để tính toán độ dốc, do đó, theo mặc định, đầu ra của mỗi lớp đều được lưu trữ — chi phí bộ nhớ rất lớn tăng theo kích thước mô hình, kích thước lô và độ dài chuỗi. Quá trình tính toán lại kích hoạt chỉ giữ lại một số tensor 'điểm kiểm tra' (thường chỉ là ranh giới lớp) và loại bỏ phần còn lại. Trong quá trình truyền ngược, nó chạy lại tính toán chuyển tiếp giữa các điểm kiểm tra để tạo lại các kích hoạt bị loại bỏ theo yêu cầu. Kết quả kinh điển là với các điểm kiểm tra được đặt trên mỗi lớp sqrt(N), bộ nhớ giảm xuống khoảng O(sqrt(N)) trong khi thêm khoảng một lần chuyển tiếp bổ sung (tính toán nhiều hơn ~ 33%). Các biến thể chọn lọc chỉ tính toán lại các hoạt động rẻ nhưng tốn nhiều bộ nhớ (như chú ý hoặc bỏ học) trong khi lưu vào bộ đệm những hoạt động đắt tiền, tận dụng tối đa mức tiết kiệm bộ nhớ với chi phí tính toán lại ít hơn nhiều.

Hiểu biết kỹ thuật

Sự cân bằng cơ bản là bộ nhớ so với FLOP. Việc tính toán lại toàn bộ sẽ thêm một lần chuyển tiếp bổ sung cho mỗi bước (chậm hơn ~ 30-40%) nhưng có thể cắt giảm bộ nhớ kích hoạt theo một bậc độ lớn. Bước đi thông minh là điểm kiểm tra có chọn lọc: xác định các hoạt động có bộ nhớ lớn nhưng tính toán rẻ (softmax, layernorm, GELU, điểm chú ý) và chỉ tính toán lại những hoạt động đó, trong khi vẫn lưu trữ kết quả của các GEMM đắt tiền — giảm thiểu lãng phí tính toán.

Làm chủ sự đánh đổi tính toán lại kích hoạt

Tính toán lại kích hoạt (điểm kiểm tra độ dốc hoặc kích hoạt) giúp tiết kiệm bộ nhớ GPU trong quá trình đào tạo bằng cách loại bỏ các kích hoạt trung gian trong quá trình chuyển tiếp và tính toán lại chúng trong quá trình chuyển ngược. Nó đánh đổi khả năng tính toán bổ sung để có khả năng huấn luyện các mô hình lớn hơn hoặc các chuỗi dài hơn trên cùng một phần cứng. Kích hoạt tính toán lại sự đánh đổi là một khối xây dựng kỹ thuật ảnh hưởng đến chất lượng mô hình, chi phí cơ sở hạ tầng, độ trễ và độ tin cậy trên quy mô lớn. Để xây dựng sự hiểu biết sâu sắc, hãy coi Đánh đổi tính toán lại kích hoạt như một mô hình vận hành chứ không phải một tính năng duy nhất: xác định kết quả mong muốn, làm rõ các giả định và tách biệt những gì hệ thống có thể thực hiện một cách đáng tin cậy với những gì vẫn cần đến sự đánh giá của chuyên gia.

Trong thực tế, các nhóm mạnh sử dụng Đánh đổi tính toán lại kích hoạt sẽ tối ưu hóa các lựa chọn về kiến ​​trúc, dữ liệu và cơ sở hạ tầng so với độ tin cậy và chi phí. Họ ghi lại các tiêu chí thành công rõ ràng, kiểm tra dựa trên dữ liệu và quy trình làm việc thực tế, đồng thời lặp lại dựa trên các kiểu thất bại được quan sát thay vì chiến thắng điểm chuẩn một lần. Đây là nơi sự hiểu biết về mặt lý thuyết biến thành khả năng bền vững trên toàn bộ sản phẩm, chính sách và hoạt động.

Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm. Đồng thời, Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu lớn hơn của hệ thống. Cách tiếp cận linh hoạt nhất là kết hợp tốc độ thử nghiệm với kỷ luật quản trị: chạy thử nghiệm, thu thập bằng chứng, xuất bản nhật ký quyết định và liên tục cập nhật các biện pháp bảo vệ khi hành vi của mô hình, kỳ vọng của người dùng và các yêu cầu pháp lý phát triển.

Tác động chiến lược

Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.

Các quyết định về kiến ​​trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.

Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.

Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.

Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.

Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất. Trong quá trình triển khai chất lượng cao, điều này được chuyển thành các quy tắc vận hành, ranh giới quyền sở hữu và quy trình đánh giá định kỳ có thể đo lường được để các nhóm có thể mở rộng quy mô một cách tự tin thay vì mở rộng quy mô sự mơ hồ.

Tương lai của sự đánh đổi tính toán lại kích hoạt

Việc tính toán lại ngày càng được tự động hóa và có chọn lọc. Các khung giờ đây lập hồ sơ bộ nhớ của từng hoạt động và chi phí FLOP để chọn điểm kiểm tra tối ưu, đồng thời kết hợp tính toán lại với việc kích hoạt giảm tải cho CPU/NVMe và với các chiến lược song song. Khi độ dài bối cảnh và kích thước mô hình tiếp tục tăng, hãy mong đợi các chính sách dựa trên trình biên dịch (trong PyTorch, JAX/XLA) sẽ tự động chọn các quyết định tính toán lại theo mỗi hoạt động, cộng với sự chồng chéo chặt chẽ hơn của tính toán lại với giao tiếp để các FLOP bổ sung bị ẩn một phần.

Triển khai trong thế giới thực

Huấn luyện một máy biến áp lớn không phù hợp bằng cách kiểm tra từng khối lớp

Sử dụng torch.utils.checkpoint của PyTorch để bọc các khối biến áp và cắt bộ nhớ kích hoạt

Tính toán lại có chọn lọc sự chú ý/softmax trong Megatron-LM để tiết kiệm bộ nhớ với tốc độ chậm tối thiểu

Kích hoạt độ dài chuỗi dài hơn trên ngân sách GPU cố định bằng cách tính toán lại các kích hoạt thay vì lưu trữ chúng

Các mẫu triển khai

Kích hoạt Tính toán lại Sự đánh đổi trong thực tế

Huấn luyện một máy biến áp lớn không phù hợp bằng cách kiểm tra từng khối lớp.

Huấn luyện một máy biến áp lớn không phù hợp bằng cách chấm điểm từng khối lớp. Các nhóm thường đạt được kết quả tốt hơn khi xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp phức tạp và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Kích hoạt Tính toán lại Sự đánh đổi trong thực tế

Sử dụng torch.utils.checkpoint của PyTorch để bọc các khối biến áp và cắt bộ nhớ kích hoạt.

Sử dụng torch.utils.checkpoint của PyTorch để bọc các khối máy biến áp và cắt giảm bộ nhớ kích hoạt Các nhóm thường đạt được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Kích hoạt Tính toán lại Sự đánh đổi trong thực tế

Tính toán lại có chọn lọc sự chú ý/softmax trong Megatron-LM để tiết kiệm bộ nhớ với tốc độ chậm tối thiểu.

Tính toán lại có chọn lọc sự chú ý/softmax trong Megatron-LM để tiết kiệm bộ nhớ với mức độ chậm tối thiểu Các nhóm thường đạt được kết quả tốt hơn khi họ xác định trước các ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp phức tạp và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Kích hoạt Tính toán lại Sự đánh đổi trong thực tế

Kích hoạt độ dài chuỗi dài hơn trên ngân sách GPU cố định bằng cách tính toán lại các kích hoạt thay vì lưu trữ chúng.

Kích hoạt độ dài chuỗi dài hơn trên ngân sách GPU cố định bằng cách tính toán lại kích hoạt thay vì lưu trữ chúng Các nhóm thường nhận được kết quả tốt hơn khi họ xác định trước ngưỡng chất lượng, duy trì lộ trình leo thang của con người đối với các trường hợp khó khăn và theo dõi cả mức tăng năng suất và chi phí lỗi theo thời gian.

Rủi ro & lan can

!

Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.

!

Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.

!

Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.

Lộ trình thực hiện

1

Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.

Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

2

Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.

Điểm chuẩn trong điều kiện tải và dữ liệu thực tế. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

3

Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.

Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

4

Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.

Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô. Hãy coi mỗi bước như một cổng bằng chứng: nếu không đáp ứng được các tiêu chí, hãy tạm dừng triển khai, thu hẹp khoảng cách và chỉ sau đó mới mở rộng mức sử dụng.

Tiếp tục khám phá