Bagikan melalui


Apa itu SynapseML?

SynapseML (sebelumnya dikenal sebagai MMLSpark), adalah pustaka sumber terbuka yang menyederhanakan pembuatan alur pembelajaran mesin (ML) yang dapat diskalakan secara massal. SynapseML menyediakan API simpel, dapat disusun, dan didistribusikan untuk berbagai tugas pembelajaran mesin yang berbeda seperti analitik teks, visual, deteksi anomali, dan sebagainya. SynapseML dibuat di kerangka kerja komputasi terdistribusi Apache Spark dan berbagi API yang sama dengan pustaka SparkML/MLLib, memungkinkan Anda menyematkan model SynapseML dengan lancar ke dalam alur kerja Apache Spark yang ada.

Dengan SynapseML, Anda dapat membuat sistem yang dapat diskalakan dan cerdas untuk menyelesaikan tantangan di domain seperti deteksi anomali, visual komputer, pembelajaran mendalam, analitik teks, dan lainnya. SynapseML dapat melatih dan mengevaluasi model pada kluster komputer node tunggal, multi node, dan yang dapat diubah ukurannya secara elastis. Hal 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 mengekspos banyak kerangka kerja pembelajaran mesin yang berbeda di bawah satu API yang dapat diskalakan, agnostik data dan bahasa, dan berfungsi untuk aplikasi batch, streaming, dan penayangan.

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 penelusuran 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 layanan Azure AI, 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 layanan Azure AI cepat dan efisien SynapseML memperkenalkan banyak pengoptimalan untuk alur kerja berorientasi layanan. Secara khusus, SynapseML secara otomatis mengurai respons pembatasan umum untuk memastikan bahwa pekerjaan tidak membuat layanan backend kewalahan. Selain itu, SynapseML menggunakan back-off 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 untuk 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 node pekerja, batching dan buffering data input untuk throughput tinggi, dan penjadwalan pekerjaan 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 bahwa peneliti dan insinyur memahami keterbatasan 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 khususnya, SynapseML mencakup implementasi terdistribusi dari Shapley Additive Explanations (SHAP) dan Locally Interpretable Model-Agnostic Explanations (LIME) untuk menjelaskan prediksi visual, teks, dan model tabular. Ini juga mencakup alat seperti Individual Conditional Expectation (ICE) dan analisis dependensi parsial untuk himpunan data bias yang dikenali.

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 layanan Azure AI, LightGBM, ONNX, dan fitur SynapseML pilihan lainnya. 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 berikutnya