Waterwave - giải pháp cho “cơn khát” bộ nhớ GPU của AI
24/07/2023 13
Một trong những điều mà AI đang tạo nên cơn sốt đó là khả năng phân tích các tập dữ liệu khổng lồ. Tuy nhiên, việc đào tạo các chương trình AI này ngày càng trở nên chuyên sâu về mặt tính toán, nhấn mạnh nhu cầu về những cách hiệu quả hơn để xử lý dữ liệu…
Trong một nghiên cứu được công bố mới đây của các nhà khoa học ở Trường Khoa học và Công nghệ Máy tính của Đại học Khoa học và Công nghệ Huazhong đã mô tả một phương pháp mới, được gọi là Waterwave, để tăng hiệu quả đào tạo nhiều mô hình AI đồng thời và hiệu quả trên cùng một GPU. Kết quả của họ cho thấy rằng, trong các tình huống có nhu cầu bộ nhớ cao, Waterwave nhanh gấp 12 lần so với không gian hiện có trên GPU và nhanh gấp 1,49 lần so với bộ nhớ tạm thời hiện có.
Khi một mô hình AI ban đầu cần đào tạo, một số phép tính và phương pháp nhất định sẽ được sử dụng để tìm ra các mô hình tối ưu cho phân tích dữ liệu. Bằng cách này, các mô hình phân tích “tốt” hoặc “xấu” được xác định để đẩy nhanh đáng kể quá trình đào tạo tổng thể.
Tuy nhiên, rất tiếc, hầu hết các phương pháp hiện tại để đào tạo các mô hình AI sử dụng GPU đều phải đánh giá từng mô hình một thay vì đồng thời do hạn chế về bộ nhớ. Kết quả là mỗi nhiệm vụ đào tạo phải được xếp hàng lần lượt, với khả năng mô hình mong muốn nằm ở cuối hàng đợi.
Cách tiếp cận chia quá trình đào tạo AI thành các "mô hình phụ" có thể quản lý được
Tiến sĩ Xuan Peng - Trường Khoa học và Công nghệ Máy tính của Đại học Khoa học và Công nghệ Huazhong giải thích. Trong trường hợp xấu nhất, tất cả các nhiệm vụ đào tạo cần phải được hoàn thành từng cái một, điều này rất tốn thời gian.
Nhóm của Tiến sĩ Xuan Peng đã thiết kế Waterwave để nó chia nhỏ các mô hình thành các “mô hình phụ” có kích thước đồng đều và dễ quản lý hơn. Nhiều mô hình con từ các mô hình khác nhau có thể được xử lý đồng thời trên cùng một GPU và ngay sau khi GPU tính toán xong một mô hình con, không gian bộ nhớ sẽ được giải phóng cho mô hình con tiếp theo trong hàng đợi.
“Bằng cách đạt được các kích thước bộ nhớ tương tự, nó sẽ tăng khả năng bộ nhớ được giải phóng từ mô hình phụ trước đó đủ cho mô hình phụ tiếp theo yêu cầu cấp phát bộ nhớ. Cách tiếp cận này cho phép bộ nhớ được giải phóng bởi một mô hình được sử dụng hiệu quả bởi một mô hình khác”, TS. Xuan Peng nói.
Nhóm nghiên cứu đã thử nghiệm Waterwave bằng cách sử dụng một số mạng thần kinh phổ biến được sử dụng cho các ứng dụng xử lý ngôn ngữ tự nhiên và thị giác máy tính. Cũng như, so sánh nó với một phương pháp tiếp cận luồng bộ nhớ khác do NVIDIA phát triển, được gọi là Dịch vụ đa quy trình (MPS), đồng thời đánh giá nhiều mô hình trên một GPU. Kết quả cho thấy, về tổng thể, Waterwave thể hiện hiệu quả chia sẻ bộ nhớ tuyệt vời khi hỗ trợ nhiều tác vụ đào tạo, sử dụng 76,4% đến 96,8% bộ nhớ GPU cho mỗi tác vụ.
Khi so sánh Waterwave và MPS, các nhà nghiên cứu phát hiện ra rằng MPS vượt trội hơn Waterwave một chút khi bộ nhớ GPU không đăng ký quá mức các tác vụ điện toán. Tuy nhiên, MPS bị suy giảm hiệu suất đáng kể (hơn 90 phần trăm) khi bộ nhớ GPU được đăng ký vượt mức và mức độ suy giảm này không xảy ra ở mức độ tương tự với Waterwave.
Tuy nhiên, TS. Xuan Peng cũng đưa ra một vài lưu ý khi sử dụng phương pháp Waterwave. Đó là, nếu một tác vụ điện toán bị lỗi, điều này sẽ khiến các tác vụ điện toán khác bị lỗi đồng thời. Ngoài ra, đối với các kiểu máy có nhu cầu tính toán GPU cao, cải thiện hiệu suất đạt được bằng cách chạy các tác vụ song song là không đáng kể.
“Do đó, mục tiêu nghiên cứu tiếp theo của chúng tôi tập trung vào việc tối ưu hóa tính song song của mô hình để đạt được chất lượng đào tạo cao hơn”, TS. Xuan Peng chia sẻ thêm.
Nhật Linh (CESTI) - Theo IEEE Spectrum