Penanda aras gpu pembelajaran mendalam

Kami sentiasa melatih model bahasa untuk kerja kami. Pasukan kami menggunakan berpuluh-puluh kad video berbeza yang dipilih untuk tugas yang berbeza: di suatu tempat kami memerlukan stesen DGX yang berkuasa, dan di suatu tempat kad permainan lama seperti RTX 2080Ti sudah memadai. Memilih GPU optimum untuk latihan model boleh memberi kesan ketara kepada kedua-dua kelajuan dan keberkesanan kos proses.

Apa yang menarik ialah terdapat beberapa artikel di internet dengan perbandingan GPU untuk pembelajaran mesin, tetapi sangat sedikit yang menumpukan pada kelajuan untuk latihan model bahasa. Kebanyakannya hanya ujian inferens ditemui. Apabila cip H100 baharu dikeluarkan, laporan NVidia menyatakan bahawa ia adalah sehingga sembilan kali lebih pantas daripada A100 dalam latihan, tetapi untuk tugas kami, kad baharu itu hanya 90% lebih pantas daripada yang lama. Sebagai perbandingan, pembekal awan kami mempunyai perbezaan harga 2x antara GPU ini, jadi tidak ada gunanya beralih kepada H100 baharu untuk menjimatkan wang.

Di samping itu, kami mengambil untuk ujian stesen DGX, yang terdiri daripada 8 kad grafik A100 80GB dan berharga 10 ribu dolar sebulan. Selepas ujian, menjadi jelas bahawa nisbah harga/prestasi stesen ini tidak sesuai dengan kami sama sekali dan untuk wang ini, kami boleh mengambil 66 x RTX 3090, yang secara keseluruhannya akan lebih berguna.

Model bahasa terjemahan kami mempunyai sehingga 500 juta parameter (100 juta hingga 300 juta secara purata). Ada kemungkinan jika kita meningkatkan bilangan parameter dengan ketara, nisbah harga/prestasi DGX akan menjadi lebih baik. Pada masa ini, kami tidak melatih model bahasa besar yang boleh menterjemah antara semua bahasa dalam semua variasi sekaligus, tetapi menggunakan model bahasa yang berasingan untuk setiap pasangan bahasa, cth. Inggeris-Jerman. Setiap model sedemikian mengambil masa dari 120 hingga 300 Mb.

Perlu diingat bahawa bahasa yang berbeza mempunyai jumlah data yang berbeza di Internet, dan sementara. Sebagai contoh, untuk bahasa Sepanyol, anda boleh menemui 500 juta ayat dengan terjemahan, tetapi apabila melatih model untuk bahasa yang lebih jarang seperti Tibet, anda perlu memilih GPU khusus untuk tugas pembelajaran mesin berdasarkan data yang tersedia. Untuk mencipta model terjemahan daripada bahasa Inggeris ke bahasa Sepanyol, kami menggunakan pelayan dengan 4 x RTX 4500 dan 256GB RAM. Pada masa yang sama, bahasa Tibet boleh dilatih pada RTX 2080 Ti dengan 16GB RAM, kerana tidak masuk akal untuk meningkatkan kerumitan rangkaian saraf dan, akibatnya, untuk mengambil pelayan yang lebih berkuasa dengan sejumlah kecil data.

Memilih pemproses grafik dan angka teori

Latihan model bahasa berlangsung pada platform Data Studio dalaman kami menggunakan rangka kerja OpenNMT-tf. Fasa ini termasuk penyediaan data, latihan model, dan perbandingan model dengan terjemahan rujukan. Menggunakan FP16 dan bukannya FP32 semasa latihan membolehkan kami mengurangkan masa latihan model bahasa dengan ketara tanpa merendahkan kualiti terjemahan, tetapi tidak semua GPU kami menyokongnya.

Apabila memilih pemproses grafik, adalah standard untuk mempertimbangkan metrik seperti kuasa pemprosesan (TFLOPS), memori video (VRAM), hasil penanda aras GPU, sokongan perpustakaan dan rangka kerja, belanjawan dan faktor lain (saiz kad grafik dan faktor bentuk, keperluan kuasa, penyejukan dan keserasian dengan sistem anda). Apabila melatih model penjanaan teks, anda juga harus ingat bahawa bahasa yang berbeza akan menggunakan jumlah sumber yang berbeza. Sebagai contoh, 1 bait digunakan untuk mengekod satu aksara untuk bahasa Latin, 2 bait untuk bahasa Cyrillic dan 3 bait untuk bahasa yang mengandungi hieroglif. Memahami ciri-ciri kad grafik anda yang akan mempunyai kesan yang ketara ke atas kelajuan proses pembelajaran.

Apabila melatih model dari segi GPU yang digunakan, kad video dibahagikan kepada dua kumpulan mengikut tempoh penggunaan: kad video awal, yang digunakan untuk membuat pengukuran pertama kelajuan pembelajaran dan kad yang sedang digunakan. Ciri-ciri utama kad grafik ini boleh didapati dalam Jadual 1 dan Jadual 2, masing-masing.

