Apa itu SynapseML?

SynapseML (sebelumnya dikenal sebagai MMLSpark), adalah pustaka sumber terbuka yang menyederhanakan pembuatan alur pembelajaran mesin (ML) yang dapat diskalakan secara besar-besaran. SynapseML menyediakan API sederhana, dapat disusun, dan didistribusikan untuk berbagai tugas pembelajaran mesin yang berbeda seperti analitik teks, visi, deteksi anomali, dan banyak lainnya. SynapseML dibangun pada kerangka kerja komputasi terdistribusi Apache Spark dan berbagi API yang sama dengan pustaka SparkML/MLLib, memungkinkan Anda menyematkan model SynapseML dengan mulus ke dalam alur kerja Apache Spark yang ada.

Dengan SynapseML, Anda dapat membangun sistem yang dapat diskalakan dan cerdas untuk menyelesaikan tantangan di domain seperti deteksi anomali, visi komputer, pembelajaran mendalam, analitik teks, dan lainnya. SynapseML dapat melatih dan mengevaluasi model pada kluster komputer simpul tunggal, multi-simpul, dan yang dapat diubah ukurannya secara elastis. Ini memungkinkan Anda menskalakan pekerjaan Anda tanpa membuang-buang sumber daya. SynapseML dapat digunakan di seluruh Python, R, Scala, Java, dan .NET. Selain itu, API-nya mengabstraksi berbagai database, sistem file, dan penyimpanan data cloud untuk menyederhanakan eksperimen di mana pun data berada.

SynapseML memerlukan Scala 2.12, Spark 3.0+, dan Python 3.6+.

Fitur utama SynapseML

API terpadu untuk membuat, melatih, dan menilai model

SynapseML menawarkan API terpadu yang menyederhanakan pengembangan program terdistribusi yang toleran terhadap kesalahan. Secara khusus, SynapseML memaparkan banyak kerangka kerja pembelajaran mesin yang berbeda di bawah satu API yang dapat diskalakan, data dan bahasa agnostik, dan berfungsi untuk aplikasi batch, streaming, dan penyajian.

API terpadu menstandarkan banyak alat, kerangka kerja, algoritma, dan menyederhanakan pengalaman pembelajaran mesin terdistribusi. Ini memungkinkan pengembang untuk dengan cepat menyusun kerangka kerja pembelajaran mesin yang berbeda, menjaga kode tetap bersih, dan memungkinkan alur kerja yang memerlukan lebih dari satu kerangka kerja. Misalnya, alur kerja seperti pembelajaran yang diawasi web atau pembuatan mesin pencari memerlukan beberapa layanan dan kerangka kerja. SynapseML melindungi pengguna dari kompleksitas ekstra ini.

Menggunakan model cerdas bawaan

Banyak alat di SynapseML tidak memerlukan himpunan data pelatihan berlabel besar. Sebagai gantinya, SynapseML menyediakan API sederhana untuk layanan cerdas bawaan, seperti Foundry Tools, untuk menyelesaikan tantangan AI skala besar yang terkait dengan bisnis dan penelitian dengan cepat. SynapseML memungkinkan pengembang untuk menyematkan lebih dari 50 layanan ML canggih yang berbeda langsung ke dalam sistem dan database mereka. Algoritma siap pakai ini dapat mengurai berbagai dokumen, mentranskripsikan percakapan multi-pembicara secara real time, dan menerjemahkan teks ke lebih dari 100 bahasa yang berbeda. Untuk contoh selengkapnya tentang cara menggunakan AI bawaan untuk menyelesaikan tugas dengan cepat, lihat contoh "kognitif" SynapseML.

Untuk membuat integrasi SynapseML dengan Foundry Tools cepat dan efisien SynapseML memperkenalkan banyak pengoptimalan untuk alur kerja berorientasi layanan. Secara khusus, SynapseML secara otomatis mengurai respons pembatasan umum untuk memastikan bahwa tugas tidak membebani layanan backend. Selain itu, sistem menggunakan penundaan eksponensial untuk menangani koneksi jaringan yang tidak dapat diandalkan dan respons yang gagal. Akhirnya, mesin pekerja Spark tetap sibuk dengan primitif paralelisme asinkron baru untuk Spark. Paralelisme asinkron memungkinkan mesin pekerja mengirim permintaan sambil menunggu respons dari server dan dapat menghasilkan peningkatan throughput sepuluh kali lipat.

Kompatibilitas ekosistem yang luas dengan ONNX

SynapseML memungkinkan pengembang untuk menggunakan model dari berbagai ekosistem ML melalui kerangka kerja Open Neural Network Exchange (ONNX). Dengan integrasi ini, Anda dapat menjalankan berbagai model pembelajaran klasik dan mendalam dalam skala besar hanya dengan beberapa baris kode. SynapseML secara otomatis menangani pendistribusian model ONNX ke simpul pekerja, pembagian dan pembufferan data masukan untuk throughput tinggi, dan penjadwalan pengolahan pada akselerator perangkat keras.

Membawa ONNX ke Spark tidak hanya membantu pengembang menskalakan model pembelajaran mendalam, tetapi juga memungkinkan inferensi terdistribusi di berbagai ekosistem ML. Secara khusus, ONNXMLTools mengonversi model dari TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O, dan PyTorch ke ONNX untuk inferensi yang dipercepat dan terdistribusi menggunakan SynapseML.

Membangun sistem AI yang bertanggung jawab

Setelah membangun model, sangat penting bagi peneliti dan insinyur untuk memahami batasan dan perilakunya sebelum penyebaran. SynapseML membantu pengembang dan peneliti membangun sistem AI yang bertanggung jawab dengan memperkenalkan alat baru yang mengungkapkan mengapa model membuat prediksi tertentu dan cara meningkatkan himpunan data pelatihan untuk menghilangkan bias. SynapseML secara dramatis mempercepat proses pemahaman model terlatih pengguna dengan memungkinkan pengembang mendistribusikan komputasi di ratusan komputer. Lebih khusus lagi, SynapseML mencakup implementasi terdistribusi dari Shapley Additive Explanations (SHAP) dan Locally Interpretable Model-Agnostic Explanations (LIME) untuk menjelaskan prediksi visi, teks, dan model tabular. Ini juga termasuk alat seperti Ekspektasi Kondisional Individual (ICE) dan analisis ketergantungan parsial untuk mengenali data set yang bias.

Dukungan perusahaan di Azure Synapse Analytics

SynapseML umumnya tersedia di Azure Synapse Analytics dengan dukungan perusahaan. Anda dapat membangun alur pembelajaran mesin skala besar menggunakan Foundry Tools, LightGBM, ONNX, dan fitur SynapseML pilihan lainnya. Ini bahkan mencakup templat untuk membuat prototipe sistem pembelajaran mesin terdistribusi dengan cepat, seperti mesin pencari visual, alur pemeliharaan prediktif, terjemahan dokumen, dan banyak lagi.

Langkah selanjutnya