Там Anthropic предложили новую технику для RAG. Разбираемся:
Как работает обычный RAG:
1. Документы в корпусе разбиваются на чанки
2. Из каждого такого чанка мы достаем эмбеддинг и кладем его в векторную БД
3. Когда поступает запрос (промпт), мы ищем в этой БД семантически близкие к нему чанки и добавляем их в промпт, чтобы модель могла использовать эту информацию для ответа
В чем тут проблема?
Дело в том, что таким образом мы можем упустить важный контекст и детали запроса. Например, пользователь запрашивает "Error code TS-999". Поиск найдет информацию про коды ошибок в целом, но может упустить точное совпадение «TS-999». К тому же, при возвращении конкретного чанка из базы может случится так, что он будет вырван из какого-то важного контекста, и это может помешать модели.
Что предлагают Anthropic?
Во-первых, они предлагают извлекать не только обычные эмбеддинги, но и делать TF-IDF энкодинг чанков с помощью BM25. TF-IDF утроен так, чтобы как раз отбрасывать наиболее "общие" вещи в тексте, и фокусироваться на редких и самых важных словах. Это поможет не упускать детали при поиске, как в примере с ошибкой TS-999.
Во-вторых, чтобы избавиться от проблемы отсутствия контекста, они предлагают этот контекст добавлять искусственно (то есть делать из такого: "Прибыль росла на 3%." ... такое: "Этот чанк относится к отчету компании ACME за Q2 2023; прибыль росла на 3%.").
Для этого перед извлечением эмбеддингов и TF-IDF энкодингом каждый чанк аннотируется с помощью отдельного запроса к модели (в случае Anthropic это делается с помощью Клода). Да, дорого. Но с помощью фишки Prompt Caching, которую недавно завезли в API, можно хорошо скостить цену.
В итоге все это дает достаточно ощутимый прирост к метрикам качества поиска. Например, фактических ошибок становится меньше на 35%, а это ничего себе!
👉 DataFrog | #datascience
Как работает обычный RAG:
1. Документы в корпусе разбиваются на чанки
2. Из каждого такого чанка мы достаем эмбеддинг и кладем его в векторную БД
3. Когда поступает запрос (промпт), мы ищем в этой БД семантически близкие к нему чанки и добавляем их в промпт, чтобы модель могла использовать эту информацию для ответа
В чем тут проблема?
Дело в том, что таким образом мы можем упустить важный контекст и детали запроса. Например, пользователь запрашивает "Error code TS-999". Поиск найдет информацию про коды ошибок в целом, но может упустить точное совпадение «TS-999». К тому же, при возвращении конкретного чанка из базы может случится так, что он будет вырван из какого-то важного контекста, и это может помешать модели.
Что предлагают Anthropic?
Во-первых, они предлагают извлекать не только обычные эмбеддинги, но и делать TF-IDF энкодинг чанков с помощью BM25. TF-IDF утроен так, чтобы как раз отбрасывать наиболее "общие" вещи в тексте, и фокусироваться на редких и самых важных словах. Это поможет не упускать детали при поиске, как в примере с ошибкой TS-999.
Во-вторых, чтобы избавиться от проблемы отсутствия контекста, они предлагают этот контекст добавлять искусственно (то есть делать из такого: "Прибыль росла на 3%." ... такое: "Этот чанк относится к отчету компании ACME за Q2 2023; прибыль росла на 3%.").
Для этого перед извлечением эмбеддингов и TF-IDF энкодингом каждый чанк аннотируется с помощью отдельного запроса к модели (в случае Anthropic это делается с помощью Клода). Да, дорого. Но с помощью фишки Prompt Caching, которую недавно завезли в API, можно хорошо скостить цену.
В итоге все это дает достаточно ощутимый прирост к метрикам качества поиска. Например, фактических ошибок становится меньше на 35%, а это ничего себе!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Gradient Accumulation
Из-за ограничений памяти всегда рекомендуется обучать нейронную сеть с небольшим размером батча. Но что, если мы скажем вам, что можно увеличить размер батча без увеличения размера батча?
👉 DataFrog | #datascience
Из-за ограничений памяти всегда рекомендуется обучать нейронную сеть с небольшим размером батча. Но что, если мы скажем вам, что можно увеличить размер батча без увеличения размера батча?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8⚡1
Любители красивой математики, вам посвящается:
А еще если сложить первые
С Новым Годом, что-ли🎄
(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9)² = 20251³+ 2³+ 3³+ 4³+ 5³+ 6³+ 7³+ 8³+ 9³ = 2025(20 + 25)² = 20252025/ (2 + 0 + 2 + 5) = 225А еще если сложить первые
(20+25) нечетных чисел, тоже получится 2025С Новым Годом, что-ли
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰15🔥7❤5👍2💩1
Про Nested Cross-Validation
Это самая дорогая из "классических" схем валидации. Состоит из двух вложенных кросс-валидаций: внешней и внутренней. Внутренняя используется для подбора гипер-параметров/выбора модели, а внешняя - для оценки модели.
😻 #read
Это самая дорогая из "классических" схем валидации. Состоит из двух вложенных кросс-валидаций: внешней и внутренней. Внутренняя используется для подбора гипер-параметров/выбора модели, а внешняя - для оценки модели.
😻 #read
❤2👍2
Хотите попасть в аналитику, но теряетесь в море информации и не понимаете, какие навыки действительно важны? Боитесь, что без опыта вас не возьмут на работу? И да, ещё один популярный вопрос — а что, если мне 30/40/50+ лет?
Андрон Алексанян — эксперт по аналитике с 8-летним опытом и по совместительству CEO Simulative — покажет рабочие схемы и чёткий план, как устроиться в аналитику быстрее, даже если у вас нет опыта
Что будет на вебинаре?
— покажут реальные примеры, как оформить резюме и портфолио, чтобы привлекать внимание;
— обсудите, какие отклики работают, а какие сразу отправляют в корзину;
— изнанка найма: инсайдерский взгляд на процессы отбора
🕗 Важно досмотреть вебинар до конца, чтобы получить бонус от Simulative, который поможет бустануть карьеру
Please open Telegram to view this post
VIEW IN TELEGRAM
Установка SQLAlchemy и подключение к базе данных
SQLAclhemy — это де-факто фреймворк для работы с реляционными базами данных в Python. Он был создан Майком Байером в 2005 году. Эту систему используют, например, Reddit, Hulu и Dropbox. Знание SQLAclhemy сейчас важный навык (и требования в вакансиях это подтвердят). Для начала, научимся подключаться к базе данных.
SQLAclhemy — это де-факто фреймворк для работы с реляционными базами данных в Python. Он был создан Майком Байером в 2005 году. Эту систему используют, например, Reddit, Hulu и Dropbox. Знание SQLAclhemy сейчас важный навык (и требования в вакансиях это подтвердят). Для начала, научимся подключаться к базе данных.
❤3
Data Science для карьериста
Авторы: Жаклин Нолис, Эмили Робинсон
Год издания: 2021
#ds #ru
Скачать книгу
Авторы: Жаклин Нолис, Эмили Робинсон
Год издания: 2021
#ds #ru
Скачать книгу
❤2
Python for Data Science For Dummies
Авторы: John Paul Mueller, Luca Massaron
Год издания: 2024
#python #ds #en
Скачать книгу
Авторы: John Paul Mueller, Luca Massaron
Год издания: 2024
#python #ds #en
Скачать книгу
❤1