C++ Academy
16.5K subscribers
635 photos
127 videos
1 file
591 links
По всем вопросам- @haarrp

@itchannels_telegram - 🔥 best it channels

РКН: clck.ru/3FmxJF
加入频道
🦎Armadillo - библиотека ML на С++

Armadillo — это библиотека линейной алгебры на C++, разработанная НИЦТА и независимыми участниками, применяемая для научных вычислений в машинном обучении и других областях, таких как биоинформатика и компьютерное зрение. Библиотека оптимизирует вычисления благодаря многопоточности OpenMP и предоставляет интерфейс, похожий на MATLAB. Подходит для быстрой реализации научных исследований в продуктивные среды.

#machinelearning #DataScience #python #AI #DeepLearning #cplusplus #mlalgorithms #DataVisualization #jobs

📎 Описание либы

@cpluspluc
👍15🔥64
🌟 RLtools: самая быстрая библиотека глубокого обучения с подкреплением для задач непрерывного управления.

RLtools - библиотека глубокого обучения с подкреплением (Deep Reinforcement Learning, DRL) с высокой скоростью работы для разработки и исследования алгоритмов DL.

RLtools написана на C++ и позволяет проводить обучение и вывод моделей DRL на РС, мобильных устройствах и embedded-системах. В экспериментальном тестировании, библиотека обучила алгоритм RL непосредственно на микроконтроллере.

Библиотека поддерживает алгоритмы DRL: TD3, PPO, Multi-Agent PPO и SAC и предлагает набор примеров, демонстрирующих использование этих алгоритмов для решения задач управления на примерах управления маятником, гоночным автомобилем и роботом-муравьем MuJoCo.

Код реализации алгоритмов:

🟢TD3 - Pendulum, Racing Car, MuJoCo Ant-v4, Acrobot;
🟢PPO - Pendulum, Racing Car, MuJoCo Ant-v4 (CPU), MuJoCo Ant-v4 (CUDA);
🟢Multi-Agent PPO - Bottleneck;
🟢SAC - Pendulum (CPU), Pendulum (CUDA), Acrobot.

Благодаря оптимизации и использования аппаратного ускорения RLtools в 76 раз быстрее других библиотек. Например, на MacBook Pro с M1 RLtools может обучить модель SAC (управление маятником) за 4 секунды.

Библиотеку можно использовать на Linux, macOS, Windows, iOS, Teensy, Crazyflie, ESP32 и PX4.

RLtools предоставляет Python API, с которым можно использовать библиотеку из Python-кода. API RLtools совместим с библиотекой симуляции сред Gym.

Проекты, использующие RLtools:

🟠Научиться летать за секунды (Youtube, IEEE Spectrum);

🟠Идентификация системы на основе данных для квадрокоптеров с задержкой двигателя (Youtube, Project Page).

▶️Запуск на примере обучения политике с помощью PPO:


# Clone and checkout
git clone https://github.com/rl-tools/example
cd example
git submodule update --init external/rl_tools

# Build and run
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./my_pendulum


⚡️Лицензирование: MIT License.


🔗Документация
🔗Arxiv
🔗RLTools Design Studio
🔗Demo
🔗Zoo Experiment Tracking
🔗Google Collab (Python Interface)
🔗Сообщество в Discord
🔗GitHub


@cpluspluc

#AI #ML #DL #RTools #Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥202🥰2
Forwarded from Machinelearning
⚡️ LLM4Decompile – это открытая большая языковая модель, предназначенная для декомпиляции бинарного кода в удобочитаемый исходный код.

В текущей версии она способна преобразовывать двоичные файлы Linux x86_64, скомпилированные с уровнями оптимизации GCC от O0 до O3, обратно в человеко-читаемый код на языке C.

Проект также ставит перед собой цель расширения поддержки различных архитектур и языков программирования.

Все материалы проекта доступны на Hugging Face под лицензией MIT и DeepSeek.

