Penterjemah |. Bugatti
Penilai |. Kami teruja dengan siri acara besar, daripada AlphaGo hingga DELL-E 2. Banyak produk atau perkhidmatan yang didorong oleh kecerdasan buatan (AI) telah muncul dalam kehidupan seharian, termasuk peranti Alexa, pengesyoran pengiklanan, robot gudang dan kereta pandu sendiri.
Dalam beberapa tahun kebelakangan ini, saiz model pembelajaran mendalam telah berkembang dengan pesat. Ini bukan berita: model Wu Dao 2.0 mengandungi 1.75 trilion parameter, dan latihan GPT-3 pada 240 ml.p4d.24x besar dalam platform latihan SageMaker hanya mengambil masa kira-kira 25 hari.
Tetapi apabila latihan pembelajaran mendalam dan penggunaan berkembang, ia menjadi semakin mencabar. Apabila model pembelajaran mendalam berkembang, kebolehskalaan dan kecekapan ialah dua cabaran utama dalam latihan dan penggunaan.
Artikel ini akan meringkaskan lima jenis utama pemecut pembelajaran mesin (ML).
Fahami kitaran hayat ML dalam kejuruteraan AI
Sebelum memperkenalkan pemecut ML secara menyeluruh, anda juga boleh melihat kitaran hayat ML.
MLOps boleh mengautomasikan proses penempatan model ML. Walau bagaimanapun, disebabkan sifat operasinya, ia terhad kepada proses mendatar aliran kerja AI dan tidak boleh menambah baik latihan dan penggunaan secara asas.
Kejuruteraan AI melangkaui skop MLOps Ia boleh mereka bentuk proses aliran kerja pembelajaran mesin serta seni bina latihan dan penggunaan secara keseluruhan (mendatar dan menegak). Selain itu, ia mempercepatkan penggunaan dan latihan melalui orkestrasi yang cekap bagi keseluruhan kitaran hayat ML.
Berdasarkan kitaran hayat ML holistik dan kejuruteraan AI, terdapat lima jenis utama pemecut ML (atau aspek pecutan): pemecut perkakasan, platform pengkomputeran AI, rangka kerja AI, penyusun ML dan perkhidmatan awan. Mula-mula lihat rajah hubungan di bawah.
Rajah 1. Hubungan antara latihan dan pemecut penggunaan
Kita dapat melihat bahawa pemecut perkakasan dan rangka kerja AI adalah arus perdana bagi pecutan . Tetapi baru-baru ini, penyusun ML, platform pengkomputeran AI dan perkhidmatan awan ML telah menjadi semakin penting.
Diperkenalkan satu persatu di bawah.
1. Rangka Kerja AI
Apabila ia berkaitan dengan mempercepatkan latihan dan penggunaan ML, memilih rangka kerja AI yang betul tidak boleh dielakkan. Malangnya, tiada rangka kerja AI yang sempurna atau optimum untuk semua. Tiga rangka kerja AI yang digunakan secara meluas dalam penyelidikan dan pengeluaran ialah TensorFlow, PyTorch dan JAX. Mereka masing-masing cemerlang dalam aspek yang berbeza, seperti kemudahan penggunaan, kematangan produk dan kebolehskalaan.
TensorFlow:TensorFlow ialah rangka kerja AI perdana. TensorFlow telah menguasai komuniti sumber terbuka pembelajaran mendalam dari awal. TensorFlow Serving ialah platform yang jelas dan matang. Untuk Internet dan IoT, TensorFlow.js dan TensorFlow Lite juga matang.
Tetapi disebabkan oleh pengehadan penerokaan awal pembelajaran mendalam, TensorFlow 1.x telah direka bentuk untuk membina graf statik dengan cara bukan Python. Ini menjadi penghalang kepada penilaian segera menggunakan mod "bersemangat", yang membolehkan PyTorch bertambah baik dengan pantas dalam bidang penyelidikan. TensorFlow 2.x cuba mengejar, tetapi malangnya menaik taraf daripada TensorFlow 1.x kepada 2.x adalah menyusahkan. TensorFlow juga memperkenalkan Keras untuk memudahkan penggunaan secara keseluruhan, dan XLA (Accelerated Linear Algebra), penyusun pengoptimuman, untuk mempercepatkan lapisan bawah.
PyTorch:Dengan mod yang bersemangat dan pendekatan seperti Python, PyTorch ialah tenaga kerja dalam komuniti pembelajaran mendalam hari ini, digunakan dalam segala-galanya daripada penyelidikan hingga pengeluaran. Selain TorchServe, PyTorch juga menyepadukan dengan platform rangka kerja-agnostik seperti Kubeflow. Selain itu, populariti PyTorch tidak dapat dipisahkan daripada kejayaan perpustakaan Transformers Hugging Face.
JAX: Google memperkenalkan JAX, NumPy dipercepatkan peranti dan JIT. Sama seperti yang dilakukan oleh PyTorch beberapa tahun yang lalu, ia adalah rangka kerja pembelajaran mendalam yang lebih asli yang semakin popular dalam komuniti penyelidikan. Tetapi ia belum lagi menjadi produk Google "rasmi", seperti yang didakwa Google.
2. Pemecut perkakasan Tidak syak lagi bahawa GPU NVIDIA boleh mempercepatkan latihan pembelajaran mendalam, tetapi ia pada asalnya direka untuk kad video.
Hari ini, NVIDIA menyokong pelbagai GPU daripada desktop ke mudah alih, stesen kerja, stesen kerja mudah alih, konsol permainan dan pusat data.
Dengan kejayaan besar NVIDIA GPU, tidak ada kekurangan pengganti di sepanjang perjalanan, seperti GPU AMD dan TPU ASIC Google.
Seperti yang dinyatakan di atas, kelajuan latihan dan penggunaan ML sebahagian besarnya bergantung pada perkakasan (seperti GPU dan TPU). Platform pemacu ini (iaitu, platform pengkomputeran AI) adalah penting untuk prestasi. Terdapat dua platform pengkomputeran AI yang terkenal: CUDA dan OpenCL.
CUDA: CUDA (Compute Unified Device Architecture) ialah paradigma pengaturcaraan selari yang dikeluarkan oleh NVIDIA pada tahun 2007. Ia direka untuk pelbagai aplikasi tujuan umum pada pemproses grafik dan GPU. CUDA ialah API proprietari yang hanya menyokong GPU seni bina Tesla NVIDIA. Kad grafik yang disokong oleh CUDA termasuk siri GeForce 8, Tesla dan Quadro.
OpenCL: OpenCL (Open Compute Language) pada asalnya dibangunkan oleh Apple dan kini diselenggara oleh pasukan Khronos untuk pengkomputeran heterogen, termasuk CPU, GPU, DSP dan jenis pemproses lain . Bahasa mudah alih ini cukup boleh disesuaikan untuk membolehkan prestasi tinggi pada setiap platform perkakasan, termasuk GPU Nvidia.
NVIDIA kini mematuhi OpenCL 3.0, tersedia dengan pemacu R465 dan lebih tinggi. Menggunakan OpenCL API, seseorang boleh melancarkan kernel pengiraan yang ditulis dalam subset terhad bahasa pengaturcaraan C pada GPU.
ML compiler memainkan peranan penting dalam mempercepatkan latihan dan penggunaan. Penyusun ML boleh meningkatkan kecekapan penggunaan model berskala besar dengan ketara. Terdapat banyak penyusun popular seperti Apache TVM, LLVM, Google MLIR, TensorFlow XLA, Meta Glow, PyTorch nvFuser dan Intel PlaidML.
Platform dan perkhidmatan awan ML menguruskan platform ML dalam awan. Mereka boleh dioptimumkan dalam beberapa cara untuk meningkatkan kecekapan.
Ambil Amazon SageMaker sebagai contoh. Ini ialah perkhidmatan platform awan ML yang terkemuka. SageMaker menyediakan pelbagai ciri untuk kitaran hayat ML: daripada penyediaan, pembinaan, latihan/penalaan kepada penggunaan/pengurusan.
Ia mengoptimumkan banyak aspek untuk meningkatkan kecekapan latihan dan penggunaan, seperti titik akhir berbilang model pada GPU, latihan kos efektif menggunakan kluster heterogen dan pemproses Graviton proprietari yang sesuai untuk inferens ML berasaskan CPU.
Memandangkan skala latihan dan penggunaan pembelajaran mendalam terus berkembang, cabaran juga semakin meningkat. Meningkatkan kecekapan latihan dan penggunaan pembelajaran mendalam adalah rumit. Berdasarkan kitaran hayat ML, terdapat lima aspek yang boleh mempercepatkan latihan dan penggunaan ML: rangka kerja AI, pemecut perkakasan, platform pengkomputeran, pengkompil ML dan perkhidmatan awan. Kejuruteraan AI boleh menyelaraskan semua ini dan menggunakan prinsip kejuruteraan untuk meningkatkan kecekapan secara menyeluruh.
Tajuk asal: 5 Jenis ML Accelerators, pengarang: Luhui Hu
Atas ialah kandungan terperinci Terangkan secara ringkas lima jenis pemecut pembelajaran mesin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!