Хватит греть воздух видеокартами: архитектура Ascend
Когда речь заходит об ускорении вычислений для нейросетевых моделей, чаще всего в центре внимания оказываются GPU и экосистема CUDA. Однако современные аппаратные платформы для машинного обучения не исчерпываются этой архитектурой. В лекции будет рассмотрена архитектура Huawei Ascend как пример специализированного NPU и обсуждены её принципиальные отличия от GPU на уровне вычислительной модели, организации памяти и исполнения операторов.
На примере Ascend будет показано, как устроен специализированный ускоритель для задач машинного обучения: асинхронные конвейеры вычислений и передачи данных, многоуровневая иерархия памяти, матричные и векторные вычислительные блоки, а также механизмы аппаратной синхронизации. Отдельное внимание будет уделено сравнению с более универсальной GPU-архитектурой и тому, почему одна и та же вычислительная задача требует различных стратегий реализации и оптимизации на разных типах ускорителей.
Центральная тема лекции состоит в том, что эффективная реализация вычислительных ядер на NPU естественным образом приводит к нетривиальным математическим постановкам. Планирование операций на нескольких конвейерах, работа в условиях ограниченных буферов памяти и учёт зависимостей между этапами вычисления связаны с задачами, близкими к Job-Shop Scheduling, графовым моделям зависимостей и задачам целочисленного линейного программирования. Будет показано, как подобные постановки возникают в практических задачах оптимизации операторов и какую роль математические методы играют в системном машинном обучении.
Лекция рассчитана на студентов компьютерных и математических направлений. Для понимания материала достаточно базового знакомства с линейной алгеброй, алгоритмами и архитектурой вычислительных систем; специальных знаний в области CUDA или проектирования аппаратуры не требуется.
О чём пойдёт речь:
- чем специализированные NPU отличаются от GPU и в каких аспектах эти различия принципиальны;
- как устроена архитектура Ascend на общем уровне;
- какие математические задачи возникают при оптимизации вычислительных ядер;
- как методы scheduling, графовые модели и MILP используются в задачах системного ML.