git clone https://github.com/albertan017/LLM4Decompile.git
cd LLM4Decompile
conda create -n 'llm4decompile' python=3.9 -y
conda activate llm4decompile
pip install -r requirements.txt


🟡 Github
🟡 Models
🟡 Paper
🟡 Colab

@ai_machinelearning_big_data

#llm #ml #ai #opensource #LLM4Decompile
#reverseengineering #decompile
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍95
Forwarded from Machinelearning
🤖 Modern Robotics Course: Открытый курс по современной робототехнике.

Курс сочетает теорию (математика, физика) и практику (код, симуляторы), помогая разработчикам научиться создавать и программировать роботов.

🌟 Что внутри?
Лекции: От основ робототехники, математики и физики до пространственных преобразований, обратной кинематике и более продвинутым концепциям .
Практика: Примеры кода на Python и C++ для управления роботами.
Симуляторы: Интеграция с стимуляторами Gazebo и ROS ( операционная система для робото) для тестирования алгоритмов.
Задания: Реальные практические задачи (например, управление манипулятором робота).

🌟 Для кого?
Начинающие робототехники: Освоить кинематику, динамику, управление.
Программисты: Интегрировать алгоритмы в ROS, Gazebo, Python/C++.
Инженеры: Возможность Научиться разрабатывать автономные системы и манипуляторы.
Технологические энтузиасты

С курсом можно пройти путь от нуля до создания рабочего прототипа.

С курсом у вас будет возможность проектировать роботов, не имея железа под рукой (через симуляторы).

✔️ Готовые решения: Внутри вы найдете библиотеки для работы с преобразованиями, датчиками, движением.

✔️Карьера в робототехнике: Курс даст возможность получить базовые навыки, востребованные в Bosch, Boston Dynamics, Tesla.

⭐️ Преимущества перед другими открытыми курсами
🟠 Акцент на практике: Минимум абстракций — максимум кода.
🟠Совместимость с ROS: Стандарт для промышленной робототехники.
🟠 Современные алгоритмы: Не только классика, но и нейросетевые подходы.

➡️ Cовет: Для погружения в курс, вам поможет книга Robotics, Vision and Control: Fundamental Algorithms in Python, Peter Corke, вот ее репозиторий с примерами кода.

P.S. Для тех, кто любит формат «сделай сам»: Курс научит вас собирать робота виртуально, а потом переносить решения на реальные устройства. 🤖💡

✔️ Github
✔️ Введение в курс

#course #ai #ml #robots #education #курс #робототехника
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥94
✔️ ttt-rl (Tic-Tac-Toe Reinforcement Learning)

🎯 Суть проекта
Это эксперимент по обучению с подкреплением (Reinforcement Learning, RL), где агент учится играть в крестики-нолики (Tic-Tac-Toe) без использования нейронных сетей. Основная цель — продемонстрировать, как классические методы RL справляются с простыми играми.

🔥 Чем интересен?
Минимализм и простота
Весь код написан на чистом C (~400 строк).
Нет зависимостей — только стандартная библиотека.
Идеален для изучения основ RL «с нуля».

Классический подход к RL
Используется метод Temporal Difference (TD) Learnin
Агент обучается через игру (self-play) и обновляет стратегию на основе наград.

Образовательная ценность
Понятная визуализация процесса обучения (таблицы Q-значений).
Пример того, как простая задача помогает понять фундамент RL.

Эффективность
После обучения агент играет почти оптимально, избегая поражений.
Код легко модифицировать для экспериментов (например, изменить размер доски).

📊 Как это работает?
Q-таблица хранит «ценность» каждого действия в конкретном состоянии.

Агент выбирает ход на основе текущих Q-значений (с добавлением случайности для исследования).


P.S. Если вы думаете, что RL — это только про AlphaGo и Dota 2, этот проект покажет, что даже в простых задачах есть глубина! 🧠

Github

@cpluspluc

#rl #ml #ai #tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍32
🎮 Microsoft представила нейро-версию Quake II на базе Muse и WHAMM.

