Будущее искусственного интеллекта — это история программного обеспечения, говорит генеральный директор Graphcore
Несмотря на то, что производитель компьютеров с искусственным интеллектом Graphcore известен своим мощным компьютерным оборудованием, у него есть сайты, посвященные битве с Nvidia за программные экосистемы, говорит генеральный директор Найджел Тун.
«Мы, вероятно, все еще находимся на стадии Pac Man, мы еще не добрались до трехмерных игр», — говорит генеральный директор Graphcore Найджел Тун.
«Заблуждение здесь заключается в том, что это в такой же степени, если не больше, программная проблема, которую нужно решить, чем аппаратная проблема», — сказал Найджел Тун, главный исполнительный директор стартапа Graphcore, специализирующегося на искусственном интеллекте.
Компания Graphcore известна тем, что создала компьютерную систему, которая имеет сотни тысяч процессорных ядер внутри каждого чипа «интеллектуального процессора» или IPU, для решения проблем искусственного интеллекта.
Ее последние машины оснащены чипом IPU, «Bow», который состоит из двух полупроводниковых кристаллов, уложенных друг на друга.
И все же Тун, который на прошлой неделе был в городе из штаб-квартиры Graphcore в Бристоле, Англия, сказал ZDNet, что программное обеспечение находится в центре очень большой проблемы все более крупных проблем искусственного интеллекта, в то время как аппаратное обеспечение, хотя и не тривиальное, в некотором смысле вторично.
«Вы можете создать все виды экзотического оборудования, но если вы не можете создать программное обеспечение, которое может перевести способность человека к описанию на очень простом уровне в аппаратное обеспечение, вы на самом деле не производите решение», — сказал Тун за обедом в кафе The Grey Dog в районе Юнион-сквер на Манхэттене.
Это была одна из многих поездок Туна с тех пор, как пандемия прекратилась. Он с удовольствием возвращается к встречам с клиентами. «Как хорошо снова путешествовать», — сказал он и встретился лицом к лицу.
Среди моментов, на которые следует обратить внимание во время его путешествия по США, есть фактор программного обеспечения. В частности, о возможностях программного обеспечения Poplar от Graphcore, которое переводит программы, написанные на фреймворках искусственного интеллекта, таких как PyTorch или TensorFlow, в эффективный машинный код.
На самом деле, именно акт перевода является ключевым для ИИ, утверждает Тун. Независимо от того, какое оборудование вы создаете, проблема заключается в том, как преобразовать то, что делает программатор PyTorch или TensorFlow, в любые доступные транзисторы.
Распространенная концепция заключается в том, что аппаратное обеспечение ИИ предназначено для ускорения умножения матриц, что является строительным блоком для обновления весов нейронной сети. Но, по сути, это не так.
«Это просто умножение матриц, и это просто извилины, которые нам нужны, или есть другие операции, которые нам нужны?» — риторически спросил Тун.
На самом деле, по его словам, «дело гораздо больше в сложности данных».
По словам Туна, большая нейронная сеть, такая как GPT-3, «на самом деле является ассоциированной памятью», так что связи между данными — это то, что важно, а перемещение вещей в память и из нее становится узким местом для вычислений.
Тун хорошо знаком с такой проблемой подключения. Тун провел четырнадцать лет в компании Altera, производителе программируемых чипов, вспоминает он, позже купленной Intel. Программируемый логический чип, известный как «FPGA», работает за счет того, что его компьютерные блоки, называемые ячейками, связаны для каждой задачи путем сжигания предохранителя между ними.
«Все программное обеспечение» FPGA «заключается в том, как вы берете граф, который является вашим списком сетей или вашим RTL, и переводите его в межкомпонентное соединение внутри FPGA», — объяснил он.
Такие программные задачи становятся очень сложными.
«Вы строите иерархию межсоединений внутри чипа, чтобы попытаться заставить это работать, но, с точки зрения программного обеспечения, это задача NP-Hard — отобразить граф на межсоединения», — сказал он, имея в виду «недетерминированное полиномиальное время», меру вычислительной сложности.
Поскольку речь идет о переводе сложности ассоциаций в транзисторы, «это действительно графовая проблема, поэтому мы назвали компанию Graphcore», — сказал Тун. В общих чертах, граф — это совокупность взаимозависимостей между различными вычислительными задачами в данной программе.
«Вы должны начать с подхода к информатике, который говорит: «Это будут графы, вам нужно создать процессор для работы с графами, чтобы выполнять высокопараллельную обработку графов».
«Мы создаем программное обеспечение на основе этого, мы создаем процессор», — сказал он.
Это означает, что аппаратное обеспечение просто обслуживает программное обеспечение. «Компьютер следует структуре данных», — утверждает Тун. «Это проблема программного обеспечения».
Это шанс Туна использовать программное обеспечение CUDA от Nvidia, которое обладает огромной властью в мире искусственного интеллекта.
«Это интересно: многие люди говорят, что CUDA — это некая экосистема, которая делает невозможным конкуренцию для кого-либо еще», — заметил Тун. «Но вы неправильно понимаете, что никто не программирует в CUDA, никто не хочет программировать в CUDA, люди хотят программировать в TensorFlow, а теперь в PyTorch, а затем в JAX — они хотят высокоуровневую конструкцию», — сказал он, имея в виду различные библиотеки разработки с открытым исходным кодом, созданные Meta, Google и другими.
«Все эти фреймворки являются графовыми фреймворками, — заметил он, — вы описываете довольно абстрактный граф с большими операторами в ядре каждого из элементов внутри графа».
Nvidia, отметил Тун, «создала удивительный набор библиотек для трансляции из той высокоуровневой абстракции, с которой программист чувствует себя комфортно — это то, что сделала Nvidia, а не обязательно CUDA».
Представляем конкурирующее предложение Graphcore, Poplar, то, что переводится с PyTorch и всего остального на то, что, по его утверждению, является более эффективным аппаратным обеспечением Graphcore. Poplar разбирает вычислительный граф и преобразует его в любые вентили, которые есть в оборудовании Graphcore сегодня, и на то, что заменит эти вентили завтра.
Тем не менее, существует скептицизм в отношении Graphcore или любого другого молодого претендента, такого как Cerebras Systems и SambaNova, конкурирующего с Nvidia в тех библиотеках, на которые ссылается Тун. В апрельской редакционной статье редактор престижного издания Microprocessor Report Линли Гвеннап написала, что «программное обеспечение, а не аппаратное обеспечение» по-прежнему является проблемой. Гвеннап утверждает, что время для сокращения разрыва для Graphcore и других компаний уходит, потому что Nvidia продолжает совершенствоваться с помощью аппаратных улучшений, таких как Hopper.
Неужели скептики, такие как Гвеннап, не ценят прогресс программного обеспечения Poplar?
«Это путешествие», — сказал Тун. «Если бы вы сотрудничали с Poplar два года назад, вы бы сказали: «Это недостаточно хорошо; Если вы познакомитесь с Poplar сейчас, вы скажете, что он на самом деле довольно хорош.
«И через два года люди скажут: «Вау, это позволяет мне делать то, что я не могу сделать на GPU».
Программное обеспечение уже, утверждает Тун, является собственной расширяющейся экосистемой. «Посмотрите на экосистему, которую мы создали вокруг Poplar, такие вещи, как PyTorch Lightning, PyTorch Geometric», два расширения PyTorch, которые портированы на Poplar, и чипы Graphcore IPU.
«Это не просто TensorFlow, это целый пакет, — сказал он. — TensorFlow хорош для исследователя искусственного интеллекта, но это не та среда, в которую специалист по данным, отдельный человек или очень крупное предприятие могут прийти и просто поиграть с ней».
Практикам, в отличие от ученых, нужны доступные инструменты. «Мы работаем с Hugging Face, Weights and Biases», а также с другими инструментами машинного обучения, отметил он. «Есть много других библиотек, которые выходят на рынок, есть компании, которые создают сервисы на основе IPU», и «есть MLOp, которые были портированы для работы с Poplar».
По его словам, Graphcore «намного продвинулся вперед с точки зрения создания этой программной экосистемы, чтобы создать простоту использования, чтобы люди могли войти», — сказал он, по сравнению с Cerebras и другими конкурентами.
По сути, все сводится к дуополии программного обеспечения, утверждает Тун. «Вы посмотрите на всех остальных, даже на крупные компании, нет никого, у кого это было, кроме нас и Nvidia, такой диапазон экосистемы».
Между тем, он утверждает, что аппаратные достижения Nvidia не являются всевозможными, потому что свобода дизайна Nvidia ограничена ее собственным успехом. «Что делает Nvidia? Они добавили тензорные ядра, а теперь добавили ядра Transformer — они не могут изменить фундаментальное ядро процессора, потому что если бы они это сделали, все библиотеки пришлось бы выбросить».
В то время как Graphcore по-прежнему отстает от Nvidia в большинстве тестов в отраслевом наборе тестов MLPerf, комбинация Poplar и дизайна IPU обеспечивает измеримое превосходство в определенных случаях, где его можно применять вдумчиво, утверждает он.
«На некоторых моделях, таких как графовая нейронная сеть, например, мы наблюдаем в пять или десять раз большую производительность» по сравнению с машинами на базе Nvidia, — сказал он, — потому что структура данных, базовая архитектура, которую мы построили внутри IPU, гораздо больше ориентирована на этот вид разреженных графовых вычислений».
По его словам, программное обеспечение Poplar также позволило в два-три раза ускорить работу моделей трансформаторов за счет поиска умных способов распараллеливания элементов графа.
Предпосылка о том, что программное обеспечение — это поле битвы, и что у Nvidia может быть реальная конкуренция, основана на предпосылке, что сам ИИ все еще очень сильно развивается. По словам Туна, существует множество возможностей для того, чтобы программы искусственного интеллекта стали больше, что напрягает вычислительные возможности.
И фундаментальная проблема взлома кода человеческого познания все еще далека.
С первого счета, программы, действительно, становятся все больше и больше.
Сегодняшние крупнейшие модели искусственного интеллекта, такие как Megatron-Turing NLG от Nvidia и Microsoft, генеративная модель естественного языка, созданная на основе инновации Transformer 2017 года, имеет полтриллиона параметров, или весов, элементов нейронной сети, которые настраиваются и являются аналогом синапсов в реальных нейронах человека.
Некоторые, в том числе Cerebras, указывают на будущее в триллионы, даже сотни триллионов параметров, и Тун разделяет это мнение.
«По мере того, как вы увеличиваете количество параметров и объем данных, — заметил Тун, — вы увеличиваете вычислительную мощность в кратное число этих двух частей, и именно поэтому существуют эти огромные фермы графических процессоров, которые развиваются».
Цифра в 100 триллионов является своего рода магической мишенью, потому что считается, что это количество синапсов в человеческом мозге, поэтому она служит своего рода ориентиром.
Очевидно, что нет никаких разногласий по вопросу о том, все больше и больше, учитывая, что Graphcore и Nvidia, и все остальные строят для него все более и более мощные машины.
Однако Туна интересует второй пункт, связанный с информатикой: можно ли сделать что-то полезное из всего этого и может ли это приблизиться к человеческому интеллекту.
«Проблема в том, что если бы у вас была модель, которая включала бы в себя сто триллионов параметров, сделала бы это ее такой же умной, как человек?» — сказал Тун.
Речь идет не просто о том, чтобы бросить транзисторы, а о том, чтобы спроектировать систему.
«Вы знаете, знаем ли мы на самом деле, как ее обучить?», то есть обучить нейронную сеть, когда она наберет 100 триллионов весов. «Знаем ли мы, как дать ему правильную информацию? Знаем ли мы, как построить эту модель таким образом, чтобы она действительно соответствовала интеллекту человека, или она была бы настолько неэффективной, несмотря на гораздо большее количество параметров?»
Другими словами: «Можем ли мы на самом деле знать, как построить машину, которая соответствовала бы интеллекту мозга?»
Один из ответов, по его мнению, — это специализация. Модель из ста триллионов параметров может быть действительно хороша в чем-то узко определенном. «В такой системе, как [алгоритм DeepMind для игры] в Atari, у вас достаточно ограничений, чтобы вы могли понять этот мир», — сказал Тун.
Точно так же: «Возможно, мы могли бы достаточно хорошо понять, например, как работают клетки и как ДНК преобразуется в РНК через белки, чтобы у вас была система обучения с подкреплением, которая использовала бы это понимание для работы, например, «Хорошо, как я могу свернуть белки таким образом, чтобы, если они свяжутся с этой клеткой?» и я мог бы общаться с клеткой — и, скажем, клетка была раковой клеткой — я мог бы присоединить лекарство к этому белку, и это могло бы вылечить рак», — размышляет Тун.
«Это было бы немного похоже на игру Atari, созданную DeepMind, которая стала сверхчеловеческой, системой сверхчеловека в убийстве рака — она была бы специализированной».
Другой подход, по его мнению, заключается в «более общем понимании мира», которое было бы сродни тому, как учатся человеческие младенцы, «получая огромное количество данных о мире».
«Люди выстраивают иерархию понимания мира», — сказал он, а затем «интерполируют», заполняя пробелы. «Вы используете то, что знаете, чтобы экстраполировать и представить», — сказал он.
«Люди очень плохо справляются с экстраполяцией; Что у нас гораздо лучше получается, так это интерполяция, знаете, есть какая-то часть, которой не хватает — я знаю это, я знаю это, и это где-то посередине».
Размышления Туна об иерархии перекликаются с некоторыми теоретиками в этой области, в том числе с главным научным сотрудником Meta по искусственному интеллекту Яном Лекуном, который говорил о составлении иерархий понимания в нейронных сетях. Тун указал, что он согласен с некоторыми аспектами мышления Лекуна.
С этой точки зрения, по словам Туна, проблема ИИ становится одной из тех, «как вы создаете достаточно глубокое понимание мира, чтобы проводить гораздо больше интерполяции, чем экстраполяции?»
И эта проблема, по его мнению, будет заключаться в очень «разреженных» данных, обновлениях параметров из небольших, последующих фрагментов данных, а не в больших объемах повторного обучения всех данных.
«Даже в рамках конкретной вещи, о которой вы обновляете мир, вам, возможно, придется затронуть разные точки вашего понимания мира», — объяснил Тун. «Возможно, не все аккуратно собрано воедино в одном месте, данные очень беспорядочные и очень разреженные».
С вычислительной точки зрения, «в конечном итоге вы получите множество различных фрагментов параллельных операций, — сказал он, — и все они очень разрежены, потому что они работают с разными частями данных».
Обе идеи, интерполяция и более конкретная модель убийцы рака, согласуются с идеями, изложенными соучредителем Toon, техническим директором Graphcore Саймоном Ноулзом, который говорил о «дистилляции» более общей, очень большой нейронной сети до чего-то конкретного.
Кроме того, обе эти идеи, казалось бы, обыгрывают идею о том, что программное обеспечение Poplar выполняет ключевую функцию. Если новые фрагменты данных разрежены, заполняют пробелы, и их приходится извлекать из многих мест ассоциативной памяти и по многим графическим операциям, то Poplar играет важную роль в качестве своего рода регулировщика для параллельного распределения таких данных и задач между чипами IPU.
Несмотря на изложение этого сценария, Тун ни в коем случае не является идеологическим. Он помнит, что ни у кого пока нет точного ответа. «Я думаю, что существуют разные философии и разные идеи о том, как это работает, но никто точно не знает», — сказал он об этой области. «И это то, что люди исследуют».
Когда мы получаем ответы на все глубокие вопросы? Вероятно, не скоро.
«Самое удивительное в искусственном интеллекте то, что мы уже десять лет отделяемся от AlexNet, и мы все еще чувствуем, что исследуем», — сказал он, имея в виду нейронную сеть, которая, как известно, преуспела на конкурсе ImageNet в 2012 году, выведя на передний план формы глубокого обучения искусственного интеллекта.
«Я всегда использую аналогию с компьютерными играми», — сказал Тун, который написал игру по «Звездным войнам» для своего первого компьютера, комплекта 6502 от «давно забытого» производителя компьютеров. «Мы, вероятно, все еще находимся на стадии Pac Man, мы еще не добрались до трехмерных игр», — сказал он.
На пути к 3D-играм «я не думаю, что будет зима с искусственным интеллектом», — высказал мнение Тун, имея в виду то, что за десятилетия финансирование много раз иссякло и обрушило индустрию.
«Разница сегодня в том, что это работает, это реально», — сказал он. В прежние эпохи, с компаниями по искусственному интеллекту, такими как Thinking Machines в 1980-х годах, «это просто не работало, у нас не было достаточного количества данных, у нас не было достаточного количества вычислительных ресурсов.
«Теперь ясно, что это работает, есть четкие доказательства, это приносит огромную пользу», — сказал Тун. «Люди строят на этом целый бизнес», — сказал он. «Я имею в виду, что ByteDance и TikTok — это компания, основанная на искусственном интеллекте, и вопрос только в том, насколько быстро она проникает во все технологическое пространство и на предприятия».
Битвы между технологическими гигантами, такими как TikTok и Instagram Meta, можно рассматривать как битву ИИ, гонку вооружений за лучшие алгоритмы.
У Graphcore определенно есть деньги, чтобы выдержать любую зиму, стоит подумать, с 730 миллионами долларов венчурного финансирования. Тун отказался предоставить информацию или доходы Graphcore.
«У нас есть деньги, у нас есть команда», — сказал он. «Я думаю, что у вас всегда может быть больше денег и большая команда, но вы должны работать в рамках существующих ограничений». В Graphcore работает 650 сотрудников.
На данный момент зима с искусственным интеллектом не является проблемой. Продажа клиентам превосходной комбинации программного обеспечения Poplar и IPU есть. Это, безусловно, звучит как тяжелая битва против гиганта Nvidia.
Meta, владелец Facebook, недавно объявил о создании «исследовательского суперкомпьютера» для искусственного интеллекта и метавселенной, построенного на 6 080 графических процессорах Nvidia. Кажется, что люди просто хотят все больше и больше Nvidia.
«Я думаю, что задача, с которой мы сталкиваемся как бизнес, заключается в том, можем ли мы изменить сердца и умы людей», — сказал Тун.
Ну, могут ли они?
«Следите за этим пространством», — сказал Тун и направился в аэропорт.
