Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda

Amazon SageMaker adalah layanan terkelola yang memudahkan pembuatan, pelatihan, dan penerapan model pembelajaran mesin (ML). Ilmuwan data menggunakan tugas pelatihan SageMaker untuk melatih model ML dengan mudah; Anda tidak perlu khawatir tentang pengelolaan sumber daya komputasi, dan Anda hanya membayar untuk waktu pelatihan yang sebenarnya. Penyerapan data merupakan bagian integral dari jalur pelatihan apa pun, dan tugas pelatihan SageMaker mendukung berbagai penyimpanan data dan mode input agar sesuai dengan berbagai beban kerja pelatihan.

Postingan ini membantu Anda memilih sumber data terbaik untuk kasus penggunaan pelatihan SageMaker ML Anda. Kami memperkenalkan opsi sumber data yang didukung oleh pekerjaan pelatihan SageMaker secara asli. Untuk setiap sumber data dan mode input, kami menguraikan kemudahan penggunaan, karakteristik kinerja, biaya, dan batasannya. Untuk membantu Anda memulai dengan cepat, kami menyediakan diagram dengan contoh alur keputusan yang dapat Anda ikuti berdasarkan karakteristik beban kerja utama Anda. Terakhir, kami melakukan beberapa tolok ukur untuk skenario pelatihan yang realistis untuk menunjukkan implikasi praktis pada keseluruhan biaya dan kinerja pelatihan.

Sumber data asli SageMaker dan mode input

Membaca data pelatihan dengan mudah dan fleksibel dengan cara yang berkinerja baik adalah masalah umum yang sering terjadi pada pelatihan ML. SageMaker menyederhanakan penyerapan data dengan pilihan mekanisme penyerapan data throughput tinggi yang efisien yang disebut sumber data dan mode inputnya masing-masing. Hal ini memungkinkan Anda untuk memisahkan kode pelatihan dari sumber data aktual, secara otomatis memasang sistem file, membaca dengan kinerja tinggi, dengan mudah mengaktifkan pemisahan data antara GPU dan instans untuk mengaktifkan paralelisme data, dan mengacak data secara otomatis di awal setiap zaman.

Mekanisme penyerapan pelatihan SageMaker terintegrasi secara bawaan dengan tiga layanan penyimpanan terkelola AWS:

  • Layanan Penyimpanan Sederhana Amazon (Amazon S3) adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan di industri.
  • Amazon FSx untuk Lustre adalah penyimpanan bersama yang dikelola sepenuhnya dengan skalabilitas dan kinerja sistem file Lustre yang populer. Biasanya ditautkan ke bucket S3 yang ada.
  • Sistem File Amazon Elastis (Amazon EFS) adalah sistem file bersama tujuan umum, skalabel, dan sangat tersedia dengan beberapa tingkatan harga. Amazon EFS tanpa server dan secara otomatis bertambah dan menyusut saat Anda menambahkan dan menghapus file.

Pelatihan SageMaker memungkinkan skrip pelatihan Anda mengakses kumpulan data yang disimpan di Amazon S3, FSx for Lustre, atau Amazon EFS, seolah-olah tersedia di sistem file lokal (melalui antarmuka sistem file yang sesuai dengan POSIX).

Dengan Amazon S3 sebagai sumber data, Anda dapat memilih antara mode File, mode FastFile, dan mode Pipe:

  • Mode file โ€“ SageMaker menyalin set data dari Amazon S3 ke penyimpanan instans ML, yang merupakan lampiran Toko Blok Elastis Amazon (Amazon EBS) atau volume NVMe SSD, sebelum skrip pelatihan Anda dimulai.
  • Mode File Cepat โ€“ SageMaker memperlihatkan set data yang berada di Amazon S3 sebagai sistem file POSIX pada instans pelatihan. File kumpulan data dialirkan dari Amazon S3 sesuai permintaan saat skrip pelatihan Anda membacanya.
  • Mode pipa โ€“ SageMaker mengalirkan set data yang berada di Amazon S3 ke instans pelatihan ML sebagai pipa Unix, yang mengalir dari Amazon S3 sesuai permintaan saat skrip pelatihan Anda membaca data dari pipa.

Dengan FSx for Luster atau Amazon EFS sebagai sumber data, SageMaker memasang sistem file sebelum skrip pelatihan Anda dimulai.

Saluran masukan pelatihan