Microsoft Research представила WHAMM — новую систему или технологию, предназначенную для моделирования окружающего мира в реальном времени, с особым акцентом на интерактивные среды.

Это означает, что WHAMM способна быстро создавать и постоянно обновлять цифровую 3D-модель физического пространства, учитывая изменения, которые происходят в нем, в том числе в результате взаимодействия пользователя или других динамических событий.

ИИ генерирует кадры в реальном времени, анализируя действия игрока.

Старая WHAMM — 1 fps, новая — 10 fps при 640×360, почти играбельно.

Модель помнит последние 0,9 секунды, что добавляет случайности.

Ключевая особенность — система работает достаточно быстро, чтобы обновлять модель мира практически мгновенно по мере поступления новых данных от сенсоров (вероятно, камер, датчиков глубины и т.д.). Это критически важно для плавного взаимодействия.

🔗 Играть в ИИ-версию Quake II можно здесь.

@cpluspluc

#microsoft #ai #quake #muse
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥65🥱2
Forwarded from Machinelearning
🌟 NVIDIA cuOpt: GPU-решатель для оптимизации решений.

NVIDIA опубликовала в открытом доступе свой проект cuOpt. Это набор инструментов оптимизации, который использует ресурсы и возможности GPU для решения сложных задач линейного программирования, маршрутизации и логистики.

cuOpt помогает находить эффективные решения для проблем с миллионами переменных, где традиционные методы терпят крах., превращая «нерешаемые» задачи в реальные решения, без жертвования масштабом или скоростью. Это, своего рода, «турбокомпрессоре» для задач, где время и точность критически важны, от доставки товаров до расписаний производства.

cuOpt состоит из C++-движка и API (Python, C и другие), которые работают как обертки, которые дают возможность гибко интегрировать библиотеку в разные проекты.

Для задач маршрутизаций (TSP, VRP, PDP) cuOpt генерирует начальные решения, а затем улучшает их итеративно, используя эвристические алгоритмы. Это не «лобовое» вычисление всех вариантов, а умный поиск, который экономит ресурсы и время.

Методы работы с линейным программированием (LP) и смешанными целочисленными задачами (MILP) тоже уникальны. Для LP применяется PDLP — алгоритм первого порядка, который использует градиентный спуск и работает на GPU, альтернативно запускаясь на CPU с симплекс-методом.

Смешанное целочисленное программирование - это метод математической оптимизации, позволяющий решать задачи с использованием смеси непрерывных переменных (которые могут иметь любое значение, включая десятичные и дробные), дискретных переменных и двоичных переменных.


В MILP немного сложнее: на GPU выполняются эвристики для поиска допустимых решений (локальный поиск, «feasibility pump»), а CPU занимается ветвлениями и границами, улучшая оценку. Решения между GPU и CPU обмениваются в реальном времени, создавая гибридную систему.

▶️ NVIDIA cuOpt предлагает несколько вариантов развертывания, адаптированных под разные задачи: pip, conda или готовый контейнер Docker / NSG.

Еще поддерживаются (с минимальным рефакторингом) инструменты AMPL и PuLP, с помощью которых сценарии использования cuOpt значительно расширяются.

В репозитории проекта разработчики собрали примеры и Jupyter-ноутбуки, которые можно запустить локально или в облачных сервисах: Google Colab (с выбором GPU-среды) или NVIDIA Launchable.


📌 Лицензирование: Apache 2.0 License.


🟡Страница проекта
🟡Документация
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #DS #NVIDIA #CuOPT
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82👍2
Forwarded from Machinelearning
🌟 Kimi-Dev-72B: открытая модель для багфикса и тестирования кода.

Moonshot AI пополнил свое семейство Kimi моделью Kimi-Dev-72B, специализированной для программирования и разработанной для решения задач инженерии ПО. Она, как заявляют разработчики, особо эффективна в исправлении ошибок и написании тестов.

Ее сила в том, что она не просто пишет код, а имитирует мышление программиста, учитывая последствия изменений и проверяя их в автоматизированных тестах.


