Глядя на архитектурный дизайн платформы ИИ от Watson

машинное обучение
Резюме:В этом документе анализируются проблемы и решения, с которыми сталкивается IBM Watson в технической архитектуре, и обобщаются многие проблемы, с которыми платформа искусственного интеллекта должна столкнуться в процессе создания продукта. Наконец, предлагается построить ИИ-платформу корпоративного уровня на основе контейнерной сервисной платформы PaaS для облачных вычислений, а верхний уровень использует сервисную архитектуру SaaS для создания ИИ-платформы корпоративного уровня, что является технически осуществимым и экономичным решением.

предисловие

2016 год считается первым годом искусственного интеллекта, а с победой AlphaGo над южнокорейским шахматистом Ли Седолем индустрия искусственного интеллекта полностью вышла на передний план. Тем не менее, основные технические специалисты группы исследований и разработок искусственного интеллекта обычно являются учеными, которые освоили некоторые основные алгоритмы, и они не обязательно имеют опыт проектирования архитектуры платформы и инженерной реализации. Как создать платформу искусственного интеллекта корпоративного уровня с устойчивой работой и ростом бизнеса на основе основных возможностей искусственного интеллекта? Автор берет Watson от IBM в качестве примера для анализа всех аспектов, которые необходимо учитывать при проектировании архитектуры.

Watson решает эти проблемы?

Уотсон из IBM прославился в 2011 году, когда он выиграл джекпот в 1 миллион долларов, набрав 77 147 очков над двумя игроками-людьми в американском реалити-шоу Jeopardy. Под капотом этой истории IBM решает эти проблемы ИИ? Давайте взглянем на правила конкурса для шоу Jeopardy. Как и в американской викторине, вопросы Jeopardy состоят из нескольких записей или коротких предложений, что позволяет участникам узнать людей или вещи, описываемые этими подсказками, а ответы необходимо предоставить ведущему в виде вопросов. Например, вопрос звучит так: «В игре в покер пять карт одной масти подряд». Правильный ответ игрока: «что такое стрит-флеш»? Это требует от конкурсантов широты знаний и скорости реакции, а также умения делать головоломки ассоциативными и индуктивными. Watson может понимать, отвечать и выигрывать соревнования в повседневной жизни людей без подключения к Интернету и добился прорыва в трех областях искусственного интеллекта:

  1. Способность понимать естественный язык. Хотя Watson отключил функцию перевода речи для повышения точности понимания и использовал текст в качестве ввода во время игры (правила игры позволяют игрокам читать вопросы на дисплее, так что это не является нарушением Watson), но все же это должен быть точно истолкован людьми расплывчато сформулированный вопрос.
  2. Возможности обработки неструктурированных данных и машинного обучения. Затем Ватсон должен изучить резервные знания из документа, похожего на энциклопедию.
  3. Быстрая работа. Найдите альтернативы из базы знаний в конкурсе и выберите наиболее правильный ответ из альтернатив с помощью сложной логики суждений. Чтобы достичь скорости мышления, превышающей скорость человеческого мозга, окончательный ответ можно дать быстро и точно с помощью человеческой речи.

Как работает Ватсон?

Из содержания статьи «Создание Watson: обзор проекта DeepQA» (ссылка 1) и Википедии (ссылка 2), опубликованной группой исследований и разработок Watson DeepQA в журнале AI Magazine, ведущем издании в области искусственного интеллекта, проблема Ватсона анализ работы Процесс показан на рисунке 1:

图1

Рисунок 1

Поскольку уже есть отечественные статьи, представляющие документ DeepQA (ссылка 3), автор не будет подробно его раскрывать. На приведенном выше рисунке техническую архитектуру Watson можно резюмировать следующим образом (рис. 2):

图2

