Михаэль Гшвинд | |
---|---|
Рожденный | Вена , Австрия |
Национальность | США |
Альма-матер | Венский технический университет |
Майкл Карл Гшвинд — американский компьютерный ученый из Nvidia в Санта-Кларе, Калифорния . Он известен своим основополагающим вкладом в проектирование и эксплуатацию универсальных программируемых ускорителей, как один из первых сторонников устойчивости в компьютерном проектировании и как плодовитый изобретатель . [1]
Gschwind руководил архитектурой аппаратного и программного обеспечения для первого универсального программируемого ускорителя Accelerators и широко известен за свой вклад в гетерогенные вычисления в качестве архитектора процессора Cell Broadband Engine , используемого в Sony PlayStation 3 , [2] [3] и RoadRunner , первом суперкомпьютере, достигшем устойчивой производительности Petaflop. В качестве главного архитектора IBM System Architecture он руководил интеграцией графических процессоров Nvidia и центральных процессоров IBM для создания суперкомпьютеров Summit и Sierra .
Гшвинд был одним из первых сторонников виртуализации ускорителей [4] [5] и в качестве главного системного архитектора IBM руководил виртуализацией ввода-вывода и ускорителей. [6]
Gschwind оказал решающее влияние на разработку моделей программирования ускорителей, разработав API и лучшие практики программирования ускорителей, [7] [8] [9] [10] [11] изучив приложения для разнообразных приложений HPC [12] и не-HPC. [13] а также выступая в качестве соредактора книг [14] и журналов [15] по практике и опыту программирования систем на основе ускорителей.
Gschwind был одним из первых сторонников аппаратного ускорения ИИ с графическими процессорами и программируемыми ускорителями. Будучи главным инженером IBM по ИИ, он руководил разработкой первых продуктов ИИ IBM и инициировал проект PowerAI, который вывел на рынок оптимизированное для ИИ оборудование (под кодовым названием «Minsky») и первые предварительно созданные оптимизированные для оборудования фреймворки ИИ. Эти фреймворки поставлялись как первые свободно устанавливаемые, управляемые двоичными пакетами программные стеки ИИ, прокладывая путь к принятию. [16]
В Facebook Gschwind продемонстрировал ускоренные большие языковые модели (LLM) для ускорителей Facebook первого поколения ASIC и для графических процессоров, возглавив первые масштабные развертывания производства LLLM для встраивания, обслуживающего анализ контента и безопасность платформы, а также для многочисленных пользовательских поверхностей, таких как Facebook Assistant и FB Marketplace, начиная с 2020 года. [17] Gschwind руководил разработкой и является одним из архитекторов Multiray, платформы на основе ускорителя для обслуживания базовых моделей и первой производственной системы для обслуживания больших языковых моделей в масштабе в отрасли, обслуживающей более 800 миллиардов запросов в день в 2022 году. [18] [19]
Gschwind возглавил внедрение ASIC в масштабах всей компании [20] и последующий «стратегический поворот» Facebook к GPU Inference, развертывание GPU Inference в масштабе, шаг, подчеркнутый генеральным директором FB Марком Цукербергом в его отчете о доходах. Среди первых рекомендательных моделей, развернутых с GPU Inference, была модель рекомендаций видео Reels, которая обеспечила 30%-ный рост числа пользователей в течение 2 недель после развертывания, как сообщил генеральный директор FB Марк Цукерберг в своем отчете о доходах за первый квартал 2022 года [21] и последующий рост REeels на $3–10 млрд в годовом исчислении. [22]
Gschwind также руководил внедрением ускорителей ИИ для PyTorch , уделяя особое внимание ускорению LLM, возглавляя разработку Accelerated Transformers [23] (ранее «Better Transformer» [24] ) и сотрудничая с такими компаниями, как HuggingFace, для продвижения отраслевого ускорения LLM [25] с целью сделать PyTorch 2.0 стандартной экосистемой для больших языковых моделей и генеративного ИИ. [26] [27] [28] [29]
Gschwind впоследствии возглавил расширение ускорения LLM для моделей искусственного интеллекта на устройствах с помощью ExecuTorch, решения экосистемы PyTorch для искусственного интеллекта на устройствах, впервые сделав генеративный искусственный интеллект на устройствах осуществимым. [30] Ускорение LLM ExecuTorch (на нескольких поверхностях, включая NPU, MPS и ускорители Qualcomm) обеспечило значительное ускорение, сделав практичным развертывание Llama3 без изменений на серверах и на устройствах (продемонстрировано на iOS, Android и Raspberry Pi 5) при запуске, при этом разработчики сообщали об ускорении до 5x-10x по сравнению с предыдущими решениями искусственного интеллекта на устройствах. [31] [32]
Многочисленный вклад Gschwind в программные стеки и фреймворки ИИ, ускорители ИИ, мобильный/встроенный ИИ на устройствах и числовые представления с низкой точностью в Torchchat [33] [34] представляет собой знаменательную веху в качестве первого в отрасли интегрированного программного стека для серверов и ИИ на устройствах с поддержкой широкого набора серверных и встроенных/мобильных ускорителей.
Гшвинд — пионер и сторонник устойчивого ИИ. [35]
Гшвинд был главным архитектором по проектированию аппаратного обеспечения и программной архитектуры для нескольких суперкомпьютеров , включая три ведущие суперкомпьютерные системы: Roadrunner (июнь 2008 г. — ноябрь 2009 г.), Sequoia (июнь 2012 г. — ноябрь 2012 г.) и Summit (июнь 2018 г. — июнь 2020 г.).
Roadrunner — суперкомпьютер, созданный IBM для Лос-Аламосской национальной лаборатории в Нью-Мексико, США. Roadrunner стоимостью 100 миллионов долларов США был разработан для пиковой производительности 1,7 петафлопс . Он достиг 1,026 петафлопс 25 мая 2008 года, став первой в мире системой TOP500 LINPACK, устойчиво работающей на уровне 1,0 петафлопс. [36] [37] Он также был четвертым по энергоэффективности суперкомпьютером в мире в списке Supermicro Green500 с рабочей скоростью 444,94 мегафлопс на ватт потребляемой мощности.
Sequoia — суперкомпьютер Blue Gene/Q петафлопсного масштаба , созданный IBM для Национальной администрации по ядерной безопасности в рамках Программы усовершенствованного моделирования и вычислений (ASC). Он был доставлен в Ливерморскую национальную лабораторию имени Лоуренса (LLNL) в 2011 году и был полностью развернут в июне 2012 года. [38] Sequoia была демонтирована в 2020 году, ее последняя позиция в списке top500.org была #22 в списке ноября 2019 года.
Summit — суперкомпьютер, разработанный IBM для использования в Oak Ridge Leadership Computing Facility (OLCF), объекте в Oak Ridge National Laboratory . Он занимал первое место с ноября 2018 года по июнь 2020 года. [39] [40] Его текущий бенчмарк LINPACK имеет тактовую частоту 148,6 петафлопс. [41]
Gschwind был одним из первых сторонников многоядерного дизайна процессоров для преодоления ограничений мощности и производительности однопроцессорных конструкций. Gschwind был соавтором анализа ограничений масштабирования частоты , который, как утверждается, привел к общеотраслевому переходу на многоядерные конструкции. [42] Gschwind был ведущим архитектором нескольких многоядерных конструкций, включая первый коммерческий многоядерный процессор Cell с 9 ядрами, BlueGene/Q с 18 ядрами и несколько корпоративных и мэйнфреймовых процессоров ( POWER7 / POWER8 / POWER9 с количеством ядер до 24; z10-z15 с количеством ядер до 12).
Как главный архитектор чипов и главный микроархитектор, Gschwind сыграл решающую роль в перезагрузке архитектуры POWER после тупика высокочастотной и мощной POWER6, возглавив возрождение дизайна с неупорядоченным байтом в стиле POWER5 с POWER7, выступая в качестве руководителя блока и главного микроархитектора для блока выборки, декодирования и предсказания ветвлений инструкций (включая также логическое выполнение инструкций), а также исполняющего обязанности руководителя для большинства других блоков в какой-то момент во время проектирования. В последующих поколениях архитектуры POWER интеграция дизайна VMX SIMD и FPU в VSX, поддержка little-endian в POWER8 заложила основу для little-endian PowerLinux (используемого в прототипе Google POWER и для интеграции GPU для системы Minsky PowerAI), а также интеграция NVLink для оптимизированной интеграции GPU/CPU; и встроенная поддержка аппаратно-управляемых таблиц страниц radix в стиле Linux в POWER9, используемая в ведущих мировых суперкомпьютерах Summit и Sierra Power+Nvidia; и введение адресации, зависящей от ПК, и префиксных инструкций для преодоления ограничений 32-битных кодировок инструкций архитектур RISC в POWER 10.
В качестве ведущего/менеджера по архитектуре и главного архитектора кросс-платформенных решений Гшвинд также руководил перезагрузкой мэйнфрейма System Z с внедрением эффективности компилируемого кода (с особым акцентом на C, C++ и Java) в IBM z10 , внеочередного выполнения, ввода-вывода на базе PCIe в z196 и z114 , поддержки транзакционной памяти в IBM zEC12 , внедрения аппаратной многопоточности и архитектуры z/Vector SIMD [43] (включая общую программную инфраструктуру с VSX компании Power) в IBM z13 ; и прекращения поддержки ESA390 для операционных систем [44], что существенно снизило сложность проверки и проектирования и сократило время выхода на рынок в IBM z14 .
Gschwind ввел термин «стена надежности» для препятствий к устойчивой работе крупномасштабных систем. Он внес большой вклад в моделирование надежности на уровне системы и усовершенствования, с особым акцентом на обеспечение устойчивой работы суперкомпьютерных систем. Как главный архитектор BlueGene/Q, он руководил надежностью на уровне системы и проектированием процессоров, а также был главным архитектором ISA и руководителем проектирования векторного блока с плавающей точкой QPU. [45] [46]
Gschwind возглавил первое моделирование уязвимостей архитектуры на уровне процессора и чипа и выборочное укрепление для достижения целевого MTBF, впервые реализованное в BlueGene/Q с использованием стекированных защелок DICE для критических защелок, удерживающих состояние. [47] Чтобы повысить надежность системы, избегая при этом затрат на производительность и электроэнергию, связанных с конструкциями на основе ECC, Gschwind предложил и возглавил проектирование регистровых файлов и второстепенных шин, защищенных четностью с восстановлением состояния. В соответствии с этим подходом обнаружение ошибок реализовано в трактах данных, которые могут происходить параллельно с инициированием вычислительных операций, с операцией восстановления, когда мягкая ошибка обнаруживается параллельно с операцией. Затем восстановление продолжается из хорошего состояния, поддерживаемого в альтернативных копиях регистрового файла, обычно используемого для масштабирования количества портов чтения регистрового файла и сокращения задержки проводки от чтения регистрового файла до исполнительных устройств. [48]
Гшвинд внес основополагающий вклад в технологию компиляторов, уделив особое внимание новаторскому вкладу в компиляцию «на лету», динамическую оптимизацию, двоичную трансляцию и компиляторы для суперкомпьютеров.
Gschwid был одним из первых сторонников компиляции just-in-time и был движущей силой в этой области. Он предложил критические улучшения для внедрения систем, основанных на JIT-компиляции, с особым акцентом на динамическую оптимизацию, двоичную трансляцию и реализацию виртуальных машин. Вклад Gschwind включает реализацию точных исключений с отложенной материализацией состояния, [49] оптимизацию высокопроизводительных вычислений, такую как программный конвейер во время JIT-трансляции, [50] [51] совместное проектирование оборудования и программного обеспечения для двоичной эмуляции и динамической оптимизации. [52] [53] [54] [55] Основополагающий вклад Gschwind в проектирование и реализацию виртуальных машин отражен в том, что он является наиболее цитируемым автором в учебнике `Virtual Machines' Смита и Наира. [56]
Gschwind приписывают основополагающий вклад в компиляцию универсальных программируемых ускорителей и графических процессоров, поддерживая запуск зарождающейся дисциплины в качестве основного докладчика на первом семинаре по универсальным программируемым графическим процессорам (GPGPU). Его вклад включает в себя разбиение кода, оптимизацию кода, разбиение кода и API для ускорителей. [57] [58] [59] [60]
Его инновации включают совместную разработку компилятора и оборудования для интегрированных регистровых файлов с целью решения проблем с упорядочением фаз при автоматической векторизации между назначением единиц и решениями векторизации для упрощения модели затрат. Это нововведение было принято в программируемых ускорителях общего назначения, включая Cell SPU и GPUs, конструкции ЦП общего назначения, начиная с новаторской работы Гшвинда по ускорителям ЦП SIMD.
В последнее время его вклад в компиляцию HPC включает новаторскую работу по обеспечению высокопроизводительного выполнения рабочих нагрузок ИИ. [61] [62] [63]
Gschwind руководил разработкой среды выполнения ELFv2 Power, которая была широко принята для сред выполнения Power. Преимуществом является то, что новая среда обновляет API и ABI для объектно-ориентированных сред. Отступая от традиционных соглашений о данных архитектуры Power с обратным порядком байтов, ELFv2 ABI и API были впервые запущены для поддержки новой версии Linux на Power с обратным порядком байтов. С тех пор это было принято для всех версий Linux на серверах Power и для поддержки ускорения GPU с графическими процессорами Nvidia, например, в оптимизированных для ИИ серверах Minsky и суперкомпьютерах Summit и Sierra. [64] [65] [66]
Gschwind является пионером параллельной векторной архитектуры SIMD для увеличения количества операций, которые могут быть выполнены за один цикл. Для обеспечения эффективной компиляции Gschwind предложил реализацию объединенных скалярных и векторных исполнительных блоков, устраняя стоимость копирования между скалярным и векторизованным кодом и упрощая архитектуру компилятора путем решения проблем упорядочения фаз в компиляторах.
Ядра ускорителя Cell (Synergistic Processor Unit SPU) содержат один файл регистров из 128 элементов с 128 битами на регистр. Регистры могут содержать либо скаляр, либо вектор из нескольких значений. [67] Упрощенная модель затрат приводит к значительному улучшению векторизации, повышению общей производительности и эффективности программы. [68]
Векторно-скалярный подход был также принят в инструкциях SIMD IBM Power VSX (Vector Scalar Extension) [69] , векторных инструкциях BlueGene /Q [70] [71] и наборе векторных инструкций мэйнфрейма System/z [72] [73]. Разработка всех трех векторно-скалярных архитектур IBM велась под руководством Гшвинда, главного архитектора системной архитектуры IBM.
Гшвинд твердо верит в силу образования и его способность преодолевать последствия всех видов дискриминации и колониализма. Он работал преподавателем в [Принстоне] и [TU Wien] для продвижения образования. Чтобы преодолеть последствия колониализма и преодолеть цифровой разрыв, Гшвинд добровольно отправился в Сенегал, чтобы внести вклад в расширение и улучшение образовательной и исследовательской сети Сенегала snRER.
Гшвинд родился в Вене и получил докторскую степень по вычислительной технике в Венском техническом университете в 1996 году. Он присоединился к исследовательскому центру IBM Thomas J. Watson в Йорктаун-Хайтс, штат Нью-Йорк, а также занимал должности в группе продуктов IBM Systems и в ее корпоративной штаб-квартире в Армонке, штат Нью-Йорк. В Huawei Гшвинд занимал должность вице-президента по искусственному интеллекту и ускоренным системам в Huawei. В настоящее время Гшвинд является инженером-программистом в Meta Platforms , где он отвечал за ускорение ИИ и инфраструктуру ИИ. [ необходима цитата ]