Saat meluncurkan tugas pelatihan SageMaker, Anda dapat menentukan hingga 20 terkelola saluran masukan pelatihan. Anda dapat menganggap saluran sebagai unit abstraksi untuk memberi tahu pekerjaan pelatihan bagaimana dan di mana mendapatkan data yang tersedia untuk kode algoritme untuk dibaca dari jalur sistem file (misalnya, /opt/ml/input/data/input-channel-name) pada instans ML. Saluran pelatihan yang dipilih ditangkap sebagai bagian dari metadata tugas pelatihan untuk memungkinkan pelacakan garis keturunan model lengkap untuk kasus penggunaan seperti reproduktifitas tugas pelatihan atau tujuan tata kelola model.

Untuk menggunakan Amazon S3 sebagai sumber data Anda, Anda menentukan a PelatihanInput untuk menentukan hal-hal berikut:

  • Mode input Anda (Mode File, FastFile, atau Pipe)
  • Distribusi dan menyeret konfigurasi
  • An S3DataType sebagai salah satu dari tiga metode untuk menentukan objek di Amazon S3 yang membentuk kumpulan data Anda:

Atau, untuk FSx for Lustre atau Amazon EFS, Anda menentukan a FileSistemInput.

Diagram berikut menunjukkan lima tugas pelatihan, masing-masing dikonfigurasi dengan sumber data dan kombinasi mode input yang berbeda:

Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Sumber data dan mode input

Bagian berikut memberikan penjelasan mendalam tentang perbedaan antara Amazon S3 (mode File, mode FastFile, dan mode Pipe), FSx for Lustre, dan Amazon EFS sebagai mekanisme penyerapan SageMaker.

Mode File Amazon S3

Mode file adalah mode input default (jika Anda tidak secara eksplisit menentukannya), dan ini lebih mudah digunakan. Saat Anda menggunakan opsi input ini, SageMaker mengunduh kumpulan data dari Amazon S3 ke penyimpanan instans pelatihan ML (Amazon EBS atau NVMe lokal bergantung pada jenis instans) atas nama Anda sebelum meluncurkan pelatihan model, sehingga skrip pelatihan dapat membaca kumpulan data dari sistem file lokal. Dalam hal ini, instance harus memiliki ruang penyimpanan yang cukup agar sesuai dengan seluruh kumpulan data.

Anda mengonfigurasi kumpulan data untuk mode File dengan menyediakan awalan S3, file manifes, atau file manifes yang ditambah.

Anda harus menggunakan awalan S3 ketika semua file kumpulan data Anda berada dalam awalan S3 yang umum (subfolder boleh saja).

File manifes mencantumkan file yang terdiri dari kumpulan data Anda. Anda biasanya menggunakan manifes saat pekerjaan prapemrosesan data mengeluarkan file manifes, atau saat file kumpulan data Anda tersebar di beberapa awalan S3. Manifes yang ditambah adalah file baris JSON, di mana setiap baris berisi daftar atribut, seperti referensi ke file di Amazon S3, di samping atribut tambahan, sebagian besar label. Kasus penggunaannya mirip dengan manifes.

Mode file kompatibel dengan Mode lokal SageMaker (memulai wadah pelatihan SageMaker secara interaktif dalam hitungan detik). Untuk pelatihan terdistribusi, Anda dapat melakukan sharding dataset ke beberapa instance dengan ShardedByS3Key .

Kecepatan pengunduhan mode file bergantung pada ukuran kumpulan data, ukuran file rata-rata, dan jumlah file. Misalnya, semakin besar kumpulan data (atau semakin banyak file yang dimilikinya), semakin lama tahap pengunduhan, selama sumber daya komputasi instans tetap menganggur secara efektif. Saat berlatih dengan Instans Spot, kumpulan data diunduh setiap kali pekerjaan dilanjutkan setelah gangguan Spot. Biasanya, pengunduhan data berlangsung sekitar 200 MB/dtk untuk file besar (misalnya, 5 menit/50 GB). Apakah overhead startup ini dapat diterima terutama bergantung pada durasi keseluruhan pekerjaan pelatihan Anda, karena fase pelatihan yang lebih lama berarti fase pengunduhan yang lebih kecil secara proporsional.

Mode FastFile Amazon S3

Mode FastFile mengekspos objek S3 melalui antarmuka sistem file yang sesuai dengan POSIX, seolah-olah file tersebut tersedia di disk lokal instans pelatihan Anda, dan mengalirkan kontennya sesuai permintaan saat data digunakan oleh skrip pelatihan. Ini berarti set data Anda tidak perlu lagi masuk ke dalam ruang penyimpanan instance pelatihan, dan Anda tidak perlu menunggu set data diunduh ke instance pelatihan sebelum pelatihan dapat dimulai.