Jadual 1 - Pemproses grafik yang digunakan sebelum ini dan parameter teknikalnya
 

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


Nota
1. Dengan CUDA lebih daripada 7.0, menggunakan FP16 akan memberikan peningkatan dalam kelajuan latihan, bergantung pada versi CUDA dan ciri-ciri kad grafik itu sendiri.
2. Jika spesifikasi kad grafik menunjukkan nisbah prestasi FP16 hingga FP32 lebih besar daripada 1 hingga 1, maka menggunakan ketepatan campuran akan dijamin untuk meningkatkan kelajuan latihan dengan jumlah yang dinyatakan dalam spesifikasi. Sebagai contoh, untuk Quadro RTX 6000 nilai FP16 TFLOPS sebanyak 32.62 (2:1) akan mempercepatkan senaman sekurang-kurangnya dua kali (2.4 kali dalam amalan)

Jadual 2 - Model GPU yang digunakan pada masa ini dan ciri 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 daripada spesifikasi setiap GPU

Proses latihan dan ujian GPU

Model-model tersebut dilatih menggunakan satu set 18 GPU. Dalam proses latihan rangkaian saraf, kami menggunakan banyak pasangan bahasa (lebih daripada seratus bahasa). Ujian GPU telah membantu mengenal pasti perkakasan yang berprestasi terbaik untuk tugas tertentu. Semasa latihan pasangan bahasa kami, parameter rangkaian saraf berikut telah diambil sebagai asas:
 

  • saiz vocab = 30 000
  • numunits = 768
  • lapisan = 6
  • kepala = 16
  • dimensi dalaman = 4 096


Pertama, mari kita cirikan GPU yang tergolong dalam kumpulan pertama berdasarkan Jadual 1. Masa dalam minit dan saat yang dihabiskan untuk melatih model pada kelajuan anggaran 1,000 langkah dan gandaan saiz kelompok sebanyak 100,000 unit akan diambil sebagai asas untuk membandingkan penunjuk.

Kami menekankan bahawa untuk kumpulan pertama, pengukuran kelajuan dilakukan dengan menggunakan penjajaran mekanisme dan hanya menggunakan FP32. Tanpa menggunakan mekanisme ini kelajuan pembelajaran pada sesetengah pelayan boleh menjadi lebih pantas.

Mekanisme penjajaran membolehkan padanan subrentetan dalam pangkalan dan teks terjemahan. Ia diperlukan untuk menterjemah teks berformat, seperti halaman web, apabila subrentetan dalam ayat boleh diserlahkan dalam fon yang berbeza dan harus diterjemahkan dengan penyerlahan.

Dengan mengambil kira parameter rangkaian saraf yang disebutkan di atas, masa terbaik dari jadual pertama ditunjukkan oleh GPU Nvidia H100 dengan masa pembelajaran selama 22 minit, dan masa pertengahan ditunjukkan oleh GPU jenama yang sama GeForce RTX 4060 Ti dengan masa pembelajaran selama 72 minit dan tempat terakhir diambil oleh GPU Tesla V100-SXM 2 dengan masa pembelajaran selama 140 minit.

Terdapat juga lapan kad Nvidia A10 dalam ujian GPU dengan keluk pembelajaran 20 minit dan 28 saat, dua kad Nvidia A40 dengan masa 56 minit, dan dua kad Tesla V100-SXM yang mencatat masa 86 minit. Penggunaan serentak berbilang kad siri GPU yang sama boleh mempercepatkan proses latihan model dan menunjukkan masa yang hampir sama dengan GPU yang mempunyai kapasiti yang lebih tinggi, tetapi teknik sedemikian mungkin tidak cukup rasional dari segi kewangan dan prosedur. Keputusan pengukuran kelajuan pembelajaran boleh diperhatikan dalam Jadual nombor 3.

Jadual 3 - Pengukuran masa latihan pada peta grafik yang digunakan sebelum ini
 

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


Seterusnya, mari kita jalankan analisis perbandingan pedal gas grafik yang sedang digunakan (Jadual 2). Bagi kumpulan pemproses grafik ini, pengukuran kelajuan dilakukan menggunakan penjajaran mekanisme, serta menggunakan FP16 dan FP32. Pengukuran kelajuan termasuk mekanisme ini dan ketepatan campuran akan dibentangkan di bawah dalam Jadual 4 dan 5 masing-masing.

Jadi, setelah mengukur kelajuan GPU dari jadual ini, kita boleh mengatakan bahawa tempat pertama telah diambil oleh GPU siri RTX A4500 dengan masa latihan selama 31 minit, tetapi perlu ditekankan bahawa kelajuan model latihan sedemikian diperolehi oleh meningkatkan bilangan unit GPU terpakai sehingga 4. Tanpa mengambil kira fakta ini, kelajuan latihan GPU yang disebutkan di atas akan menjadi lebih tinggi, yang akan meletakkannya di tempat kedua terakhir dalam jadual akhir.

