Lewati ke konten utama
Machine Learning

NVIDIA Mengumumkan Mode Akselerator cuDF untuk pandas

Pelajari bagaimana Mode Akselerator pandas cuDF terbaru dari NVIDIA dapat mempercepat tugas manipulasi data Anda di Python. Ketahui cara memulai, manfaat yang ditawarkan, dan bagaimana fitur ini menyederhanakan penulisan kode pandas berkinerja tinggi.
Richie Cotton's photo
Richie Cotton
Diperbarui · 8 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Buat Akun Gratis Anda

Berlatih dan lacak kemajuan Anda.

Lanjutkan Dengan Google
Dengan melanjutkan, Anda menerima Ketentuan Penggunaan kami, Kebijakan Privasi kami dan bahwa data Anda disimpan di Amerika Serikat.

NVIDIA mengumumkan "Mode Akselerator pandas" untuk paket cuDF mereka, yang memungkinkan Anda menulis kode pandas berkinerja tinggi untuk manipulasi data di Python. Ini adalah langkah lain menuju mimpi menulis kode Python yang mudah dibaca manusia namun berjalan cepat, bahkan pada kumpulan data besar.

Dalam artikel ini, kami mengulas bagaimana ini dapat membantu Anda, cara memulainya, dan apa saja alternatifnya.

Masalah dengan pandas

pandas adalah paket manipulasi data paling populer untuk Python, dengan 144 juta unduhan bulan lalu. Sebagian besar popularitas pandas berasal dari kemudahan penggunaan dan rangkaian fitur yang luas untuk manipulasi data.

Sayangnya, sejarah pengembangan pandas yang panjang—pertama kali dirilis pada 2011—berarti ia hadir sebelum banyak inovasi dalam komputasi berkinerja tinggi (HPC). Ini membuat kode pandas berjalan terlalu lambat untuk bermanfaat pada kumpulan data berukuran besar.

Banyak upaya membuat pandas lebih cepat

Ada banyak upaya untuk menyelesaikan masalah ini. Tujuannya adalah agar dapat menulis kode pandas yang sama seperti yang dikenal jutaan pengguna, namun berjalan lebih cepat. Beberapa alternatif pandas berkinerja tinggi termasuk Polars, yang mempercepat dengan menulis ulang backend dalam Rust; PySpark, yang menyediakan antarmuka Python untuk platform HPC Spark; Vaex, yang menggunakan komputasi out-of-memory; dan DuckDB, yang melakukan komputasi di dalam basis data yang dioptimalkan untuk analitik.

Lihat tutorial berikut yang membahas beberapa alternatif tersebut secara lebih rinci:

Solusi NVIDIA untuk pandas yang lebih cepat

NVIDIA telah mengembangkan serangkaian alat untuk data science berkinerja tinggi bernama RAPIDS. Kotak peralatan ini mencakup cuDF, paket Python NVIDIA untuk kode pandas berkinerja tinggi. (Namanya menggabungkan CUDA, toolkit tingkat rendah NVIDIA untuk membangun aplikasi berkemampuan GPU, dan DataFrame, objek pandas untuk menyimpan data analitik. Yang terakhir menginspirasi nama podcast DataCamp DataFramed.)

Trik cuDF untuk mempercepat kode manipulasi data adalah membuat kode berjalan di GPU alih-alih CPU. Meski awalnya dirancang untuk komputasi guna menampilkan grafis, GPU sangat efektif untuk komputasi data science.

cuDF Memiliki Masalah

Walaupun cuDF sangat berhasil memungkinkan Anda menjalankan kode pandas lebih cepat, ada beberapa masalah yang menghambat adopsi luas.

Tidak semua fitur pandas didukung

Satu hambatan besar adalah cuDF hanya mengimplementasikan sekitar 60% dari API Pandas. Artinya, hanya sekitar 60% dari seluruh kemungkinan kode yang dapat Anda tulis di pandas yang bisa dijalankan di cuDF. 60% kode yang dapat dijalankan tersebut, tentu saja, adalah 60% paling umum yang ingin dijalankan kebanyakan orang. Ini berarti untuk analisis sehari-hari, kode cuDF seharusnya baik-baik saja. Namun, jika Anda ingin melakukan sesuatu yang sedikit tidak biasa, Anda akan menemui masalah dengan cuDF.

