Привет!
Мы активно работаем проекта и хотим поделиться нашими ближайшими планами и текущими работами. Многие из этих улучшений станут возможны благодаря вкладу студентов-разработчиков!
Что в разработке:
1. Умное управление ресурсами Vulkan 🔧
- Проблема: Сейчас ресурсы (буферы, наборы дескрипторов) накапливаются, и для их очистки требуется принудительная синхронизация с хост-системой, что тормозит выполнение.
- Решение: Мы работаем над усовершенствованием системы, чтобы ресурсы освобождались пакетами и по мере накопления, минимизируя простои и повышая эффективность.
2. Импорт моделей ONNX 📥
- В мастер скоро будет залит минимально рабочий прототип для импорта моделей в формате ONNX!
- Эта важная функциональность была реализована студентом НГУ в рамках практической работы в лаборатории ФИТ. Большое спасибо за этот вклад!
- Дальше мы планируем развивать и расширять эту возможность.
3. Распределённое обучение (Data Parallelism) ⚙️
- Ведутся работы по реализации распределённого обучения с параллелизацией по данным. Это позволит значительно ускорить обучение больших моделей на нескольких GPU.
4. Большая эволюция вычислительного графа 🧠
- Запланирована серьёзная переработка архитектуры вычислительного графа.
- Цель: сделать граф максимально гибким для проведения сложных оптимизаций, а также для конвертации в другие промежуточные представления, такие как ONNX или различные диалекты MLIR. Это откроет путь к интеграции с другими экосистемами и инструментами.
Важно отметить: Работы по пунктам 3 и 4 (распределённое обучение и новая архитектура графа) также ведутся в рамках студенческих проектов и практик. Мы рады поддерживать новое поколение инженеров и исследователей!
Следите за обновлениями в репозитории, и, как всегда, ждём ваших вопросов, идей и участия!
Ссылка на репозиторий: https://gitverse.ru/kolkir/adept
#Adept #MachineLearning #OpenSource #Vulkan #ONNX #DistributedTraining #MLIR #Разработка #НГУ #Студенты
Мы активно работаем проекта и хотим поделиться нашими ближайшими планами и текущими работами. Многие из этих улучшений станут возможны благодаря вкладу студентов-разработчиков!
Что в разработке:
1. Умное управление ресурсами Vulkan 🔧
- Проблема: Сейчас ресурсы (буферы, наборы дескрипторов) накапливаются, и для их очистки требуется принудительная синхронизация с хост-системой, что тормозит выполнение.
- Решение: Мы работаем над усовершенствованием системы, чтобы ресурсы освобождались пакетами и по мере накопления, минимизируя простои и повышая эффективность.
2. Импорт моделей ONNX 📥
- В мастер скоро будет залит минимально рабочий прототип для импорта моделей в формате ONNX!
- Эта важная функциональность была реализована студентом НГУ в рамках практической работы в лаборатории ФИТ. Большое спасибо за этот вклад!
- Дальше мы планируем развивать и расширять эту возможность.
3. Распределённое обучение (Data Parallelism) ⚙️
- Ведутся работы по реализации распределённого обучения с параллелизацией по данным. Это позволит значительно ускорить обучение больших моделей на нескольких GPU.
4. Большая эволюция вычислительного графа 🧠
- Запланирована серьёзная переработка архитектуры вычислительного графа.
- Цель: сделать граф максимально гибким для проведения сложных оптимизаций, а также для конвертации в другие промежуточные представления, такие как ONNX или различные диалекты MLIR. Это откроет путь к интеграции с другими экосистемами и инструментами.
Важно отметить: Работы по пунктам 3 и 4 (распределённое обучение и новая архитектура графа) также ведутся в рамках студенческих проектов и практик. Мы рады поддерживать новое поколение инженеров и исследователей!
Следите за обновлениями в репозитории, и, как всегда, ждём ваших вопросов, идей и участия!
Ссылка на репозиторий: https://gitverse.ru/kolkir/adept
#Adept #MachineLearning #OpenSource #Vulkan #ONNX #DistributedTraining #MLIR #Разработка #НГУ #Студенты
🔥1
Привет, немного информации о проекте про разработку которого я рассказываю в этом канале:
Adept(Automatic Differentiation Engine for Tensor Processing) — это библиотека на Python и C++ для построения и обучения нейросетей, созданная с упором на кроссплатформенность, гибкость и образовательную ценность.
⚙️ Основные возможности:
• Динамические графы — как в PyTorch: отладка, условия, циклы «из коробки».
• Тензоры + Autograd — автоматическое дифференцирование и GPU-ускорение.
• Vulkan backend — работает на GPU от NVIDIA, AMD, Intel, Qualcomm и даже на мобильных устройствах.
• Единая семантика Python/C++ — легко переносить прототип в production.
🎯 Зачем это нужно?
В российской экосистеме почти нет open-source ML-платформ общего назначения, сравнимых с PyTorch или TensorFlow. Возможно это связано как с нехваткой специалистов, сочетающих глубокое понимание машинного обучения и системного программирования, так и доступностью зрелых альтернатив. Adept создан как экспериментальная площадка для накопления такого опыта — как исследовательского, так и образовательного.
🧠 Почему это полезно для обучения?
Проект охватывает все ключевые уровни ML-стека: от математических абстракций (тензоры, градиенты) до низкоуровневой работы с GPU. Это делает его подходящей основой для:
• Изучения архитектуры современных ML-фреймворков
• Курсовых, дипломных и исследовательских работ
• Практических заданий по deep learning, системному программированию и кроссплатформенной разработке
🔗 Код открыт — приглашаем студентов, преподавателей, энтузиастов и всех, кто хочет разобраться, как устроены ML-платформы изнутри.
#MachineLearning #OpenSource #Education #Vulkan #Python #Cpp #Adept #MLPlatform
Adept(Automatic Differentiation Engine for Tensor Processing) — это библиотека на Python и C++ для построения и обучения нейросетей, созданная с упором на кроссплатформенность, гибкость и образовательную ценность.
⚙️ Основные возможности:
• Динамические графы — как в PyTorch: отладка, условия, циклы «из коробки».
• Тензоры + Autograd — автоматическое дифференцирование и GPU-ускорение.
• Vulkan backend — работает на GPU от NVIDIA, AMD, Intel, Qualcomm и даже на мобильных устройствах.
• Единая семантика Python/C++ — легко переносить прототип в production.
🎯 Зачем это нужно?
В российской экосистеме почти нет open-source ML-платформ общего назначения, сравнимых с PyTorch или TensorFlow. Возможно это связано как с нехваткой специалистов, сочетающих глубокое понимание машинного обучения и системного программирования, так и доступностью зрелых альтернатив. Adept создан как экспериментальная площадка для накопления такого опыта — как исследовательского, так и образовательного.
🧠 Почему это полезно для обучения?
Проект охватывает все ключевые уровни ML-стека: от математических абстракций (тензоры, градиенты) до низкоуровневой работы с GPU. Это делает его подходящей основой для:
• Изучения архитектуры современных ML-фреймворков
• Курсовых, дипломных и исследовательских работ
• Практических заданий по deep learning, системному программированию и кроссплатформенной разработке
🔗 Код открыт — приглашаем студентов, преподавателей, энтузиастов и всех, кто хочет разобраться, как устроены ML-платформы изнутри.
#MachineLearning #OpenSource #Education #Vulkan #Python #Cpp #Adept #MLPlatform
👍7🔥2
Привет, сделал декомпозицию задач про ускорение свёрточных операций — сердце современных CNN:
• https://gitverse.ru/kolkir/adept/tasktracker/TSKDPT3-90
• https://gitverse.ru/kolkir/adept/tasktracker/TSKDPT3-79
Есть три основных задачи:
🔥 Быстрые свёртки для инференса (CPU/GPU)
Цель: Максимально ускорить вывод моделей за счёт оптимизированных алгоритмов свёрток.
Что делать:
Исследовать подходы (включая Winograd и альтернативы)
Учесть ограничения: поддержка batch, channels, padding
Реализовать ядра:
• CPU — через SIMD-библиотеку Highway
• GPU — через compute-шейдеры Vulkan
Сравнить результат с текущим im2col
💡 Идеально, если хочешь разобраться в алгоритмах свёрток и хочешь «выжать» максимум из железа.
⚙️ Умная диспетчеризация режимов
Цель: Автоматически выбирать алгоритм в зависимости от сценария.
Логика:
Инференс: быстрые свёртки для ядер 3×3–7×7 → иначе im2col
Тренировка: всегда im2col (работа с большими матрицами)
🎥 Как устроена наша диспетчеризация
🚀 Implicit GEMM для тренировки
Цель: Ускорить обучение за счёт сокращения аллокаций памяти.
Почему это круто:
Минимум промежуточных буферов
Эффективный тайлинг — строим только нужный фрагмент матрицы свёртки «на лету»
Лучшее распараллеливание → выше производительность на тренировке
Этапы: дизайн → реализация (CPU/GPU) → бенчмарки против im2col → замена при профите.
👉 Готов браться? Читай правила участия, пиши— обсудим детали и подберём задачу под твои скиллы!
#opensource #machinelearning #optimization #vulkan #simd #cpp
• https://gitverse.ru/kolkir/adept/tasktracker/TSKDPT3-90
• https://gitverse.ru/kolkir/adept/tasktracker/TSKDPT3-79
Есть три основных задачи:
🔥 Быстрые свёртки для инференса (CPU/GPU)
Цель: Максимально ускорить вывод моделей за счёт оптимизированных алгоритмов свёрток.
Что делать:
Исследовать подходы (включая Winograd и альтернативы)
Учесть ограничения: поддержка batch, channels, padding
Реализовать ядра:
• CPU — через SIMD-библиотеку Highway
• GPU — через compute-шейдеры Vulkan
Сравнить результат с текущим im2col
💡 Идеально, если хочешь разобраться в алгоритмах свёрток и хочешь «выжать» максимум из железа.
⚙️ Умная диспетчеризация режимов
Цель: Автоматически выбирать алгоритм в зависимости от сценария.
Логика:
Инференс: быстрые свёртки для ядер 3×3–7×7 → иначе im2col
Тренировка: всегда im2col (работа с большими матрицами)
🎥 Как устроена наша диспетчеризация
🚀 Implicit GEMM для тренировки
Цель: Ускорить обучение за счёт сокращения аллокаций памяти.
Почему это круто:
Минимум промежуточных буферов
Эффективный тайлинг — строим только нужный фрагмент матрицы свёртки «на лету»
Лучшее распараллеливание → выше производительность на тренировке
Этапы: дизайн → реализация (CPU/GPU) → бенчмарки против im2col → замена при профите.
👉 Готов браться? Читай правила участия, пиши— обсудим детали и подберём задачу под твои скиллы!
#opensource #machinelearning #optimization #vulkan #simd #cpp
🔥2