Ebout Data Science | Дима Савелко
2K subscribers
140 photos
11 videos
86 links
Ebout Data Science by @ngmdite
Download Telegram
Forwarded from Сиолошная
https://openai.com/sora

OpenAI воспользовались минутой слабостью, и пока я спал, потому что болела голова, порвали мир генерации видео-по-тексту. То что вы видите выше — примеры работ, сгенерированных моделью SORA. Посмотреть больше примеров можно в других каналах, а также на сайте, и в твиттере Sam Altman, где он генерит видео по запросам пользователей: https://twitter.com/sama

Доступа у публики нет (я бы не ждал до окончания выборов или вообще), но будет доступна спец. командам, отвечающим за безопасность генерации:
> Мы заранее делимся результатами наших исследований, чтобы начать работать и получать отзывы от людей за пределами OpenAI, а также дать общественности представление о том, какие возможности ИИ ждут нас на горизонте.

Конец блогпоста OpenAI:
> SORA служит основой для моделей, которые могут понимать и моделировать реальный мир, и мы считаем, что эта способность станет важной вехой на пути к достижению AGI.

🤣🤣

(Техническая статья позже сегодня)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🍌21😢1
БлицОпрос в Домклик

Блиц опрос - это обычный опросник на полчаса на базовые знания Python, Статистика, Classic ML, NLP

