Tolok ukur gpu pembelajaran mendalam

Olga Velikaia

Olga Velikaia

Analis Data

Kami terus-menerus melatih model bahasa untuk pekerjaan kami. Tim kami menggunakan lusinan kartu video berbeda yang dipilih untuk tugas berbeda: di suatu tempat kami membutuhkan stasiun DGX yang kuat, dan di suatu tempat kartu permainan lama seperti RTX 2080Ti sudah cukup. Memilih GPU yang optimal untuk pelatihan model dapat berdampak signifikan terhadap kecepatan dan efektivitas biaya proses.

Yang menarik adalah bahwa ada cukup banyak artikel di internet dengan perbandingan GPU untuk pembelajaran mesin, tetapi sangat sedikit fokus pada kecepatan untuk pelatihan model bahasa. Kebanyakan hanya tes inferensi yang ditemukan. Ketika chip H100 baru dirilis, laporan NVidia menyatakan bahwa itu sampai sembilan kali lebih cepat dari A100 dalam pelatihan, tetapi untuk tugas kami, kartu baru hanya 90% lebih cepat dari yang lama. Sebagai perbandingan, penyedia cloud kami memiliki perbedaan harga 2x antara GPU ini, jadi tidak ada gunanya beralih ke H100 baru untuk menghemat uang.

Selain itu, kami mengambil untuk tes stasiun DGX, yang terdiri dari 8 kartu grafis A100 80GB dan biaya 10 ribu dolar per bulan. Setelah tes, menjadi jelas bahwa rasio harga/kinerja stasiun ini tidak sesuai dengan kami sama sekali dan untuk uang ini, kami dapat mengambil 66 x RTX 3090, yang secara total akan jauh lebih berguna.

Model bahasa terjemahan kami memiliki hingga 500 juta parameter (rata-rata 100 juta hingga 300 juta). Ada kemungkinan bahwa jika kita meningkatkan jumlah parameter secara signifikan, rasio harga/kinerja DGX akan lebih baik. Saat ini, kami tidak melatih model bahasa besar yang dapat menerjemahkan antara semua bahasa dalam semua variasi sekaligus, tetapi menggunakan model bahasa terpisah untuk setiap pasangan bahasa, mis. Inggris-Jerman. Masing-masing model tersebut membutuhkan waktu 120 hingga 300 Mb.

Perlu dicatat bahwa bahasa yang berbeda memiliki jumlah data yang berbeda di Internet, dan sementara. Misalnya, untuk bahasa Spanyol, Anda dapat menemukan 500 juta kalimat dengan terjemahan, tetapi ketika melatih model untuk bahasa yang lebih langka seperti bahasa Tibet, Anda perlu memilih GPU khusus untuk tugas pembelajaran mesin berdasarkan data yang tersedia. Untuk membuat model terjemahan dari bahasa Inggris ke bahasa Spanyol, kami menggunakan server dengan RAM 4 x RTX 4500 dan 256GB. Pada saat yang sama, bahasa Tibet dapat dilatih pada RTX 2080 Ti dengan RAM 16GB, karena tidak masuk akal untuk meningkatkan kompleksitas jaringan saraf dan, sebagai hasilnya, untuk mengambil server yang lebih kuat dengan sejumlah kecil data.

Memilih prosesor grafis dan tokoh teoritis

Pelatihan model bahasa berlangsung di platform Data Studio internal kami menggunakan kerangka OpenNMT-tf. Fase ini meliputi persiapan data, pelatihan model, dan perbandingan model dengan terjemahan referensi. Menggunakan FP16 dan bukan FP32 selama pelatihan memungkinkan kami mengurangi waktu pelatihan model bahasa secara signifikan tanpa menurunkan kualitas terjemahan, namun tidak semua GPU kami mendukung hal tersebut.

Saat memilih prosesor grafis, merupakan standar untuk mempertimbangkan metrik seperti kekuatan pemrosesan (TFLOPS), memori video (VRAM), hasil benchmark GPU, dukungan perpustakaan dan kerangka kerja, anggaran, dan faktor lainnya (ukuran dan faktor bentuk kartu grafis, kebutuhan daya, pendinginan, dan kompatibilitas dengan sistem Anda). Saat melatih model pembuatan teks, Anda juga harus ingat bahwa bahasa yang berbeda akan menghabiskan jumlah sumber daya yang berbeda. Misalnya, 1 byte digunakan untuk menyandikan satu karakter untuk bahasa Latin, 2 byte untuk bahasa Sirilik, dan 3 byte untuk bahasa yang mengandung hieroglif. Memahami karakteristik apa yang akan dimiliki kartu grafis Anda memiliki dampak signifikan pada kecepatan proses pembelajaran.

Saat melatih model dalam hal GPU yang digunakan, kartu video dibagi menjadi dua kelompok sesuai dengan periode penggunaan: kartu video awal, yang digunakan untuk melakukan pengukuran pertama kecepatan belajar, dan kartu yang sedang digunakan. Karakteristik utama dari kartu grafis ini dapat ditemukan di Tabel 1 dan Tabel 2, masing-masing.

