TGINSIGHT CHAT
DeepSchool
@deep_school
ОбразованиеЭто канал школы deepschool.ru. Здесь мы будем: - напоминать вам теорию ML/DL в виде коротких постов, - задавать вопросы с собеседований, - рассказывать про полезные фреймворки - и делиться советами, которые помогут вам в работе. @deepschool_support
Последние посты
Стр. 4 из 45 · 530 постов
Опубликован 12 янв.
Приходите на обновлённый курс по деплою Мы обновили программу курса «DLOps», который раньше назывался «Деплой DL-сервисов». В программу добавили две новые лекции про Kubernetes: за них вы освоите основы k8s, которые нужны разработчику, и задеплоите своё демо-приложение с моделью при помощи Helm. При этом «DLOps» остаётся курсом про то, как ML/DL-инженеру писать поддерживаемый код вне Jupyter-ноутбуков, оборачивать модели в сервисы, версионировать эксперименты и данные, настраивать CI/CD и автоматизировать рутину. Вы освоите инженерные практики, которые позволяют отвечать за полный жизненный цикл модели, а не передавать её «дальше по цепочке» 🗓 DLOps стартует 28 января Если оставите заявку до 18 января, то сможете присоединиться со скидкой 20%! 🔥 Переходите на сайт, изучайте программу и записывайтесь!
Опубликован 3 янв.
Если не успели сделать подарок Напоминаем, что у нас есть специальные новогодние предложения и сегодня — последний день, когда ими можно воспользоваться 🔔 Вы можете выбрать один из вариантов: 1️⃣ внести предоплату и зафиксировать скидку 20% на один курс, который стартует в 2026 году 2️⃣ или зафиксировать место предоплатой сразу на два курса, чтобы получить скидку 20% на первый и 26% на второй В акции участвуют все наши основные программы: - DLOps (раньше Деплой DL-сервисов) — как создавать и деплоить DL-сервисы. Старт 28 января - LLM — полный цикл работы с LLM для ML/DL-инженеров. Старт 19 февраля - CV Rocket — как решать сложные задачи в Computer Vision. Старт 10 марта - LLM Pro — как проектировать и запускать сложные NLP-системы. Старт 1 апреля - LLM Start — вход в LLM и автоматизацию для разработчиков и IT-специалистов без опыта в ML/DL. Старт 3 февраля С этого года цены на программы подрастут, а сейчас вы можете забронировать за собой место по условиям 2025 года и со скидкой. Если давно откладывали обучение или не могли совпасть с потоком, то это хорошая возможность вернуться к этому вопросу 🎄 Выбирайте программу на сайте, изучайте подробности и записывайтесь!
Опубликован 25 дек.
Практические советы по работе с Docker Docker — часть современного стека разработчика, поэтому важно уметь им пользоваться эффективно. В предыдущей статье рассказывали, как ускорить сборку и уменьшить размер Docker-образов. В новой статье собрали больше практических советов по работе с Docker 🐳 Читайте новую статью по ссылке🧑💻 💡Best practices по работе с docker и другими инструментами разработки рассказываем на курсе «Деплой DL-сервисов», который стартует в январе! 🪔DeepSchool
Опубликован 19 дек.
🎄Двойная выгода в честь Нового Года Запланируйте обучение в DeepSchool на следующий год с выгодой до 26%! В январе мы планируем повышение цен, но сейчас можно успеть забронировать место по старым ценам и с новогодней скидкой! Выбирайте 1 из вариантов: 1️⃣ внести предоплату и зафиксировать скидку 20% на один курс, который стартует в 2026 году 2️⃣ или зафиксировать место предоплатой сразу на два курса, чтобы получить скидку 20% на первый и 26% на второй В акции участвуют программы: — DLOps (ранее «Деплой DL-сервисов») — как создавать и деплоить DL-сервисы. Старт 28 января — LLM — полный цикл работы с LLM для ML/DL-инженеров. Старт 19 февраля — CV Rocket — как решать сложные задачи в Computer Vision. Старт 10 марта — LLM Pro — как проектировать и запускать сложные NLP-системы. Старт 1 апреля — LLM Start — вход в LLM и автоматизацию для разработчиков и IT-специалистов без опыта в ML/DL. Старт 3 февраля Успевайте внести предоплату до повышения цен и окончания скидок! ⬅️Предоплату можно будет вернуть в полном размере в любой момент — вы ничем не рискуете, но можете зафиксировать за собой выгодные условия. Переходите на сайт, выбирайте программу и присоединяйтесь к обучению в новом году!
Опубликован 16 дек.
Ruff: современный и быстрый linter + formatter для Python Правила оформления кода закреплены в стандартах: какие нужны отступы, длина строк и названия переменных. Они делают код разработчика понятным и единообразным. Правила бывают внутренними (для конкретного проекта) или общими. Например, в Python главный стандарт — PEP8. Привести код в нужный формат, например, под PEP8 — задача, которая может занять много времени. Поэтому были разработаны вспомогательные инструменты — linters и formatters. 🔜Linter выполняет статический анализ кода, проверяя его на соответствие заданным правилам, например, PEP8 или пользовательским. 🔜Formatter автоматически преобразовывает внешний вид кода, не затрагивая его логику и приводя в соответствие заданному стилю оформлению. Linter и formatter безопасно исправляют код, не меняя его поведения. Они упрощат жизнь разработчка и помогают избежать споров о форматировании и правильности именования классов во время ревью, экономя участникам время и нервы 🙂. Разработчик вызовом одной команды автоматически форматирует код и находит конкретные участки, которые не соответствуют принятому стандарту, чтобы их поправить. А ревьювер не тратит силы на проверку форматирования, если в CI MR прошёл этапы linter и formatter, уделяя всё внимание на ревью реализации функционала. Основной linter для python — flake8, а formatters — isort и black. Каждый из них имеет свою конфигурацию и команду запуска. Использование нескольких инструментов вызывает ряд неудобств: 1. Отдельные файлы конфигураций замусоривают корень проекта и могут конфликтовать между собой. 2. Каждый инструмент — отдельная зависимость, которую надо установить. Кроме того, для flake8, как правило, необходимо доустанавливать отдельные плагины. 3. Каждый инструмент запускается отдельным процессом / задачей в CI и может работать относительно долго на больших кодовых базах. Ruff помогает избавиться от них: он ставится одним python package, правила для форматирования и различных linters описываются в одном конфиге, а реализация на Rust делает его быстрее аналогов🚀. Пример внедрения ruff в проект В pyproject.toml добавляются следующие строки: [tool.ruff] # Общие настройки ruff extend-exclude = ["*.ipynb"] # Исключаем Jupyter-ноутбуки из проверки line-length = 120 # Лимит длины строки lint.select = [ # Добавляем правила из списка https://docs.astral.sh/ruff/rules "E", # pycodestyle "F", # pyflakes "I", # isort ] lint.ignore = [ "F821", # Пример добавления игнорирования правил ] [tool.ruff.format] # Отдельные настройки форматтера quote-style = "double" # Перевод одинарных кавычек в двойные indent-style = "space" # Перевод табов в пробелы В .pre-commit-config.yaml добавляются следующие строки: repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.14.7 hooks: - id: ruff types_or: [ python, pyi, jupyter ] - id: ruff-format types_or: [ python, pyi, jupyter ] args: [ "--check", "--diff" ] Далее: # Устанавливаем зависимости pip install pre-commit ruff # После настройки linter и formatter создаем hooks для commit/push pre-commit install # Использование ruff check --fix # Запустит linter, подсветит ошибки и исправит некоторые ошибки ruff format # Запустит formatter и отформатирует код Автор: Иван Перминов Про форматтеры, линтеры и другие инженерные практики, помогающие навести порядок в репозиториях DL-инженеров, рассказываем на курсе «Деплой DL-сервисов»⚡️
Опубликован 12 дек.
Как собрать продукт с LLM, если вы не из ML Не обязательно быть ML/DL-инженером, чтобы собрать первый проект с LLM. Разработчики, devops-инженеры и технические специалисты тоже сталкиваются с задачами внедрения LLM-функций. Поэтому мы сделали программу, на которой поможем понять основы LLM и собирать работающие цепочки. Мы обновили курс LLM Start — обучение для тех, кто не работает с нейросетями, но хочет разобраться в LLM и научиться автоматизировать процессы с их помощью. На курсе вы: — разберётесь в принципах работы нейросетей и LLM — освоите приёмы промпт-инжениринга — научитесь собирать RAG для работы с базами знаний — узнаете, как создавать агентов и мультиагентные системы — разберётесь в многообразии моделей и провайдеров Обучение длится 2 месяца и состоит из 6 тем и финального проекта. Чтобы сосредоточиться на логике цепочек, а не на инфраструктуре, задания выполняются на платформе n8n, которая подходит для низконагруженных систем, внутреннего использования и проверки гипотез. Вы поймёте основные принципы работы с LLM и сможете потом собрать боевые версии цепочек на своём стэке. 🔥До 18 декабря вы можете присоединиться со скидкой 25%! Изучайте подробности на сайте и оставляйте заявку!
Опубликован 5 дек.
ClearML Agent: обучение модели в Google Colab Продолжаем обзор MLOps-экосистемы ClearML, которая покрывает полный цикл разработки и выкатки ML-моделей. Ранее мы разобрали, как работают компоненты ClearML Data и ClearML Session. А в новой статье рассказали о ClearML Agent — компоненте, который позволяет отправлять задачи в очередь и исполнять их на удалённых машинах. 📡 Из статьи вы узнаете: - как работает ClearML Agent - как использовать Google Colab в качестве воркера для ClearML 🍯 - и как можно добавлять задачи в очередь для ClearML Agent Читайте новую статью по ссылке!👈 🪔DeepSchool
Опубликован 3 дек.
Заглядывайте к нам на второй канал! В нашей школе преподаёт и учится много крутых инженеров с разной карьерой, интересами и опытом. Кто-то оптимизирует нейросети под мобилку, кто-то делает SLAM для автономных автомобилей, а кто-то занимается мультимодальными LLM. Поэтому мы сделали формат, где инженеры рассказывают о себе. Каждую неделю в канале хозяйничает новый ведущий. Каждую неделю: новый человек, новая область и домен, новые истории, наблюдения и рекомендации. Уже 19 человек успело рассказать о себе и своём опыте: • Давид Свитов, PhD, провёл трансляцию с двух летних школ по DL в Италии и Китае • Даша Воронкина, лид команды данных в OneCell, рассказала про работу в стартапе и тренды в разметке данных • Андрей Филатов, лид в GenAI-стартапе, рассказал про митапы • Илья Ревин, дважды PhD, доцент, лид разработки, филантроп... разобрал статью про тензорные разложения..ии заболел (бывает же!) • Нина Коновалова, исследователь в AIRI, рассказала про будни ресёчера, межнар по ИИ и про свою свежую работу по контролю в диффузии • Андрей Шадриков, RnD Lead в verigram, рассказал про опыт организации конференций и подготовку данных • Лёня Верховцев, senior CV-инженер в Сбере, рассказал про obsidian, сплит-клавиатуру и о том, как отдыхать, чтобы больше деливерить • Дима Гордин, senior MLE в verigram, дал задачку на биометрию в браузере и рассказал, что не так с ChatGPT для внутренних документов • Шамиль Мамедов, PhD, senior researcher в Navio, рассказал про задачу планирования в self-driving, про получение PhD и работу в Amazon Robotics • Артемий Мазаев, лид AI в Cloud.ru, рассказывал про LLM, агентов и вот это вот всё • Анастасия Старобыховская, руководитель лаборатории Искусств и ИИ при Европейском Университете, рассуждала про организацию команды и поиск идей для решения нетипичных задач! • Тимур Фатыхов, сооснователь DeepSchool и ex Lead CV-инженер KoronaPay, поделился историей создания DeepSchool и своим опытом тимлидства • Дмитрий Диденко, инженер машинного обучения в кибербез компании, рассказал про применение ИИ в кибербезе и показал некоторые пет-проекты • Илья Димов, senior NLP-инженер в Яндексе, рассуждал о карьере и чтении статей. А еще вывел задачки на интерактив! • Александр Гордеев, Computer Vision Engineer, Sber AI, рассказал про свои пет-проекты и подготовил небольшой экскурс по методам classifier guidance и classifier-free guidance • Антон Семенюта, ML-инженер в команде восприятия автономного транспорта Яндекса, рассказывал и показывал разное про автономный транспорт • Алексей Глотов, Head of AI GetCourse, рассказывал про Управление и ИИ • Артем Кравчук, лид CV-команды в 2ГИС, запустил свою олимпиаду «Изолированный китёнок» (и даже вручил почётную грамоту) • Макс Шапошников, Research Engineer в Tessl, рассказал про агентов, а также как продолжать непрерывно учиться Заглядывайте в канал, там интересно! https://t.me/deepschool_underthehood
Опубликован 24 нояб.
DeepSchool Digest⚡ По традиции собрали для вас материалы за последний месяц в одном посте❗️ Active learning — рассказали о концепции Active learning, популярных методах отбора объектов: Entropy Sampling, Query-by-Committee, Bayesian Active learning by Disagreement (BALD) и других Рубрика «Вопросы эксперту»|Антон Семенюта, ML-инженер команды Восприятия Автономного Транспорта в Яндексе — обсудили применение ML и CV в автономном транспорте, какие модели и для каких задач используются, а также путь модели от dev-окружения до реальных тестов на дороге Attention и трансформеры в NLP — разобрали частые вопросы про attention и трансформеры с NLP-собеседований LoRA: краткий гайд перед собеседованием — объяснили принцип работы LoRA и разобрали частые вопросы с собеседований Персонализированная генерация: Textual Inversion и DreamBooth — рассказали, как работают базовые алгоритмы персонализированной генерации — Textual Inversion и DreamBooth Vision-Language-Action (VLA) Models: от токенов к действиям — рассказали, как устроены VLA-модели.
Опубликован 21 нояб.
Vision-Language-Action (VLA) Models: от токенов к действиям Современные мультимодальные модели умеют работать с визуальными данными и текстом. Следующий шаг их развития — взаимодействие с физическим миром. Для управления роботами создаются Vision-Language-Action (VLA) модели, которые переводят визуальные данные и текстовые инструкции прямо в моторные команды робота. О том, как устроены такие модели, рассказываем в новой статье. 🤖 Из неё вы узнаете: • как устроены VLA-модели — от визуального энкодера до генератора действий • какие архитектуры используются для предсказания движений — от дискретных токенов до диффузий и Flow Matching'а • какие существуют подходы к дообучению систем — от полного fine-tuning'а до PEFT-методов, таких как LoRA • с какими проблемами сталкиваются VLA в реальном мире: задержки, накопление ошибок и безопасность Читайте новую статью по ссылке! 🚀 🪔DeepSchool
Опубликован 14 нояб.
Персонализированная генерация: Textual Inversion и DreamBooth Персонализированная генерация добавляет новые концепции в такие генеративные модели, как Stable Diffusion. С ней можно создавать изображения с определённым объектом или художественным стилем, которые модель не видела раньше. В новой статье расскажем, как работают базовые алгоритмы персонализированной генерации — Textual Inversion и DreamBooth 🧙♂️ А также рассмотрим: - какие существуют проблемы наивных подходов - как алгоритмы добавляют концепт в модель по пяти примерам - визуализацию работы алгоритмов Читайте новую статью по ссылке!👈 🪔DeepSchool
Опубликован 11 нояб.
LoRA: краткий гайд перед собеседованием Full fine‑tuning LLM — дорого и медленно. Если хочется дообучать LLM быстрее и дешевле, один из вариантов — Low‑Rank Adaptation (LoRA). Идея подхода состоит в обучении компактных добавок к весам модели и оставлении базовых весов замороженными. Этот подход позволяет дообучить модель, сэкономив ресурсы на обучение, а скорость инференса останется как у оригинальной модели. 📌Принцип работы LoRA Линейный слой — матрица весов W размером d×d (для простоты рассматриваем квадратную). При full fine‑tuning для неё обновляется d² элементов. В LoRA веса остаются замороженными, а обучается только добавка ΔWᵈˣᵈ, которая является произведением матриц Bᵈˣʳ и Aʳˣᵈ. Выход h для линейного слоя с новой добавкой вычисляется по формуле: h = Wx + (α / r) ∆Wx где: • x — входной вектор размерностью d; • ∆W = BA, Aʳˣᵈ и Bᵈˣʳ — обучаемые матрицы весов, где r значительно меньше d. Таким образом, в LoRA обучаются 2*d*r параметров, то есть намного меньше, чем при full finetuning. • α/r регулирует вклад адаптера: - r — ёмкость адаптера. Чем она больше, тем сильнее обновления, но тем выше риск переобучения и стоимость шага обучения (время и VRAM). На практике начинают со значений в диапазоне от 4 до 32, при сложных задачах можно увеличить до 64. - α — масштабирует вклад обновлений LoRA-адаптера. Здесь часто начинают с α = r. Если модель переобучается или градиенты нестабильны, можно уменьшать α (или добавить dropout). Главное — при изменении r держать α/r постоянным: если растет r, то α должен вырасти пропорционально. Часто LoRA-адаптеры добавляют к линейным проекциям attention — query_proj и value_proj. Для большего качества можно добавить и к другим элементам блока трансформера, например, к MLP или output_proj. Применение: • При дообучении LLM для сервисов поиска с RAG, корпоративных ассистентов, мультиязычных моделей и др. • Также популярен сценарий использования одной базовой LLM с несколькими адаптерами (multi-LoRA) под разные домены и клиентов. 📝Частые вопросы с собеседований • Зачем матрица обновления ΔW раскладывается на произведение A и B ? Почему бы не использовать одну матрицу? Если в качестве добавки использовать одну матрицу размером d × d — экономии не будет. Факторизация на Aʳˣᵈ и Bᵈˣʳ, где r значительно меньше d, сокращает количество обучаемых параметров и ускоряет обучение. • Преимущества LoRA vs классические адаптеры? LoRA не добавляет новых слоёв на инференсе, как в классических адаптерах, где из-за этого растёт latency и потребление памяти. Здесь их можно смержить в базовые веса, сложив по формуле и убрав накладные расходы на инференсе. • Когда выбирать LoRA? ◦ Нужно дообучение при ограниченных ресурсах Даже при 1-2 GPU по 24 GB можно дообучать модели размером 8b c LoRA и 30b с QLoRA, где базовая модель квантуется до 4-бит (NF4). ◦ Нужны лёгкие артефакты или быстрое переключение между доменами LoRA-адаптеры — небольшие добавочные веса, которые легко подмешиваются / меняются на инференсе. Можно держать адаптеры для разных доменов (например, «техподдержка», «юридический стиль», «код») и по запросу активировать нужный (multi-LoRA). ◦ Важно не удлинять ввод на инференсе В отличие от prompt / prefix-методов, которые добавляют позиции / KV-префиксы, увеличивают вычисления и KV-кэш, LoRA не меняет длину последовательности. А это критично для latency. ◦ Промптинг не даёт нужного качества или стабильного поведения Если улучшение промпта не решает задачу, LoRA даёт более стабильное поведение и прирост качества при минимуме обучаемых параметров. 🔗Полезные ссылки • Оригинальная статья LoRA • QLoRA • Документация huggingface по LoRA А чтобы знать, как применять finetuning для адаптации LLM под домен в реальном проекте — приходите на наш курс LLM Pro. Старт — 13 ноября. Читайте подробнее на сайте и оставляйте заявку до 12 ноября, чтобы присоединиться к обучению со скидкой 5% ⚡️ Автор: Алексей Яндутов