OK, jawaban baru untuk pertanyaan lama tetapi bahkan lebih relevan sekarang. Pertanyaan yang Anda ajukan berkaitan dengan ketepatan terbatas, biasanya bidang analisis sinyal dan matematika eksperimental.
Double precision (DP) float, mari kita berpura-pura bahwa masalah presisi hingga tidak ada, sama seperti yang kita lakukan pada kebanyakan masalah matematika dunia nyata. Dalam matematika eksperimental tidak ada yang pura-pura.
Pelampung presisi tunggal (SP) memaksa kita untuk mempertimbangkan derau kuantisasi. Jika model pembelajaran mesin kami secara inheren menolak kebisingan, seperti jaring saraf (NN), jaring konvolusional (CNN), jaring residual (ResN), dll, maka SP paling sering memberikan hasil yang mirip dengan DP.
Float setengah presisi (HP) (sekarang didukung dalam cuda toolkit 7.5) mensyaratkan agar efek kuantisasi (kebisingan dan pembulatan) dipertimbangkan. Kemungkinan besar kita akan segera melihat HP mengapung di toolkit pembelajaran mesin umum.
Ada pekerjaan baru-baru ini untuk membuat perhitungan presisi yang lebih rendah di float serta angka presisi tetap. Pembulatan stokastik telah memungkinkan konvergensi untuk melanjutkan dengan CNN sedangkan solusinya berbeda tanpa itu. Makalah ini akan membantu Anda meningkatkan pemahaman Anda tentang masalah dengan penggunaan angka presisi hingga dalam pembelajaran mesin.
Untuk menjawab pertanyaan Anda:
SP tidak terlalu buruk. Saat Anda menunjukkannya dua kali lebih cepat, tetapi juga memungkinkan Anda untuk menempatkan lebih banyak lapisan ke dalam memori. Bonus ada dalam menghemat overhead mendapatkan data dan mematikan GPU. Komputasi yang lebih cepat dan overhead yang lebih rendah menghasilkan waktu konvergensi yang lebih rendah. Konon, HP, untuk beberapa masalah, akan lebih baik di beberapa bagian jaringan dan tidak di yang lain.
- Menurut saya banyak toolkit pembelajaran mesin menangani SP dan DP. Mungkin orang lain dengan pengalaman yang lebih luas dengan toolkit ini akan menambahkan nickle mereka.
- Python akan mendukung apa yang didukung gpu toolkit. Anda tidak ingin menggunakan tipe data python karena Anda akan menjalankan skrip yang ditafsirkan pada cpu.
Perhatikan bahwa tren dalam jaringan saraf sekarang adalah untuk pergi dengan lapisan yang sangat dalam, dengan berjalan lebih dari beberapa hari umum pada kelompok GPU tercepat.