Мегаядро
Мегаядро (megakernel) — способ запуска модели на видеокарте, при котором весь проход (или его крупная часть) объединяется в одно непрерывно работающее ядро вместо десятков последовательных. Это убирает паузы между запусками ядер и простои GPU, что заметно снижает задержку генерации, но усложняет разработку и отладку кода.
проверено по: hazyresearch.stanford.edu ↗
См. также
- ЯдроЯдро (kernel) в вычислениях на видеокартах — отдельная программа, которую процессор запускает на GPU и которая выполняется параллельно множеством потоков. Работа нейросети обычно разбита на последовательность из многих ядер (умножение матриц, нормализация, функции активации), а между их запусками возникают паузы и обращения к памяти.
- CUDAПлатформа параллельных вычислений и модель программирования от NVIDIA. С ней разработчики пишут программы для графических процессоров NVIDIA на C, C++ и других языках. На CUDA опирается большая часть софта для машинного обучения, поэтому её часто называют главным конкурентным преимуществом NVIDIA перед другими производителями чипов.
- FlashAttentionАлгоритм и открытая библиотека для быстрого точного вычисления механизма внимания в трансформерах на видеокартах. Вычисления делятся на блоки, поэтому данные реже пересылаются между большой медленной памятью видеокарты и её быстрой встроенной памятью. Это ускоряет обучение и инференс и экономит память, особенно на длинных последовательностях. В отличие от методов приближённого внимания, результат получается точным. Алгоритм создали Три Дао и соавторы; библиотека работает на видеокартах NVIDIA и AMD и развивается отдельными версиями, например FlashAttention-4.
В новостях
ИИ-лабораторию Flapping Airplanes оценили в 6 млрд долларов, пишет Bloomberg
Программа для видеокарты, которая запускается один раз и сама выполняет всю цепочку вычислений, а не множество коротких отдельных запусков с паузами между ними. Так видеокарта меньше простаивает.
Google показала научные результаты модели Gemini 4 Argon и даст 10 000 учёным бесплатный доступ
Одна большая программа для ускорителя, в которую сведены все шаги вычислений модели. Так шаги не запускаются по отдельности, и время на передачу данных между ними не тратится.