Специализация Kimi-Dev-72B состоит из 2 ролей: BugFixer (исправление ошибок) и TestWriter (написание тестов).

Эти роли работают в тандеме: BugFixer находит файлы, требующие правок, и предлагает код, который устраняет баг, а TestWriter создает тесты, которые должны провалиться без исправления и пройти после него. Обе роли используют одинаковый двухэтапный процесс — сначала локализация файла, затем редактирование кода.

Модель училась на данных с GitHub: миллионы задач и коммитов из реальных проектов. За основу взяли базовую Qwen 2.5-72B, которую дообучали на ~150 млрд. токенов, тщательно фильтруя данные, чтобы исключить тестовые наборы SWE-bench.

В процессе обучения с подкреплением, модель получала награду только если все тесты в Docker проходили успешно. Также применяли «умные» подсказки, отсеивая заведомо сложные задачи, и постепенное усложнение, добавляя сложные примеры по мере прогресса.

Kimi-Dev показала рекордные 60,4% на тесте SWE-bench Verified среди open-source решений.

В будущем планируется интеграция с IDE, CI/CD, чтобы сделать модель частью ежедневного рабочего процесса разработчиков.


📌Лицензирование: MIT License.


🟡Страница проекта
🟡Модель
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #KimiDev #MoonshotAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2😁1
Forwarded from Machinelearning
🌟 Mistral представила свой ответ GitHub Copilot: полноценную экосистему для разработки в энтерпрайзе.

В основе технологического стека - семейство моделей Codestral, с обновленной моделью Codestral 25.08.

Эта версия показала измеримые улучшения, подтвержденные на реальных кодовых базах: на 30% увеличилось количество принятых автодополнений, на 10% вырос объем сохраняемого после подсказки кода, а число генераций, когда модель производит слишком длинный и некорректный код, сократилось на 50%.

В режиме чата модель также стала лучше: ее способность следовать инструкциям выросла на 5% по метрике IF Eval v8, а общие возможности в программировании улучшились в среднем на 5% по тесту MultiplE.

🟡 Следующий уровень - семантический поиск и понимание кодовой базы в масштабе всего проекта.

За это отвечает Codestral Embed, модель для создания векторных представлений, специально спроектированная для кода, а не для обычного текста. По заявлениям Mistral, она превосходит эмбеддинг-решения от OpenAI и Cohere в реальных задачах по извлечению кода.

Ключевое преимущество - возможность настройки размерности эмбеддингов (до 256 измерений с квантованием до INT8), что позволяет балансировать между качеством поиска и хранением данных, сохраняя высокую производительность.

🟡Когда релевантный контекст найден, в дело вступают агентные воркфлоу.

Они реализованные через Devstral - агентскую систему на базе фреймворка OpenHands. Система ориентирована на задачи рефакторинга, генерации тестов и создание pull-реквестов.

На бенче SWE-Bench Verified модель Devstral Small 1.1 выбивает 53.6%, а Devstral Medium - 61.6%, значительно опережая Claude 3.5 и GPT-4.1-mini.

Devstral Small (24 млрд параметров) может работать на одной Nvidia RTX 4090 или Mac с 32 ГБ ОЗУ, что идеально для локальных или изолированных сред.

Все эти возможности объединяются в плагине Mistral Code для IDE от JetBrains и VS Code. Он автодополняет код с помощью Codestral 25.08 и автоматизирует рутину: написание коммитов или docstring’ов через Devstral, и семантический поиск на базе Codestral Embed.

Плагин учитывает контекст из Git diffs, истории терминала и инструментов статического анализа.

Для корпоративных клиентов предусмотрено развертывание в облаке, VPC или полностью on-prem, а также интеграция с SSO, ведение логов аудита и отсутствие обязательной телеметрии.


@ai_machinelearning_big_data

#news #ai #ml
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
Forwarded from Machinelearning
🌟 Фреймворк **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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👍3