Untuk memfasilitasi ini, SageMaker mencantumkan semua metadata objek yang disimpan di bawah awalan S3 yang ditentukan sebelum skrip pelatihan Anda berjalan. Metadata ini digunakan untuk membuat read-only FUSE (sistem file di ruang pengguna) yang tersedia untuk skrip pelatihan Anda melalui /opt/ml/data/training-channel-name. Mendaftar objek S3 berjalan secepat 5,500 objek per detik terlepas dari ukurannya. Ini jauh lebih cepat daripada mengunduh file di muka, seperti halnya dengan mode File. Saat skrip pelatihan Anda berjalan, skrip tersebut dapat membuat daftar atau membaca file seolah-olah tersedia secara lokal. Setiap operasi baca didelegasikan ke layanan FUSE, yang mem-proxy permintaan GET ke Amazon S3 untuk mengirimkan konten file yang sebenarnya ke pemanggil. Seperti sistem file lokal, FastFile memperlakukan file sebagai byte, jadi tidak sesuai dengan format file. Mode FastFile dapat mencapai throughput lebih dari satu GB/dtk saat membaca file besar secara berurutan menggunakan banyak pekerja. Anda dapat menggunakan FastFile untuk membaca file kecil atau mengambil rentang byte acak, tetapi Anda harus mengharapkan throughput yang lebih rendah untuk pola akses tersebut. Anda dapat mengoptimalkan pola akses baca dengan membuat banyak file kecil bersambung ke dalam wadah file yang lebih besar, dan membacanya secara berurutan.

FastFile saat ini hanya mendukung awalan S3 (tidak mendukung manifes dan manifes tambahan), dan mode FastFile kompatibel dengan mode lokal SageMaker.

Mode Pipa Amazon S3

Mode pipa adalah mode streaming lain yang sebagian besar digantikan oleh mode FastFile yang lebih baru dan lebih mudah digunakan.

Dengan mode Pipe, data diambil sebelumnya dari Amazon S3 pada konkurensi dan throughput tinggi, dan dialirkan ke Unix bernama pipa FIFO. Setiap pipa hanya dapat dibaca oleh satu proses. Ekstensi khusus SageMaker untuk TensorFlow dengan nyaman mengintegrasikan mode Pipa ke pemuat data TensorFlow asli untuk streaming teks, TFRecords, atau format file RecordIO. Mode pipa juga mendukung sharding terkelola dan pengacakan data.

FSx untuk Lustre

FSx untuk Lustre dapat menskalakan hingga ratusan GB/dtk throughput dan jutaan IOPS dengan pengambilan file latensi rendah.

Saat memulai pekerjaan pelatihan, SageMaker memasang sistem file FSx for Lustre ke sistem file instans pelatihan, lalu memulai skrip pelatihan Anda. Pemasangan itu sendiri adalah operasi yang relatif cepat yang tidak bergantung pada ukuran kumpulan data yang disimpan di FSx untuk Lustre.

Dalam banyak kasus, Anda membuat sistem file FSx for Lustre dan tautkan ke ember S3 dan awalan. Saat ditautkan ke bucket S3 sebagai sumber, file akan dimuat lambat ke dalam sistem file saat skrip pelatihan Anda membacanya. Ini berarti bahwa tepat setelah epoch pertama dari pelatihan pertama Anda berjalan, seluruh dataset disalin dari Amazon S3 ke penyimpanan FSx for Luster (dengan asumsi epoch didefinisikan sebagai satu sapuan penuh berdasarkan contoh pelatihan, dan bahwa FSx yang dialokasikan untuk Penyimpanan kilap cukup besar). Hal ini memungkinkan akses file latensi rendah untuk epoch berikutnya dan tugas pelatihan dengan set data yang sama.

Anda juga bisa pramuat file ke dalam sistem file sebelum memulai pekerjaan pelatihan, yang mengurangi awal yang dingin karena pemuatan yang lambat. Ini juga memungkinkan untuk menjalankan beberapa pekerjaan pelatihan secara paralel yang dilayani oleh sistem file FSx for Luster yang sama. Untuk mengakses FSx for Lustre, tugas pelatihan Anda harus terhubung ke VPC (lihat Pengaturan VPCConfig), yang memerlukan penyiapan dan keterlibatan DevOps. Untuk menghindari biaya transfer data, sistem file menggunakan satu Availability Zone, dan Anda perlu menentukan ID Availability Zone ini saat menjalankan tugas pelatihan. Karena Anda menggunakan Amazon S3 sebagai penyimpanan data jangka panjang, kami menyarankan Anda untuk menerapkan FSx for Luster dengan penyimpanan Scratch 2, sebagai pilihan penyimpanan jangka pendek yang hemat biaya untuk throughput tinggi, memberikan baseline 200 MB/s dan ledakan hingga 1300 MB/dtk per TB penyimpanan yang disediakan.

