Николай Полярный выложил у себя на канале курс про GPGPU.
Всем желающим погрузиться рекомендую. К OpenCL'у я отношусь лично специфически, но для изучения не вижу проблем.
https://youtu.be/qI1LE8iXuWk
Всем желающим погрузиться рекомендую. К OpenCL'у я отношусь лично специфически, но для изучения не вижу проблем.
https://youtu.be/qI1LE8iXuWk
YouTube
Вычисления на GPU 01 | Архитектура CPU, история GPU и GPGPU, введение в OpenCL API | CS Space
0:00 План курса
2:55 Пререквизиты - C++
7:29 Пререквизиты - алгоритмы и асимптотика
8:49 Архитектура CPU - ALU, FPU, 5 GHz, GFlops, FMA
14:28 Instruction pointer, Instruction Level Parallelism (ILP)
22:57 Branch Prediction
27:30 Как работают Meltdown/Spectre…
2:55 Пререквизиты - C++
7:29 Пререквизиты - алгоритмы и асимптотика
8:49 Архитектура CPU - ALU, FPU, 5 GHz, GFlops, FMA
14:28 Instruction pointer, Instruction Level Parallelism (ILP)
22:57 Branch Prediction
27:30 Как работают Meltdown/Spectre…
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Хоть 1 причина почему через N лет, будет иметь смысл руками собирать ассеты для игр, а не делать трансфер нейронкой из кубов?
В этом канале еще больше таких видосов https://www.youtube.com/@Aillusory/videos.
В этом канале еще больше таких видосов https://www.youtube.com/@Aillusory/videos.
😁5
Forwarded from Low Level ML
Почти год назад писал про свой небольшой опыт использования AI для написания кода. За этот год экосистема LLM сделала большой прогресс, появились полноценные и юзабельные LLM агенты, а я перестал быть AI-скептиком и покорился неизбежно наступающему будущему. Новогодние каникулы в этом году длинные, мозоли от весел на ладонях успели зажить, поэтому решил погрузиться в тему еще раз. В этот раз лень писать подробно и красиво, да и пишу по большей части для себя, чтобы вспомнить об этих наблюдениях еще через год, поэтому впечатления будут в формате тезисов.
Для контекста: кодил транспайлер TfLite моделей (да, я все еще живу в 2020) в C++ код, вызывающий XNNPACK, то есть и веса модели и граф задаются прямо в коде. Это позволяет сэкономить ROM, избавившись от жирного рантайма TfLite, но сохранив при этом прозводительность при инференсе на CPU (на прошлой работе делал аналогичный инсрумент для TfLite -> NNAPI, получилось неплохо). Может быть не слишком современно и вообще полезно, но зато это понятная и достаточно простая задача для бенчмарка. Чуть позже может быть выложу что получилось навайбкодить😁 .
1. Современные LLM агенты для кодинга дают большой прирост продуктивности, но есть нюансы.
Vibecoding is real, но качественный софт получается только если кодишь что-то, что и так смог бы сделать за какое-то адекватное время. Если знаний технологии и предметной области никаких нет, то в лучшем случае получится прототип на один раз. По ощущениям, агенты пока что думают и действуют довольно ограниченно - дизайн системы все равно должен определяться пользователем. Возможно, эти проблемы решаются более кропотливым и аккуратным промптингом, но это уже другой уровень трудозатрат.
2. За вайбкодинг в 2026 нужно дорого платить.
Использовал Claude Code CLI/Codex + spec-kit с Pro подписками, лимитов хватает на пару часов разработки. Дальше - подписки с ценой 100-200 баксов, что уже довольно существенно.
3. Локальные LLM для SWE агентов пока подходят плохо.
Если взять любую OSS LLM до 150B параметров и подключить ее к cline/Aider/OpenCode, то результат будет сомнительный, а ведь даже такие модели (тот же Qwen3-Coder-30B) далеко не все могут запустить дома или в контуре компании. Опять же, наверняка если запариться с промптами, то получится что-то выжать и из них, но не уверен, что не очень большой прирост КПД (если платные облачные дают условные x2-3, то тут дай бог x1.5 получится после недели настройки) + дорогое железо для локального деплоя этого стоит. Это накладывает очень серьезные ограничения на применимость LLM агентов в целом, потому что все-таки большая часть разработки, где важна скорость и стоимость - коммерческая, но не все компании могут позволить себе покупку enterprise облачных решений от Calude или OpenAI, по разным причинам, начиная от приватности и заканчивая санкциями.
4. Вайбкодинг порождает AI-slop (авторский перевод - ИИ-хрючево).
На момент написания поста в моем проекте поддержана транспиляция только FP32 моделей (а есть еще куча вариантов квантизации) с ограниченным набором операторов, нет тестового C++ проекта для проверки интеграции и нет тулинга для бенчмарков, но при этом написано уже 5k строк кода на Питоне, в которых я ваще хз что происходит, и есть некоторые признаки, что код мог бы быть как минимум раза в два короче. Кажется, что это системная проблема, над решением для которой умные люди уже наверняка думают, но вопрос качества и человечских трудозатрат на ревью этого хрючева пока остается открытым.
Резюме и прогнозов в этот раз не будет, но LLMки - круто, не знаю, как мы раньше без них жили🙂
Для контекста: кодил транспайлер TfLite моделей (да, я все еще живу в 2020) в C++ код, вызывающий XNNPACK, то есть и веса модели и граф задаются прямо в коде. Это позволяет сэкономить ROM, избавившись от жирного рантайма TfLite, но сохранив при этом прозводительность при инференсе на CPU (на прошлой работе делал аналогичный инсрумент для TfLite -> NNAPI, получилось неплохо). Может быть не слишком современно и вообще полезно, но зато это понятная и достаточно простая задача для бенчмарка. Чуть позже может быть выложу что получилось навайбкодить
1. Современные LLM агенты для кодинга дают большой прирост продуктивности, но есть нюансы.
Vibecoding is real, но качественный софт получается только если кодишь что-то, что и так смог бы сделать за какое-то адекватное время. Если знаний технологии и предметной области никаких нет, то в лучшем случае получится прототип на один раз. По ощущениям, агенты пока что думают и действуют довольно ограниченно - дизайн системы все равно должен определяться пользователем. Возможно, эти проблемы решаются более кропотливым и аккуратным промптингом, но это уже другой уровень трудозатрат.
2. За вайбкодинг в 2026 нужно дорого платить.
Использовал Claude Code CLI/Codex + spec-kit с Pro подписками, лимитов хватает на пару часов разработки. Дальше - подписки с ценой 100-200 баксов, что уже довольно существенно.
3. Локальные LLM для SWE агентов пока подходят плохо.
Если взять любую OSS LLM до 150B параметров и подключить ее к cline/Aider/OpenCode, то результат будет сомнительный, а ведь даже такие модели (тот же Qwen3-Coder-30B) далеко не все могут запустить дома или в контуре компании. Опять же, наверняка если запариться с промптами, то получится что-то выжать и из них, но не уверен, что не очень большой прирост КПД (если платные облачные дают условные x2-3, то тут дай бог x1.5 получится после недели настройки) + дорогое железо для локального деплоя этого стоит. Это накладывает очень серьезные ограничения на применимость LLM агентов в целом, потому что все-таки большая часть разработки, где важна скорость и стоимость - коммерческая, но не все компании могут позволить себе покупку enterprise облачных решений от Calude или OpenAI, по разным причинам, начиная от приватности и заканчивая санкциями.
4. Вайбкодинг порождает AI-slop (авторский перевод - ИИ-хрючево).
На момент написания поста в моем проекте поддержана транспиляция только FP32 моделей (а есть еще куча вариантов квантизации) с ограниченным набором операторов, нет тестового C++ проекта для проверки интеграции и нет тулинга для бенчмарков, но при этом написано уже 5k строк кода на Питоне, в которых я ваще хз что происходит, и есть некоторые признаки, что код мог бы быть как минимум раза в два короче. Кажется, что это системная проблема, над решением для которой умные люди уже наверняка думают, но вопрос качества и человечских трудозатрат на ревью этого хрючева пока остается открытым.
Резюме и прогнозов в этот раз не будет, но LLMки - круто, не знаю, как мы раньше без них жили
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤6
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍6 3👏1🎉1
Топовый репозиторий про ML-инжиниринг "в поле": от железа (GPU/NVLink/PCIe, топологии, сеть) до того, как в реальности измерять производительность и чинить распределённое обучение.
Стас Бекман (Hugging Face) собрал туда практику, которая обычно добывается только через инциденты и постмортемы: что ломается на кластере, где утекает скорость, и какие проверки реально помогают.
Что там особенно интересного:
- Silent Data Corruption (SDC): когда GPU может не падать, но давать "не те" результаты, плюс набор способов диагностировать проблемные GPU/ноды (в т.ч. через DCGM/DCGMI и симптомы на матмуле).
- MFU vs HFU: почему "пиковые TFLOPS" почти никогда не равны реальной скорости, как отличать оценку "модельных FLOPs" от измеренных "железных FLOPs", и где в итерации теряется эффективность (включая коммуникации/IO).
- Интерконнект и топология: как PCIe/NVLink/NUMA/InfiniBand и близость узлов влияют на задержки и пропускную способность, и почему NCCL (Ring/Tree и др.) не всегда ведёт себя одинаково на разных сетях.
- Чекпоинтинг: чекпоинты на терабайты - это про пропускную способность ФС и параллельную запись (вплоть до сотен процессов), а не просто
- NUMA affinity: почему привязка процессов/ядер/NUMA важна для стабильной скорости на GPU, как смотреть топологию и избегать лишних "пересечений" по системе.
https://github.com/stas00/ml-engineering/tree/master
@learning_stones
Стас Бекман (Hugging Face) собрал туда практику, которая обычно добывается только через инциденты и постмортемы: что ломается на кластере, где утекает скорость, и какие проверки реально помогают.
Что там особенно интересного:
- Silent Data Corruption (SDC): когда GPU может не падать, но давать "не те" результаты, плюс набор способов диагностировать проблемные GPU/ноды (в т.ч. через DCGM/DCGMI и симптомы на матмуле).
- MFU vs HFU: почему "пиковые TFLOPS" почти никогда не равны реальной скорости, как отличать оценку "модельных FLOPs" от измеренных "железных FLOPs", и где в итерации теряется эффективность (включая коммуникации/IO).
- Интерконнект и топология: как PCIe/NVLink/NUMA/InfiniBand и близость узлов влияют на задержки и пропускную способность, и почему NCCL (Ring/Tree и др.) не всегда ведёт себя одинаково на разных сетях.
- Чекпоинтинг: чекпоинты на терабайты - это про пропускную способность ФС и параллельную запись (вплоть до сотен процессов), а не просто
torch.save. Как прикидывать цену сохранений и не убивать throughput.- NUMA affinity: почему привязка процессов/ядер/NUMA важна для стабильной скорости на GPU, как смотреть топологию и избегать лишних "пересечений" по системе.
https://github.com/stas00/ml-engineering/tree/master
@learning_stones
GitHub
GitHub - stas00/ml-engineering: Machine Learning Engineering Open Book
Machine Learning Engineering Open Book. Contribute to stas00/ml-engineering development by creating an account on GitHub.
🔥7 5 3👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🫡4