Python
🤵‍♂️
Какие ограничения на значения ключа в dict`е ?
1) Значение должно быть не изменяемым и уникальным. Важно, чтобы от значения ключа можно было взять хеш-функцию

Есть ли риски при использовании изменяемых объектов в качестве значений по умолчанию для аргументов функции в Python?
1) Изменение состояния объекта: поскольку у нас изменяемый объект в аргументе, то это тварь может взять и изменится при последующем вызове функции, поэтому будьте аккуратны с этим

Что такое декоратор и каков её синтаксис?
1) Декоратор - это обёртка над функцией, которая позволяет менять поведение функций без изменения её исходного кода
2) Синтаксис прост: функция декоратора принимает в аргументы функцию, в которую мы хотим обернуть. Внутри функции декоратора находится функция, которая описывает логику декоратора, в конце мы возвращаем эту функцию. (1 картинка)

Статистика 💻
Ошибка первого и второго рода
- Ошибка первого рода состоит в том, что гипотеза H0 будет отвергнута, хотя на самом деле она правильная.
- Ошибка второго рода состоит в том, что гипотеза H0 будет принята, но на самом деле она неправильная.
Что такое p-value ?
- p-value - величина, которая показывает вероятность получения наблюдаемых результатов при условии, что нулевая гипотеза верна, или вероятность ошибки в случае отклонения нулевой гипотезы.
Что такое мощность критерия?
- Значение b-1 называют мощностью критерия – это вероятность отвержения неправильной гипотезы.

Ml и Deep Learning будут совсем скоро…💥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🍌3
Вопросы с собеседования ДомКлика

Продолжение предыдущего поста
⭐️

Classic ML
💪
Что на выходе даёт логистическая регрессия?
- Вероятность классов. тык, тык, мегатык
Какая функция оптизируется в логистической регрессии ?
- лог лосс, опять тык, тык, мегатык
Опиши работу алгоритма дерева ?
Шаг 1: Начинаем построение с корня
Шаг 2: Ищем лучший предикат и смотрим на новые разбиения
Шаг 3: Проваливаемся в новые вершины
Шаг 4: Если выполнен критерий останова, то даем прогноз
Шаг 5: Иначе - для выбранной вершины повторяем Шаги 2-5
тык, тык
Что мы получаем на выходе листа при задачи классификации и при задачи регрессии ?
- при задачи классификации возвращается вероятность - доля классов, в задачах регрессии среднее от значений, опять тык, тык

Краткий ликбез по вопросам ниже:
Смещение - говорит о том, насколько точно модель предсказывает выборку, если смещение маленькое, то модель хорошо подстроилась под выборку, если смещение большое, то она не очень подстроилась под неё
Разброс - насколько хорошо модель генерилизировалась на данных, другими словами, насколько не чувствительна к изменению данных.. Маленький разброс - модель имеет обобщающую способность, большой разброс - модель плохо обобщает.
Что изменится будет, если из леса решений сломалось одно дерево ?
- У каждого дерева в лесе малое смещение, но большой разброс. За счёт бустрапа выборки и усреднения деревьев мы уменьшаем разброс. При удалении дерева увеличится разброс ансамбля, так мы удалили один элемент усреднения.
Что изменится , если из бустинга сломалось одно дерево ?
- Каждое дерево в ансамбле имеет высокое смещение, но маленький разброс, так как мы обучаем деревья маленькой глубины - они имеют хорошую обобщающую способность. При обучении бустинга на каждом шаге модель пытается улучшить свои предсказания, уменьшая остатки предыдущих моделей. Это необходимо для уменьшения смещения и улучшения качества предсказаний.

Deep Learning 💪💪💪
Что такое TF-IDF, расскажи формулу ?
- Кратко говоря, TF-IDF - это вектор предложения, лучше тык на базу
Что такое функция активации ? И зачем она нужна ?
- Функция активации - нелинейное преобразование, поэлементно применяющееся к пришедшим на вход данным. Благодаря функциям активации нейронные сети способны порождать более информативные признаковые описания, преобразуя данные нелинейным образом. Тык
Что будет лучше для длинной последовательности: LSTM или GRU ?
- LSTM (Long Short-Term Memory) и GRU (Gated Recurrent Unit), уже название говорит само за себя. LSTM имеет под собой более сложную архитектуру, чем GRU, что помогает ей запоминать больше, Тык

Итог:
Как БлицОпрос - норм, 3 Валерия Бабушкина из 5 Валериев Бабушкинов
Оценка: 😯 😯 😯/😯 😯 😯 😯 😯
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌8🥰1
⭐️ Глобальное уничтожение ML System Design на собеседованиях ⭐️

На собеседованиях очень часто спрашивают ML System Design, и я решил сделать гайдик по уничтожению 🔔

Введение 👀
Когда вас спрашивают про ML System Design, ваша цель - это построить пайплайн, в котором вы должны рассказать про следующие пункты: проблема, метрики, данные, сущности, pipeline, модель, deploy, a/b тесты.
Вы должны построить систему на костылях, которую вы будуте улучшать каждую итерацию, то есть построили гавно из всех пунктов, превратили это гавно в павозку с костылями, пройдя по всем пунктам заново, закрывая все дыры и так далее... 🔝

Пункты: 🔥

1️⃣ Сформулировать проблему
Очень важно изначально понять и сформулировать задачу для себя, чтобы понимать куда и зачем идти

- Поставить бизнес задачу - тут самое главное - это понять, что от вас требуют. Задавайте вопрос: "правильно ли я понял, что..."
- Обговорить ограничения - в кейсе, который вас просят задизайнить могут быть ограничения на память, на ресурсы и тд

2️⃣ Метрики
Нужно дизайнить с метрик, так как вы должны понимать к чему вы идёте, и вы должны уметь как-то сравнивать модели в последующих апдейтах

- Бизнес метрики - одно из самых важных, на что будет ориентироваться бизнес
- Online метрики - это те метрики, которые будут измеряться во время A/B теста, чтобы понять хуже/лучше модель
- Offline метрики - метрики, которая проверяются на train/test во время обучения модели

3️⃣ Данные
Знаем метрики, теперь нужно разобрать какие данные у нас есть для последующего обучения моделей

- Сущности - Нужно определить какие у нас сущности: пользователь, карточка товара....
- Характеристики сущностей - У каждой сущности есть свои характеристики. Для пользователя это - фио, пол, возраст и тд, для карточки товара - это цена, описание, бренд...
- Сбор Данных - Как мы будем собирать данные: cпарсим, копирайтеры, возьмём из БД

4️⃣ Pipeline
- Как работает сервис
- Необходимо описать как сервис будет работать в целом: какие есть блоки, как они взаимодействуют между собой, что и как друг другу передаёт.

5️⃣ Модель
Нужно лучше начать с бейзлайна - с самой просто задачи.
Если у вас задача рекомендации, то для начала стоит просто сказать: "пусть бейзлайном будет выдача самих лучших товаров по рейтингу, чуть позже улучшим модель, опираясь на online и offline метрики". Помни, твоя задача всего интервью- построить полностью готовый пайплайн решения.

После того как вы закрыли данные пункты, то улучшайте бейзлайн, рассказывая про это:
- Задача - классификация, ранжирование, регрессия
- Loss - для каждой задачи свой лосс
- X/y - необходимо написать на каких данных вы обучаетесь
- Train/Test Split - Как вы разбиваете данные для обучениия: на чём тренируетесь, на чём валидируетесь
- Фичи и их сбор - Как вы собираете данные, и как вы преобразовывайте данные

6️⃣ Deploy
Как вы будете деплоить, лично я обычно говорю про данные пункты, упоминая технологии.

- Пайплайн хранения данных и транспорт даты - Amazon S3, MySQL, FEAST, HDFS, Kafka
- Пайплайн создания фичей - Apache Spark
- Пайплайн дообучения модели - Airflow
- Пайплайн мониторинга - ML Flow
- Архитектуры: микросервис - Docker, K8s

7️⃣ A/B Test
A/B тест - это та вещь, на которую вы будете смотреть, чтобы понять, как изменяется модель в "реальном мире", а не в ноутбуке.

- На какую метрику смотрим в тесте - обычно это онлайн метрика: CVR, CTR, Retention
- Контрольная тестовая группа - как будем делить A выборку и B выборку, обычно я говорю "A (старая модель) - 70% выборки, B (новая модель)- 30% выборки. Главное, чтобы и в А, и в В выборке количество данных было таковым, чтобы была статистическая значимость A/B теста."
- Сколько наблюдений - "Главное, чтобы и в А, и в В выборке количество данных было таковым, чтобы была статистическая значимость A/B теста."

Материалы (Очень рекомендую к просмотру)
💥
ML System Design:
Выпуск 1, Выпуск 2, Выпуск 3

‼️ Если вы хотите заботать мл систем дизайн или получить оффер в вашу любимую компанию, то обращайтесь ко мне, я стал ментром. Обратившись ко мне, вы можете сэкономить кучуууу своего времени ‼️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍7🍌72👏2🍓1💊1
Как могут рофлить LLMки 😀

Я хотел подсветить риски использования LLM в больших продуктах - это их бесконтрольная генерация

Ребята генерировали текста к баннерам, по итогу могли получаться вот такие вот результаты (пруфы на картинках)
- "запах и пятна мочи больше не проблема" при рекламе моющего средства
- "взорвет ваши уши" при рекламе колонки
- и самое интересное "почувствуй себя в раю" при рекламе какой-то дрочилки
Модель - YaGPT + p-tuning
Баннеры проходили этап модерации, поэтому естественно они не вышли на общий взор.

Как итог, важно бороться с такими вещами: аномалиями и некоторого образом выбросами. Можно построить модель классификатор или ранжировщик, который будет классифицировать/ранжировать товары по "порядочности" или сразу обучать модель так, чтобы она генерировала текста без такого контекста 🧠

Выступление, кстати, фрагмент с факапами я не нашёл в записи 💻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌7👍4🥰2🍓1
Ebout Data Science | Дима Савелко pinned «⭐️ Глобальное уничтожение ML System Design на собеседованиях ⭐️ На собеседованиях очень часто спрашивают ML System Design, и я решил сделать гайдик по уничтожению 🔔 Введение 👀 Когда вас спрашивают про ML System Design, ваша цель - это построить пайплайн…»
Зачем нужен ML System Design? И что это такое ? 😯

ML System Design - это план и процессы того, как имплементировать, поддерживать и расширять сервисы и продукты, которые основаны на машинном обучении. Другими словами, это реализация сервиса не через код, словами, на листочке

Накой он нам нужен этот мл систем дизайн?
Ну представьте, что вы строите здание. Вы можете построить какую-нибудь халупу из говна и палок без чертежа. Но небоскрёб без чертежа вы никогда не построите, а если даже и начнёте, то получите ту же самую халупку только из бетона и арматуры.

Личный пример того, как не стоит строить ML System Design 😳

Существует у меня стартап с командой, который решает задачу text-video retrieval, а по русски это - достать короткое видео по тексту. Типо вбиваем "человек идёт под дождём с собаком" и сервис должен из БД достать видео, того как человек идёт под дождём с собакой. И вокруг этой задачи нам надо было сделать продукт.

И самая большая и роковая ошибка - это то что мы не продумали нормальный дизайн системы. У нас было описания, что и как мы будем делать, ни нормальных бизнес-онлайн-оффлайн метрик у нас не было, ни ограничений по ответу пользователю тоже, ни MLOps`ных штук тоже не было и много чего другого.
По итогу, мы сделали по нашему недоплану и получилось пук + среньк
- качество гавно 🙈
- инференс лагает 🙈
- для апдейтов сервис мало к чему готов с точки зрения МЛ 🙈
- как сравнивать модель - хз 🙈