Dengan sistem file FSx for Luster yang terus berjalan, Anda dapat memulai pekerjaan pelatihan baru tanpa menunggu sistem file dibuat, dan tidak perlu khawatir tentang cold start selama periode pertama (karena file masih dapat di-cache di FSx untuk sistem file Lustre). Kelemahan dalam skenario ini adalah biaya tambahan yang terkait dengan menjaga sistem file tetap berjalan. Sebagai alternatif, Anda dapat membuat dan menghapus sistem file sebelum dan sesudah setiap tugas pelatihan (mungkin dengan otomatisasi skrip untuk membantu), tetapi dibutuhkan waktu untuk menginisialisasi sistem file FSx untuk Lustre, yang sebanding dengan jumlah file yang disimpannya (untuk misalnya, dibutuhkan sekitar satu jam untuk mengindeks sekitar 2 juta objek dari Amazon S3).

Amazon EFS

Kami merekomendasikan penggunaan Amazon EFS jika data pelatihan Anda sudah berada di Amazon EFS karena kasus penggunaan selain pelatihan ML. Untuk menggunakan Amazon EFS sebagai sumber data, data harus sudah berada di Amazon EFS sebelum pelatihan. SageMaker memasang sistem file Amazon EFS yang ditentukan ke instans pelatihan, lalu memulai skrip pelatihan Anda. Saat mengonfigurasi sistem file Amazon EFS, Anda harus memilih antara mode kinerja Tujuan Umum default, yang dioptimalkan untuk latensi (baik untuk file kecil), dan mode kinerja Max I/O, yang dapat menskalakan ke tingkat throughput agregat yang lebih tinggi dan operasi per detik (lebih baik untuk pekerjaan pelatihan dengan banyak pekerja I/O). Untuk mempelajari lebih lanjut, lihat Menggunakan mode performa yang tepat.

Selain itu, Anda dapat memilih di antara dua opsi throughput terukur: bursting throughput, dan provisioning throughput. Melonjakkan throughput untuk sistem file 1 TB memberikan baseline 150 MB/dtk, sementara mampu melonjak hingga 300 MB/dtk untuk jangka waktu 12 jam sehari. Jika Anda membutuhkan throughput dasar yang lebih tinggi, atau terlalu sering kehabisan kredit burst, Anda dapat meningkatkan ukuran sistem file atau beralih ke throughput yang disediakan. Dalam throughput yang disediakan, Anda membayar untuk throughput dasar yang diinginkan hingga maksimum 3072 MB/dtk dibaca.

Pekerjaan pelatihan Anda harus terhubung ke VPC (lihat Pengaturan VPCConfig) untuk mengakses Amazon EFS.

Memilih sumber data terbaik

Sumber data terbaik untuk tugas pelatihan Anda bergantung pada karakteristik beban kerja seperti ukuran set data, format file, ukuran file rata-rata, durasi pelatihan, pola baca pemuat data berurutan atau acak, dan seberapa cepat model Anda dapat menggunakan data pelatihan.

Bagan alur berikut memberikan beberapa panduan untuk membantu Anda memulai:
Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Kapan menggunakan Amazon EFS

Jika kumpulan data Anda terutama disimpan di Amazon EFS, Anda mungkin memiliki aplikasi prapemrosesan atau anotasi yang menggunakan Amazon EFS untuk penyimpanan. Anda dapat dengan mudah menjalankan tugas pelatihan yang dikonfigurasi dengan saluran data yang mengarah ke sistem file Amazon EFS (untuk informasi selengkapnya, lihat Mempercepat pelatihan di Amazon SageMaker menggunakan Amazon FSx untuk Luster dan sistem file Amazon EFS). Jika kinerja tidak sebagus yang Anda harapkan, periksa opsi pengoptimalan Anda dengan Panduan kinerja Amazon EFS, atau pertimbangkan mode input lainnya.

Gunakan mode File untuk kumpulan data kecil

