От [GeForce] к искусственному интеллекту [AI]: почему решение [NVIDIA] о [CUDA] изменило будущее компании?

Введение: можно ли пожертвовать сегодняшней прибылью ради вычислительного мира завтрашнего дня?
Компания тратит большие средства на возможность, которую клиенты пока не требуют. Ее добавление повышает себестоимость, но покупатели не готовы платить больше. Однако компания не отступает. Она хочет не просто продать новый продукт, а создать вычислительную платформу [Computing Platform], на которой другие смогут строить собственные разработки в будущем.
Такова основа решения [NVIDIA] внедрить [CUDA] в графические процессоры [GPU] [GeForce]. Как объясняет Jensen Huang, немедленного успеха оно не принесло. Вместо этого появились расходы, давление на прибыль и долгое ожидание. Но позднее оно стало одной из основ развития глубокого обучения [Deep Learning].
1. От ускорителя отдельной задачи к широкой вычислительной платформе [Computing Platform]
Изначально [NVIDIA] ускоряла выполнение конкретной задачи. Специализация давала ей силу. Но зависимость от узкого рынка могла ограничить и возможности исследований и разработок [Research and Development].
Здесь было противоречие. Слишком специализированная конструкция может затруднить выполнение более общих вычислительных задач. Попытка делать все может лишить первоначального преимущества. Подход Huang состоял в постепенном движении между этими требованиями.
По его словам, первым шагом стал программируемый пиксельный шейдер [Programmable Pixel Shader]. Затем в шейдерах [Shaders] появились совместимые с IEEE 32-битные вычисления с плавающей точкой [IEEE-compatible FP32]. Исследователи задумались, нельзя ли использовать графический процессор для других расчетов.
Затем появился [Cg], основанный на языке программирования (C). Этот путь в итоге привел к [CUDA]. Это было не волшебное решение, возникшее за день, а последовательное соединение одной технической возможности со следующей.
2. Важнее создания [CUDA] оказалось то, куда его принесли
Создание превосходной технологии не означает, что люди автоматически начнут ее использовать. Нужны разработчики [Developers], пишущие программы, и множество людей, способных этими программами пользоваться.
Сила вычислительной платформы [Computing Platform] заключается не только в изяществе конструкции, но и в том, сколько людей уже ею располагают. Huang объясняет это важностью установленной базы [Installed Base].
Он приводит пример архитектуры [x86], которая сохранилась благодаря массовому использованию, несмотря на критику. При этом некоторые изящные архитектуры с сокращенным набором команд [RISC Architectures], по его словам, не достигли ожидаемого успеха. Это не означает провала всех решений [RISC]. Главное, что техническое изящество само по себе не гарантирует успеха платформы.
В то время ежегодно уже продавались миллионы устройств [GeForce]. Поэтому у [NVIDIA] был готовый путь для распространения новой вычислительной возможности.
3. [CUDA] в каждом процессоре [GeForce]: основа до появления спроса
Возможности [CUDA] можно было оставить лишь в нескольких дорогих исследовательских машинах. Тогда доступ к ним получило бы меньше людей.
Вместо этого компания решила через [GeForce] принести их в широко доступные персональные компьютеры [PC]. Покупка для игр становилась и возможностью для исследований. Студент, университетская лаборатория или исследователь, самостоятельно собирающий компьютер, мог пробовать новые расчеты на уже имеющемся оборудовании.
Это нельзя понимать как утверждение, что [CUDA] работал на каждом компьютере. Смысл в том, что база пользователей [GeForce] стала отправной точкой, чтобы сделать эту возможность доступной большему числу людей.
Huang говорит, что дело не ограничивалось поставкой оборудования: компания преподавала в университетах, выпускала книги и проводила занятия. Создание платформы не заканчивается продажей продукта. Нужны знания и сообщество, способное ею пользоваться.
4. Немедленная цена: рост затрат и давление на прибыль
Экономическое бремя было значительным. Huang вспоминает, что добавление [CUDA] повысило себестоимость процессора примерно на 50%, тогда как компания работала с валовой маржой [Gross Margin] около 35%.
Игроки не собирались платить больше за вычислительные возможности, которыми не пользовались. Поэтому компания взяла расходы на себя. По его описанию, они были достаточны, чтобы поглотить всю валовую прибыль в денежном выражении [Gross Profit Dollars].
Нельзя просто вычесть эти проценты, чтобы определить финансовое положение компании. Один показатель относится к производственной себестоимости, другой представляет собой маржу от выручки. Речь не о простой арифметике, а о трудности отказа от нынешнего дохода ради будущей платформы.
Он также приблизительно вспоминает рыночную капитализацию [Market Capitalisation] в 6-8 миллиардов долларов США в тот период и последующее падение примерно до 1,5 миллиарда. Это оценки по памяти. Они не доказывают, что причиной всего изменения был исключительно [CUDA].
Тем не менее важно его замечание, что ожидаемого результата пришлось ждать около десятилетия. Это решение принималось не ради прибыли следующего квартала.
5. Почему решение стало основой глубокого обучения [Deep Learning]?
Одно из препятствий новым исследованиям связано со стоимостью и сложностью доступа к оборудованию. Если эксперимент можно начать на устройствах, которые уже есть у многих, часть барьера снижается.
Распространяемый через [GeForce], [CUDA] создал основу для экспериментов в общей среде программирования [Programming Environment]. Полученные знания, программы и опыт могли использоваться в следующих работах.
Когда глубокое обучение [Deep Learning] стало развиваться, подходящее оборудование для масштабных параллельных вычислений [Parallel Computing] и умеющие им пользоваться люди уже существовали. Это было важным преимуществом.
Вся история глубокого обучения [Deep Learning] не зависит от одной компании или инструмента. Но это решение сыграло важную роль в широком доступе к необходимой вычислительной платформе. Поэтому Huang подчеркивает мысль, что [NVIDIA] является домом, который построил [GeForce].
6. Доверие, созданное до технического решения
Будущее может быть ясным в голове руководителя. Но этого недостаточно, если совет директоров, управленцы, сотрудники, клиенты и партнеры его не принимают.
Huang описывает свой подход как постепенное объяснение причин и следствий. При появлении новой информации, исследовательского прогресса или инженерного достижения он объясняет окружающим, как это связано с будущим направлением.
По его мнению, объявление большого решения не должно становиться неожиданностью для всех. Основу следует подготовить настолько хорошо, чтобы люди скорее спрашивали, почему это заняло так много времени.
Такое долгосрочное доверие и терпение стояли и за решением о [CUDA]. Выбирая технический путь, нужно было подготовить к нему компанию, которая понесет расходы.
7. Не просто продукт, а платформа для разработок партнеров
Здесь важно и то, что [NVIDIA] видит себя компанией вычислительных платформ [Platform Company]. В центре этого подхода находится пространство для вклада других компаний и совместной разработки на каждом уровне.
Это не означает, что все ее программы имеют открытый исходный код [Open Source]. Возможность совместной разработки для партнеров отличается от публикации исходного кода для всех.
Хорошая платформа растет не только благодаря создателю, но и благодаря приложениям, которые строят исследователи, программисты, компании и учебные заведения. Решение о [CUDA] открыло дверь этому росту.
8. Урок сегодняшнего дня: ускорить один процессор недостаточно
В крупных распределенных нагрузках [Distributed Workloads] ускорение отдельной части не ускоряет всю систему в той же пропорции. Это объясняет закон Амдала [Amdahl's Law].
Предположим, улучшить можно только половину времени выполнения задачи. Как бы быстро ни работала эта половина, другая остается неизменной. Даже если улучшенная часть вообще перестанет занимать время, вся задача ускорится максимум вдвое.
Поэтому графический процессор [GPU], центральный процессор [CPU], сеть [Networking], память [Memory], электропитание [Power] и охлаждение [Cooling] должны проектироваться согласованно. Huang называет это предельно тесным совместным проектированием [Extreme Co-design].
Здесь видна связь с первоначальным решением о [CUDA]. Возможности отдельного инструмента недостаточно. Вся среда его использования должна развиваться вместе с ним.
Заключение: решение, создавшее будущее применение
Значение появления [CUDA] не ограничивается новой возможностью программирования. Более глубокий смысл в том, что ее объединили с уже массово продаваемым [GeForce] и заранее передали людям, которые будут пользоваться ею в будущем.
Если смотреть только на тогдашние расходы, решение могло показаться ошибочным. Но [NVIDIA] понимала, что ценность вычислительной платформы заключается и в приложениях, которые на ней создадут другие.
Технология, массовое распространение, образование, сообщество разработчиков и терпение компании вместе создали новую возможность. Позднее она соединилась с ростом искусственного интеллекта [AI]. Урок [CUDA] таков: большим переменам завтра нужна основа, на которой многие могут начать строить уже сегодня.
Powered By K7
