Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SynapseML (прежнее название — MMLSpark) — это библиотека с открытым кодом, которая упрощает создание конвейеров машинного обучения с активным масштабированием. SynapseML предоставляет простые, составные и распределенные API для различных задач машинного обучения, таких как анализ текста, визуальное распознавание, обнаружение аномалий и многое другое. Библиотека SynapseML создана на платформе распределенных вычислений Apache Spark и использует тот же API, что и библиотека SparkML/MLLib, что позволяет легко внедрять модели SynapseML в существующие рабочие процессы Apache Spark.
С помощью SynapseML можно создавать масштабируемые и интеллектуальные системы для решения задач в таких областях, как обнаружение аномалий, компьютерное зрение, глубокое обучение, анализ текста и другие. SynapseML может обучать и оценивать модели в кластерах компьютеров с одним узлом, несколькими узлами и с гибким изменением размера. Это позволяет масштабировать рабочую нагрузку, не расходуя ресурсы впустую. SynapseML можно использовать с Python, R, Scala, Java и .NET. Кроме того, API этой библиотеки предоставляет абстракцию на основе широкого набора баз данных, файловых систем и облачных хранилищ данных, чтобы упростить эксперименты независимо от расположения данных.
Для SynapseML требуется Scala 2.12, Spark 3.0 и Python 3.6+.
Основные возможности SynapseML
Единый API для создания, обучения и оценки моделей
SynapseML предлагает единый API, который упрощает разработку отказоустойчивых распределенных программ. В частности, SynapseML предоставляет множество различных платформ машинного обучения в рамках одного API, который поддерживает масштабирование, не зависит от данных и языка и работает для приложений пакетной обработки, потоковой передачи и обслуживания.
Единый API стандартизирует множество инструментов, платформ, алгоритмов и упрощает процесс распределенного машинного обучения. Он позволяет разработчикам быстро объединять различные платформы машинного обучения, поддерживает чистоту кода, а также поддерживает рабочие процессы, для которых требуется несколько платформ. Например, для таких рабочих процессов, как обучение в реальном времени с учителем или создание поисковой системы, требуется несколько служб и платформ. SynapseML помогает избавиться от излишней сложности для пользователей.
Использование предварительно созданных интеллектуальных моделей
Многие средства в SynapseML не требуют большого обучающего набора данных с метками. Вместо этого SynapseML предоставляет простые API-интерфейсы для предварительно созданных интеллектуальных служб, таких как службы искусственного интеллекта Azure, для быстрого решения крупномасштабных задач искусственного интеллекта, связанных как с бизнесом, так и с исследованиями. SynapseML позволяет разработчикам внедрить более 50 современных служб машинного обучения непосредственно в свои системы и базы данных. Эти готовые алгоритмы могут анализировать различные документы, транскрибировать беседы с несколькими участниками в реальном времени и переводить текст на более чем 100 различных языков. Для получения дополнительных примеров того, как использовать предварительно построенный ИИ для быстрого решения задач, см. когнитивные примеры SynapseML.
Чтобы сделать интеграцию SynapseML со службами ИИ Azure быстрой и эффективной, SynapseML представляет множество оптимизаций для рабочих процессов, ориентированных на обслуживание. В частности, SynapseML автоматически анализирует распространенные ответы на избыточную нагрузку, чтобы убедиться, что задания не перегружают серверные службы. Кроме того, она использует экспоненциальные откаты для обработки ненадежных сетевых подключений и ошибочных ответов. Наконец, рабочие машины Spark остаются заняты новыми примитивами асинхронного параллелизма для Spark. Асинхронный параллелизм позволяет рабочим машинам отправлять запросы во время ожидания ответа от сервера и может обеспечить десятикратное увеличение пропускной способности.
Широкая совместимость экосистем с ONNX
SynapseML позволяет разработчикам использовать модели из различных экосистем машинного обучения с помощью платформы Open Neural Network Exchange (ONNX). Благодаря этой интеграции вы можете выполнять различные классические модели обучения и модели глубокого обучения в большом масштабе с помощью всего нескольких строк кода. SynapseML автоматически выполняет распределение моделей ONNX на рабочие узлы, пакетную обработку и буферизацию входных данных для высокой пропускной способности и планирование работы с аппаратными ускорителями.
Включение ONNX в Spark не только помогает разработчикам масштабировать модели глубокого обучения, но и обеспечивает распределенный вывод в различных экосистемах машинного обучения. В частности, ONNXMLTools преобразовывает модели из TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O и PyTorch в ONNX для ускоренного и распределенного вывода с помощью SynapseML.
Создание систем с ответственным использованием ИИ
После создания модели необходимо, чтобы исследователи и инженеры понимали свои ограничения и поведение перед развертыванием. Библиотека SynapseML помогает разработчикам и исследователям создавать системы с ответственным использованием ИИ, так как в ней внедрены новые инструменты, которые помогают понять, почему модели делают определенные прогнозы и как улучшить обучающий набор данных для устранения смещений. SynapseML значительно ускоряет процесс понимания обученной модели пользователя, позволяя разработчикам распределять вычисления по сотням компьютеров. В частности, SynapseML включает распределенные реализации Shapley Additive Explanations (SHAP) и Locally Interpretable Model-Agnostic Explanations (LIME) для понимания прогнозов, выполняемых табличными моделями, моделями распознавания текста и визуального распознавания. Эта библиотека также включает такие инструменты, как Individual Conditional Expectation (ICE) и анализ частичной зависимости для распознавания смещенных наборов данных.
Корпоративная поддержка в Azure Synapse Analytics
Библиотека SynapseML общедоступна в Azure Synapse Analytics с корпоративной поддержкой. Вы можете создавать крупномасштабные конвейеры машинного обучения с помощью служб ИИ Azure, LightGBM, ONNX и других выбранных функций SynapseML. Она даже включает шаблоны для быстрого прототипирования распределенных систем машинного обучения, таких как визуальные поисковые системы, конвейеры прогнозного обслуживания, перевод документов и многое другое.
Следующие шаги
Дополнительные сведения о SynapseML см. в статье SynapseML: простая, многоязычная и массовая библиотека машинного обучения.