GPU diperlukan untuk pengembangan dan pengujian

cuDF hanya mendukung menjalankan kode di GPU. Ini berarti Anda memerlukan GPU saat mengembangkan kode dan saat mengujinya. Sering kali ini tidak memungkinkan jika Anda ingin menjalankan kode secara lokal di laptop, dan menjadi mahal jika Anda ingin menjalankan kode di cloud.

Berinteraksi dengan paket Python lain memerlukan pertukaran prosesor

Masalah lain adalah sebagian besar paket Python tidak berkemampuan GPU. Artinya, untuk analisis yang menggunakan paket lain—misalnya, hampir semua alur kerja machine learning—Anda harus mencari cara untuk memindahkan komputasi dari GPU ke CPU dan sebaliknya.

Solusi yang ada untuk ketiadaan GPU itu melelahkan

Kombinasi ketiga masalah ini berarti Anda harus menulis dua versi kode: satu yang akan berjalan jika GPU tersedia dan cuDF dapat menghitung semuanya, dan satu lagi untuk kondisi tanpa GPU.

Kebanyakan data scientist ingin lebih fokus mendapatkan insight dari data daripada pada detail kode semacam itu. Secara historis, hal ini membuat penggunaan cuDF menjadi bermasalah bagi banyak tugas data science.

Bagaimana Mode Akselerator pandas Meningkatkan cuDF

Solusi dari masalah-masalah ini yang ditawarkan Mode Akselerator pandas adalah Anda hanya perlu menulis satu baris kode untuk mengaktifkan dukungan GPU, lalu Anda dapat menulis kode pandas standar.

Ketika komputasi GPU didukung (tersedia GPU NVIDIA, dan cuDF mengetahui cara menjalankan kode pandas tersebut), kode Anda akan berjalan di GPU. Jika hal ini tidak memungkinkan, cuDF secara otomatis beralih untuk berjalan di CPU. Anda tidak perlu menulis dua versi kode, dan tidak perlu menangani perpindahan antara GPU dan CPU secara manual.

Apakah Mode Akselerator pandas Lebih Cepat daripada Alternatifnya?

Database benchmark results - From NVIDIA

Hak cipta gambar milik NVIDIA.

NVIDIA menguji Mode Akselerator pandas dibandingkan alat manipulasi data Python berkinerja tinggi lainnya pada benchmark DuckDB Database-like ops. Kumpulan tantangan manipulasi data ini mengukur seberapa baik suatu teknologi melakukan tugas seperti menyediakan statistik ringkasan terkelompok dan join tabel pada kumpulan data besar.

Menurut NVIDIA, Mode Akselerator pandas (ditandai xdf pada gambar) menempati peringkat pertama dalam benchmark. Ini patut dicatat karena versi standar cuDF saat ini gagal pada uji join karena tidak dapat melakukan semua operasi yang diperlukan di GPU. (Anda perlu menggabungkan cuDF dengan alat lain agar semuanya berjalan.)

Satu hal yang perlu dicatat adalah NVIDIA menguji ini pada GPU kelas atas NVIDIA A100 80GB, dan CPU yang digunakan tidak disebutkan. Kinerja Anda akan bervariasi tergantung pada konfigurasi perangkat keras, kumpulan data, dan perhitungan yang ingin Anda lakukan.

Bagaimana cara saya menggunakan Mode Akselerator pandas?

Mari lihat bagaimana Anda dapat mulai menggunakan Mode Akselerator di pandas:

Cara memasang cuDF terbaru

Versi terbaru cuDF, yang menyertakan Mode Akselerator pandas, bernama cudf-cu11. Paket ini tersedia melalui pemasangan pip standar, dengan catatan bahwa saat ini Anda harus mengunduhnya dari repositori PyPi NVIDIA.

Jalankan kode ini untuk memasang paketnya.

pip install cudf-cu11 index-url=https://pypi.nvidia.com

Jika Anda menjalankan di dalam notebook Juypter, tambahkan tanda seru di awal kodenya

!pip install cudf-cu11 index-url=https://pypi.nvidia.com

Mengaktifkan Mode Akselerator pandas di Jupyter notebook

