Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
190 - Telegram Web
Telegram Web
Уничтожение RAG - ML System Design 😁

Давайте пойдем по базе из этого поста, ещё можете чекнуть этот пост с разбором MLSD для обучения LLM

Как отвечать на вопрос вопрос: «Постройка мне Retrieve модель в RAG»? Давайте разбираться!

1️⃣ В начале разработки MLSD важно понять, что нам нужно сделать, поэтому в первую очередь формулируем задачу и ограничения.

Задача
Построить Retrieve модель для рага в e-commerce. Мы большой магазин навоза и нам надо рекомендовать товар по запросу пользователя в LLM. Напомню, retrieve модель - это штука, которая на основе запроса пользователя ищет подходящий контекст, чтобы засунуть в ЛЛМ.

Ограничения:
Ограничения: Минимальная задержка (<35 сек.), иначе пользователь ливнёт и поставит нашему сервису какашку 💩

2️⃣ Метрики
Бизнесовые метрики 📞
➡️Conversion Rate - доля пользователей, совершивших покупку после взаимодействия с чат-ботом.
➡️Average Order Value (AOV) / Средний чек - средняя сумма покупки после взаимодействия с ботом (или в сравнении с пользователями, которые не общались с ботом).

Онлайн-метрики:
➡️Удовлетворенность клиентов (CSAT) — пользовательская оценка (1–5).
➡️CTR - процент кликов по товарам/категориям, которые Retrieval-модуль (и далее LLM) порекомендовал.

Оффлайн метрик:
➡️Precision@k: Доля релевантных документов среди топ-k результатов поиска.
➡️ROC-AUC: способность модели отделять релевантные документы от нерелевантных
➡️mAP, nDCG - Метрики ранжирования

3️⃣ Что там с данными? Откуда и сколько их получить, и как поделить на Train/Test ?
Источник:

Мы большой магазин навоза и нам ну прям нужен RAG, то скорее всего мы доросли до того момента, когда у нас есть своя БД с описанием сортов навоза и их уникальных особенностей - 5 млн записей 😋

Разметка:
Для Retrieve модели нам нужно получить данные: «запрос → релевантные документы». нанимаем копирайтера - Валюху, которая будет размечать нам данные. Но Валюха просит много рублей за свою работу, а мы не можем ей дать столько денег, то можем сделать начальную разметку с помощью TF-IDF или других BERT-like моделей.

Train/Test:
Случайно поделить на train/val/test (например, 70/15/15 - именно так мы должны разбивать навоз!) 🍫

4️⃣ Построение пайплайна обучения
BaseLine:
Сначала нужно сделать самое простое решение в качестве затычки. Нашей затычкой будет Elasticsearch на основе TF-IDF, который будет возвращать top-k=5 чанков. Чанк делим на 256 токенов или по структуре данных.

Норм решение для продажи навоза 💪
Гибридный подход - TF-IDF & ANN + E5 & Cosine Similarity + Reranker
Заранее считаем все эмбеддинги BM25 и E5 и храним всё в БД - Faiss, ChromeDB.
➡️Поступил запрос, находим 1000 ближайших записей на основе TF-IDF & ANN - то есть пихаем эмбеддинги TF-IDF в ANN, и получаем кластер из 1000 ближайших элементов к запросу. Считаем precision@k, k = 1000 - количество релевантных документов из всех элементов в кластере.
➡️Среди 1000 найденных записей находим топ 10 элементов с помощью E5 и cosine sim. Метрика: precision@k, k = [10, 5, 3, 1].
➡️Переранжируем эти 10 элементов обученной моделькой: CatBoost, LambdaRank или энкодер. Измеряем ROC-AUC, mAP, nDCG - если есть разметка.