фигура 2

  • Модуль генерации проблем: система пытается понять, в чем проблема, и выполняет предварительный анализ, чтобы определить, как проблема будет обрабатываться остальной частью системы. Сначала проанализируйте вопрос, классифицируйте тип вопроса, способ ответа и т. д., а затем разложите вопрос на ряд гипотетических возможных подвопросов.
  • Механизм генерации ответов: для входной гипотезы выполните поиск источника ответов, отфильтруйте ответы-кандидаты с низкими баллами, найдите доказательства на основе альтернативных ответов и, наконец, объедините альтернативные ответы и доказательства в единую модель данных. Возможно, это самая сложная часть Watson, потому что:
    • Во-первых, точность ответа должна быть высокой, и одному алгоритму анализа трудно удовлетворить предъявляемым требованиям. В результате длительных экспериментов и исследований команда DeepQA, наконец, выбрала сотни алгоритмов для анализа ответов-кандидатов по различным параметрам, таким как тип, время, пространство, популярность, надежность источника, семантическая релевантность и т. д. Каждый анализ дает некоторые функции и оценки, и как объединить результаты анализа разных измерений и дать оценку, является огромной проблемой.
    • Во-вторых, время на вычисление ответа очень мало. Игроки-люди могут придумывать ответы и делать быстрые действия за считанные секунды. Watson необходимо выполнить многоэтапные вычисления: разложить задачу на N гипотез, каждая гипотеза будет запрашивать N возможных свидетельств, объединять результаты запроса N*N и, наконец, анализировать ответ. Команда DeepQA признала, что первоначально Уотсону потребовалось 2 часа, чтобы вычислить ответ на одном компьютере.

Чтобы решить эту задачу, команда DeepQA разработала платформу приложений для управления неструктурированной информацией (UIMA). UIMA определяет общую структуру данных анализа Common Analysis Structure (CAS) для записи результатов анализа неструктурированного текста, чтобы разные алгоритмы могли совместно использовать результаты анализа текста. Кроме того, чтобы сократить время размышлений Watson, команда DeepQA разработала инфраструктуру асинхронного масштабирования UIMA (UIMA-AS) для горизонтального масштабирования процесса анализа на несколько компьютеров для асинхронной параллельной обработки. UIMA-AS использует JMS (Java Службы обмена сообщениями) и ActiveMQ обрабатывают асинхронный обмен сообщениями, что позволяет легко развернуть механизм генерации ответов на нескольких серверах для параллельной обработки и агрегирования результатов анализа. Когда Watson участвовал в конкурсе, на базе UIMA-AS было соединено 90 серверов IBM Power750, и время обдумывания сократилось до 3-5 секунд. Можно сказать, что главная инновация Watson заключается не в создании нового алгоритма, а в быстром одновременном выполнении сотен зрелых алгоритмов анализа языка с помощью UIMA.В настоящее время UIMA открыт для Apache Software Foundation и стал его вершиной. проект уровня.

  • Модуль принятия решения. Тысячи оценок, сгенерированных для альтернативных ответов, хранятся в структуре данных CAS, а окончательные оценки и уровни достоверности суммируются. Команда DeepQA обучила серию промежуточных моделей, используя банк вопросов и смоделированный банк вопросов предыдущих соревнований Jeopardy, и рассчитала количество правильных ответов с разными баллами и уверенностью в банке вопросов. Watson использует показатель точности, рассчитанный промежуточной моделью, чтобы отфильтровать наиболее вероятные ответы-кандидаты.
  • Модуль игровой стратегии. По правилам игры Jeopardy в сочетании с очками каждого игрока на поле и сложностью вопроса мы можем сформулировать оптимальную стратегию ответа для Ватсона. Используя данные исторических соревнований и смоделированных соревнований, команда DeepQA обучила ряд промежуточных моделей для различных задач и сценариев и рассчитала, какая стратегия является наиболее выгодной в определенной ситуации.
  • Модули обучения и обучения. Инженеры DeepQA имеют около 20 т различных документов, включая энциклопедии, словари, тезаурусы, новостные статьи и литературные произведения и т. д., хранящихся в HDFS Hadoop. Эти неструктурированные, полуструктурированные и структурированные документы анализируются параллельно с помощью механизма Hadoop MapReduce, а результаты анализа сохраняются в базе данных в структуре данных UIMA в качестве библиотеки ответов и библиотеки доказательств, которые Watson может запрашивать и извлекать во время соревнований.

В чем заключаются технические проблемы платформеризации Watson?

