資料探索是資料科學的關鍵要素之一。要為機器學習準備資料集,就要瞭解資料集、清理和操控資料類型與格式,並為學習演算法擷取特徵。這類工作都被歸類在 ETL 的範圍之下。ETL 通常是一個迭代的探索性過程。隨著資料集的增加,此過程在 CPU 上運作的互動力便會下降。
過去幾年來,GPU 一直是深度學習 (DL) 發展的原動力,而 ETL 及傳統機器學習工作負載則繼續以 Python 編寫,且通常搭配 Scikit-Learn 等單一執行緒工具或 Spark 等大型多 CPU 分散式解決方案。
RAPIDS 是一套開放原始碼軟體函式庫與 API,專為完全於 GPU 上執行的端對端資料科學與分析流程而設計,且可在典型端對端資料科學工作流程中實現 50 倍以上的加速比。RAPIDS 加速了包括資料載入在內的整個資料科學流程,實現更具生產力、互動性與探索性的工作流程。
RAPIDS 以 GPU 運算架構與軟體平台 NVIDIA® CUDA® 為基礎,透過易於使用的 API,展現 GPU 平行運算技術與高頻寬記憶體速度。RAPIDS 著重分析與資料科學的常見資料準備工作,透過熟悉的 DataFrame API 提供強大的 GPU DataFrame,並與 ApacheArrow 資料結構相容。
Apache Arrow 制定了標準化、跨語言並針對資料區域最佳化的欄式記憶體格式,加快現代 CPU 或 GPU 的分析處理效能,同時在無需序列化額外負荷的情況下,提供零複製串流訊息與程序間的通訊。
DataFrame API 能在不產生典型序列化與還原序列化成本的情況下,與各種機器學習演算法整合,進而實現端對端流程加速。
藉由隱藏低階 CUDA 程式設計的複雜性,RAPIDS 打造出執行資料科學工作的簡易之道。由於有更多資料科學家使用 Python 和其他高階語言,因此對於快速改善開發時間來說,少量甚至無需修改程式碼即可加速這一點非常重要。