Много новых людей пришло, расскажу ещё историю из бытия фрилансером.
Делали мы как-то с другом проект для одной большой конторы (в своей области самой крупной в городе, миллиардные обороты). И вот там на старте нужно было подписаться в техзадании. А техзадание это такая увесистая папка страниц на сто. И подписаться мне, как руководителю проекта, нужно было на каждой странице.
Когда проект запустился, ядро мы собрали быстро. Полный план был что-то типа полгода, но в конечном итоге заняло полтора, потому что после сборки ядра мы практически непрерывно занимались правками и замечаниями. Каждый месяц мы приезжали к заказчику и показывали, что сделали. А нам составляли список из 10-20 новых пунктов. За доработки доплачивали, но в какой то момент стало понятно, что мы в некотором смысле работаем на аутсорсе, хотя подписывались на один конкретный проект. А оставались мы работать, потому что проект не был введён в эксплуатацию, и бросать его без запуска не хотелось.
Заказчик в итоге не переставал заваливать правками, шли месяцы. Впоследствии директор компании сменился, новому проект был без надобности, он заплатил нам остаток, который должен был, и проект остался навечно похоронен.
Как так вышло: огромное и очень подробное техзадание, но всё равно непрерывные правки и замечания? Я позже рефлексировал этот момент и пришёл к таким выводам:
1. Заказчик описал в техзадании конечную систему, которую хотел бы видеть. Нам была нарисована практически каждая кнопка будущей софтины: очень детально и подробно. При этом результат, который требовался заказчику, был описан только в общих чертах (ещё и менялся по ходу дела). ТРИЗ учит нас обращать внимание на результат, а не на способ его достижения.
2. Заказчик не был готов ничего менять со своей стороны. Представьте, я прихожу в спортзал к тренеру и говорю, что вот вам деньги, а я хочу мускулистое тело. Мне тренер предлагает программу занятий. Но я заявляю, что нет, мне некогда, у меня нет времени и возможности ходить. Вообще для меня слишком дорого будет перестроить процессы в своей жизни. Так что нет, никаких походов на занятия. Я же плачу деньги, в конце-концов. Давайте, заплачу ещё больше, если требуется. Дам тренеру больше времени. Так же и тут: в компании были не готовы перестраивать процессы, обновлять софт и железо, обучать персонал. Поэтому новую систему пытались интегрировать со старой, а в интерфейсе использовать не лучшие решения, а привычные.
#dev#freelance
#cuda
DeepEP is a special communication library for Mixture-of-Experts (MoE) models. It helps these models work faster and more efficiently by improving how data is shared between different parts of the system. DeepEP supports low-precision operations and can handle data transfer between different types of connections, like NVLink and RDMA. This makes it very useful for both training and using AI models, especially when speed is important. Users benefit from faster processing times and better performance overall.
https://github.com/deepseek-ai/DeepEP
#rust#cuda#rust
ZLUDA is a software that lets you run CUDA programs, originally made for NVIDIA GPUs, on AMD Radeon RX 5000 series and newer GPUs without changing the programs. It aims to give near-native performance on non-NVIDIA hardware, making CUDA applications more accessible. Currently, ZLUDA is still being developed and mainly supports Geekbench tests, so it might not work perfectly with all applications yet. It works on Windows and Linux but not on MacOS. If you have an AMD GPU and want to try running CUDA apps without an NVIDIA card, ZLUDA could be very useful as it opens up more hardware options for CUDA software[3][5].
https://github.com/vosen/ZLUDA
🌟CUDA-L2: ИИ научился писать CUDA-ядра эффективнее инженеров NVIDIA.
Исследовательская группа DeepReinforce разработала систему полностью автоматического написания GPU-кода для матричного умножения под названием CUDA-L2.
Этот код работает на 10–30% быстрее, чем cuBLAS и cuBLASLt, а это, на минуточку, уже оптимизированные библиотеки от самой NVIDIA.
Обычно такие библиотеки создаются вручную людьми, которые используют готовые шаблоны ядер. А автотюнеры лишь подкручивают параметры, например, размер тайлов.
Но DeepReinforce считают, что даже критически важные и глубоко оптимизированные задачи, как HGEMM, могут быть улучшены с помощью LLM, работающей в связке с RL.
В системе CUDA-L2 языковая модель буквально пишет исходный код CUDA с нуля для каждого размера матрицы. Она не просто меняет параметры, она может менять структуру кода, циклы, стратегию тайлинга, паддинг и даже свизл-паттерны. А еще, она сама выбирает стиль программирования - будь то сырой CUDA, CuTe, CUTLASS или inline PTX.
Процесс выглядит так: цикл RL запускает сгенерированные ядра на реальном железе, измеряет скорость и корректность, а затем обновляет LLM. Со временем модель выводит свои собственные правила производительности, вместо того чтобы полагаться на знания, заложенные людьми.
В качестве генератора использовалась модель DeepSeek 671B. Ее дополнительно доучили на смеси массива CUDA-ядер и качественном коде из библиотек PyTorch, ATen, CUTLASS и примеров от NVIDIA.
🟡Что это дает на практике
Для претрейна и файнтюна LLM большая часть времени GPU тратится именно на операции матричного умножения HGEMM. Если ускорить эти ядра на те самые 10–30%, которые обещает CUDA-L2, то весь процесс обучения становится заметно дешевле и быстрее.
Поскольку CUDA-L2 обрабатывает около 1000 реальных размеров матриц, а не пару вручную настроенных, ускорение работает для самых разных архитектур. Это значит, что в тот же бюджет на GPU можно вместить больше токенов обучения, больше прогонов SFT или RLHF и т.д.
🟡Тесты
HGEMM-ядра, созданные CUDA-L2, стабильно быстрее стандартных библиотек.
В так называемом "оффлайн-сценарии" CUDA-L2 работает примерно на 17–22% быстрее, чем torch.matmul, cuBLAS и cuBLASLt. Она даже на 11% обгоняет cuBLASLt AutoTuning, который сам по себе уже использует поиск ядра.
А в "серверном", сценарии, который имитирует реальный инференс с паузами между вызовами - разница еще больше: буст в 24–29% по сравнению с torch.matmul и cuBLAS.
Простым рисёрчем проект не ограничен, в репозитории на Github авторы выложили оптимизированные ядра HGEMM A100 для 1000 конфигураций.
В планах: расширение на архитектуры Ada Lovelace, Hopper, Blackwell, поддержка более плотных конфигураций и 32-битный HGEMM.
🟡Arxiv
🖥GitHub
@ai_machinelearning_big_data
#AI#ML#CUDA#DeepReinforce
🌟Фреймворк **CUDA-L1** сам научился оптимизировать код для GPU — и добился в среднем **3.12× ускорения работы модели**, а в пике — **до 120×**. .
Попросите любую LLM написать CUDA-код, и скорее всего, вы получите что-то, что либо не компилируется, либо работает мучительно медленно. Причина проста: качественного CUDA-кода в обучающих данных моделей почти не было.
Чтобы исправить это досадное упущение, Deep Reinforce AI создали систему CUDA-L1, которая основана на трехэтапном пайплайне: сначала supervised-обучение для освоения основ, затем self-supervised для практики и, наконец, контрастное обучение с подкреплением, чтобы было все максимально быстро.
🟢На первом этапе система училась писать корректный и компилируемый CUDA-код.
Для этого существующий код был аугментирован - создавались его вариации, чтобы повысить насмотренность модели.
🟢На втором этапе модель генерировала собственный CUDA-код, тестировала его и училась на работающих примерах, отсеивая неудачные.
🟢Самое интересное - третий этап.
Обучаемой модели показывали несколько реализаций CUDA-ядер вместе с их показателями ускорения, например: «kernel_v1 дает ускорение 1.2x», «kernel_v2 — 2.8x», а «kernel_v3 — 1.5x». Затем задали 3 вопроса:
🟠Почему kernel_v2 настолько быстрее?
🟠Какая стратегия оптимизации сработает еще лучше?
🟠Напиши ядро, которое превзойдет их все.
Таким образом, модель не гадает вслепую, а учится на конкретных примерах, анализируя причины разницы в производительности.
🟡Отдельная история - как победили reward hacking.
После обучения выяснилось, что более 30% сгенерированных реализаций пытались сжульничать - создавали дополнительные CUDA-потоки, которые выполнялись асинхронно.
Поскольку бенчмарк KernelBench отслеживал время только на основном потоке, код выглядел быстрее, чем был на самом деле, показывая фиктивное ускорение в 18 раз.
Другие уловки состояли в манипуляции гиперпараметрами задачи (уменьшение batch_size или размерностей) и кеширование результатов вычислений.
🟡Пришлось строить многоуровневую защиту.
Во-первых, в качестве "адвоката дьявола" взяли adversarial-чекер на базе DeepSeek-R1, который анализировал код на предмет эксплойтов с точностью обнаружения более 60%.
Во-вторых, собрали базу данных из более чем 500 уникальных паттернов взлома, это повысило точность обнаружения на 25%.
И в-третьих, применили математическое сглаживание и нормализацию наград, где любое подозрительное ускорение (от 1.5x для простых операций) дополнительно проверялось.
🟡После всех фильтров и проверок прогон на бенчмарке KernelBench оказался весьма позитивными.
Система успешно сгенерировала рабочий код для 249 из 250 задач, причем в 240 случаях код оказался быстрее базовой реализации.
Среднее ускорение по всем задачам составило 3.12 раза, максимальное - аж 120 раз. Медианное ускорение (50-й перцентиль) составило 1.42x, а 75-й перцентиль — 2.25x.
Производительность по уровням сложности задач распределилась следующим образом: на простых операциях среднее ускорение составило 2.78x, на последовательностях операторов - 3.55x, а на сложных задачах вроде полных слоев трансформера - 2.96x.
🟡Самое важное - это переносимость оптимизаций.
Код, оптимизированный на NVIDIA A100, был протестирован на других GPU. Результаты показали, что найденные паттерны оптимизации фундаментальны и работают на разных архитектурах.
Среднее ускорение на H100 составило 2.39x (успешных ускорений 227 из 250), на L40 — 3.12x (228/248), а на потребительской RTX 3090 — 2.50x (213/242).
▶️ Пока веса и код не опубликованы, но в ожидании можно покрутить интерактивное демо и воспроизвести тесты из пейпера - в репозитории проекта есть фрагменты CUDA-кода с отдельными версиями для разных GPU.
📌Лицензирование: GPL-3.0 License.
🟡Страница проекта
🟡Arxiv
🟡Demo
🖥Github
@ai_machinelearning_big_data
#AI#ML#CUDA#DeepReinforce#ContrastiveRL
🚀 SakanaAI представил Robust Agentic CUDA Kernel Optimization
Это новый подход, где LLM помогает оптимизировать CUDA-ядра для PyTorch.
• Слияние операций ускоряет forward/backward-проходы, результаты выше стандартных Torch-базлайнов
• Полный пайплайн: PyTorch → генерация CUDA-кода → эволюционная оптимизация во время работы
• Проверка через LLM: модели автоматически отмечают неправильные ядра (дает +30% к производительности)
• robust-kbench — собственный бенчмарк, где измеряют не только скорость, но и корректность работы LLM
Авторы пишут о 2.5x ускорении над PyTorch eager и даже 6x в линейных операциях❗️
Но большинство примеров — это тесты на слияние операций с неотюненной базой, так что цифры спорные.
К тому же PyTorch 2.5 уже внедряет похожие оптимизации ), поэтому такие рекорды могут быстро обесцениться.
Это интересный подход к самообучающимся AI-компиляторам, но заявленные ускорения стоит проверять на праактике.
🟢Github: https://github.com/SakanaAI/robust-kbench
🟢Статья: https://arxiv.org/abs/2509.14279
@ai_machinelearning_big_data
#AI#CUDA#PyTorch#SakanaAI#LLM#Optimizatio
#c_lang#cuda#cuda_driver_api#cuda_kernels#cuda_opengl
You can use the CUDA Samples from NVIDIA to learn and test CUDA Toolkit 12.9 features by downloading them from GitHub or as a ZIP file. These samples show how to use CUDA for GPU programming, including utilities, concepts, libraries, and performance optimization. You build them with CMake on Linux, Windows, or Tegra devices, and can run tests automatically with a provided Python script. This helps you understand CUDA programming, debug GPU code, and optimize your applications for better performance on NVIDIA GPUs. It’s a practical way to develop and improve GPU-accelerated software efficiently.
https://github.com/NVIDIA/cuda-samples
#typescript#ai#cuda#mlx#qwen3_tts#qwen3_tts_ui#voice_ai#voice_clone#whisper
Voicebox is a free, open-source voice synthesis studio that lets you clone voices, generate speech in 23 languages, and apply audio effects—all running privately on your computer. You can create realistic voice clones from just seconds of audio, use five different text-to-speech engines for different needs, add effects like reverb and pitch shift, and build multi-voice projects with a timeline editor. The key benefit is complete privacy: your voice data and AI models never leave your machine, unlike cloud-based alternatives. It also includes an API for building voice-powered applications and works across Mac, Windows, and Linux with GPU acceleration support.
https://github.com/jamiepine/voicebox