Благодаря успеху Watson в области интеллектуальных ответов на вопросы IBM стремится коммерциализировать его как бренд искусственного интеллекта. Например, он устанавливается в автомобиле, отвечая на вопросы водителя о техническом обслуживании, а также о том, как предоставлять информацию о состоянии дороги и выдавать предупреждения о безопасности. Когда машина ломается, Watson может подсказать водителю, что не так и стоит ли записываться на прием в пункт 4S для ремонта.

Однако обучение Watson для победы в соревновании — это одно, а какую техническую архитектуру выбрать для превращения Watson в платформу искусственного интеллекта, способную одновременно обслуживать десятки тысяч пользователей, — это другой вопрос. Взяв в качестве примера вышеупомянутого автомобильного помощника, для создания интерактивной платформы вопросов и ответов с искусственным интеллектом на уровне предприятия мы должны рассмотреть следующие практические вопросы:

  1. Изоляция ресурсов, вызванная мультиарендностью. Для корпоративных пользователей данные и ресурсы должны быть изолированы и не смешиваться с другими пользователями для обеспечения безопасности данных и стабильности платформы.
  2. Предприятия имеют разные потребности и используют разные услуги, как удовлетворить их настройки.
  3. Поскольку это новое приложение, корпоративные клиенты надеются, что вычислительная мощность платформы ИИ может быть динамически улучшена с ростом объема бизнеса, чтобы каждая потраченная копейка могла найти практическое применение.
  4. Большие требования к хранению данных. Голосовые данные, генерируемые большим количеством человеко-машинных диалогов, должны храниться в дешевом и безопасном методе хранения.

Какая техническая архитектура может решить эти проблемы?

Автор считает, что архитектура на основе PaaS (Container As a Service, сокращенно CaaS) + SaaS может хорошо решить вышеуказанные проблемы. Контейнер как услуга (CaaS) — это форма виртуализации на основе контейнеров, в которой механизмы контейнеров, оркестрация и базовые вычислительные ресурсы предоставляются пользователям в виде облачных сервисов. За последние два года технология платформы обслуживания контейнеров получила относительно зрелое развитие.В настоящее время более популярным методом реализации является использование Docker в качестве технологии контейнеризации, а Kubernetes предоставляет полный набор средств планирования, развертывания и эксплуатации ресурсов, обнаружения сервисов, расширения. и сжатие для контейнерных приложений. Использование гибких функций инкапсуляции, изоляции и развертывания платформы обслуживания контейнеров может решить вышеупомянутые проблемы, вызванные мультиарендностью. В сочетании с управлением арендаторами уровня облачных вычислений SaaS, Управление API, управление выставлением счетов и другие возможности прикладного уровня вполне могут удовлетворить индивидуальные потребности вторичного развития предприятий. Бесшовная поддержка DevOps платформы PaaS и основных ресурсов (облачное хранилище, очереди сообщений, RDS и зеркалирование) также значительно упрощают решение проблем 3 и 4. Полная техническая архитектура платформы искусственного интеллекта корпоративного уровня выглядит следующим образом (рис. 3):

这里写图片描述

