본문 바로가기
IT/인공지능

[GPU] RAPIDS: 대규모 데이터 세트 분석을 위한 GPU 가속 프레임워크

by 드인 2024. 2. 27.

 

RAPIDS란?

 RAPIDS는 NVIDIA에서 제공하는 오픈 소스 소프트웨어 프레임워크로, 대규모 데이터 세트 분석을 가능하게 합니다. RAPIDS는 CUDA, cuDF, cuML, cuGraph, cuSpatial 등과 같은 여러 CUDA 가속 라이브러리를 통합하여 데이터 과학자가 대용량 데이터 세트를 더 빠르고 쉽게 처리할 수 있도록 합니다.

 RAPIDS는 Python, R, Julia 및 Scala와 같은 다양한 언어에서 사용할 수 있으며, Apache Spark, Apache Hive, Apache Pig 및 Apache HBase와 같은 다양한 데이터 스토리지 시스템에서 사용할 수 있습니다.


RAPIDS는 현재 베타 버전이며, NVIDIA에서 앞으로 몇 개월 동안 더 많은 기능을 추가할 예정입니다. 

 

 

RAPIDS 특징

RAPIDS는 데이터 사이언티스트가 다음과 같은 작업을 더 빠르게 수행할 수 있도록 도와줍니다.

  • 대규모 데이터 세트에서 통계 분석을 수행합니다.
  • 머신 러닝 모델을 훈련하고 평가합니다.
  • 그래프 분석을 수행합니다.
  • 공간 데이터를 분석합니다.
  • RAPIDS는 데이터 과학자가 대용량 데이터 세트에서 대화형 분석을 수행할 수 있는 기능을 제공함으로써, 데이터 과학자들이 더 빠르고 쉽게 비즈니스 인사이트를 얻을 수 있도록 합니다.

 

RAPIDS 활용 예시 - cuDF pandas accelerator mode

https://rapids.ai/cudf-pandas/

 

cuDF Pandas

cuDF pandas Accelerator Mode

rapids.ai

  • 사용 방법
%load_ext cudf.pandas
import pandas as pd
...

 

RAPIDS 작동 예시 - cuDF pandas accelerator mode

https://rapids.ai/cudf-pandas/

 

 cudf.pandas 활성화 후, pandas(또는 하위 모듈)을 import 하게 되면 일반적인 pandas가 아닌 cuDF 모듈을 import 하게 됩니다. cuDF 모듈에는 프록시 타입과 프록시 함수들이 포함되어 있습니다. 

  • 프록시 타입: cuDF 모듈에 있는 pandas의 타입
    • EX) cuDF 모듈에 있는 DataFrame 타입은 pandas의 DataFrame 타입을 의미
  • 프록시 함수: cuDF 모듈에 있는 pandas의 함수
    • EX) cuDF 모듈에 있는 read_csv() 함수는 pandas의 read_csv() 함수를 의미
import cudf

df = cudf.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})

 

 프록시 타입과 함수들에 대한 작업은 가능한 경우 GPU에서 실행되고, 그렇지 않은 경우 CPU에서 실행되며, 필요에 따라 내부적으로 동기화됩니다.

 cudf.pandas 객체는 주어진 시간에 GPU에서 시도됩니다(필요한 경우 CPU에서 복사합니다).

 cudf.pandas를 사용할 때, cuDF의 pandas 호환 모드가 자동으로 활성화되어 pandas과의 일관성을 보장합니다.

 

RAPIDS 성능 벤치마크 - cuDF pandas accelerator mode

https://docs.rapids.ai/api/cudf/nightly/?_gl=1*ee9k5n*_ga*MTE4NzE2NDAxNS4xNzA4NTE5ODkx*_ga_RKXFW6CM42*MTcwOTAzODIyNy4zLjEuMTcwOTAzOTEzNC41OS4wLjA.

 

RAPIDS 코드 - cuDF pandas accelerator mode

https://colab.research.google.com/drive/12tCzP94zFG2BRduACucn5Q_OcX1TUKY3#scrollTo=zhPt4Xj8THgo

 

rapids-cudf-pandas-accelerator-mode.ipynb

Colaboratory notebook

colab.research.google.com