SynapseML nedir?

SynapseML (eski adıyla MMLSpark), yüksek düzeyde ölçeklenebilir makine öğrenmesi (ML) işlem hatlarının oluşturulmasını kolaylaştıran açık kaynak bir kitaplıktır. SynapseML metin analizi, görüntü işleme, anomali algılama gibi çok çeşitli makine öğrenmesi görevleri için basit, birleştirilebilir ve dağıtılmış API'ler sağlar. SynapseML, Apache Spark dağıtılmış bilgi işlem çerçevesi üzerine kurulmuştur ve SparkML/MLLib kitaplığıyla aynı API'yi paylaşarak SynapseML modellerini mevcut Apache Spark iş akışlarına sorunsuz bir şekilde eklemenizi sağlar.

SynapseML ile anomali algılama, görüntü işleme, derin öğrenme, metin analizi ve diğerleri gibi etki alanlarındaki zorlukları çözmek için ölçeklenebilir ve akıllı sistemler oluşturabilirsiniz. SynapseML tek düğümlü, çok düğümlü ve esnek olarak yeniden boyutlandırılabilir bilgisayar kümelerinde modelleri eğitebilir ve değerlendirebilir. Bu sayede kaynakları boşa harcamadan çalışmanızı ölçeklendirin. SynapseML Python, R, Scala, Java ve .NET genelinde kullanılabilir. Ayrıca API'si, verilerin nerede olduğuna bakılmaksızın denemeleri basitleştirmek için çok çeşitli veritabanları, dosya sistemleri ve bulut veri depolarını özetler.

SynapseML için Scala 2.12, Spark 3.0+ ve Python 3.6+ gerekir.

SynapseML'nin temel özellikleri

Model oluşturmaya, eğitip puanlamaya yönelik birleşik BIR API

SynapseML, hataya dayanıklı dağıtılmış programlar geliştirmeyi kolaylaştıran birleşik bir API sunar. Özellikle SynapseML ölçeklenebilir, veri ve dil belirsiz olan ve toplu iş, akış ve hizmet uygulamaları için çalışan tek bir API altında birçok farklı makine öğrenmesi çerçevesini kullanıma sunar.

Birleşik API birçok aracı, çerçeveyi, algoritmayı standartlaştırır ve dağıtılmış makine öğrenmesi deneyimini kolaylaştırır. Geliştiricilerin farklı makine öğrenmesi çerçevelerini hızla oluşturmasını, kodu temiz tutarak birden fazla çerçeve gerektiren iş akışlarını etkinleştirmesini sağlar. Örneğin, web denetimli öğrenme veya arama altyapısı oluşturma gibi iş akışları birden çok hizmet ve çerçeve gerektirir. SynapseML, kullanıcıları bu ek karmaşıklıktan korur.

Önceden oluşturulmuş akıllı modelleri kullanma

SynapseML'deki birçok araç büyük etiketli bir eğitim veri kümesi gerektirmez. Bunun yerine SynapseML, hem iş hem de araştırmayla ilgili büyük ölçekli yapay zeka zorluklarını hızla çözmek için Foundry Araçları gibi önceden oluşturulmuş akıllı hizmetler için basit API'ler sağlar. SynapseML, geliştiricilerin sistemlerine ve veritabanlarına doğrudan 50'den fazla farklı son model ML hizmeti eklemesini sağlar. Bu kullanıma hazır algoritmalar çok çeşitli belgeleri ayrıştırabilir, çok konuşmacılı konuşmaları gerçek zamanlı olarak dönüştürebilir ve metni 100'den fazla farklı dile çevirebilir. Görevleri hızla çözmek için önceden oluşturulmuş yapay zekanın nasıl kullanılacağına ilişkin daha fazla örnek için SynapseML "bilişsel" örneklerine bakın.

SynapseML'nin Foundry Tools ile hızlı ve verimli bir şekilde tümleştirilmesi için SynapseML, hizmet odaklı iş akışları için birçok iyileştirme sağlar. Özellikle SynapseML, işlerin arka uç hizmetlerini aşırı yüklememesini sağlamak için yaygın hız sınırlama yanıtlarını otomatik olarak ayrıştırır. Ayrıca, güvenilir olmayan ağ bağlantılarını ve başarısız yanıtları işlemek için üstel geri çekilmeleri kullanır. Son olarak Spark'ın işçi makineleri, Spark için yeni eşzamansız paralellik ilkeleri ile meşgul olur. Zaman uyumsuz paralellik, çalışan makinelerin sunucudan yanıt beklerken istek göndermesine olanak tanır ve aktarım hızındaki on kat artışa neden olabilir.

ONNX ile geniş ekosistem uyumluluğu

SynapseML, geliştiricilerin Açık Sinir Ağı Değişimi (ONNX) çerçevesi aracılığıyla birçok farklı ML ekosisteminden model kullanmasını sağlar. Bu tümleştirmeyle, yalnızca birkaç satır kodla büyük ölçekte çok çeşitli klasik ve derin öğrenme modelleri yürütebilirsiniz. SynapseML, ONNX modellerini çalışan düğümlerine dağıtmayı, yüksek aktarım hızı için giriş verilerini toplu işleyip arabelleğe almayı ve donanım hızlandırıcılarında çalışmayı zamanlamayı otomatik olarak işler.

ONNX'i Spark'a getirmek, geliştiricilerin derin öğrenme modellerini ölçeklendirmesine yardımcı olmakla birlikte, çok çeşitli ML ekosistemlerinde dağıtılmış çıkarım sağlar. Özellikle ONNXMLTools, SynapseML kullanarak hızlandırılmış ve dağıtılmış çıkarım için TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O ve PyTorch modellerini ONNX'e dönüştürür.

Sorumlu yapay zeka sistemleri oluşturma

Model derledikten sonra, araştırmacıların ve mühendislerin dağıtımdan önce sınırlamalarını ve davranışını anlaması şarttır. SynapseML, modellerin neden belirli tahminlerde bulunduğunu ve yanlılıkları ortadan kaldırmak için eğitim veri kümesini nasıl geliştireceklerini ortaya koyan yeni araçlar sunarak geliştiricilerin ve araştırmacıların sorumlu yapay zeka sistemleri oluşturmasına yardımcı olur. SynapseML, geliştiricilerin yüzlerce makineye hesaplama dağıtmasını sağlayarak kullanıcının eğitilen modelini anlama sürecini önemli ölçüde hızlandırır. Daha açık belirtmek gerekirse SynapseML, görme, metin ve tablosal modellerin tahminlerini açıklamak için Shapley Eklemeli Açıklamaları (SHAP) ve Yerel Olarak Yorumlanabilir Model-Agnostic Açıklamaları'nın (LIME) dağıtılmış uygulamalarını içerir. Ayrıca Bağımsız Koşullu Beklenti (ICE) ve tanınan taraflı veri kümelerine yönelik kısmi bağımlılık analizi gibi araçları da içerir.

Azure Synapse Analytics'te kurumsal destek

SynapseML, kurumsal destekle Azure Synapse Analytics'te genel olarak kullanılabilir. Döküm Araçları, LightGBM, ONNX ve seçili diğer SynapseML özelliklerini kullanarak büyük ölçekli makine öğrenmesi işlem hatları oluşturabilirsiniz. Görsel arama motorları, tahmine dayalı bakım işlem hatları, belge çevirisi ve daha fazlası gibi dağıtılmış makine öğrenmesi sistemlerinin prototiplerini hızlı bir şekilde oluşturma şablonları bile içerir.

Sonraki adımlar