Jika kumpulan data disimpan di Amazon S3 dan volume keseluruhannya relatif kecil (misalnya, kurang dari 50โ€“100 GB), coba gunakan mode File. Overhead mengunduh kumpulan data 50 GB dapat bervariasi berdasarkan jumlah total file (misalnya, sekitar 5 menit jika dipotong menjadi pecahan 100 MB). Apakah overhead startup ini dapat diterima terutama bergantung pada durasi keseluruhan pekerjaan pelatihan Anda, karena fase pelatihan yang lebih lama berarti fase pengunduhan yang lebih kecil secara proporsional.

Serialisasi banyak file kecil bersama-sama

Jika ukuran set data Anda kecil (kurang dari 50โ€“100 GB), tetapi terdiri dari banyak file kecil (kurang dari 50 MB), biaya pengunduhan mode File bertambah, karena setiap file perlu diunduh satu per satu dari Amazon S3 ke volume contoh pelatihan. Untuk mengurangi overhead ini, dan untuk mempercepat traversal data secara umum, pertimbangkan untuk membuat serial grup file yang lebih kecil menjadi lebih sedikit wadah file yang lebih besar (seperti 150 MB per file) dengan menggunakan format file seperti Catatan TF untuk TensorFlow, Kumpulan Data Web untuk PyTorch, atau RekamIO untuk MXNet. Format ini mengharuskan pemuat data Anda untuk mengulangi contoh secara berurutan. Anda masih dapat mengacak data Anda dengan mengurutkan ulang secara acak daftar file TFRecord setelah setiap epoch, dan dengan mengambil sampel data secara acak dari buffer shuffle lokal (lihat berikut ini Contoh TensorFlow).

Kapan harus menggunakan mode FastFile

Untuk kumpulan data yang lebih besar dengan file yang lebih besar (lebih dari 50 MB), opsi pertama adalah mencoba mode FastFile, yang lebih mudah digunakan daripada FSx untuk Lustre karena tidak memerlukan pembuatan sistem file, atau menghubungkan ke VPC. Mode FastFile sangat ideal untuk wadah file besar (lebih dari 150 MB), dan mungkin juga berfungsi dengan baik dengan file lebih dari 50 MB. Karena mode FastFile menyediakan antarmuka POSIX, mode ini mendukung pembacaan acak (membaca rentang byte yang tidak berurutan). Namun, ini bukan kasus penggunaan yang ideal, dan throughput Anda mungkin akan lebih rendah dibandingkan dengan pembacaan berurutan. Namun, jika Anda memiliki model ML yang relatif besar dan intensif secara komputasi, mode FastFile mungkin masih dapat memenuhi bandwidth efektif alur pelatihan dan tidak mengakibatkan kemacetan I/O. Anda harus bereksperimen dan melihat. Untungnya, beralih dari mode File ke FastFile (dan kembali) semudah menambahkan (atau menghapus) input_mode='FastFile' parameter saat menentukan saluran input Anda menggunakan SageMaker Python SDK:

sagemaker.inputs.TrainingInput(S3_INPUT_FOLDER, input_mode='FastFile') 

Tidak ada kode atau konfigurasi lain yang perlu diubah.

Kapan menggunakan FSx untuk Lustre

Jika kumpulan data Anda terlalu besar untuk mode File, atau memiliki banyak file kecil (yang tidak dapat Anda ceritakan dengan mudah), atau Anda memiliki pola akses baca acak, FSx for Luster adalah pilihan yang baik untuk dipertimbangkan. Sistem filenya menskalakan hingga ratusan GB/dtk throughput dan jutaan IOPS, yang ideal bila Anda memiliki banyak file kecil. Namun, seperti yang telah dibahas sebelumnya, perhatikan masalah mulai dingin karena pemuatan yang lambat, dan biaya tambahan untuk menyiapkan dan menginisialisasi sistem file FSx untuk Lustre.

Pertimbangan biaya

Untuk sebagian besar pekerjaan pelatihan ML, terutama pekerjaan yang menggunakan GPU atau chip ML yang dibuat khusus, sebagian besar biaya pelatihan adalah detik yang dapat ditagih dari instance pelatihan ML. Penyimpanan GB per bulan, permintaan API, dan throughput yang disediakan adalah biaya tambahan yang terkait langsung dengan sumber data yang Anda gunakan.

Penyimpanan GB per bulan

Penyimpanan GB per bulan dapat menjadi signifikan untuk kumpulan data yang lebih besar, seperti video, data sensor LiDAR, dan log penawaran waktu nyata AdTech. Misalnya, menyimpan 1 TB di Tingkat Akses Sering Tingkat Cerdas Amazon S3 biaya $23 per bulan. Menambahkan sistem file FSx for Lustre di atas Amazon S3 menghasilkan biaya tambahan. Misalnya, membuat sistem file 1.2 TB jenis Scratch 2 yang didukung SSD dengan kompresi data yang dinonaktifkan dikenakan biaya tambahan $168 per bulan ($140/TB/bulan).

