Nvidia: Искусственный интеллект учится совсем не так, как человек
CNews: Графические карты способны заниматься не только играми. В частности они используются для вычислений в области искусственного интеллекта. Какую долю от продаж в вашей компании занимают продукция собственно для геймеров, а какую — для других сложных вычислений?
Дмитрий Конягин: С точки зрения доходов, продукты, связанные с геймингом, приносят несколько большую прибыль, чем другие наши направления. С другой стороны, все наши продукты — геймерские, энтерпрайз-продукты, специализированные решения для автомобильного рынка — строятся на единой архитектуре. Это один из наших козырей. Он позволяет людям из совершенно разных предметных областей очень быстро входить в мир сложных вычислений. Каких именно — вопрос открытый. Это может быть майнинг, вычисления, связанные с искусственным интеллектом, суперкомпьютерные вычисления, обработка видео и так далее. Поэтому мы много лет назад приняли решение, что делаем все наши графические процессоры таким образом, чтобы они максимально удобно и просто программировались для неграфических задач.
Нашу продукцию можно условно разделить на три линейки. Первая — геймерские продукты, то есть продукты для консьюмерского рынка. Вторая — продукты для бизнеса. Для центров обработки данных, виртуализации, суперкомпьютерных вычислений, вычислений для искусственного интеллекта. И третья часть бизнеса — решения для автомобильного сегмента и встраиваемых в транспортные средства систем.
CNews: В каком из этих сегментов вы ждете максимальный рост?
Дмитрий Конягин: Самый большой рост последние два года показывал и, очевидно, будет показывать и дальше бизнес, связанный с дата-центрами. Этот сегмент растет трехзначными цифрами. Им движет спрос на технологии, связанные с искусственным интеллектом.
CNews: Почему это началось именно сейчас?
Дмитрий Конягин: В одном месте начали сходиться три необходимых компонента. Во-первых, появилось огромное количество неструктурированной информации. Большая часть этой информации — user-generated контент. Мы бесконечно что-то фотографируем, пишем, выкладываем все в соцсети. В результате информация множится космическими темпами. Во-вторых, развилась математика и появились математические инструменты для работы с этими массивами информации. Из хаотичных данных начали извлекать какую-то пользу. И, в-третьих, появилось удобное и, что самое главное, доступное «железо», которое может осуществлять всю эту математику.
CNews: Расскажите о «железе» подробнее. Что в нем появилось радикально нового?
Дмитрий Конягин: Тут не одно лишь железо. К примеру, наша компания для задач, связанных с искусственным интеллектом, предлагает не просто процессоры или графические платы, а то, что мы называем платформой Nvidia для искусственного интеллекта. Это целый комплекс, в который входят сами графические процессы и софт, часть из которого разрабатываем мы сами. В том числе мы занимаемся оптимизацией фреймворков, разработанных Google, Microsoft, Amazon и другими компаниями, для повышения производительности и эффективности работы на нашем железе.
CNews: Могли бы вы привести какой-то пример практического внедрения искусственного интеллекта?
Дмитрий Конягин: Один из показательных примеров — то, как мы взаимодействуем, и как с нами взаимодействуют разнообразные сервисы больших Интернет-компаний. Такие как Facebook, YouTube, Google, отдельные проекты Microsoft, российский «Яндекс» и так далее. Классический пример — голосовые помощники, Алиса у «Яндекса», Siri у Apple и многие другие. Это искусственный интеллект в чистом виде. Или облачное хранилище фотографий — не важно, у Google Photos или у Apple. ИИ раскладывает фото не по датам, а по тому, что изображено на картинках. Скажем все картинки для категории «друзья», или все из категории «прошлогодний отпуск».
Огромное количество социальных сервисов, к которым все уже все привыкли, имеют «под капотом» искусственный интеллект. А пять лет назад их не было потому, что не было подходящих технологий.
Дмитрий Конягин: Я не сторонник того, чтобы наделять искусственный интеллект какими-то демоническими свойствами, представлять его в виде этакого терминатора. Это просто удобный инструмент, который реализует множество задач.
Другой пример — анализ медицинских изображений. Во всем мире, в том числе в России, проблем с инструментами для исследований, вроде МРТ-установок, нет. Деньги очень легко меняются на оборудование. Зато деньги нельзя быстро поменять на людей. Квалификация персонала, людей, которые могут расшифровывать показания всех этих приборов, — вот главный дефицит. Поэтому распознавание медицинских изображений, их обработка с помощью технологии искусственного интеллекта — один из способов снижения остроты этой проблемы. Конечно, ИИ не заменит врача полностью, но он заметно облегчает диагностику.
И третий пример, который развивается прямо сейчас, на наших глазах — это беспилотный транспорт. Его развитие сильно повлияет на жизнь человечества. Изменится не только то, как мы ездим, но то, как будет устроено городское пространство. Где нужны, и где не нужны парковки, где поставить светофоры — будут определять компьютеры.
CNews: Как научить компьютер решать человеческие задачи? Кто и как учит искусственный интеллект?
Дмитрий Конягин: Прежде всего, надо сделать оговорку по поводу обучения. Не должно быть никаких ассоциаций между обучением ИИ и обучением человека. Это совершенно разные процессы. Нейросеть учится не так, как человеческий мозг.
К примеру, мы хотим научить компьютер распознавать объекты на изображениях. Как будет выглядеть этот процесс? Мы берем нейронную сеть, которая представляет собой последовательность математических матриц и операций между ними. Затем показываем картинку и спрашиваем, что на ней, раз за разом отбраковывая неправильные ответы. В результате идет процесс, матрицы и операции между ними подстраиваются друг под друга. Чтобы добиться желаемой точности, нужно сделать очень много итераций. Значит, нужны большие вычислительные мощности.
Этот автоматизированный процесс, но управляет им человек. Когда после множества итераций сложился такой набор матриц, что с определенной точностью выдает правильный результат, обучение считается законченным. То есть процесс обучения состоял в том, чтобы подобрать матрицы и конфигурацию этих матриц, чтобы решить определенную задачу.
CNews: Сейчас в машинном обучении появился подраздел «глубокое обучение». Чем он отличается и в чем его глубина?
Дмитрий Конягин: То, что я сейчас описал, и есть глубокое обучение. Создается большая многослойная структура из матриц, ее глубина — количество этих слоев. Термин «глубокое машинное обучение» никакого другого смысла не имеет, кроме того, в нем есть много слоев из матриц.
CNews: Какие вычислительные мощности понадобятся для глубокого обучения? Например, для беспилотных автомобилей?
Дмитрий Конягин: Начнем с того, что электронные помощники, которые есть в современных автомобилях, не имеют никакого отношения к технологиям ИИ. Они все построены на классическом наборе признаков, логических цепочках «если — то». Это не искусственный интеллект, хотя и делает какую-то интеллектуальную работу.
Вопрос о необходимых мощностях следует разделить на две части. Первая часть связана с обучением нейронной сети. Этот процесс находится за пределами автомобиля. Обучение проводится в больших дата-центрах, и требует колоссальной вычислительной мощности.
А вот после того, как интеллект обучен и загружается в автомобиль, возникает вопрос, какие мощности нужны, чтобы уже не учить, а применять. В машине много камер, радаров, датчиков, нам нужно успевать всю эту информацию собрать и обработать, не забывая, что автомобиль движется со скоростью 100 километров в час. Мощности тоже немаленькие, но уже гораздо скромнее тех, что нужны для обучения. Речь идет о нескольких десятках-сотнях терафлопс.
Такое решение у Nvidia уже есть — платформа Nvidia Drive, это сложное устройство, размером примерно с коробку из-под обуви. И это очень высоко интегрированное решение. Оно сочетает в себе центральные процессоры, графические процессоры, специализированные ускорители для задач, связанных с компьютерным зрением, и так далее. Подробно я расскажу о нашей платформе для искусственного интеллекта на конференции NetApp Directions, которая пройдет в Москве 17 июля.
CNews: Кто еще заказывает оборудование для задач в сфере искусственного интеллекта?
Дмитрий Конягин: Дело не в конкретных задачах. Наша основная цель — сделать максимально удобную и доступную платформу, на базе которой в совершенно разных предметных областях люди могут решать свои задачи.
Есть такое мнение, и оно уже подтверждено практикой, что в обозримом будущем почти не останется значимых предметных областей деятельности человека, куда не будут в той или иной мере проникать компоненты искусственного интеллекта. Понятно, что в первую очередь на память приходит банковский сектор и ритейл. Но есть и такие консервативные отрасли, как сельское хозяйство. Вопросы автоматизации процессов в сельском хозяйстве, их интеллектуализация, решаются уже сейчас.
Например, использование сельскохозяйственных дронов. Они выполняют ту же задачу опыления, что и авиация. Но авиация разбрасывает химикаты с высоты 500 метров и сразу на всех подряд. А дрон индивидуально подходит к каждому ростку, определяет его состояние и опрыскивает его необходимым препаратом. В результате сокращается расход химикатов, кроме того дроны в эксплуатации намного дешевле самолетов. А чтобы определить состояние каждого побега, требуется компьютерное зрение и искусственный интеллект.
Аналогично может действовать на стройке система видеоаналитики с воздуха. На летающий объект ставится интеллектуальная система видеообработки. А дальше просто задаемся вопросом, что мы хотим анализировать. Дрон может оценивать количество строительного материала на площадке или маршруты перемещения транспорта. Или все ли рабочие надели каски и спецодежду. Последняя система, кстати, уже есть. Ее реализует один из наших партнеров в России. На нефтехимических производствах особые требования к безопасности труда, там много вредных процессов. Нужно, чтобы в определенных зонах люди находились всегда в каске и в соответствующем защитном обмундировании. И эта система определяет, одет ли человек, который идет в промышленную зону, как того требует техника безопасности. Если да — ворота открываются.
CNews: Какие требования выдвигаются при машинном обучении к системам хранения данных? Ведь речь идет об огромных массивах информации.
Дмитрий Конягин: Здесь имеется три основных компонента. Во-первых, при глубоком обучении требуется показать очень много примеров. Скажем, картинок могут быть миллионы или миллиарды. Значит нужно физически иметь очень большое хранилище данных. Во-вторых, эти данные нужно очень быстро считывать, чтобы не замедлять процесс обучения. Система должна быстро и с низкой латентностью поставлять данные. И, в третьих, она должна уметь кешировать наиболее часто используемые данные, потому что опять же скорости ввода/вывода нельзя наращивать до бесконечности. Значит, система должна иметь соответствующий интерфейс подключения. Потребуется поддержка тех интерфейсов, которые ранее занимались задачами высокопроизводительных научных вычислений.
Важно, чтобы решение не ограничивалось одной коробкой системы хранения. Архитектура должна покрывать все уровни управления данными, от сбора первоначальных данных для систем машинного обучения и до обработки их on-prem и в облаках гиперскейлеров. Примером может быть совместная архитектура NetApp Nvidia RA.
По мере того, как графические процессоры становятся быстрее, а объемы и сложность массивов данных увеличиваются, то крайне важным для устранения узких мест и повышения производительности системы в целом становится использование самой современной системы хранения. Для того, чтобы при работе приложения , использующего алгоритмы глубокого обучения, графические процессоры не простаивали, требуются использование систем хранения данных, которые изначально предназначены для обработки массивно-параллельных рабочих нагрузок, которые в свою очередь требуют высокой степени параллелизма при обработке ввода-вывода.
Трафик данных во многих приложениях глубокого обучения охватывает весь конвейер данных, от edge, до core в ЦОД заказчика и облачных ресурсах. Проектирование архитектуры хранилища требует целостного подхода к управлению данными: от анализа данных и/или edge-аналитики до подготовки данных и обучения в центре обработки данных до архивирования в облаке. Крайне важно понимать требования к производительности и сервисам для различных наборов данных.
Для рабочих процессов глубокого обучения идеальное решение для хранения данных должно удовлетворять ряду требований.
Высокая производительность. Узкие места в инфраструктуре систем глубокого обучения наиболее часто встречаются на этапе обучения, когда требуется высокая пропускная способность ввода-вывода с массивным параллелизмом ввода-вывода для обеспечения равномерной загрузки графического процессора.
Так, например, одна система NetApp A800 поддерживает пропускную способность 25 ГБ/сек для последовательных чтений и 1 миллион IOPS для случайных чтений на задержках менее 500 микросекунд. Кроме того, система хранения A800 поддерживает сетевые интерфейсы 100GbE, что позволяет ускорить загрузку данных и обеспечивает полностью сбалансированную архитектуру, поскольку суперкомпьютер для задач ИИ Nvidia DGX-1 также поддерживает 100GbE RDMA для кластерного соединения.
Масштабируемость. Для повышения точности модели важны большие наборы данных. Развертывание системы глубокого обучения может начаться с небольших объемов (несколько терабайт), вскоре может понадобиться масштабировать до нескольких петабайт. Кроме того, потребности в производительности могут варьироваться в зависимости от используемой модели обучения и конечного приложения, требуя независимого масштабирования вычислений и / или хранения.
Интеграция. Обычно, по мере увеличения скорости сбора данных, становится очевидной необходимость внедрения автоматизации. Использование контейнеров — один из способов достижения этого; он позволяет ускорить развертывание, отделяя приложения на уровень абстракции отдельный от ОС и железа. Эффективное и простое управление данными является ключевым в сокращении времени, затрачиваемого на обучение. Здесь идеально помогает Trident, полностью интегрированый с Docker и Kubernetes.
В сочетании с Nvidia GPU Cloud (NGC) и Kubernetes или Docker Swarm, Trident позволяет получить автоматическую оркестрацию, клонирование для тестирования и т.д.
И конечно надо не забыть про протоколы — данные в системах глубокого обучения могут состоять из миллионов файлов (изображений, видео / аудио, текстовых файлов) и NFS идеально подходит для обеспечения высокой производительности при различных нагрузках.
CNews: Немного научной фантастики. Бунт роботов — нестареющая тема. Возможно ли восстание машин? Ведь при глубоком обучении робот сам себе пишет алгоритмы. Вдруг он придумает что-то очень нехорошее?
Дмитрий Конягин: Я не сторонник того, чтобы наделять искусственный интеллект какими-то демоническими свойствами, представлять его в виде этакого терминатора. Это просто удобный инструмент, который реализует множество задач. Хотя, очевидно, что его тоже можно использовать, как любой инструмент, и во благо, и во вред. С помощью расщепления атома можно обогреть дом, а можно устроить Хиросиму. Поэтому скорее вопрос общефилософский, вопрос морали.
Но мы не занимаемся философией, мы занимаемся техникой. У нас есть наработки и платформы, инициативы и технологии, которые позволяют быстро и эффективно превратить роботов в помощников людей. При этом они будут строго выполнять все правила, в том числе и «не навреди».
У нас есть платформа, которая позволяет учить роботов в виртуальном мире решать реальные задачи. Только после того, как они полностью освоятся в виртуальном пространстве, их переводят на реальный объект. И там они доучиваются в реальной обстановке.
CNews: О кадровом голоде в ИТ говорят почти все. Какие специальности нужны вашей компании больше всего? Какие профессии самые дефицитные?
Дмитрий Конягин: Есть высокий спрос на людей с экспертизой в области искусственного интеллекта, как разработчиков, так и тех, кто умеет эти разработки применять, внедрять в конкретные продукты или услуги. Рынок труда в этой сфере очень конкурентный. Людей мало, зарплаты у них высокие.
Но мы, видя дефицит кадров у наших конечных заказчиков, пытаемся в меру возможностей помогать решать проблему двумя способами. Во-первых, мы очень плотно работаем с основными ведущими техническими вузами, как в России, так и за рубежом. Мы готовим сегодняшних студентов, завтрашних выпускников умению работать с этими технологиями. У нас есть специальная образовательная программа, которую мы вместе с университетами внедряем в учебные процессы. Во-вторых, для коммерческих заказчиков, у которых есть уже большой штат разработчиков, программистов и инженеров, предлагаем программу, которая называется Deep Learning Institute. Она представляет собой набор обучающих лабораторных работ, которые можно пройти в режиме онлайн, или непосредственно с тренером. Таким способом хорошо подготовленные кадры быстро входят в новую для них тематику.
CNews: Последний фантастический вопрос. В романе Питера Уоттса кремниевые схемы исчерпали свои ресурсы и люди начали выращивать компьютеры из неких белковых структур. Получался этакий упрощенный мозг, органическая нейросесть. Может ли быть такое, что состоится переход от кремниевых схем к белковым?
Дмитрий Конягин: Рассмотрим историю. Вся микроэлектроника последние несколько десятков лет развивалась согласно закону Мура, то есть в среднем каждые 18 месяцев вычислительная мощность на той же самой площади вырастала в два раза. Однако примерно с начала 2010-х годов закон Мура начал замедляться. С другой стороны, сложность задач, связанных с искусственным интеллектом, растет гораздо быстрее закона Мура. Сложность нейронных сетей, число слоев, размеры вычислительной емкости, которая должна со всем этим работать, за последние пять лет выросли от 100 до 300 раз. Таким образом, даже идеально работающий закон Мура не может удовлетворить растущие потребности.
Что с этим делать? Мы исповедуем следующий подход. Мы создаем платформу, которая в себе объединяет графические процессоры, софт, передачу данных и такое комбинированное решение позволило нарастить производительность примерно в 500 раз. Это за период с декабря 2012 года по начало 2018 года. Получается, что рано хоронить кремний и полупроводники. За счет изменения архитектуры можно добиваться нужного роста производительности.
17 июля в рамках конференции NetApp Directions Дмитрий Конягин выступит с рассказом о платформе Nvidia для искусственного интеллекта.
Полный текст статьи читайте на CNews