Обработка естественного языка (NLP) — хорошо зарекомендовавшая себя область искусственного интеллекта, которая в последние годы добилась огромного успеха. Его приложения также резко возросли с точки зрения инноваций и принятия потребителями. Персональные голосовые помощники и чат-боты являются яркими примерами этого среди многих других. Область НЛП уходит своими корнями в лингвистику и существует уже более 50 лет. Используя НЛП, компьютеры могут понимать естественный язык так же, как и люди, а текст или голосовой ввод преобразуются в читаемый компьютером формат.
НЛП позволяет компьютерам имитировать и понимать наш естественный разговорный язык. Эта область находится на стыке компьютерной лингвистики и статистического машинного обучения. Язык невероятно сложен, особенно разговорный язык. Сарказм, контекст, эмоции, сленг, инсайдерские фразы и значения, которые их связывают, особенно сложны для понимания и анализа для машин. Отраслевые эксперты говорят, что, хотя НЛП выросло с самого начала, его успешная реализация остается одной из самых больших проблем в области больших данных.
NLP включает в себя ряд подходов к моделированию, от глубокого обучения на основе преобразователя до условных случайных полей, каждый из которых может привести к наилучшей возможной производительности для данного размеченного набора данных. Однако никогда заранее не ясно, какой подход даст наилучшую точность для заданного уникального набора данных. Например, если мы создадим модель, которая должна обнаруживать различные темы, такие как женоненавистнические высказывания, расовая несправедливость или другие категории, связанные с языком ненависти, процесс разработки точной модели для выявления этих тем требует тестирования сотен различных подходов. Следовательно, нам приходится проводить сотни проб и экспериментов, чтобы найти наиболее точный подход.
АвтоНЛП
Чтобы решить все эти проблемы, NeuralSpace разработала собственный независимый от языка AutoNLP: алгоритм, который определяет, какой конвейер обучения, метод, функции, функция потерь и другие гиперпараметры дадут наиболее точные результаты. результаты на вашем уникальном наборе данных. Мы создали AutoNLP с высокой эффективностью данных, потому что создание наборов данных само по себе является сложной задачей. Например, набор данных из 1000 обучающих примеров обычно обеспечивает точность 95 %, а для обучения требуется всего около 5 минут.
Платформа NeuralSpace состоит из различных приложений, каждое из которых решает определенные задачи языковой автоматизации, от понимания языка, распознавания сущностей, машинного перевода, транслитерации, увеличения данных до речи в текст и текста в речь. В настоящее время только приложение для понимания языка можно обучить с помощью AutoNLP, но вскоре все приложения будут доступны для обучения с помощью AutoNLP.
Когда разработчики программного обеспечения нажимают кнопку Train with AutoNLP после того, как они подготовили свой набор данных, за кулисами автоматически происходит несколько процессов, без какого-либо взаимодействия с пользователем. Первоначально платформа NeuralSpace выбирает подходящую архитектуру модели для обучения на основе выбранного вами языка. Платформа NeuralSpace также поддерживает многоязычные модели. Выбор архитектуры модели включает в себя извлечение признаков из предварительно обученной модели на выбранном языке, которая была обучена на миллионах общих предложений. После извлечения этих функций они передаются в пользовательскую модель, уникальную для каждого пользователя. Эта пользовательская модель снова основана на преобразователях, а затем дорабатывается на примерах, предоставленных пользователем. Это позволяет нашей полной модели (предварительно обученной + пользовательской) точно обучаться на небольших объемах данных за короткое время. Наш AutoNLP также контролирует правильную продолжительность обучения, поэтому модели не переобучаются на заданных, возможно, небольших наборах данных, и модели не обучаются дальше, когда уже нельзя добиться значительных улучшений. Это экономит пользователям ненужное время и деньги, затрачиваемые на обучение моделей. Всякий раз, когда модель обучается, платформа NeuralSpace позволяет вам настроить, сколько параллельных заданий обучения пользователи хотели бы запустить. В этом параллельном процессе обучения пользователи могут обучать до пяти моделей одновременно, при этом могут быть загружены дополнительные примеры. Благодаря системе контроля версий NeuralSpace пользователи могут легко сравнивать несколько версий модели, обученных на большем количестве данных. Кроме того, обучение на NeuralSpace оптимизировано для использования конкретных машин, чтобы получить более быстрые результаты. Подробно, если набор данных небольшой, обучение будет поставлено в очередь в пул заранее определенных работников; но если набор данных большой, обучение происходит на выделенной виртуальной машине, где вычислительные ресурсы не используются совместно с другими пользователями. Учитывая обычно высокую дисперсию в небольших наборах данных, мы рекомендуем обучать как минимум три модели параллельно для наборов данных менее 50 примеров на намерение до 10 намерений, в то время как одной модели должно быть достаточно для более чем 50 примеров на намерение до 10 намерений. , учитывая меньшую дисперсию.
АвтоМЛОпс
Теперь вопрос в том, как мы можем развернуть модель, чтобы она могла обслуживать тысячи запросов API каждую минуту?
После нажатия кнопки Развернуть ваша обученная модель инкапсулируется в готовую к работе инфраструктуру с помощью AutoMLOps, что позволяет вашей модели обрабатывать большое количество запросов в секунду с линейным увеличением вашей инфраструктуры. Короче говоря, AutoMLOps обеспечивает масштабируемость и доступность ваших моделей и беспрепятственно управляет всеми операциями от выделения вычислительных ресурсов до масштабирования модели.
Чтобы развернуть языковую модель в рабочей среде, необходимо иметь несколько вещей. Для любого программного приложения обычно размещают несколько экземпляров (или реплик) одного и того же алгоритма, чтобы приложение могло справляться с высокими нагрузками трафика и снижать частоту сбоев. AutoMLOps NeuralSpace гарантирует, что ваша модель доступна 25/7/365 и может обрабатывать большое количество запросов API в секунду. При развертывании у разработчиков есть возможность выбрать несколько реплик, которые вместе имеют низкую задержку всякий раз, когда ваша модель запрашивается конечным пользователем. Кроме того, в редких случаях, когда одна реплика дает сбой, разработчики могут использовать другие. Это достигается за счет обслуживания реплики модели в среде автоматического масштабирования. Реплика модели также использует наши основные предварительно обученные модели, поэтому, если количество запросов к вашей реплике значительно возрастет, наши серверные службы автоматически начнут автоматическое масштабирование. Реплики развертываются как независимая модель с независимым диспетчером служб. Таким образом, во время синтаксического анализа реплики напрямую вызываются нашим промежуточным программным обеспечением, поэтому задержка всегда минимальна. Если реплики выходят из строя или дают сбой в очень редких случаях, мы включили автоматическое развертывание замещающей реплики, которая активируется менее чем за десять секунд.
Наконец, разработчики могут легко интегрировать развернутые реплики в любые веб-приложения или программные приложения, используя REST API практически на любом языке программирования.
Платформа NeuralSpace работает, тестируйте и пробуйте сами! Ранние подписки получают кредиты на сумму 500 долларов — чего вы ждете?
Присоединяйтесь к Сообществу NeuralSpace Slack, чтобы общаться с нами. Кроме того, получайте обновления и обсуждайте темы НЛП для языков с низким уровнем ресурсов с другими разработчиками и исследователями.
Ознакомьтесь с нашей документацией, чтобы узнать больше о платформе NeuralSpace и ее различных приложениях.
Удачного НЛП!