Dengan Amazon S3 dan Amazon EFS, Anda hanya membayar untuk apa yang Anda gunakan, artinya Anda ditagih sesuai dengan ukuran set data yang sebenarnya. Dengan FSx for Lustre, Anda dikenakan biaya berdasarkan ukuran sistem file yang disediakan (minimal 1.2 TB). Saat menjalankan instans ML dengan volume EBS, Amazon EBS dikenai biaya secara independen dari instans ML. Ini biasanya biaya yang jauh lebih rendah dibandingkan dengan biaya menjalankan instans. Misalnya, menjalankan instans ml.p3.2xlarge dengan volume EBS 100 GB selama 1 jam dikenakan biaya $3.825 untuk instans dan $0.02 untuk volume EBS.

Permintaan API dan biaya throughput yang disediakan

Saat pekerjaan pelatihan Anda sedang mengerjakan kumpulan data, pekerjaan itu mencantumkan dan mengambil file dengan mengirimkan permintaan API Amazon S3. Misalnya, setiap juta permintaan GET dihargai $0.4 (dengan kelas Intelligent-Tiering). Anda seharusnya tidak mengharapkan biaya transfer data untuk bandwidth masuk dan keluar dari Amazon S3, karena pelatihan berlangsung di Availability Zone tunggal.

Saat menggunakan FSx for Luster yang ditautkan ke bucket S3, Anda dikenakan biaya permintaan API Amazon S3 untuk membaca data yang belum di-cache di sistem file, karena FSx For Luster mem-proxy permintaan ke Amazon S3 (dan menyimpan hasilnya ). Tidak ada biaya permintaan langsung untuk FSx untuk Lustre itu sendiri. Saat Anda menggunakan sistem file FSx for Lustre, hindari biaya untuk transfer data lintas-Availability Zone dengan menjalankan tugas pelatihan Anda yang terhubung ke Availability Zone yang sama dengan tempat Anda menyediakan sistem file. Amazon EFS dengan throughput yang disediakan menambahkan biaya tambahan untuk lebih GB per bulan.

Studi kasus kinerja

Untuk mendemonstrasikan pertimbangan kinerja pelatihan yang disebutkan sebelumnya, kami melakukan serangkaian tolok ukur untuk kasus penggunaan yang realistis dalam domain visi komputer. Tolok ukur (dan kesimpulan) dari bagian ini mungkin tidak berlaku untuk semua skenario, dan dipengaruhi oleh berbagai faktor yang telah ditentukan sebelumnya yang kami gunakan, seperti DNN. Kami menjalankan tes untuk 12 kombinasi berikut:

  • Mode masukan โ€“ FSx untuk Lustre, mode File, mode FastFile
  • Ukuran dataset โ€“ Kumpulan data yang lebih kecil (1 GB), kumpulan data yang lebih besar (54 GB)
  • Ukuran file โ€“ File yang lebih kecil (JPG, sekitar 39 KB), File yang lebih besar (TFRecord, sekitar 110 MB)

Untuk studi kasus ini, kami memilih mode input yang paling banyak digunakan, dan oleh karena itu menghilangkan mode Amazon EFS dan Pipe.

Tolok ukur studi kasus dirancang sebagai tugas pelatihan SageMaker TensorFlow menyeluruh pada instans GPU tunggal ml.p3.2xbesar. Kami memilih ResNet-50 yang terkenal sebagai model tulang punggung kami untuk tugas klasifikasi dan Caltech-256 sebagai kumpulan data pelatihan yang lebih kecil (yang kami replikasi 50 kali untuk membuat versi kumpulan data yang lebih besar). Kami melakukan pelatihan untuk satu zaman, yang didefinisikan sebagai satu sapuan penuh memikirkan contoh-contoh pelatihan.

Grafik berikut menunjukkan total waktu yang dapat ditagih dari tugas pelatihan SageMaker untuk setiap skenario tolok ukur. Total waktu pekerjaan itu sendiri terdiri dari pengunduhan, pelatihan, dan tahapan lainnya (seperti startup container dan mengunggah artefak model terlatih ke Amazon S3). Waktu yang dapat ditagih lebih pendek diterjemahkan menjadi pekerjaan pelatihan yang lebih cepat dan lebih murah.

Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Mari kita bahas dulu Skenario A dan Skenario C, yang dengan mudah menunjukkan perbedaan kinerja antara mode input saat kumpulan data terdiri dari banyak file kecil.