изображение 3

  1. Платформа приложений SaaS как интерфейс с пользователями отвечает за соединение возможностей платформы ИИ с пользователями. В соответствии с бизнес-характеристиками платформы AI, самостоятельно разработанные модули управления пользователями, управления выставлением счетов и управления пользовательскими ресурсами, разработали платформу OpenAPI на основе OAUTH, RESTful.
  2. Платформа SaaS также поддерживает разработку и ежедневный мониторинг платформы ИИ. Построить систему мониторинга работы и управления кодом платформы ИИ.
  3. PaaS предоставляет базовые ресурсы платформы. Обеспечьте RDS, который не только хранит базу знаний и модель обучения, совместно используемую платформой ИИ, но также хранит содержимое данных, настроенное арендаторами; предоставляет облачное хранилище для хранения различных структурированных и неструктурированных ресурсов документов, а также существуют огромные требования к хранилищу. генерируется диалогом человека и компьютера. Хорошее решение; предоставляет очереди сообщений для поддержки передачи сообщений, аналогичной параллельным вычислениям, когда UIMA-AS масштабируется по горизонтали; обеспечивает управление образами (включая базовое управление образами для виртуальных машин и управление образами контейнеров для служб контейнеров) для хранения Последний образ Docker для каждого модуля подсистемы ИИ.
  4. Сам PaaS поддерживает DevOps. Отвечать за обновления кода и программного обеспечения платформы, помещать их в хранилище образов платформы PaaS через DevOps и передавать на платформу обслуживания контейнеров для автоматического обновления и отката.
  5. Платформа обслуживания контейнеров на основе PaaS под управлением модуля оркестровки развертывания получает соответствующие образы контейнеров из образов PaaS и развертывает полную производственную среду ИИ для каждого арендатора. Модуль планирования контейнеров сочетает в себе базовый мониторинг платформы PaaS для динамической настройки запущенных экземпляров в соответствии с работой ресурса арендатора. Модуль управления конфигурацией единообразно управляет конфигурацией внутренних подсистем каждого арендатора. Управление сетью используется для координации сетевой маршрутизации и распределения трафика между внутренними и внешними облачными платформами арендаторов.
  6. Среды обучения и обучения также развернуты на платформе обслуживания контейнеров. Поскольку время обучения и обучения ИИ не фиксировано, нет необходимости использовать много ресурсов. Подача заявки на нее при необходимости и ее освобождение после завершения расчета может эффективно сэкономить вычислительные ресурсы.
  7. Для каждого арендатора создается полная система Watson через сервисную платформу контейнеров. Генерация контейнерных вопросов, механизм генерации ответов и модуль принятия решений могут динамически масштабироваться в платформе обслуживания контейнеров для достижения рационального использования ресурсов.

Суммировать

С ростом зрелости технологий обслуживания контейнеров, представленных Docker и Kubernetes, предприятия вступили в практическую стадию создания собственных бизнес-платформ, используя платформу контейнеризации PaaS + архитектуру SaaS, и в Китае появилось несколько платформ обслуживания контейнеров, использующих частные облака. создание собственной бизнес-платформы (ссылка 4). В настоящее время поставщики публичных облачных услуг Azure, AWS, Google и Alibaba Cloud запустили продукты, подобные CaaS, на основе своих собственных платформ PaaS. Этот дизайн архитектуры использует преимущества динамического масштабирования облачной платформы, чтобы сократить первоначальные инвестиции в ресурсы платформы ИИ и в то же время гарантирует, что платформа не будет иметь узких мест в ресурсах в будущем.Это выполнимая архитектура платформы ИИ. дизайнерское решение. С другой стороны, мы также должны видеть ограничения этого решения.Для сценариев приложений ИИ, которые должны использовать много аппаратных ресурсов (например, GPU) в режиме реального времени, служба контейнеров не может решить все проблемы.

Использованная литература:

  1. «Создание Watson: обзор проекта DeepQA», DeepQA,woohoo.AAlove.org/magazine/WA…
  2. Запись "Википедия Ватсон (компьютер)", автор Википедия,Эн. Wikipedia.org/wiki/Watson…
  3. «Уникальное «мышление» Ватсона», автор Байючжун, журнал «Программист», 2012–2019 гг.,history.programmer.com.cn/13468/
  4. «Проектирование и практика программного обеспечения SaaS на основе платформы на основе контейнерной технологии», Чжоу Юэцю, CNUTCon 2016,woohoo.info Q.com/talent/present A…
об авторе:Ли Йи, бывший архитектор решений HP Cloud BU, Aspire Information Technology Co., Ltd., отвечает за системную архитектуру мобильных веб-сайтов www.139.com, shop.10086.cn, pim.10086.cn, Atos (Atos Origin ) эксперты по программному обеспечению с открытым исходным кодом участвовали в проекте по интеграции ИТ Олимпийских игр 2008 года. В настоящее время работает архитектором решений в Objecti Technology Co., Ltd. и членом технического комитета компании (TEC). Сосредоточьтесь на новых технологиях и приложениях для новых продуктов в областях облачных вычислений, таких как приложения PaaS и миграция в облако.