Поэтому если вы начинаете стартап или проект всегда продумайте дизайн системы, не слишком глубоко, но затрагивая его основыне аспеткы ❗️

Так же ML System Design в интервью нужен, чтобы показать сеньорность кандидата. По факту это его соло выступление но 40-60 минут, где он должен в неопределённой задаче построить систему с нуля 💪

Итог 👀
ML System Design - база, которую каждый DS должен знать не только ради собесов, но и грамотного построения системы продукта.
Ставлю 5 Валериев Бабушкинов из 5 Валериев Бабушкинов
😯 😯 😯 😯 😯/😯 😯 😯 😯 😯

Если вы хотите
💥 Получить оффер
✔️Заботать темы в DS, ML, NLP
🔝 Сделать грейд ап по зарплате и по скиллам
‼️ То приходите ко мне на менторство, первая консультация бесплатная ‼️
Please open Telegram to view this post
VIEW IN TELEGRAM
🍌7🥰2🤩2👍1👻1👾1
1+ выигранный хакатон или как мы уничтожили TenderHack 💪

Задача 😱
На основе названия товара выдать его характеристики пользователю.
Как это выглядит со стороны пользователя:
1️⃣ Пользовель вводит название товара: '15.6" Ноутбук Acer Aspire 3 A315-44P-R2DH серебристый' (не реклама если что). Сервис исправляет его запрос при необходимости.
2️⃣ Сервис выдаёт
- Модель/Производителя товара (Aspire/Acer)
- Категорию товара (Ноутбуки)
- Характеристику товара (60 Гц, 512 Гб, ...)
3️⃣ Пользователю предлагают исправить найденные характеристики, чтобы в дальнейшем предобучать модель

