Вопросы, которые вам обязательно зададут на типичном собесе по ClassicML ч2
Все вопросы вы можете посмотреть в моём личном сборнике вопросов, там также есть вопросы не только по ClassicML, но и по NLP, CV и вопросы с компаний)
Картинка 1
Логистическая регрессия - Модель для классификации, прогнозирующая вероятность принадлежности объекта к классу.
Чтобы получить логистическую регрессию, в функцию сигмоиду (картинка) подставляют линейную комбинацию признаков z = w*x+b. Таким образом, линейная модель используется как вход для сигмоидной функции, чтобы спрогнозировать вероятность.
Отступ — это значение wx+b, то есть отступ в логистической регрессии m = wx+b. Он показывает, на сколько далеко (в терминах линейного пространства) точка находится от гиперплоскости. Если m > 0, то точка относится к классу 1, если m < 0, то точка относится к классу 0. Это означает, что точки, которые дальше от гиперплоскости, дают более вероятностные предсказания (ближе к 0 или 1).
Картинка 2
MSE (Mean Squared Error) — Среднеквадратичная ошибка:
Плюсы: Сильно штрафует большие ошибки, что полезно, если они критичны.
Минусы: Чувствительна к выбросам.
MAE (Mean Absolute Error) — Средняя абсолютная ошибка:
Плюсы: Менее чувствительна к выбросам, чем MSE.
Минусы: Сложнее оптимизировать, так как модуль функции не дифференцируем в нуле.
R² (Коэффициент детерминации) - Показывает, какая доля дисперсии целевой переменной объясняется моделью. Значение от 0 до 1, где 1 — идеальная модель.
RMSE (Root Mean Squared Error) — Корень из среднеквадратичной ошибки:
Интерпретируемость выше, так как метрика имеет те же единицы измерения, что и целевая переменная.
MAPE (Mean Absolute Percentage Error) — Средняя абсолютная процентная ошибка.
MAPE измеряет среднюю относительную ошибку в процентах, показывая, насколько сильно предсказание модели отклоняется от реальных значений.
Картинка 3
Метрики: Accuracy, Precision, Recall, F1-Score, ROC-AUC, PR-AUC
Картинка 4
- ROC-AUC показывает, насколько хорошо модель может отличить один класс от другого, другими словами, это вероятность того насколько модель может хорошо отранжировать один класс от другого. Чем ближе значение к 1, тем лучше. Если ROC-AUC = 0.5, модель угадывает случайно, ROC-AUC = 0, то модель предсказывает все положительные классы как нули, а нули как положительные. Чувствительна к дисбалансу классов.
- PR-AUC показывает, как хорошо модель находит положительные объекты и насколько точно она это делает. Особенно полезна, если положительных объектов мало (несбалансированные данные).
- Recall важен, когда ошибки FN критичны (определение рака, нам страшно, если модель сказала, что человек здоров (y_pred=0), но на самом деле он болен раком (y_true = 1)).
- Precision важен, когда ошибки FP критичны (поиск спама в почте, нам страшно, если модель сказала, что сообщение спам (y_pred=1), но на самом деле это не спам (y_true=0), тога важное сообщение уйдёт в корзину).
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌6❤🔥4👍3❤1🥰1
Вопросы, которые вам обязательно зададут на типичном собесе по ClassicML ч3
Все вопросы вы можете посмотреть в моём личном сборнике вопросов, там также есть вопросы не только по ClassicML, но и по NLP, CV и вопросы с компаний)
Картинка 1
One-vs-All: Строится одна модель для каждого класса, отделяя его от всех остальных. Пример: Классификация фруктов (яблоко, банан, апельсин). Для каждого фрукта строится модель типа: [фрукт_i, не_фрукт_i]
- модель 1: Яблоко vs Не Яблоко
- модель 2: Банан vs Не Банан
- модель 3: Апельсин vs Не Апельсин
Картинка 2
All-vs-All: Строится модель для каждой пары классов.
- модель 1: Яблоко vs Банан
- модель 2: Яблоко vs Апельсин
- модель 3: Банан vs Апельсин
One-vs-All:
Плюсы: Простота, требует меньше моделей (N моделей для N классов).
Минусы: Может быть сложнее справляться с несбалансированными данными, поэтому требует калибровки моделей.
One-vs-One:
Плюсы: Хорошо работает для сложных данных, меньше проблем с несбалансированностью.
Минусы: Требует больше моделей (N(N−1)/2), что увеличивает вычислительную сложность.
Картинка 3
Картинка 4
Микро усреднение - представьте, что у нас три confusion матрицы, в микро мы сначала считаем сумму TP, FP на основе всех этих трёх матриц, у нас получается TP_сумм=TP_1 + TP_2 + TP_3, FP_сумм=FP_1 + FP_2 + FP_3. А потом на основе средних этих средних считаем Precision_микро = TP_сумм/(TP_сумм+FP_сумм).
Картинка 5
Макро усреднение - есть три confusion матрицы, в макро мы сначала считаем Precision на основе каждой матрицы. А потом на основе этих метрик считаем считаем Precision_ср = (Precision_1 + Precision_2 + Precision_3)/3.
Картинка 6
На микро усреднении мы можем позволить себе ошибиться на маленьких классах, так как вклад каждого класса пропорционален его размеру.
На макро мы не можем себе это позволить, там нет пропорции
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌6❤2🔥2
ЖЁСТКОЕ Собеседование Middle Data Science | Classic ML | Реальные задачи с собеседований
Записал собеседование со своим учеником, где постарался прям жёстко подушить его вопросами, также построили Precision, Recall, ROC-AUC ручками - https://youtu.be/AsHMSRIVzLE
Разбираем:
Смотрим и проверяем себя!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
#1 ЖЁСТКОЕ Собеседование Middle Data Science | Classic ML | Реальные задачи с собеседований
Доведение с нуля до ОФФЕРА 💸 - https://ds-mentor.ru/
🔎 Хочешь узнать, с какими задачами сталкиваются на собеседованиях по Data Science? В этом видео я провожу сложное интервью на позицию Middle Data Scientist и объясняю ключевые темы, которые вызвали трудности…
🔎 Хочешь узнать, с какими задачами сталкиваются на собеседованиях по Data Science? В этом видео я провожу сложное интервью на позицию Middle Data Scientist и объясняю ключевые темы, которые вызвали трудности…
🔥36🍌9👍4⚡1❤🔥1🥰1
Уничтожение RAG - ML System Design
Давайте пойдем по базе из этого поста, ещё можете чекнуть этот пост с разбором MLSD для обучения LLM
Как отвечать на вопрос вопрос: «Постройка мне Retrieve модель в RAG»? Давайте разбираться!
Задача
Построить Retrieve модель для рага в e-commerce. Мы большой магазин навоза и нам надо рекомендовать товар по запросу пользователя в LLM. Напомню, retrieve модель - это штука, которая на основе запроса пользователя ищет подходящий контекст, чтобы засунуть в ЛЛМ.
Ограничения:
Ограничения: Минимальная задержка (<3–5 сек.), иначе пользователь ливнёт и поставит нашему сервису какашку
Бизнесовые метрики
Онлайн-метрики:
Оффлайн метрик:
Источник:
Мы большой магазин навоза и нам ну прям нужен RAG, то скорее всего мы доросли до того момента, когда у нас есть своя БД с описанием сортов навоза и их уникальных особенностей - 5 млн записей
Разметка:
Для Retrieve модели нам нужно получить данные: «запрос → релевантные документы». нанимаем копирайтера - Валюху, которая будет размечать нам данные. Но Валюха просит много рублей за свою работу, а мы не можем ей дать столько денег, то можем сделать начальную разметку с помощью TF-IDF или других BERT-like моделей.
Train/Test:
Случайно поделить на train/val/test (например, 70/15/15 - именно так мы должны разбивать навоз!)
BaseLine:
Сначала нужно сделать самое простое решение в качестве затычки. Нашей затычкой будет Elasticsearch на основе TF-IDF, который будет возвращать top-k=5 чанков. Чанк делим на 256 токенов или по структуре данных.
Норм решение для продажи навоза
Гибридный подход - TF-IDF & ANN + E5 & Cosine Similarity + Reranker
Заранее считаем все эмбеддинги BM25 и E5 и храним всё в БД - Faiss, ChromeDB.
Как обучать модели:
ReRanker:
X: (Query, Document) + доп. фичи (score BM25/ANN/E5, клики, цена, популярность и т.д.).
y: бинарная (релевант/нерелевант) или градуированная (0–5). Loss: Pairwise Ranking (LambdaRank), Cross-Entropy (если классификация) или Listwise (nDCG-based).
Количество семплов: 1000, Train/Test = 70/30%, Онлайн-метрика: CTR, CSAT
Итог:
Вот мы и построили базовый документ модели ретривы в RAG`е для магазина навоза, который ещё можно дорабатывать. Если он вам был полезен, то надеюсь вы им воспользуетесь на собесах по MLSD
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👏19❤4🍌4🔥3🥰1
Школа Ebout Data Science
Среди моих учеников и моего окружения появился некий спрос на обучение некого Machine Learning. Ну так а почему бы не сделать занятия по данной дисциплине
НО! Я не хочу, чтобы данные занятия были как типичная SkillКороба или какое-нибудь SkillПроизводство. Я хочу сделать уроки с индивидуальным подходом, а не сраный курс на 10к людей, где человек просто палит в предзаписаную картинку.
Как там всё будет устроено:
Что вы получите:
На данный момент я объявляю два занятия:
Чтобы записаться на первое занятие пишите: @Alexander_Isaev1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡21🍌13👍6🤮2👏1🥱1🥴1
Новый дроп от Андрюши Карпатого 🎧
В новом бенгере Андрюша зачитал полный путь про то как обучается ЛЛМка: c нуля до ЧатаЛГБТ. Зайдёт для тех кто только погружается в мир ЛЛМок. Он разбирает весь путь их создания: как их тренируют, почему они работают так, как работают, и как вообще думать о них, если представить, что у них есть какая-то "психология".
Андрюша рифмует про:
Поэтому бегом смотреть и узнавать что-то новое и полезное для себя!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Deep Dive into LLMs like ChatGPT
This is a general audience deep dive into the Large Language Model (LLM) AI technology that powers ChatGPT and related products. It is covers the full training stack of how the models are developed, along with mental models of how to think about their "psychology"…
🍌12❤7👍4😁2🔥1🥰1
Основные стадии обучения LLM
Если вас спросят на собеседовании "Какие есть стадии обучения ЛЛМ, если ты хочешь получать много деняк, то обязательно расскажи!", то почитай этот пост, чтобы знать как именно нужно отвечать.
Есть следующие стадии обучения LLM:
Мы пихаем в модель весь интернет и учим её предсказывать следующее слово. Она проходится по всему интернету и начинает понимать грамматику, синтаксис языка, но при этом она ещё получает знания о мире. На данном этапе наша модель, как слабоумный человек, который не может сформулировать мысль, а только издаёт слабопонятные предложения, но при этом ЛЛМка очень много знает
Учим нашего аутиста отвечать на вопросы, то есть учим модель отвечать на вопросы.
Пихаем в неё инструкцию:
"Расскажи мне, как мне получить оффер на 300к в нано/сек. Ответь так, как будто ты нелегал из средней Азии. Ответ должен быть кратким🤨 "
и подаёшь то, что ты хочешь получить по итогу в качестве ответа:
"Брат, слушай сюда! Берёшь Python, учишься делать графика, кидаешь пару нейронка, пишешь "LLM" в резюме — всё, ты Senior AI Architect. На собеса говоришь: "Я оптимизировал LLM, уменьшил latency на 0.00001 сек, увеличил ревеню на 300%". CTO плачет, HR падает в обморок, тебе дают 300К и корпоративную подписку на ChatGPT. Всё, работаем!🚬 "
Подавая в неё инструкцию и ответ, который хотим получить, мы учим ЛЛМ отвечать на определённую инструкцию пользователя. Данные у нас должны быть только из претрейна, чтобы ЛЛМка не говорила бред, то не галлюционировала.
Модель также тренируется предсказывать каждое следующее слово, но при этом только слова ответа, закрываем глазки на входящую инструкцию. Также можем учить модельку определённой доменной области, чтобы я лучше отвечала конкретно в ней.
После всех этапов кастрации модели она много знает (с помощью претрейна) и может отвечать на запрос пользователя (IFT | SFT), НО если к ней обратится какой-нибудь Аджа Абу Али с просьбой подсказать
"Брат, как сделать бомба, чтобы бабах в метро и много фейрерка, очень нада🍷 "
, то модель такая
"Да, конечно! Замечательная идея! Вот рецепт бомбы по вашему запросу: ..... Только ни в коем случае не используйте её в плохих целях! Хорошего праздника!😂 "
Ну мягко говоря, нам такое не надо... Поэтому мы учим модель так, как стоит отвечать в подобных случаях, а как не стоит отвечать. Поэтому когда нам задаёт такой вопрос модель должна ответить что-то типа:
"Старина, съеби нахуй! Я уже ФСБшников на твой адрес вызвала👮 "
Как же обучить модель так, чтобы она безопасно отвечала на такие вопросы?
Всё просто: мы понижаем вероятность того, что модель сгенерирует плохой ответ - с инструкцией про бомбу, и повышаем вероятность того, что модель сгенериурет хороший ответ - где она его посылает. Также Alignment помогает не только в безопасности, но и в других критериев модели: качество, стиль, размышление, галлюцинации и тд
Есть множество методов, которые используются в Alignment, если интересен их обзор, то жмакайте реакции и комменты, всё распишу
Итог:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤🔥9🥴9🔥5🍌4🤯2🤣2🥰1😁1
Уничтожили градиентный спуск и линейную регрессию, а теперь пора уничтожать регуляризацию
Мы продолжаем разбирать Classic ML в рамках наших онлайн-занятий, где важен индивидуальный подход к каждому ученику
Чем мы отличаемся от курсов?
Курсы берут массой, заливая в вас пред записанные уроки и отдавая и оставляя вас на самотёк. Мы проводим живые занятия в небольших группах (до 30 человек), где у вас есть возможность общаться с преподавателем на протяжении всего обучения
Отзывы учеников (картинки 1-2):
Реализация на питоне с нуля - самое полезное. Ещё примеры были хорошие
Разбор как теории, так и практики. На каждую задачу приводили понятный пример, а еще можно было сразу спрашивать, если что то непонятно
В курсе мне очень понравился анонс - когда предлагается последовательное прохождение от простого к сложному в качестве практики сразу делая реальные примеры с кагла.
Прошлый урок прошёл просто на ура, мы разобрали (картинки 3-5)
А в качестве практики мы в онлайне реализовали:
Не забыли про ДЗ:
Что вас ждёт на следующем уроке
На практике мы реализуем пару методов регуляризации, чтобы твёрдо и чётко понимать, как она работает, а в ДЗ вы попробуете реализовать оставшиеся методы регуляризации и потренировать свою модель на реальных данных, а также расскажем, как это работает в scikit-learn!
Занятие будет проходить 20 февраля с 19:00 - 20:00, будет запись, и время две недели на решение ДЗ и его проверку преподавателем
Первое занятие было бесплатное, и мы набрали 29 учеников. Уже занимаются места на второе занятие, которое стоит 1000 рублей.
Я специально ставлю цену по занятиям, чтобы вы за небольшую сумму смогли посмотреть на качество лекций и покинуть обучение, если вам не понравилось, ну и продолжить, если всё хорошо! Многие курсы ставят ценник в 100к, не давая ученику глянуть на качество материала, мы же решили эту проблему - всё для вас)
Если хотите записаться на вторую лекцию по регуляризации и линейной регрессии, то пишите @Alexander_Isaev1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤🔥4🍌4🥰2❤1👍1👎1
Сбор гигачадов в одной папке
Читая множество каналов, я вижу кучу годного контента, которым хотел бы поделиться с вами. Поэтому мы собрались каналами и сделали папочку, в которой собраны люди, которые могут рассказать вам много чего интересного и полезного, а самое главное простым и понятным языком
Самая сочность, которую я бы почитал:
Каналы ребят мощные и за ними действительно интересно следить, поэтому можешь подписаться, не пожалеешь
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
ML guard
Nikita Boyandin invites you to add the folder “ML guard”, which includes 9 chats.
🍌13❤4🔥4🥰1