Gpu siri Quadro RTX 6000 dengan masa pembelajaran selama 47 minit berada di tempat kedua. Perlu diingatkan bahawa kelajuan latihan sedemikian dikondisikan secara songsang oleh bilangan unit pemproses yang digunakan, yang sama dengan empat. Menggunakan hanya satu GPU sedemikian akan memberikan kehilangan kelajuan kira-kira 3.2 kali dan akibatnya adalah kira-kira 153 minit dan meletakkannya di tempat terakhir.

Baris ketiga diambil oleh GPU siri TITAN RTX dengan masa 75 minit dan 85 saat. Skor kelajuan pembelajaran ini disebabkan oleh penggunaan 2 pemproses, yang mengurangkan masa latihan model.

Peneraju yang tidak boleh dipertikaikan dari segi kelajuan latihan dalam bilangan satu unit pastinya ialah GPU siri GeForce RTX 3090 dengan masa 78 minit dan 26 saat. Menambah bilangan unit GPU ini akan mempercepatkan kelajuan latihan model, yang jelas akan mengatasi semua model GPU yang disebutkan di atas. Data tentang ukuran masa latihan model boleh dilihat dalam Jadual 4.

Jadual 4 - Analisis perbandingan kelajuan latihan model bahasa pada GPU yang digunakan sebelum ini
 

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 kelajuan latihan berikut dilakukan menggunakan FP16. Berbanding dengan FP32, separuh ketepatan membolehkan mengurangkan jumlah memori yang digunakan semasa latihan model dan mempercepatkan pengiraan pada GPU. Ketepatan perwakilan akan lebih rendah daripada penggunaan FP32.

Mengukur masa latihan model menggunakan FP32 dari jadual sebelumnya, kita boleh mengatakan bahawa masa latihan rangkaian saraf telah dikurangkan hampir dua kali ganda. Berdasarkan keputusan pengukuran prestasi, kita boleh perhatikan daripada penanda aras GPU pembelajaran mesin dalam Jadual 4 bahawa kedudukan GPU sebahagian besarnya kekal tidak berubah. Kad siri Quadro RTX 6000 naik dari kedudukan kelima ke kedudukan keenam, menewaskan GPU GeForce RTX 3090 sebanyak 96 saat. Nombor akhir ditunjukkan dalam Jadual 5.

Jadual 5 - Analisis perbandingan kelajuan latihan model bahasa pada GPU yang digunakan sebelum ini
 

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

Soalan Lazim (FAQ)

Adakah berbaloi untuk membeli GPU untuk pembelajaran mendalam?

Membeli GPU untuk pembelajaran mendalam boleh meningkatkan kelajuan dan kecekapan latihan dengan ketara, menjadikannya pelaburan yang berbaloi untuk projek yang serius. Walau bagaimanapun, keputusan itu harus mempertimbangkan faktor seperti belanjawan, kes penggunaan khusus dan sama ada penyelesaian awan mungkin lebih menjimatkan kos.

Gpu manakah yang terbaik untuk pembelajaran mendalam?

Nvidia A100 sering dianggap sebagai pilihan utama untuk pembelajaran mendalam, menawarkan prestasi dan ingatan yang luar biasa untuk model besar. Bagi pengguna yang mementingkan bajet, NVIDIA RTX 3090 menyediakan keupayaan yang kukuh untuk model latihan dengan berkesan.

Adakah AMD atau NVIDIA lebih baik untuk pembelajaran mendalam?

NVIDIA biasanya lebih disukai untuk pembelajaran mendalam kerana ekosistem perisiannya yang teguh, yang meningkatkan prestasi dan keserasian dengan rangka kerja popular. Walaupun GPU AMD telah bertambah baik, mereka masih ketinggalan di belakang NVIDIA dari segi pengoptimuman dan sokongan untuk aplikasi pembelajaran mendalam.

Adakah GPU membantu dalam NLP?

Ya, GPU mempercepatkan latihan rangkaian saraf dalam pemprosesan bahasa semula jadi (NLP) dengan ketara dengan mengendalikan pengiraan selari dengan cekap. Peningkatan kelajuan ini membolehkan percubaan dan lelaran yang lebih pantas, yang membawa kepada prestasi model yang lebih baik dan mengurangkan masa latihan.

Bacaan yang lebih menarik menanti

Apakah Pengecaman Ucapan Di Premis?

Apakah Pengecaman Ucapan Di Premis?

September 19, 2024

Menilai Kepentingan Statistik dalam Sistem Terjemahan

Menilai Kepentingan Statistik dalam Sistem Terjemahan

September 10, 2024

Pengiktirafan Pertuturan dalam Pemasaran

Pengiktirafan Pertuturan dalam Pemasaran

August 23, 2024

Hubungi kami

0/250
* Menunjukkan medan yang diperlukan

Privasi anda adalah amat penting kepada kami; data anda akan digunakan semata-mata untuk tujuan hubungan.

E-mel

Selesai

Permintaan anda telah berjaya dihantar

× 
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.