Как обучать модели:
➡️ TF-IDF - обучаем свой токенайзер и на всём корпусе документов обучаем TF-IDF. Для экономии памяти можем через PCA сжать эмбеддинги.
➡️ E5 - X: (Query, Positive Doc, Negative Doc - синтетику генерим с помощью GPT, проверяем через G-Eval и копирайтеров), y: метки релевантности (Positive, Negative), Loss: Triplet Loss - он сближает релевантные пары с навозом и отдаляет нерелевантные.

ReRanker:
X: (Query, Document) + доп. фичи (score BM25/ANN/E5, клики, цена, популярность и т.д.).
y: бинарная (релевант/нерелевант) или градуированная (0–5). Loss: Pairwise Ranking (LambdaRank), Cross-Entropy (если классификация) или Listwise (nDCG-based).

5️⃣ A/B-тесты и мониторинг
Количество семплов: 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
Школа Ebout Data Science

Среди моих учеников и моего окружения появился некий спрос на обучение некого Machine Learning. Ну так а почему бы не сделать занятия по данной дисциплине 👁

НО! Я не хочу, чтобы данные занятия были как типичная SkillКороба или какое-нибудь SkillПроизводство. Я хочу сделать уроки с индивидуальным подходом, а не сраный курс на 10к людей, где человек просто палит в предзаписаную картинку.

Как там всё будет устроено:
1️⃣ Собираем группу людей, начнём с 30
2️⃣ Преподаватель проводит ОНЛАЙН-занятие, где каждый может задать вопрос в живую
3️⃣ Занятие состоит из теории и практики, на теории вы ознакомитесь с материалом, а на практике вы с преподавателем будете набивать теорию ручками
4️⃣ После каждого занятия будет ДЗ на реализацию алгоритма с нуля или решение Кагл соревнования (я хочу занятия сделать такими, чтобы вы всеми своими жилками прочувствовали теорию)
5️⃣ После выполнения ДЗ вы должны будет скинуть преподавателю, и он проверит ваше ДЗ и даст фидбек

Что вы получите:
*️⃣Типичные вопросы на собеседовании и ответы на них, которые спрашивают по теме занятия
*️⃣Проверка вашего решения ДЗ и фидбек на него
*️⃣Консультация по темам занятия
*️⃣Запись занятия

На данный момент я объявляю два занятия:
▶️Первое занятие про Линейную Регрессию и Градиентный спуск - БЕСПЛАТНО (6 февраля в 19:00)
▶️Второе занятие про Линейную Регрессию и Регуляризацию - 1000 рублей (13 февраля в 19:00)
▶️ Следующие занятия будут организованы примерно каждую неделю и запись на них будет в приоритете тех ребят, которые уже записаны на занятия

Чтобы записаться на первое занятие пишите: @Alexander_Isaev1
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый дроп от Андрюши Карпатого 🎧

В новом бенгере Андрюша зачитал полный путь про то как обучается ЛЛМка: c нуля до ЧатаЛГБТ. Зайдёт для тех кто только погружается в мир ЛЛМок. Он разбирает весь путь их создания: как их тренируют, почему они работают так, как работают, и как вообще думать о них, если представить, что у них есть какая-то "психология".

Андрюша рифмует про:
🟣 Претрейн, токенизацию, инференс ЛЛМок
🟡 GPT-2.0, llama3.1
🟢 post-training, галлюцинации
🔵 rlhf, ризонинг, DeepSeek-R1

Поэтому бегом смотреть и узнавать что-то новое и полезное для себя!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Сбор гигачадов в одной папке

Читая множество каналов, я вижу кучу годного контента, которым хотел бы поделиться с вами. Поэтому мы собрались каналами и сделали папочку, в которой собраны люди, которые могут рассказать вам много чего интересного и полезного, а самое главное простым и понятным языком 💡

Самая сочность, которую я бы почитал:
🟣Введение в Kaggle / что это такое и с чем его едят - Никита убил
🟡 Роадмап по быстрому вкатыванию в датасаенс и отдельные посты (1, 2, 3, 4,) по ботке разных дисциплин от Саши
🔵 Рассказ про стартап Audio2MIDI, у ребят 4к пользователей в месяц, статьи в СМИ, венчурные инвестиции - полный жир