Tabel 1 - Prosesor grafis yang digunakan sebelumnya dan parameter teknisnya
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


Catatan
1. Dengan CUDA lebih besar dari 7.0, penggunaan FP16 akan memberikan dorongan dalam kecepatan latihan, tergantung pada versi CUDA dan karakteristik kartu grafis itu sendiri.
2. Jika spesifikasi kartu grafis menunjukkan bahwa rasio kinerja FP16 hingga FP32 lebih besar dari 1 banding 1, maka penggunaan presisi campuran akan dijamin untuk meningkatkan kecepatan pelatihan sebesar jumlah yang ditentukan dalam spesifikasi. Misalnya, untuk Quadro RTX 6000 nilai FP16 TFLOPS sebesar 32,62 (2:1) akan mempercepat latihan setidaknya dua kali (2,4 kali dalam praktik)

Tabel 2 - Model GPU yang digunakan saat ini dan karakteristik utamanya
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - nilai untuk FP16,TFLOPS dan FP32,TFLOPS diambil dari spesifikasi per GPU

Proses pelatihan dan pengujian GPU

Model-model tersebut dilatih menggunakan satu set 18 GPU. Dalam proses pelatihan jaringan saraf, kami menggunakan banyak pasangan bahasa (lebih dari seratus bahasa). Tes GPU telah membantu mengidentifikasi perangkat keras mana yang memiliki kinerja terbaik untuk tugas tertentu. Selama pelatihan pasangan bahasa kami, parameter jaringan saraf berikut diambil sebagai dasar:
 

  • ukuran kosakata = 30 000
  • numunit = 768
  • lapisan = 6
  • kepala = 16
  • dimensi dalam = 4 096


Pertama, mari kita karakterisasi GPU yang termasuk dalam kelompok pertama berdasarkan Tabel 1. Waktu dalam menit dan detik yang dihabiskan untuk melatih model dengan perkiraan kecepatan 1.000 langkah dan kelipatan ukuran batch 100.000 unit akan dijadikan dasar untuk membandingkan indikator.

Kami menekankan bahwa untuk kelompok pertama, pengukuran kecepatan dilakukan dengan menggunakan alignment mekanisme dan hanya menggunakan FP32. Tanpa menggunakan mekanisme ini kecepatan belajar pada beberapa server bisa jauh lebih cepat.

Mekanisme penyelarasan memungkinkan pencocokan substring dalam teks dasar dan terjemahan. Diperlukan untuk menerjemahkan teks yang diformat, seperti halaman web, ketika substring dalam sebuah kalimat dapat disorot dalam font yang berbeda dan harus diterjemahkan dengan penyorotan.

Dengan mempertimbangkan parameter jaringan saraf yang disebutkan di atas, waktu terbaik dari tabel pertama ditunjukkan oleh GPU Nvidia H100 dengan waktu belajar 22 menit, dan waktu intermediate ditunjukkan oleh GPU merk yang sama GeForce RTX 4060 Ti dengan waktu belajar 72 menit dan tempat terakhir diambil oleh GPU Tesla V100-SXM 2 dengan waktu belajar 140 menit.

Ada juga delapan kartu Nvidia A10 dalam tes GPU dengan kurva belajar 20 menit dan 28 detik, dua kartu Nvidia A40 dengan waktu 56 menit, dan dua kartu Tesla V100-SXM yang mencatat waktu 86 menit. Penerapan beberapa kartu secara bersamaan dari rangkaian GPU yang sama dapat mempercepat proses pelatihan model dan menunjukkan waktu yang hampir bersamaan dengan GPU yang memiliki kapasitas lebih tinggi, namun teknik seperti itu mungkin tidak cukup rasional secara finansial dan prosedural. Hasil pengukuran kecepatan belajar dapat diamati pada Tabel nomor 3.

Tabel 3 - Pengukuran waktu pelatihan pada peta grafis yang digunakan sebelumnya
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


Selanjutnya, mari kita lakukan analisis komparatif pedal gas grafis yang saat ini digunakan (Tabel 2). Untuk kelompok prosesor grafis ini, pengukuran kecepatan dilakukan dengan menggunakan alignment mekanisme, serta menggunakan FP16 dan FP32. Pengukuran kecepatan termasuk mekanisme ini dan presisi campuran akan disajikan di bawah ini masing-masing pada Tabel 4 dan 5.

Jadi, setelah mengukur kecepatan GPU dari tabel ini, kita dapat mengatakan bahwa tempat pertama diambil oleh GPU seri RTX A4500 dengan waktu pelatihan 31 menit, tetapi harus ditekankan bahwa kecepatan model pelatihan seperti itu diperoleh dengan meningkatkan jumlah unit GPU yang digunakan hingga 4. Mengabaikan fakta ini, kecepatan pelatihan GPU yang disebutkan di atas akan jauh lebih tinggi, yang akan menempatkannya di tempat kedua dari belakang di tabel final.