Решение 🧠
1️⃣ В первую очередь мы сделали вывод модели и производителя товара на основе LLM (Command-R) просто прописав ей промпт 🙈
2️⃣ Затем долго строили модель классификации, которая бы определяла бы категорию товара
- Я сразу сказал, что давайте строить на e5 с помощью ANN+cosine similarity, но результаты были ужасны... Precision@1 ~ 0.001. После этого я решил обучить модель (последний слой и LoRA) на Contrastive Learning (SimCSE), но лосс оказался настолько ужасным, что мне захотелось плакать, и я понял, что я вообще не сделал анализ данных 🤔
- После этого мой напарник бился всю ночь за е5, а после этого предложил немного поменять данные, на которых мы считаем эмбеддинги и взять Okapi BM25 + обучить токенизатор. И УРА! Оно очень хорошо работает! 🆒
- Вывод: делайте анализ данных и начинайте с наивных методов 🙈
3️⃣ Коррекция неправильного ввода пользователя делалась за счёт LLMки, просто промптонули её 🙈
4️⃣ Вывод категорий - здесь самое сложное, мы сделали RAG, где:
- Retrieval - это поиск в Яндексе различных сайтов и их парсинг
- Augment - Запихали всё в LLM (128к контекста) и промптонули её, чтобы она агрегировала инфу с разных доков
- Generation - она выдала свою ЛЛМ-базу, тем что агрегировала результаты и выдала текст
Здесь мы столкнулись с проблемой, что наш IP забанили на сайтах пока мы тестили, но по итогу мы накупили прокси и парсили через них 🙈
5️⃣ Бэк и фронт был написан гениальным человеком, который вывозил всё в соляново - Vue.js, FastAPI (Спасибо Данила) 👍

