Forwarded from Start Career in DS
🔗 Базовая теория по DL, которую должен знать каждый
👨💻 Умение строить нейронные сети и понимать, как они работают, является обязательным навыком практически для любого ML-специалиста. Поэтому разберем основные структурные компоненты нейронных сетей.
1️⃣ Искусственный нейрон
Нейрон, Входы (X), Веса (Weights), Смещение (Bias) и Функция активации.
Схему искусственного нейрона и его частей можете изучить тут.
2️⃣ Слои нейронной сети
Слои, виды слоёв (входной слой, скрытый слой, выходной слой) и функциональности (линейный слой, сверточный слой, рекурентный слой).
Про эти и другие наиболее распространенные виды слоев читайте тут. Также изучаем схему простой нейронной сети (перцептрона), про сложность - читаем тут.
3️⃣ Функции активации
Наиболее популярными функциями активаций являются: Sigmoid, Tanh, ReLU, Softmax.
Про эти и другие функции активации читайте тут.
4️⃣ Слои нормализации
Проблема взрыва и затухания градиента.
Основные виды нормализаций активаций в нейронной сети: LayerNorm, BatchNorm, RMSNorm. О каждом более подробно читайте тут.
5️⃣ Dropout и Attention слои
О способе решения проблемы переобучения с Dropout читайте тут.
Attention-механизм стал наиболее популярным в моделях Transformer, позволяя нейронной сети «фокусироваться» на важных частях входного сигнала через attention-score. Подробно о самом механизме читайте тут.
📚 Дополнительно читаем и преисполняемся:
- Наш большой справочник по Deep Learning
- Серия постов с видео по нейронным сетям - [Ч.1], [Ч.2]
- Доступный курс для каждого новичка по основам нейронных сетей
- Пишем свой нейрон на Python: практика для любого уровня
- Основы нейронных сетей с интересным разбором разных тем
- Математика, лежащая в основе нейронных сетей: серия простых статей
Обязательно ставьте ❤️ и 🔥 за наш труд!
Пишите комментарии и задавайте вопросы!
До встречи👋
👨💻 Умение строить нейронные сети и понимать, как они работают, является обязательным навыком практически для любого ML-специалиста. Поэтому разберем основные структурные компоненты нейронных сетей.
1️⃣ Искусственный нейрон
Нейрон, Входы (X), Веса (Weights), Смещение (Bias) и Функция активации.
Схему искусственного нейрона и его частей можете изучить тут.
2️⃣ Слои нейронной сети
Слои, виды слоёв (входной слой, скрытый слой, выходной слой) и функциональности (линейный слой, сверточный слой, рекурентный слой).
Про эти и другие наиболее распространенные виды слоев читайте тут. Также изучаем схему простой нейронной сети (перцептрона), про сложность - читаем тут.
3️⃣ Функции активации
Наиболее популярными функциями активаций являются: Sigmoid, Tanh, ReLU, Softmax.
Про эти и другие функции активации читайте тут.
4️⃣ Слои нормализации
Проблема взрыва и затухания градиента.
Основные виды нормализаций активаций в нейронной сети: LayerNorm, BatchNorm, RMSNorm. О каждом более подробно читайте тут.
5️⃣ Dropout и Attention слои
О способе решения проблемы переобучения с Dropout читайте тут.
Attention-механизм стал наиболее популярным в моделях Transformer, позволяя нейронной сети «фокусироваться» на важных частях входного сигнала через attention-score. Подробно о самом механизме читайте тут.
📚 Дополнительно читаем и преисполняемся:
- Наш большой справочник по Deep Learning
- Серия постов с видео по нейронным сетям - [Ч.1], [Ч.2]
- Доступный курс для каждого новичка по основам нейронных сетей
- Пишем свой нейрон на Python: практика для любого уровня
- Основы нейронных сетей с интересным разбором разных тем
- Математика, лежащая в основе нейронных сетей: серия простых статей
Обязательно ставьте ❤️ и 🔥 за наш труд!
Пишите комментарии и задавайте вопросы!
До встречи👋
Forwarded from Агенты ИИ | AGI_and_RL
Уверен, что многих интересует как вот там реализуются методы распределенного трейна, может кто-то хотел бы сам реализовать (а это очень полезно).
Ребята из HF 🤗 начали проект по учебной реализации таких методов (dataparallel, tensorparallel, pipelineparallel, contextparallel) :
https://github.com/huggingface/picotron
https://github.com/huggingface/picotron_tutorial
Вместе с проектом идут лекции на ютубе.
Это как проект nanoGPT по учебной реализации гптшки 2, чтобы разобраться, но он прям уже круто разросся и народ там уже наоптимизировал всякого, мб и тут крутое что-то будет
Ребята из HF 🤗 начали проект по учебной реализации таких методов (dataparallel, tensorparallel, pipelineparallel, contextparallel) :
https://github.com/huggingface/picotron
https://github.com/huggingface/picotron_tutorial
Вместе с проектом идут лекции на ютубе.
Это как проект nanoGPT по учебной реализации гптшки 2, чтобы разобраться, но он прям уже круто разросся и народ там уже наоптимизировал всякого, мб и тут крутое что-то будет
GitHub
GitHub - huggingface/picotron: Minimalistic 4D-parallelism distributed training framework for education purpose
Minimalistic 4D-parallelism distributed training framework for education purpose - huggingface/picotron
Forwarded from КПД
LLM KV cache compression made easy
[Репозиторий]
В связи с ростом потребности в эффективной по памяти и скорости работе с длинным контекстом (особенно с учетом набирающего популярность test-time compute scaling) все острее стоит вопрос сжатия KV-кэшей. Данной теме уже посвящено немалое число работ (и существует уже интеграция в transformers).
И недавно ребята из одной зеленой компании выкатили либу, с реализацией разных техник сжатия KV-кэшей под названием kvpress.
В данной либе реализовано несколько простых и популярных техник сжатия кэшей:
🌟 Случайный прунинг
🌟 Основанный на нормах токенов
🌟 Несколько подходов, основанных на attention скорах (SnapKV, TOVAPress, H20)
Причем битность можно задавать послойно при помощи класса
Самую SOTA (например, PyramidKV) в области пока еще не завезли, увы.
В репозитории есть ноутбуки с демострацией использования библиотеки и замерами скорости и памяти.
Либа действительно удобная и приятная для использования.
Методы сжатия кэшей можно комбинировать с квантизацией кэшей у лицехватов 🤗.
[Репозиторий]
В связи с ростом потребности в эффективной по памяти и скорости работе с длинным контекстом (особенно с учетом набирающего популярность test-time compute scaling) все острее стоит вопрос сжатия KV-кэшей. Данной теме уже посвящено немалое число работ (и существует уже интеграция в transformers).
И недавно ребята из одной зеленой компании выкатили либу, с реализацией разных техник сжатия KV-кэшей под названием kvpress.
В данной либе реализовано несколько простых и популярных техник сжатия кэшей:
🌟 Случайный прунинг
🌟 Основанный на нормах токенов
🌟 Несколько подходов, основанных на attention скорах (SnapKV, TOVAPress, H20)
Причем битность можно задавать послойно при помощи класса
PerLayerCompressionPress.Самую SOTA (например, PyramidKV) в области пока еще не завезли, увы.
В репозитории есть ноутбуки с демострацией использования библиотеки и замерами скорости и памяти.
Либа действительно удобная и приятная для использования.
Методы сжатия кэшей можно комбинировать с квантизацией кэшей у лицехватов 🤗.
Forwarded from 🏆 Data Feeling | AI (Aleron M)
> Domo Ai — этот инструмент обеспечивает пользователям более привлекательный визуальный опыт за счет добавления новых стилей видеопроизводства.
> Huggingface, он позволяет применять к изображениям любую текстуру и в результате создавать уникальные изображения с нужной комбинацией текстур.
> Современная генерация видео и изображений с помощью Veo 2 и Imagen 3 — это новый конкурент Sora от Google предлагает значительные улучшения в создании видеоконтента
> Диффузионная инверсия — это мощный инструмент для повышения резкости и улучшения качества изображения, особенно полезный для дизайнеров и фотографов.
> Replit Agent - это новейший копайлот для написания программного кода. Агент качественно программирует IT проект с нуля по вашему запросу. Полный гайд по его использованию всех связок с ним разобран на курсе.
> Cursor AI - это IDE для создания проектов с помощью вшитого AI ассистента. Не Агент, а просто LLM + контекст, но получается все равно очень качественно. Полный гайд и примеры создания приложения разобраны на курсе
> Обновление: Suno V4 — это музыкальный продукт, который теперь находится в свободном доступе и предоставляет больше возможностей для творчества в аудиопроизводстве.
> Обновление: Kling 1.6, выпущена новая версия этого создателя видео с более продвинутыми функциями, которые обеспечивают простоту использования и более профессиональные результаты.
> Обновление: Pika 2.0 — этот продвинутый инструмент можно использовать бесплатно до 22 декабря, и это прекрасная возможность проверить его возможности.
> Вдруг ничего не слышали про о3 и о3-mini — это модели OpenAI нового поколения, обеспечивающие более быструю и точную обработку данных.
> Grok — этот инструмент создает изображения, связанные с лицами знаменитостей, без ограничений и цензуры и подходит для творческих проектов.
> LangChain - это современный универсальный и очень мощный фреймворк для эффективной работы с любым видом LLM, в том числе API chatGPT от OpenAI. Необходим для создания LLM агентов, RAG систем и векторизации данных для создания поиска по своим базам знаний. Полный гайд по фреймворку и с разбором проектов и заданиями для отработки.
> LTX Studio — это новая функция этой платформы позволяет пользователям управлять эмоциями персонажей в видеороликах, что подходит для продвинутого повествования и анимации.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Data Funk
Регуляризация — верный способ борьбы с переобучением модели, и чаще всего используем L1, L2 или их комбинацию. Почему именно их, а не L0, L1.5 или L4? Если коротко, то L1 и L2 это превосходный баланс между простотой и результатом. L2-регуляризация добавляет к функции ошибки (лоссу) штраф, который зависит от суммы квадратов параметров модели. Это делает функцию выпуклой с линейными градиентами и простой в оптимизации. В случае с L4 градиенты для больших параметров очень велики, а около нуля почти затухают, что сильно замедляет градиентный спуск. L1-регуляризация штрафует за сумму модулей коэффициентов модели, которые обновляются довольно быстро с помощью покоординатного спуска, по пути зануляя "неважные" параметры. Вырожденные формы регуляризация вроде L0 или L∞ на практике мало полезны, так как L0 штрафует просто за количество ненулевых параметров, а L∞ — только за самый большой параметр модели. Что касается L1.5, то выигрыш от него примерно такой же, как просто от часто применяемой линейной комбинации L1 и L2.
Forwarded from Data Funk
А может быть степень регуляризации комплексной - L(p+j*q)? Да, но в общем случае это ведет к комплексным коэффициентам модели X*a = y. Что бы этого избежать и оставить коэффициенты и лосс только вещественными, можно их проквантовать: т.к. |a[i]|^(p+jq) = |a[i]|^p * (cos(q*log(|a[i]|)) + j*sin(q*log(|a[i]|)), то при q*log(|a[i]|) = 2*pi*n (n - целое число), получаем: |a[i]|^(p+j*q) = |a[i]|^p. С одной стороны можно также использовать градиентный спуск для указания направления уменьшения ошибки, с другой все коэффициенты модели квантуются и a∊{±exp(2*pi*n/q)}.
Forwarded from Data Funk
Я использовал датасет для предсказания популярности (измеряется от 0 до 100) англоязычных песен на spotify за последние 5 лет по их музыкальным характеристикам. Перебирая различные p и q для L(p+j*q) на графике показана ошибка линейной регрессии. Тут видно, что при должном усердии для любых p можно получить схожие результаты, но качество резко меняется при росте мнимой части - q, за счет того, что ±exp(2*pi*n/q) лежат чаще друг к другу при росте q.
Forwarded from Data Funk
Но это работает до некоторого предела, например если зафиксировать p=2 и далее увеличивать q, то при больших значениях ошибка начинает сильно шататься.
Forwarded from Data Funk
А тут показано изменение свободного члена (intercept) линейной регрессии при разных p и q, картинка немного шумная, т.к. процесс оптимизации носит случайный характер.
Forwarded from Поступашки - ШАД, Стажировки и Магистратура
Как пройти алгоритмический собес в 2025 году
Вспомним какие темы чаще всего встречаются на собесах.
🟢Группа 1
Префикс сумма, бинарный поиск, два указателя, хеш-таблицы.
🟡Группа 2
Обход в ширину, обход в глубину, алгоритм Дейкстры, алгоритм Флойда, деревья.
🔴Группа 3
Динамическое программирования, монотонный стек, дерево-отрезков, теория чисел.
Задачи из группы 1 очень часто встречаются на собесах.
Задачи из группы 2 реже, но все равно встречаются, эта группа больше связана с графами.
Задачи из группы 3 встречаются очень редко (кроме HFT компаний и им подобных).
Самое сложное и самое важное — это изучение тем из первой группы.
Во второй группе вам предстоит освоить только алгоритмы на графах, но благодаря знаниям, полученным в первой группе, вы уже будете иметь представление о подходах и идеях, которые помогут вам решать сложные задачи. Большинство ключевых и основополагающих идей сосредоточены именно в первой группе.
Специально для вас, товарищи, наш преподаватель Тимур (регулярно проводит собесы в Яндексе) подготовил ➡️ Roadmap по группе 1.
Важно, чтобы у вас была прочная база знаний по всем четырем темам, прежде чем приступать к сложным задачам. Это связано с тем, что задачи тесно пересекаются между собой. Например, задачи на префикс суммы пересекаются с задачами, связанными с двумя указателями и хеш-таблицей.
В таблице по каждой теме я подготовил простые задачи (зеленым цветом) эти задачи дадут вам базовые понятия. Дальше вам предстоит перейти на более сложные задачи (красный цвет).
Как решать красные задачи с Roadmap?
-Отмечу что это не рандомные задачи, а задачи с фундаментальными идеями.
-Это будет небыстрый и непростой путь, но любой может решить эти задачи, главное старанье.
-Вы можете решать задачи в любом порядке. Если не получается решить задачу с литкода в течение часа то можно смотреть разбор, но не задачи с codeforces. Задачи с codeforces достаточно сложные и скорее всего на большинство задач не найдете разбор. Относитесь серьезно к задачам codeforces,они действительно дадут буст. (Если кому поможет, то можно относиться к задачам codeforces как к вызову).
Не совершай эти ошибки.
-Спрошу у гпт как решить задачу с codeforces. (Вы должны научиться решать эти задачи своими руками)
-Я посидел над задачей codeforces целый день и не смог решить, поищу разбор. (Иногда будет возникать соблазн найти разбор задач codeforces, особенно когда действительно попытались решить задачу, но нет, эти задачи должны решить только ВЫ, лучше отвлекитесь и порешайти литкод).
-Злоупотребление разбором задач с литкода. (В день когда решили задачу разбором отметьте ее, и вернитесь к ней через день).
-Посмотрю разбор на работе, проанализирую разбор во время работы, а вечером дома я закодю решение. (Очень плохой подход, нужно сфокусироваться на задаче, без переключений с задачи на работу).
Советы.
-От большого количество информации вы скорее всего будете замечать, что не получается решать/ понять задачи. Вам нужно сделать передышку, и вы увидите, что через несколько дней эти же задачи будут даваться легче. (Это научный факт)
-Фокус важен, выделяй себе время на решения задач, чтобы тебя никто не отвлекал.
-Будь готов на долгую работу, скорее всего за пару месяцев выйти на хороший уровень с нуля не получится.
Прошу очень внимательно отнестись к посту, товарищи, все выводы и советы сформированы на основе многолетнего опыта преподавания не только Тимура, но его топовых коллег по цеху. В общем обязательно поддержите огоньком 🔥 и поделитесь с другом. Это очень мотивирует нас делать такой же топовый контент для вас! Если пост наберет много огоньков 🔥 , то соберем Roadmap для второй группы.
Автор: @algoses
Вспомним какие темы чаще всего встречаются на собесах.
🟢Группа 1
Префикс сумма, бинарный поиск, два указателя, хеш-таблицы.
🟡Группа 2
Обход в ширину, обход в глубину, алгоритм Дейкстры, алгоритм Флойда, деревья.
🔴Группа 3
Динамическое программирования, монотонный стек, дерево-отрезков, теория чисел.
Задачи из группы 1 очень часто встречаются на собесах.
Задачи из группы 2 реже, но все равно встречаются, эта группа больше связана с графами.
Задачи из группы 3 встречаются очень редко (кроме HFT компаний и им подобных).
Самое сложное и самое важное — это изучение тем из первой группы.
Во второй группе вам предстоит освоить только алгоритмы на графах, но благодаря знаниям, полученным в первой группе, вы уже будете иметь представление о подходах и идеях, которые помогут вам решать сложные задачи. Большинство ключевых и основополагающих идей сосредоточены именно в первой группе.
Специально для вас, товарищи, наш преподаватель Тимур (регулярно проводит собесы в Яндексе) подготовил ➡️ Roadmap по группе 1.
Важно, чтобы у вас была прочная база знаний по всем четырем темам, прежде чем приступать к сложным задачам. Это связано с тем, что задачи тесно пересекаются между собой. Например, задачи на префикс суммы пересекаются с задачами, связанными с двумя указателями и хеш-таблицей.
В таблице по каждой теме я подготовил простые задачи (зеленым цветом) эти задачи дадут вам базовые понятия. Дальше вам предстоит перейти на более сложные задачи (красный цвет).
Как решать красные задачи с Roadmap?
-Отмечу что это не рандомные задачи, а задачи с фундаментальными идеями.
-Это будет небыстрый и непростой путь, но любой может решить эти задачи, главное старанье.
-Вы можете решать задачи в любом порядке. Если не получается решить задачу с литкода в течение часа то можно смотреть разбор, но не задачи с codeforces. Задачи с codeforces достаточно сложные и скорее всего на большинство задач не найдете разбор. Относитесь серьезно к задачам codeforces,они действительно дадут буст. (Если кому поможет, то можно относиться к задачам codeforces как к вызову).
Не совершай эти ошибки.
-Спрошу у гпт как решить задачу с codeforces. (Вы должны научиться решать эти задачи своими руками)
-Я посидел над задачей codeforces целый день и не смог решить, поищу разбор. (Иногда будет возникать соблазн найти разбор задач codeforces, особенно когда действительно попытались решить задачу, но нет, эти задачи должны решить только ВЫ, лучше отвлекитесь и порешайти литкод).
-Злоупотребление разбором задач с литкода. (В день когда решили задачу разбором отметьте ее, и вернитесь к ней через день).
-Посмотрю разбор на работе, проанализирую разбор во время работы, а вечером дома я закодю решение. (Очень плохой подход, нужно сфокусироваться на задаче, без переключений с задачи на работу).
Советы.
-От большого количество информации вы скорее всего будете замечать, что не получается решать/ понять задачи. Вам нужно сделать передышку, и вы увидите, что через несколько дней эти же задачи будут даваться легче. (Это научный факт)
-Фокус важен, выделяй себе время на решения задач, чтобы тебя никто не отвлекал.
-Будь готов на долгую работу, скорее всего за пару месяцев выйти на хороший уровень с нуля не получится.
Прошу очень внимательно отнестись к посту, товарищи, все выводы и советы сформированы на основе многолетнего опыта преподавания не только Тимура, но его топовых коллег по цеху. В общем обязательно поддержите огоньком 🔥 и поделитесь с другом. Это очень мотивирует нас делать такой же топовый контент для вас! Если пост наберет много огоньков 🔥 , то соберем Roadmap для второй группы.
Автор: @algoses
Forwarded from Инженерообязанный🫡 | Блог Дата Инженера
Оставлю их тут для вас, чтобы долго не искать!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 5 minutes of data
Бесплатные курсы по ИИ от ведущих компаний и университетов!
Хотите освоить искусственный интеллект в 2025 году? Google, Harvard и другие технологические гиганты предлагают бесплатные курсы! Вот 8 отличных вариантов:
1. Курсы Google AI
Google предлагает 5 различных курсов для изучения генеративного ИИ с нуля. Начните с введения в ИИ и получите полное понимание искусственного интеллекта.
🔗 Подробнее о курсах Google
2. Курс Microsoft по ИИ
От основ до нейронных сетей и глубокого обучения - Microsoft предлагает комплексный курс по ИИ.
🔗 Перейти к курсу Microsoft
3. Введение в ИИ с Python от Harvard
7-недельный курс от Гарвардского университета по изучению концепций и алгоритмов ИИ. Включает практику с библиотеками машинного обучения.
🔗 Записаться на курс Harvard
4. Промпт-инженерия для ChatGPT
6 модулей от Университета Вандербильта научат вас эффективно формулировать запросы к ChatGPT.
🔗 Изучить промпт-инженерию
5. Промпт-инженерия для разработчиков
Курс от OpenAI и DeepLearning с преподавателями Иса Фулфорд и Эндрю Нг. Практические занятия и лучшие практики.
🔗 Начать обучение
6. LLMOps
Новый курс от Google Cloud и DeepLearning. Научитесь работать с pipeline для обработки данных и настройки пользовательских языковых моделей.
🔗 Изучить LLMOps
7. Большие данные, ИИ и этика
4 модуля от Калифорнийского университета в Дэвисе о больших данных и Watson от IBM.
🔗 Узнать об этике ИИ
8. Приложения ИИ и промпт-инженерия
Вводный курс от edX по промпт-инженерии с углублённым изучением и созданием собственных приложений.
🔗 Начать обучение на edX
Хотите освоить искусственный интеллект в 2025 году? Google, Harvard и другие технологические гиганты предлагают бесплатные курсы! Вот 8 отличных вариантов:
1. Курсы Google AI
Google предлагает 5 различных курсов для изучения генеративного ИИ с нуля. Начните с введения в ИИ и получите полное понимание искусственного интеллекта.
🔗 Подробнее о курсах Google
2. Курс Microsoft по ИИ
От основ до нейронных сетей и глубокого обучения - Microsoft предлагает комплексный курс по ИИ.
🔗 Перейти к курсу Microsoft
3. Введение в ИИ с Python от Harvard
7-недельный курс от Гарвардского университета по изучению концепций и алгоритмов ИИ. Включает практику с библиотеками машинного обучения.
🔗 Записаться на курс Harvard
4. Промпт-инженерия для ChatGPT
6 модулей от Университета Вандербильта научат вас эффективно формулировать запросы к ChatGPT.
🔗 Изучить промпт-инженерию
5. Промпт-инженерия для разработчиков
Курс от OpenAI и DeepLearning с преподавателями Иса Фулфорд и Эндрю Нг. Практические занятия и лучшие практики.
🔗 Начать обучение
6. LLMOps
Новый курс от Google Cloud и DeepLearning. Научитесь работать с pipeline для обработки данных и настройки пользовательских языковых моделей.
🔗 Изучить LLMOps
7. Большие данные, ИИ и этика
4 модуля от Калифорнийского университета в Дэвисе о больших данных и Watson от IBM.
🔗 Узнать об этике ИИ
8. Приложения ИИ и промпт-инженерия
Вводный курс от edX по промпт-инженерии с углублённым изучением и созданием собственных приложений.
🔗 Начать обучение на edX
lnkd.in
LinkedIn
This link will take you to a page that’s not on LinkedIn