오늘 Polars는 데이터 과학자들이 단일 머신에서 수억 행의 데이터를 단 몇 초 만에 처리할 수 있도록 NVIDIA GPU에서 Polars 워크플로우를 최대 13배까지 가속화하는 RAPIDS cuDF 기반의 새로운 GPU 엔진을 출시했습니다.
급증하는 데이터 과제
보편적으로 사용되는 데이터 처리 라이브러리인 pandas는 단일 스레드로 구성되어 있기 때문에 현실적으로 수백만 행 이상의 데이터를 처리할 수 없습니다. 반면, 분산 데이터 처리 시스템은 수십억 개의 행을 처리할 수 있지만 중간 규모 데이터 세트를 처리는 복잡성과 오버헤드가 증가합니다.
이 두 범위 사이의 수천만에서 수억 행에 이르는 데이터를 효율적으로 처리할 수 있는 도구는 부족했습니다. 이러한 데이터 처리는 금융, 소매, 제조와 같은 산업에서 모델 개발, 수요 예측, 물류 관리 등 다양한 분야에 흔히 활용됩니다.
Polars는 데이터 과학자와 엔지니어를 위해 가장 빠르게 성장하고 있는 Python 라이브러리 중 하나로, 위 문제를 해결하기 위해 설계되었습니다. 고급 쿼리 최적화를 통해 불필요한 데이터 이동과 처리를 줄이기 때문에 데이터 과학자들이 단일 머신에서 수억 행 규모의 워크로드를 원활하게 처리할 수 있습니다. Polars는 단일 스레드 솔루션의 ‘느린 처리 속도’ 문제와 분산 시스템의 ‘불필요한 복잡성 증가’ 문제를 해결하여 매력적인 중간 규모 데이터 처리 솔루션을 제공합니다.
Polars에 NVIDIA 가속 컴퓨팅 제공
Polars는 멀티스레드 구현, 고급 메모리 최적화 및 지연 평가를 활용하여 다른 CPU 전용 데이터 조작 도구 대비 탁월한 가속 성능을 제공합니다.
하지만 수십억 건의 금융 거래 분석부터 복잡한 재고 시스템 관리에 이르기까지 다양한 산업 분야의 조직에서 데이터 처리 수요가 증가함에 따라 더 높은 성능이 요구됩니다. 바로 이때 가속화된 컴퓨팅 해결책이 될 수 있습니다:
cuDF는 CUDA-X 라이브러리인 NVIDIA RAPIDS 제품군의 일부입니다. GPU 가속 데이터프레임 라이브러리로, GPU의 대규모 병렬 처리 능력을 활용하여 데이터 처리 성능을 크게 향상시킵니다.
Polars 팀은 NVIDIA와 협력하여 Polars의 효율성에 cuDF의 속도를 추가하여 CPU 기반 Polars에 비해 최대 13배까지 성능을 향상시켰습니다. 이를 통해 사용자는 데이터 처리 워크로드가 수억, 수십억 행의 데이터로 증가하더라도 원활한 인터랙티브 환경을 유지할 수 있습니다.

PDS-H 벤치마크 스케일 팩터 80 | GPU: NVIDIA H100 | CPU: Intel Xeon W9-3495X(Sapphire Rapids) | 스토리지: 로컬 NVMe. 참고: PDS-H는 TPC-H에서 파생되었지만 이 결과는 TPC-H 결과와 비교할 수 없습니다.
Polars Lazy API에 직접 내장되어 있어, 사용자는 pip를 통해 polars[gpu]를 설치하고 수집 작업에 [engine=“gpu”]
를 전달하기만 하면 워크플로우를 위한 GPU 가속에 액세스할 수 있습니다. 내부적으로 PoIars는 GPU에서 작업을 먼저 실행하고 필요한 경우 CPU로 되돌아갑니다. 이 접근 방식은 다음을 보장합니다:
- Polars의 쿼리 최적화 도구를 사용하여 효율적인 실행 및 메모리 사용 최소화
- 사용자는 기존 Polars 코드를 전혀 변경하지 않고도 GPU 엔진에 액세스 가능
- 데이터 시각화, I/O, 머신 러닝 라이브러리로 구성된 Polars의 확장되는 에코시스템과 완벽한 호환성 제공
pip install polars[gpu] --extra-index-url=https://pypi.nvidia.com
import polars as pl
(transactions
.group_by("CUST_ID")
.agg(pl.col("AMOUNT").sum())
.sort(by="AMOUNT", descending=True)
.head()
.collect(engine="gpu"))
결론
이제 모든 업계의 데이터 과학자와 엔지니어에게 중간 규모 데이터 처리를 위한 강력한 도구를 제공하는 RAPIDS cuDF 기반 Polars GPU 엔진이 오픈 베타 버전으로 제공됩니다. 이 엔진은 분산 시스템의 오버헤드 없이도 수억 행의 데이터 세트를 효율적으로 처리할 수 있도록 NVIDIA GPU에서 Polars 워크플로우를 최대 13배까지 가속화합니다. Polars GPU 엔진은 Polars API에 직접 내장되어 있어 모든 사용자가 쉽게 액세스할 수 있습니다.
Polars GPU 엔진 시작하기
다음 리소스를 확인하여 Polars GPU 엔진에 대해 자세히 알아보고 시작하세요:
- GitHub 및 Colab에서 제공되는 입문용 노트북
- Polars 출시 블로그
- Polars 사용자 가이드
관련 리소스
- DLI 과정: RAPIDS cuDF로 데이터프레임 운영 속도 높이기
- GTC 세션: RAPIDS cuDF를 사용하여 코드 변경 없이 pandas 가속화하기
- NGC 컨테이너: rapidsai / rapidsai-core
- NGC 컨테이너: NVIDIA RAPIDS PB 2023년 10월(PB 23h2)
- NGC 컨테이너: rapidsai/rapidsai
- SDK: RAPIDS