Итог 👀
Хакатон был топовый по задачам, по организации, по соперникам, по атомсфере. Были сильные решения от топ-5 команд, но зарешал фронт и технологии.

Оценка хакатона 🙏
5 Валериев Бабушкина из 5 Валериев Бабушкинов
😯 😯 😯 😯 😯 / 😯 😯 😯 😯 😯
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆184😁1💩1🍌1
Кто я?

Налетело кучу людей на канал за последнее время, поэтому обновляю информацию о себе 🫶

Дарова!
Я Дима Савелко, мне 21 год. Занимаюсь менторством, то есть помогаю ребятам найти первую работу в DS/ML или апнуться до мидла/сеньора. И вот несколько фактов обо мне:
- Работал в:
🟢Точка R&D (NLP/LLM) - ресёрч/разработка в ЛЛМ, пилим свой ЧатЛГБТ для всей Точки
🟣Сбере (NLP) - ресёрч, обучал гигачат, делал ранжировщик генераций модели
🟡DSM Group (NLP, Classic ML) - решал задачи классик мл, нлп
- Есть ютуб, снимаю ролики про DS, рассказываю про вопросы на собесах и про то, как вкатываться
- Активно введу свой бизнес нейро-сети.рф 📞
- Участник более 10 хакатонов и победитель 3 хаков
- Сейчас учусь в РТУ МИРЭА на 4 курсе 💻

Вот подборка моих самых полезных постов 😘
🔵Про собесы | Резюме:
- Как правильно торговаться 🍑
- Типичные ошибки на собеседовании, которые ты можешь допустить
- Улучшаем резюме в х100 с помощью нескольких простых правил
- Алгоритм прохождения собеседования, который даст тебе 99.999...% оффер
- Что такое HR-скринниг, и как наиболее эффективно его проходить?

🟢NLP/LLM:
- RoadMap по архитектуре трансформеров и LLM
- Мегаполезные ссылки на курсы, ресурсы и статьи по подготовке на собесах: ML, DL, NLP, CV, RecSys, RL 🎸
- Полное и тотальное объяснение с примерами Self-Attention и MultiHead Attention
- Простое и понятное объяснение стадий обучения LLM
- Объяснение BERT`а на пальцах ваших ног

🟡ML System Design:
- Как готовится к секции ML System Design на собесах
- RoadMap по прохождению ML System Design
- Полное и подробное описание MLSD retrieve-модели из RAG-системы
- Полное и подробное описание MLSD для обучения LLM

🔵 Вопросы с собеседований:
- Мой персональный сборник вопросов
- теле-2
- Транснефть
- Тинькофф
- ДомКлик ч1
- ДомКлик ч2
- Huawei

🟣Другое
- Подготовка по алгосам
- Типичный день датасаентиста
- Как не обкакаться при старте ML-проекта ч1
- Как не обкакаться при старте ML-проекта ч2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🍌86🔥5🥰3🤯2❤‍🔥1💩1