Skenario A (file lebih kecil, kumpulan data lebih kecil) mengungkapkan bahwa tugas pelatihan dengan sistem file FSx for Lustre memiliki waktu tagihan terkecil. Ini memiliki fase pengunduhan terpendek, dan tahap pelatihannya secepat mode File, tetapi lebih cepat dari FastFile. FSx for Lustre adalah pemenang dalam tes single epoch ini. Karena itu, pertimbangkan beban kerja yang serupa tetapi dengan beberapa epochโ€”overhead relatif dari mode File karena tahap pengunduhan berkurang karena lebih banyak epoch ditambahkan. Dalam hal ini, kami lebih memilih mode File karena kemudahan penggunaannya. Selain itu, Anda mungkin menemukan bahwa menggunakan mode File dan membayar 100 detik tambahan yang dapat ditagih adalah pilihan yang lebih baik daripada membayar dan menyediakan sistem file FSx untuk Lustre.

Skenario C (file lebih kecil, kumpulan data lebih besar) menunjukkan FSx untuk Luster sebagai mode tercepat, dengan hanya 5,000 detik dari total waktu yang dapat ditagih. Ini juga memiliki tahap pengunduhan terpendek, karena pemasangan sistem file FSx for Lustre tidak bergantung pada jumlah file dalam sistem file (1.5 juta file dalam kasus ini). Overhead pengunduhan FastFile juga kecil; itu hanya mengambil metadata file yang berada di bawah awalan bucket S3 yang ditentukan, sementara konten file dibaca selama tahap pelatihan. Mode file adalah mode paling lambat, menghabiskan 10,000 detik untuk mengunduh seluruh kumpulan data di muka sebelum memulai pelatihan. Ketika kita melihat pada tahap pelatihan, FSx untuk mode Luster dan File menunjukkan kinerja luar biasa yang serupa. Untuk mode FastFile, saat streaming file yang lebih kecil langsung dari Amazon S3, overhead untuk mengirimkan permintaan GET baru untuk setiap file menjadi signifikan relatif terhadap total durasi transfer file (meskipun menggunakan pemuat data yang sangat paralel dengan buffer prefetch). Ini menghasilkan throughput yang lebih rendah secara keseluruhan untuk mode FastFile, yang menciptakan hambatan I/O untuk pekerjaan pelatihan. FSx untuk Lustre adalah pemenang yang jelas dalam skenario ini.

Skenario B dan D menunjukkan perbedaan kinerja di seluruh mode input ketika kumpulan data terdiri dari lebih sedikit file yang lebih besar. Membaca secara berurutan menggunakan file yang lebih besar biasanya menghasilkan kinerja I/O yang lebih baik karena memungkinkan buffering yang efektif dan mengurangi jumlah operasi I/O.

Skenario B (file yang lebih besar, kumpulan data yang lebih kecil) menunjukkan waktu tahap pelatihan yang serupa untuk semua mode (bersaksi bahwa pelatihan tidak terikat I/O). Dalam skenario ini, kami lebih memilih mode FastFile daripada mode File karena tahap pengunduhan yang lebih pendek, dan lebih memilih mode FastFile daripada FSx untuk Lustre karena kemudahan penggunaan yang pertama.

Skenario D (file yang lebih besar, kumpulan data yang lebih besar) menunjukkan total waktu yang dapat ditagih yang relatif sama untuk ketiga mode tersebut. Fase pengunduhan mode File lebih lama daripada FSx untuk Lustre dan FastFile. Mode file mengunduh seluruh kumpulan data (54 GB) dari Amazon S3 ke instans pelatihan sebelum memulai tahap pelatihan. Ketiga mode menghabiskan waktu yang sama dalam fase pelatihan, karena semua mode dapat mengambil data dengan cukup cepat dan terikat dengan GPU. Jika kami menggunakan instans ML dengan sumber daya CPU atau GPU tambahan, seperti ml.p4d.24xlarge, throughput I/O data yang diperlukan untuk memenuhi sumber daya komputasi akan bertambah. Dalam kasus ini, kita dapat mengharapkan FastFile dan FSx untuk Luster berhasil menskalakan throughputnya (namun, throughput FSx untuk Luster bergantung pada ukuran sistem file yang disediakan). Kemampuan mode File untuk menskalakan throughputnya bergantung pada throughput volume disk yang terpasang ke instans. Misalnya, instans yang didukung Amazon EBS (seperti ml.p3.2xlarge, ml.p3.8xlarge, dan ml.p3.16xlarge) dibatasi hingga throughput maksimum 250MB/dtk, sedangkan instans lokal yang didukung NVMe (seperti ml. g5.* atau ml.p4d.24xlarge) dapat menampung throughput yang jauh lebih besar.