Untuk mengaktifkan Mode Akselerator pandas di Jupyter notebook, tambahkan baris kode berikut pada sel di dekat awal notebook Anda.

%load_ext cudf.pandas

Mengaktifkan Mode Akselerator pandas dari terminal

Untuk mengaktifkan Mode Akselerator pandas dari terminal, ganti perintah standar untuk menjalankan skrip Python

python script.py

with 

python -m cudf.pandas script.py

Apa lagi yang perlu saya lakukan?

Cukup aktifkan GPU, lalu tulis dan jalankan kode pandas Anda seperti biasa.

Bisakah Saya Memprofil Kode Mode Akselerator pandas?

  • Di dalam notebook, tambahkan %%cudf.pandas.profile pada sel yang ingin Anda profilkan.

  • Anda akan mendapatkan statistik (berdasarkan pemanggilan fungsi atau baris demi baris) tentang jumlah pemanggilan GPU dan CPU + waktu yang dihabiskan pada masing-masing PU.

Jika Anda menggunakan cuDF, kemungkinan besar waktu eksekusi kode penting bagi Anda. Untuk mengoptimalkannya, Anda perlu dapat mengukurnya. Teknik untuk mengukur waktu yang dibutuhkan kode untuk berjalan disebut profiling. Mode Akselerator pandas menyediakan alat profiling untuk kode yang dijalankan di Jupyter notebook.

Untuk memprofilkan kode dalam sebuah sel, tambahkan baris berikut di awal sel tersebut.

%%cudf.pandas.profile

Saat Anda menjalankan kodenya, Anda akan mendapatkan statistik, baik berdasarkan pemanggilan fungsi maupun baris demi baris, tentang berapa banyak waktu yang dihabiskan untuk komputasi di GPU dan di CPU.

Apakah Semua Kode pandas Didukung?

Pada saat pengumuman, semua kode pandas didukung dengan dua pengecualian: DataFrame pandas 2.0 yang dibangun di atas Apache Arrow belum didukung, meski dukungannya sedang dikembangkan. Kedua, kode pandas terkompilasi yang dihasilkan oleh Numba atau Cython belum sepenuhnya didukung.

Dalam kedua kasus tersebut, kode yang tidak didukung oleh cuDF akan berjalan di CPU.

Terus Belajar

Jika Anda tertarik bagaimana data scientist menggunakan cuDF, dengarkan episode DataFramed ini: Menjadi Kaggle Grandmaster bersama Jean-Francois Puget, Distinguished Engineer di NVIDIA dan Kaggle Grandmaster.

Anda dapat mempelajari cara bekerja dengan big data di Python menggunakan PySpark dalam jalur keterampilan Big Data dengan PySpark.

Terakhir, pastikan untuk mengikuti perkembangan terbaru dari NVIDIA, yang mengumumkan Akselerasi GPU di scikit-learn, UMAP, dan HDBSCAN. Baca dan pelajari cara membuat pustaka machine learning Python Anda berjalan di GPU. 


Richie Cotton's photo
Author
Richie Cotton
LinkedIn

Richie membantu individu dan organisasi menjadi lebih mahir menggunakan data dan AI. Ia telah menjadi data scientist bahkan sebelum istilah data science populer, dan telah menulis dua buku serta membuat banyak kursus DataCamp tentang topik tersebut. Ia menjadi pembawa acara podcast DataFramed dan menjalankan program webinar DataCamp.

Mengobrol dengan AI Richie tentang setiap episode DataFramed - semua jawara data dipersilakan!

Topik
Machine Learning

Mulai Perjalanan pandas Anda Hari Ini!

Kursus

Manipulasi Data dengan pandas

4 jam
567.8K
Pelajari cara mengimpor dan membersihkan data, menghitung statistik, serta membuat visualisasi dengan pandas.
Lihat DetailMulai Kursus

Buat Akun Gratis Anda

Berlatih dan lacak kemajuan Anda.

Lanjutkan Dengan Google
Dengan melanjutkan, Anda menerima Ketentuan Penggunaan kami, Kebijakan Privasi kami dan bahwa data Anda disimpan di Amerika Serikat.
Lihat Selengkapnya
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat Selengkapnya