Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Bagian ini mencakup informasi tentang memuat data pada komputasi GPU tanpa server untuk khusus untuk aplikasi ML dan DL. Periksa tutorial untuk mempelajari selengkapnya tentang cara memuat dan mengubah data menggunakan Spark Python API.
Memuat data tabular
Gunakan Spark Connect untuk memuat data pembelajaran mesin tabular dari tabel Delta.
Untuk pelatihan simpul tunggal, Anda dapat mengonversi Apache Spark DataFrames menjadi pandas DataFrames menggunakan metode toPandas(), lalu secara opsional mengonversi ke format NumPy menggunakan metode to_numpy().
Nota
Spark Connect menunda analisis dan resolusi nama ke waktu eksekusi, yang dapat mengubah perilaku kode Anda. Lihat Membandingkan Spark Connect dengan Spark Classic.
Spark Connect mendukung sebagian besar API PySpark, termasuk Spark SQL, Pandas API di Spark, Structured Streaming, dan MLlib (berbasis DataFrame). Lihat dokumentasi referensi API PySpark untuk API terbaru yang didukung.
Untuk batasan lain, lihat Batasan komputasi tanpa server.
Memuat data dalam dekorator @distributed
Saat menggunakan API GPU Tanpa Server untuk pelatihan terdistribusi, pindahkan kode pemuatan data di dalam dekorator @distributed . Ukuran himpunan data dapat melebihi ukuran maksimum yang diizinkan oleh pickle, sehingga disarankan untuk membuat himpunan data di dalam dekorator, seperti yang ditunjukkan di bawah ini:
from serverless_gpu import distributed
# this may cause pickle error
dataset = get_dataset(file_path)
@distributed(gpus=8, remote=True)
def run_train():
# good practice
dataset = get_dataset(file_path)
....
Performa pemuatan data
/Workspace dan /Volumes direktori dihosting pada penyimpanan Katalog Unity jarak jauh. Jika himpunan data Anda disimpan di Unity Catalog, kecepatan pemuatan data dibatasi oleh bandwidth jaringan yang tersedia. Jika Anda melakukan pelatihan selama beberapa epoch, disarankan untuk terlebih dahulu menyalin data ke lokasi lokal, khususnya ke /tmp direktori pada penyimpanan super cepat (disk NVMe SSD).
Jika himpunan data Anda besar, kami juga merekomendasikan teknik berikut untuk menyejajarkan pelatihan dan pemuatan data:
- Saat melatih beberapa epoch, perbarui himpunan data Anda secara lokal ke file cache di direktori
/tmpsebelum membaca setiap file. Pada epoch berikutnya, gunakan versi cache. - Paralelisasi pengambilan data dengan mengaktifkan pekerja di API Torch DataLoader . Atur
num_workerske setidaknya 2. Secara default, setiap pekerja memuat terlebih dahulu dua item kerja. Untuk meningkatkan performa, tingkatkannum_workers(yang akan meningkatkan pembacaan paralel) atauprefetch_factor(yang akan meningkatkan jumlah item yang di-prefetch oleh setiap pekerja).