Telegram Group & Telegram Channel
Уничтожение 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



group-telegram.com/eboutdatascience/191
Create:
Last Update:

Уничтожение 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 🐹

BY Ebout Data Science | Дима Савелко





Share with your friend now:
group-telegram.com/eboutdatascience/191

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Emerson Brooking, a disinformation expert at the Atlantic Council's Digital Forensic Research Lab, said: "Back in the Wild West period of content moderation, like 2014 or 2015, maybe they could have gotten away with it, but it stands in marked contrast with how other companies run themselves today." At its heart, Telegram is little more than a messaging app like WhatsApp or Signal. But it also offers open channels that enable a single user, or a group of users, to communicate with large numbers in a method similar to a Twitter account. This has proven to be both a blessing and a curse for Telegram and its users, since these channels can be used for both good and ill. Right now, as Wired reports, the app is a key way for Ukrainians to receive updates from the government during the invasion. However, the perpetrators of such frauds are now adopting new methods and technologies to defraud the investors. Overall, extreme levels of fear in the market seems to have morphed into something more resembling concern. For example, the Cboe Volatility Index fell from its 2022 peak of 36, which it hit Monday, to around 30 on Friday, a sign of easing tensions. Meanwhile, while the price of WTI crude oil slipped from Sunday’s multiyear high $130 of barrel to $109 a pop. Markets have been expecting heavy restrictions on Russian oil, some of which the U.S. has already imposed, and that would reduce the global supply and bring about even more burdensome inflation. Groups are also not fully encrypted, end-to-end. This includes private groups. Private groups cannot be seen by other Telegram users, but Telegram itself can see the groups and all of the communications that you have in them. All of the same risks and warnings about channels can be applied to groups.
from us


Telegram Ebout Data Science | Дима Савелко
FROM American