GPU Quadro RTX 6000 series dengan waktu belajar 47 menit berada di posisi kedua. Perlu dicatat bahwa kecepatan pelatihan tersebut berbanding terbalik dengan jumlah unit prosesor yang digunakan, yaitu sama dengan empat. Menggunakan hanya satu GPU seperti itu akan memberikan kehilangan kecepatan sekitar 3,2 kali dan akibatnya akan menjadi sekitar 153 menit dan menempatkannya di tempat terakhir.

Baris ketiga diambil oleh GPU seri TITAN RTX dengan waktu 75 menit dan 85 detik. Skor kecepatan belajar ini disebabkan oleh penggunaan 2 prosesor, yang mengurangi waktu pelatihan model.

Pemimpin yang tidak perlu dipertanyakan lagi dalam hal kecepatan latihan dalam jumlah satu unit pasti akan menjadi GPU seri GeForce RTX 3090 dengan waktu 78 menit dan 26 detik. Meningkatkan jumlah unit GPU ini akan mempercepat kecepatan pelatihan model, yang jelas akan menyalip semua model GPU yang disebutkan di atas. Data pengukuran waktu pelatihan model dapat dilihat pada Tabel 4.

Tabel 4 - Analisis komparatif kecepatan pelatihan model bahasa pada GPU yang digunakan sebelumnya
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


Pengukuran kecepatan pelatihan berikut dilakukan menggunakan FP16. Dibandingkan dengan FP32, setengah presisi memungkinkan pengurangan jumlah memori yang dikonsumsi selama pelatihan model dan mempercepat komputasi pada GPU. Keakuratan representasi akan lebih rendah dibandingkan dengan penggunaan FP32.

Mengukur waktu pelatihan model yang menggunakan FP32 dari tabel sebelumnya, kita dapat mengatakan bahwa waktu pelatihan jaringan saraf berkurang hampir dua kali lipat. Berdasarkan hasil pengukuran kinerja, kita dapat mengamati dari tolok ukur GPU pembelajaran mesin pada Tabel 4 bahwa posisi GPU sebagian besar tidak berubah. Kartu seri Quadro RTX 6000 naik dari posisi kelima ke posisi keenam, mengalahkan GPU GeForce RTX 3090 dengan selisih 96 detik. Angka terakhir ditunjukkan pada Tabel 5.

Tabel 5 - Analisis komparatif kecepatan pelatihan model bahasa pada GPU yang digunakan sebelumnya
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

Pertanyaan yang Sering Diajukan (FAQ)

Apakah layak membeli GPU untuk deep learning?

Membeli GPU untuk pembelajaran mendalam dapat meningkatkan kecepatan dan efisiensi pelatihan secara signifikan, menjadikannya investasi yang bermanfaat untuk proyek-proyek serius. Namun, keputusan tersebut harus mempertimbangkan faktor-faktor seperti anggaran, kasus penggunaan spesifik, dan apakah solusi cloud mungkin lebih hemat biaya.

GPU mana yang terbaik untuk deep learning?

NVIDIA A100 sering dianggap sebagai pilihan utama untuk pembelajaran mendalam, menawarkan kinerja dan memori yang luar biasa untuk model besar. Untuk pengguna yang sadar anggaran, NVIDIA RTX 3090 memberikan kemampuan yang kuat untuk melatih model secara efektif.

Apakah AMD atau NVIDIA lebih baik untuk deep learning?

NVIDIA umumnya lebih disukai untuk pembelajaran mendalam karena ekosistem perangkat lunaknya yang kuat, yang meningkatkan kinerja dan kompatibilitas dengan kerangka kerja populer. Sementara GPU AMD telah meningkat, mereka masih tertinggal dari NVIDIA dalam hal optimasi dan dukungan untuk aplikasi pembelajaran mendalam.

Apakah GPU membantu dalam NLP?

Ya, GPU secara signifikan mempercepat pelatihan jaringan saraf dalam pemrosesan bahasa alami (NLP) dengan menangani komputasi paralel secara efisien. Peningkatan kecepatan ini memungkinkan eksperimen dan iterasi lebih cepat, sehingga meningkatkan kinerja model dan mengurangi waktu pelatihan.

Bacaan yang lebih menarik menanti

Apa Itu Pengenalan Ucapan di Tempat?

Apa Itu Pengenalan Ucapan di Tempat?

September 19, 2024

Menilai Signifikansi Statistik dalam Sistem Penerjemahan

Menilai Signifikansi Statistik dalam Sistem Penerjemahan

September 10, 2024

Terjemahan Mesin dalam Hukum dan Kepatuhan

Terjemahan Mesin dalam Hukum dan Kepatuhan

August 23, 2024

Hubungi kami

0/250
* Menunjukkan bidang yang wajib diisi

Privasi Anda sangat penting bagi kami; data Anda akan digunakan hanya untuk tujuan kontak.

E-mail

Selesai

Permintaan Anda telah berhasil dikirim

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.