Co to jest usługa SynapseML?
SynapseML (wcześniej znany jako MMLSpark) to biblioteka typu open source, która upraszcza tworzenie wysoce skalowalnych potoków uczenia maszynowego (ML). Usługa SynapseML udostępnia proste, komponowalne i rozproszone interfejsy API dla wielu różnych zadań uczenia maszynowego, takich jak analiza tekstu, przetwarzanie obrazów, wykrywanie anomalii i wiele innych. Usługa SynapseML jest oparta na rozproszonej strukturze obliczeniowej platformy Apache Spark i udostępnia ten sam interfejs API co biblioteka SparkML/MLLib, umożliwiając bezproblemowe osadzanie modeli SynapseML w istniejących przepływach pracy platformy Apache Spark.
Dzięki usłudze SynapseML można tworzyć skalowalne i inteligentne systemy, aby rozwiązywać problemy w domenach, takich jak wykrywanie anomalii, przetwarzanie obrazów, uczenie głębokie, analiza tekstu i inne. Usługa SynapseML może trenować i oceniać modele w klastrach z jednym węzłem, wieloma węzłami i elastycznie skalowalnymi klastrami komputerów. Umożliwia to skalowanie pracy bez marnowania zasobów. Język SynapseML można używać w językach Python, R, Scala, Java i .NET. Ponadto jego interfejs API abstrakcji w wielu różnych bazach danych, systemach plików i magazynach danych w chmurze upraszcza eksperymenty bez względu na to, gdzie znajdują się dane.
Język SynapseML wymaga języków Scala 2.12, Spark 3.0+i Python 3.6+.
Najważniejsze funkcje usługi SynapseML
Ujednolicony interfejs API do tworzenia, trenowania i oceniania modeli
Usługa SynapseML oferuje ujednolicony interfejs API, który upraszcza opracowywanie programów rozproszonych odpornych na błędy. W szczególności usługa SynapseML uwidacznia wiele różnych platform uczenia maszynowego w ramach jednego interfejsu API, który jest skalowalny, niezależny od danych i języka oraz działa w przypadku aplikacji wsadowych, przesyłanych strumieniowo i obsługujących aplikacje.
Ujednolicony interfejs API standandaryzuje wiele narzędzi, struktur, algorytmów i usprawnia rozproszone środowisko uczenia maszynowego. Umożliwia deweloperom szybkie tworzenie różnych struktur uczenia maszynowego, zapewnienie czystego kodu i umożliwienie przepływów pracy wymagających więcej niż jednej platformy. Na przykład przepływy pracy, takie jak uczenie nadzorowane w internecie lub tworzenie aparatu wyszukiwania, wymagają wielu usług i struktur. Usługa SynapseML chroni użytkowników przed tą dodatkową złożonością.
Korzystanie ze wstępnie utworzonych inteligentnych modeli
Wiele narzędzi w usłudze SynapseML nie wymaga dużego zestawu danych treningowych z etykietą. Zamiast tego usługa SynapseML udostępnia proste interfejsy API dla wstępnie utworzonych inteligentnych usług, takich jak usługi Azure AI, w celu szybkiego rozwiązywania problemów z sztuczną inteligencją na dużą skalę związanych zarówno z działalnością biznesową, jak i badaniami. Usługa SynapseML umożliwia deweloperom osadzanie ponad 50 różnych najnowocześniejszych usług uczenia maszynowego bezpośrednio w swoich systemach i bazach danych. Te gotowe do użycia algorytmy mogą analizować szeroką gamę dokumentów, transkrybować konwersacje wielo mówiące w czasie rzeczywistym i tłumaczyć tekst na ponad 100 różnych języków. Aby uzyskać więcej przykładów użycia wstępnie utworzonej sztucznej inteligencji do szybkiego rozwiązywania zadań, zobacz przykłady "cognitive" języka SynapseML.
Aby zapewnić szybką i wydajną integrację usługi SynapseML z usługami Azure AI, wprowadzono wiele optymalizacji dla przepływów pracy zorientowanych na usługi. W szczególności usługa SynapseML automatycznie analizuje typowe odpowiedzi ograniczania przepustowości, aby upewnić się, że zadania nie przeciążą usług zaplecza. Ponadto używa wykładniczego wycofywania do obsługi zawodnych połączeń sieciowych i niepomyślnych odpowiedzi. Na koniec maszyny robocze platformy Spark pozostają zajęte nowymi asynchronicznymi elementami pierwotnymi równoległości dla platformy Spark. Asynchroniczna równoległość umożliwia maszynom roboczym wysyłanie żądań podczas oczekiwania na odpowiedź z serwera i może spowodować dziesięciokrotny wzrost przepływności.
Szeroka zgodność ekosystemu z platformą ONNX
Usługa SynapseML umożliwia deweloperom korzystanie z modeli z wielu różnych ekosystemów uczenia maszynowego za pośrednictwem platformy Open Neural Network Exchange (ONNX). Dzięki tej integracji można wykonywać szeroką gamę klasycznych i głębokich modeli uczenia głębokiego na dużą skalę przy użyciu tylko kilku wierszy kodu. Usługa SynapseML automatycznie obsługuje dystrybucję modeli ONNX do węzłów roboczych, dzielenia na partie i buforowania danych wejściowych w celu zapewnienia wysokiej przepływności oraz planowania pracy nad akceleratorami sprzętu.
Wprowadzenie technologii ONNX na platformę Spark nie tylko ułatwia deweloperom skalowanie modeli uczenia głębokiego, ale także umożliwia rozproszone wnioskowanie w wielu różnych ekosystemach uczenia maszynowego. W szczególności onNXMLTools konwertuje modele z TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O i PyTorch na ONNX w celu przyspieszonego i rozproszonego wnioskowania przy użyciu usługi SynapseML.
Tworzenie odpowiedzialnych systemów sztucznej inteligencji
Po utworzeniu modelu konieczne jest, aby naukowcy i inżynierowie zrozumieli swoje ograniczenia i zachowanie przed wdrożeniem. Usługa SynapseML pomaga deweloperom i badaczom tworzyć odpowiedzialne systemy sztucznej inteligencji, wprowadzając nowe narzędzia, które ujawniają, dlaczego modele tworzą pewne przewidywania i jak ulepszyć zestaw danych szkoleniowych w celu wyeliminowania uprzedzeń. Usługa SynapseML znacznie przyspiesza proces zrozumienia wytrenowanego modelu użytkownika, umożliwiając deweloperom dystrybucję obliczeń na setkach maszyn. W szczególności usługa SynapseML obejmuje rozproszone implementacje shapley Add Explanations (SHAP) i Locally Interpretable Model-Agnostic Explanations (LIME) w celu wyjaśnienia przewidywań obrazów, tekstu i modeli tabelarycznych. Obejmuje również narzędzia, takie jak indywidualne oczekiwanie warunkowe (ICE) i analiza częściowej zależności do rozpoznanych zestawów danych stronniczych.
Pomoc techniczna dla przedsiębiorstw w usłudze Azure Synapse Analytics
Usługa SynapseML jest ogólnie dostępna w usłudze Azure Synapse Analytics z pomocą techniczną dla przedsiębiorstw. Potoki uczenia maszynowego na dużą skalę można tworzyć przy użyciu usług Azure AI, LightGBM, ONNX i innych wybranych funkcji synapseML. Zawiera nawet szablony do szybkiego tworzenia prototypów rozproszonych systemów uczenia maszynowego, takich jak wyszukiwarki wizualne, potoki konserwacji predykcyjnej, tłumaczenie dokumentów i nie tylko.
Następne kroki
Aby dowiedzieć się więcej o usłudze SynapseML, zobacz SynapseML: prosta, wielojęzyczna i masowo równoległa biblioteka uczenia maszynowego.
Zainstaluj usługę SynapseML i rozpocznij pracę z przykładami.