Каналы ребят мощные и за ними действительно интересно следить, поэтому можешь подписаться, не пожалеешь 💃
Please open Telegram to view this post
VIEW IN TELEGRAM
NLP-Собеседование Middle Data Scientist | Вопросы и глубокое объяснение

NLP-секция - неотъемлемая часть получения оффера для NLP инженера. Как раз таки в этом видео я даю базу, которую спрашивают на подобных собеседованиях и объясняю на пальцах эти темы так, чтобы ты точно на них ответил.

Разбираем 💃
- TF-IDF, BM25, плюсы-минусы
- Лемматизация, стемминг, очистка и предобработка данных
- Word2Vec (CBOW, SkipGram, Negative Sampling), FastText, Glove
- Концептуальные различия между Word2Vec и TF-IDF

Все вопросы с собеседования я собрал в этом ноушене.

https://youtu.be/xuF2y9YnBKc
https://youtu.be/xuF2y9YnBKc
https://youtu.be/xuF2y9YnBKc
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Ошибки, которые ты можешь допустить на собеседовании 👎

1️⃣ Нужно слушать и слышать собеседующего
Просматривая записи своих учеников, постоянно вижу одну и ту же картину: человека спрашивают одно, а он начинает отвечать на что-то совершенно левое. Например: “Какие метрики были на проекте и как поняли, что нужны именно они?” — “Да, метрики, там, конечно, много всего интересного… нужно сначала начать с данных (длинный монолог про данные, уходящий в лес)… и вот я уже голый среди кавказцев”. 🤨

Запомни простую вещь: внимательно слушай вопрос и отвечай строго на него, а не на тот, что у тебя в голове.

2️⃣ Ты должен быть сосочкой в вебке
Ты можешь сидеть дома в одних и тех же трусах с дырками размером с Аргентину, не снимая их третий день подряд, но на собеседовании ты должен выглядеть как Райан Гослинг в лучшие годы. 💀
Поменяй наконец футболку с козявкой по центру и причешись — ухоженность и опрятность это реальный ключ к успешному интервью. Тебе приятно общаться с человеком, у которого вместо бархатистых волос просто засохший баребух на голове? Выглядеть опрятно и ухоженно – обязательное условие успешного интервью. ⌨️

3️⃣ Стань сигма-боем на собесах
Вот тебя спросили “Что такое линейная регрессия?”, а ты в жизни такого вопроса не слышал! Не нужно паники, напряги челюсть и начни на уверенных щах говорить, то что знаешь. 😎
Зачастую собеседующий гасит вопросами, если видят в тебе слабость, а если ты показываешь тестостерон и уверенность, то есть шанс того, что прокатит. Уверенность и спокойствие могут выручить даже в ситуации незнания.

4️⃣ Побольше показывай ход своих мыслей
Вот я включил режим сигма-боя, и что мне говорить дальше? Ты должен показать ход своих мыслей, иногда точный ответ не особо и важен — собеседующему хочется понять, как именно ты думаешь. Задают вопрос, ты говоришь: “Честно говоря, подзабыл, но давайте порассуждаем…”, и дальше рассуждай максимально логично и чётко. Демонстрируй свою логику и способность мыслить вслух 🎙

5️⃣ Пишем секцию ML System Design в онлайн-доске
Опять же: один из критериев на собесе - это показать ход вашей мысли, а как вы можете лучше донести ход своих мыслей? Графически! И особенно это удобно при решении задачи по ML System Design. Тут виден ваш ход мысли - собеседующему легче вас понять, вы сами понимаете на каком вы этапе - вам легче рассуждать. Короче, win2win. 🗣
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/04 11:04:03
Back to Top
HTML Embed Code: