MarkTechPost
85

Thủ thuật

Hướng dẫn toàn diện: Xây dựng quy trình Machine Learning với NVIDIA cuML và RAPIDS

(giờ Việt Nam)

Tóm tắt AI

Bài viết hướng dẫn chi tiết cách tận dụng sức mạnh GPU thông qua NVIDIA cuML và RAPIDS để tối ưu hóa toàn bộ quy trình học máy, từ phân cụm, giải thích mô hình đến suy luận.

Bản dịch AI

Implementation of Machine Learning Workflows with NVIDIA cuML, RAPIDS, GPU Benchmarking, Explainability, Clustering, and Model Inference

Trong bài hướng dẫn này, chúng tôi triển khai NVIDIA cuML như một framework học máy tăng tốc bằng GPU và xây dựng một quy trình làm việc thực tế để minh họa cách RAPIDS có thể tăng tốc các tác vụ khoa học dữ liệu và học máy quen thuộc. Chúng ta bắt đầu bằng việc cấu hình môi trường GPU và kiểm tra cuml.accel, cho phép tăng tốc các khối lượng công việc scikit-learn hiện có với thay đổi mã nguồn tối thiểu, trước khi chuyển sang API cuML gốc để tương tác trực tiếp với CuPy và cuDF. Sau đó, chúng ta thực hiện benchmark các triển khai trên CPU và GPU của PCA, K-Means, tìm kiếm láng giềng gần nhất (nearest-neighbor search), hồi quy logistic, rừng ngẫu nhiên (random forests) và DBSCAN, đồng thời sử dụng tính năng đo thời gian đồng bộ để thu được các phép đo hiệu năng có ý nghĩa. Chúng ta cũng xây dựng các quy trình học đa tạp (manifold-learning) và phân cụm dựa trên GPU với UMAP, t-SNE, HDBSCAN và các chỉ số độ tin cậy (trustworthiness metrics); khám phá khả năng suy luận rừng (forest inference) thông lượng cao với FIL; xác thực các giải thích SHAP được tạo bởi GPU; thực hiện tối ưu hóa siêu tham số với các meta-estimator của scikit-learn; và cuối cùng là serialize các mô hình đã huấn luyện trong khi kiểm tra khả năng di chuyển giữa các môi trường GPU và CPU.

Chúng tôi cấu hình môi trường hướng dẫn, xác định kích thước tập dữ liệu và các tiện ích benchmark, đồng thời xác minh rằng GPU NVIDIA đã sẵn sàng. Chúng tôi cài đặt và khởi tạo RAPIDS cuML khi cần thiết, thiết lập các kiểm soát về CuPy và tính tái lập, đồng thời tạo các trình hỗ trợ đo thời gian đồng bộ và theo dõi kết quả. Chúng tôi cũng minh họa cuml.accel bằng cách chạy một khối lượng công việc scikit-learn chưa sửa đổi và so sánh việc thực thi trên CPU với thực thi tăng tốc bằng GPU.

Chúng tôi làm việc trực tiếp với API cuML gốc và khám phá cách dữ liệu nằm trên GPU di chuyển giữa các thành phần CuPy, cuDF và cuML. Chúng tôi kiểm tra các con trỏ thiết bị (device pointers) để hiểu về khả năng tương tác không sao chép (zero-copy) và sử dụng các điều khiển kiểu đầu ra của cuML để quản lý việc kết quả vẫn nằm trên GPU hay trả về dưới dạng mảng NumPy. Chúng tôi cũng thực hiện phân tách train-test trên GPU để dữ liệu luôn nằm trên thiết bị trong suốt quy trình làm việc.

Chúng tôi benchmark các triển khai scikit-learn và cuML của PCA, K-Means, láng giềng gần nhất, hồi quy logistic, rừng ngẫu nhiên và DBSCAN. Chúng tôi tạo các tập dữ liệu trên GPU, đồng bộ hóa các thao tác CUDA để đảm bảo tính công bằng về thời gian và ghi lại tốc độ tăng tốc mà mỗi thuật toán đạt được. Chúng tôi cũng so sánh hành vi của mô hình và giữ lại rừng ngẫu nhiên cuML đã huấn luyện để có thể tái sử dụng sau này trong bài hướng dẫn.

Chúng tôi xây dựng một quy trình GPU học không giám sát sử dụng UMAP và t-SNE để giảm dữ liệu đa chiều thành các embedding hai chiều. Chúng tôi đánh giá các cấu hình UMAP bằng chỉ số độ tin cậy, chọn embedding mạnh nhất và áp dụng HDBSCAN để xác định các cụm và điểm nhiễu. Sau đó, chúng tôi trực quan hóa các embedding thu được và so sánh cấu trúc của chúng bằng cách sử dụng các nhãn cụm thực tế (ground-truth) đã biết.

Chúng tôi tập trung vào việc tăng tốc suy luận cho các mô hình dựa trên cây sau khi huấn luyện. Chúng tôi huấn luyện một rừng ngẫu nhiên scikit-learn trên CPU, tải nó vào thư viện Forest Inference Library của cuML khi được hỗ trợ và tối ưu hóa cấu hình suy luận cho kích thước batch GPU hiện tại. Chúng tôi so sánh thời gian dự đoán trên CPU và GPU, đồng thời xác thực rằng các xác suất dự đoán vẫn nhất quán về mặt số học.

Chúng tôi sử dụng trình giải thích hoán vị (permutation explainer) dựa trên GPU của cuML để tính toán các giá trị SHAP cho mô hình hồi quy Ridge và xác thực các giải thích đó so với giải pháp tuyến tính phân tích. Chúng tôi kiểm tra tính cộng của SHAP và trực quan hóa tầm quan trọng của các đặc trưng để xác nhận rằng các thuộc tính được tính toán hoạt động như mong đợi. Chúng tôi cũng kết hợp các estimator của cuML với RandomizedSearchCV của scikit-learn để thực hiện tối ưu hóa siêu tham số có kiểm chứng chéo (cross-validated) trong khi huấn luyện mô hình trên GPU.

Chúng tôi serialize một rừng ngẫu nhiên cuML đã huấn luyện bằng pickle, khôi phục nó và xác minh rằng các dự đoán vẫn không thay đổi sau quá trình này. Chúng tôi tổng hợp các kết quả thời gian trên CPU và GPU thu thập được trong suốt bài hướng dẫn và trực quan hóa tốc độ tăng tốc thu được trên biểu đồ logarit. Cuối cùng, chúng tôi chạy tuần tự từng phần của bài hướng dẫn, in ra các bài học thực tế tích lũy được và báo cáo tổng thời gian chạy của toàn bộ quy trình.

Tóm lại, chúng tôi đã triển khai sự hiểu biết toàn diện về cách NVIDIA cuML tích hợp khả năng tăng tốc GPU vào cả các quy trình scikit-learn hiện có và các quy trình học máy hoàn toàn trên GPU. Chúng tôi đã so sánh hiệu năng tính toán trên một số thuật toán cốt lõi, quản lý dữ liệu trên thiết bị một cách hiệu quả với CuPy và cuDF, đánh giá các biểu diễn học không giám sát và chất lượng phân cụm, tăng tốc suy luận mô hình cây và tạo các giải thích SHAP có thể diễn giải trực tiếp trên GPU. Chúng tôi cũng cho thấy rằng các tiện ích scikit-learn quen thuộc như RandomizedSearchCV có thể hoạt động cùng với các estimator của cuML, bảo toàn các mô hình phát triển học máy đã thiết lập trong khi vẫn hưởng lợi từ việc thực thi trên GPU.

Xem các MÃ NGUỒN ĐẦY ĐỦ tại đây. Ngoài ra, hãy thoải mái theo dõi chúng tôi trên Twitter và đừng quên tham gia SubReddit 150k+ ML của chúng tôi và Đăng ký Bản tin của chúng tôi. Khoan đã! bạn có dùng telegram không? giờ đây bạn cũng có thể tham gia cùng chúng tôi trên telegram.

Bạn cần hợp tác với chúng tôi để quảng bá GitHub Repo HOẶC Trang Hugging Face HOẶC Bản phát hành sản phẩm HOẶC Hội thảo trực tuyến, v.v.? Hãy kết nối với chúng tôi.

NVIDIARAPIDSMachine LearningGPUKhoa học dữ liệu
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ MarkTechPost. Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.