Untuk meringkas, kami percaya FastFile adalah pemenang untuk skenario ini karena lebih cepat daripada mode File, dan secepat FSx untuk Lustre, namun lebih mudah digunakan, lebih murah, dan dapat dengan mudah meningkatkan throughputnya sesuai kebutuhan.

Selain itu, jika kami memiliki kumpulan data yang jauh lebih besar (berukuran beberapa TB), mode File akan menghabiskan banyak waktu untuk mengunduh kumpulan data sebelum pelatihan dapat dimulai, sedangkan FastFile dapat memulai pelatihan secara signifikan lebih cepat.

Bawa penyerapan data Anda sendiri

Sumber data asli SageMaker cocok untuk sebagian besar tetapi tidak semua kemungkinan skenario pelatihan ML. Situasi ketika Anda mungkin perlu mencari opsi penyerapan data lainnya dapat mencakup membaca data langsung dari produk penyimpanan pihak ketiga (dengan asumsi ekspor yang mudah dan tepat waktu ke Amazon S3 tidak mungkin), atau memiliki persyaratan yang kuat untuk pelatihan yang sama skrip untuk dijalankan tidak berubah pada SageMaker dan Cloud komputasi elastis Amazon (Amazon EC2) atau Layanan Amazon Elastic Kubernetes (Amazon EKS). Anda dapat mengatasi kasus ini dengan menerapkan mekanisme penyerapan data ke dalam skrip pelatihan. Mekanisme ini bertanggung jawab untuk membaca set data dari sumber data eksternal ke dalam instance pelatihan. Misalnya, TFRecordDataset dari TensorFlow's tf.data perpustakaan dapat membaca langsung dari penyimpanan Amazon S3.

Jika mekanisme penyerapan data Anda perlu memanggil layanan AWS apa pun, seperti Layanan Database Relasional Amazon (Amazon RDS), pastikan bahwa: Identitas AWS dan Manajemen Akses (IAM) peran pekerjaan pelatihan Anda mencakup kebijakan IAM yang relevan. Jika sumber data berada di Cloud Pribadi Virtual Amazon (VPC Amazon), Anda perlu menjalankan tugas pelatihan Anda yang terhubung ke VPC yang sama.

Saat Anda mengelola penyerapan set data sendiri, pelacakan garis keturunan SageMaker tidak dapat secara otomatis mencatat set data yang digunakan selama pelatihan. Oleh karena itu, pertimbangkan mekanisme alternatif, seperti tag tugas pelatihan atau hyperparameter, untuk menangkap metadata Anda yang relevan.

Kesimpulan

Memilih sumber data pelatihan SageMaker yang tepat dapat berdampak besar pada kecepatan, kemudahan penggunaan, dan biaya model ML pelatihan. Gunakan diagram alur yang disediakan untuk memulai dengan cepat, mengamati hasilnya, dan bereksperimen dengan konfigurasi tambahan sesuai kebutuhan. Ingatlah pro, kontra, dan batasan dari setiap sumber data, dan seberapa sesuai dengan kebutuhan individu pekerjaan pelatihan Anda. Hubungi kontak AWS untuk informasi dan bantuan lebih lanjut.


Tentang Penulis

Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Gili Nachum adalah Arsitek Solusi Spesialis AI/ML senior yang bekerja sebagai bagian dari tim Pembelajaran Mesin Amazon EMEA. Gili sangat menyukai tantangan dalam melatih model pembelajaran mendalam, dan bagaimana pembelajaran mesin mengubah dunia seperti yang kita kenal. Di waktu luangnya, Gili menikmati bermain tenis meja.

Pilih sumber data terbaik untuk pekerjaan pelatihan Amazon SageMaker Anda, PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Dr Alexander Arzhanov adalah Arsitek Solusi Spesialis AI/ML yang berbasis di Frankfurt, Jerman. Dia membantu pelanggan AWS untuk merancang dan menerapkan solusi ML mereka di seluruh wilayah EMEA. Sebelum bergabung dengan AWS, Alexander meneliti asal usul elemen berat di alam semesta kita dan menjadi tertarik dengan ML setelah menggunakannya dalam perhitungan ilmiah skala besar.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS