Start Career in DS
11.9K subscribers
93 photos
10 files
314 links
Тут публикуются материалы для прокачки скиллов в DS и подготовки к собеседованиям.

Пишем про технические тулзы, визуализацию данных, бизнесовые задачи, разбираем ML-алгоритмы и обсуждаем смежные темы :)

Автор: @RAVasiliev

№ 5141779667
加入频道
📝 Как составлять промпты для нейросетей

🖋️ Основные техники написания промптов:

◾️Zero-shot подход. Запрос без специфики, без дополнительных данных и без примеров ответа, подразумевается короткий ответ, часто просто положительный или отрицательный

◾️One-shot и few-shot подходы. Запрос должен быть четким и конкретным, должен содержать контекст и детали + один или более пример ответа

◾️Chain-of-thought подход ❗️ Запрос содержит вопрос и пример ответа с описанием процесса как прийти к этому ответу. Буквально нужно описать ход своих мыслей
❗️В новой модели OpenAI серии o1 не требуется использовать подход CoT. Модели o1 ‘обдумывают’ ответ и могут создавать длинную внутреннюю цепочку рассуждений, прежде чем одать ответ.

В промптах этих моделей сдедует писать запрос просто и коротко, и избегать промптов в виде цепочки мыслей (так как модель делает это сама). Подробнее про новую модельммодно почитать тут.

🔍 Гайды для промптинга:

[eng]Prompt engineering guide - гайд от Open AI

Руководство по промпт-инжинирингу - подробный гайд с описанием
техник и примерами применения

[eng]Prompt Engineering Guide - гайд от простого к сложному, подойдет для новичков и для продвинутых пользователей


🧠 Идеи использования нейросетей в жизни:

👉 Найти ошибку в коде: просто даем код и просим найти ошибку или добавляем контекста и возможные варианты ошибок

👉 Создать задачи для отработки навыков написания кода или sql запросов: Создай задачи на закрепления материала по теме joins in postgre sql

👉 Объяснить простыми словами методы/техники: написать объяснение работы метода tostring в numpy, с примерами кода и задачами для закрепления материала

👉 Создать scv датасет: создай csv датасет - 40 рядов и 5 столбцов, датасет содержит данные клиентов сети фитнес клубов

👉 Брейншторм идей: запрос на генерацию списков по теме мозгового штурма

Ставтье 🔥 и делитесь в комментариях для чего вы используете нейросети в работе и в жизни 🙌
🔥374👍2😁1
🦾Классический ML – база: справочник основных алгоритмов

🆙 Сегодня будем разговорить про основу основ – про существующие алгоритмы машинного обучения в рамках ключевого справочника, к которому вы сможете обратиться, если что-то вдруг забыли.

1️⃣ Линейные модели:

- Две части разбора алгоритма линейной регрессии и подготовка к собеседованиям по теме данной теме на нашем YouTube-канале: Ч.1 и Ч.2
- Про основы линейной регрессии читайте тут.
- Как насчет вспомнить работу логистической регрессии? Читайте подробный обзор про LogReg на Хабре.
- Также разберите особенности и принципы работы алгоритма "метод опорных векторов" на пальцах. В данном алгоритме есть ключевой гиперпараметр - kernel. С ним можете познакомиться по этой ссылке.
❗️Почитать про линейные модели от Яндекс Учебника можете тут либо изучить мини-курс по линейным моделям от ODS.

2️⃣ Деревья и их ансамбли:

- Понять работу решающих деревьев, на котором строятся самые сильные ансамбли, можете тут. Также для визуалов смотрите ML-Course про деревья и их ансамбли на ODS. Документация и объяснение работы решающих деревьев из scikit-learn.
- Разобраться, как работает случайный лес (RandomForest), можете, изучив следующие материалы: ML для начинающих с разбором RandomForest, про Бутстрэп и Бэггинг и документация scikit-learn.
- Бустим свои знания о градиентном бустинге. Также читаем статью "Градиентный бустинг - просто о сложном".

❗️Дополнительно:
- Про построение всех ансамблей в ML от Яндекс Учебника.
- Особенности алгоритмов CatBoost и LightGBM - статья на Хабре.
- Сравнение всех 3-х алгоритмов градиентного бустинга [ENG].
- Случайный лес в Spark ML.

3️⃣ Временные ряды:

- Хорошая статья про анализ временных рядом.
- Познакомиться с решением задачи временных рядов можно в статье на Яндекс Учебнике.
- Качественный вводный курс по ключевым моментам в задаче временных рядов.
- Модели вида ARIMA.
- Используем statsmodels для временных рядов или пробуем предсказать будущее с помощью библиотеки Prophet.

4️⃣ Кластеризация:


- Избыточный гайд по кластеризации в ML c теорией и практикой
- Кластеризация на Яндекс Учебнике
- Обзор всех методов кластеризации на scikit-learn
- Метод локтя - или как правильно выбирать количество кластеров
- Оценка качества кластеризации - полная статья на Хабре

🔥Курсы и доп. материалы:
- Осенний курс по всем ML-моделям от ODS
- Курс на GitHub с множеством русскоязычных ресурсов по всем темам Data Science и Machine Learning
- Старый, но всегда полезный курс Евгения Соколова по машинному обучению, выложенный на GitHub
- Англо-говорящим рекомендуется от ODS

☝️Помните: глубокое понимание каждого ML-алгоритма +1 к вашему спокойствию на следующем собесе!
🔝Не стесняйтесь в комментариях предлагать ресурсы и материалы, которыми вы пользуетесь!

Ставьте ❤️ и 🔥 за активный труд нашей команды!
64🔥26👍12❤‍🔥1
📚Deep Learning: теоретический справочник по базовым концепциям

🔥Предыдущий пост в виде справочника по Machine Learning обрадовал нас вашей реакцией, и поэтому хотим сделать аналогичную подборку для изучения Deep Learning.

1️⃣ Введение в Deep Learning:
- Знакомство с полносвязанными нейронными сетями на Яндекс Учебнике
- Лекция от Нейчева Радослава по «Введению в нейронные сети»
- Поверхностное погружение в глубинное обучение
- Русский перевод «Что же такое нейронная сеть» от 3Blue1Brown на YouTube
- Как обучаются нейронные сети или про метод обратного распространения ошибки
- Видео на YouTube про градиентный спуск в нейронных сетях

2️⃣ Функции активации:
- Статья на Хабре про самые распространенные функции активации и как выбрать подходящую для вашей задачи
- Статья с разбором основных функций активаций
- Видео-обзор на YouTube про функции активации нейронных сетей с практикой

3️⃣ Оптимизаторы в нейронных сетях:
- Принципы работы оптимизаторов - объяснение на пальцах
- Методы оптимизации в Deep Learning от Яндекс Учебника
- Наиболее распространенные методы оптимизации с математическим объяснением для более продвинутых
- Optimizers for Neural Networks на Medium

4️⃣ Регуляризация глубоких нейронных сетей:
- Про инициализацию весов в нейронных сетях и виды регуляризации на Яндекс Учебнике
- Dropout - как метод решения проблемы переобучения нейронных сетей
- Что такое Weight Decay - простой объяснение на LinkedIn
- Огромная презентация с подробным объяснением методов регуляризации в нейронных сетях

5️⃣ Нормализация в нейронных сетях:

- Про все виды нормализации в нейронных сетях на Medium
- Что такое Batch Normalization
- Доступное объяснение нормализации в нейронных сетях на русском
- RMSNorm на GitHub

📌 Что ещё:
- Ответы на интересные вопросы нашего квиза по Deep Learning
- С этих постов можно начать изучение LLM - тут, тут и тут
- Пост про ТОП-вопросов из собеседований по NLP
- Самый популярный фреймворк для любой работы с нейронными сетями PyTorch и статья на Хабре о его возможностях
- Бесплатный курс видео-лекций по Deep Learning от Сергея Балакирева на YouTube
- Курс с лекциями от преподавателей МФТИ, начиная с Введения в Deep Learning и заканчивая более продвинутыми темами
- Немного практики для новичков
- Краткий курс по нейронным сетям в виде большой статьи на Хабре
- Книга с теорией + практика в Jupyter-ноутбуках: Understanding Deep Learning

Ставьте ❤️ и 🔥 если ждете подобные справочники и материалы для изучения Computer Vision и NLP!
Делитесь своими ресурсами в комментариях!
До встречи👋
62🔥27👍10🤩1
🆘 Анонс квиза по Machine Learning🆘

🚀 Возвращаясь к нашей предыдущей инициативе, которая проходила в августе, команда Start Career in DS приглашает вас принять участие в новом захватывающем трехэтапном квизе по различным разделам машинного обучения!

💬 Формат Квиза:
- Длительность: 1 неделя
- Темы: Python, Machine Learning, NLP
- 3 поста по каждой теме (всего 15 вопросов)

📣 Структура постов:
1. Вопросы по синтаксису и особенностям языка Python
2. Вопросы по основам Machine Learning
3. Вопросы по базовым концепциям NLP и LLM

Как участвовать:
1️⃣ Следите за постами в течение недели
2️⃣ Для участия достаточно ответить на вопросы хотя бы в рамках одного поста из трех
3️⃣ Свои ответы опубликуй в комментариях под постом
4️⃣ Готово! Ты - участник нашего квиза, остается дело за малым - победить!

🛑Правила:
◽️Каждый квиз содержит по 5 вопросов выбранной тематики, которые часто можно встретить на собеседованиях
◽️Верные ответы будут прикреплены в комментариях под каждым постом через 24 часа после его публикации
◽️Свои ответы оставляйте также под постом в комментариях
◽️Ответ засчитывается при схожести с нашими заготовленными ответами
◽️Мы также учитываем скорость ответа: более ранний ответ будет иметь больший вес, если мы столкнёмся с одинаковым количеством верных ответов нескольких участников
◽️В комментариях будут добавлены ссылки на материалы, с которыми можно будет ознакомиться, чтобы лучше разобраться в вопросах, не пропускайте!!!

Выбор победителей и призы:
🎲 3 счастливчика будут выбраны случайным образом - победить сможет каждый!
🧠И ещё один победитель будет выбран по ответам по максимальному количеству набранных очков
🎁 Каждый из победителей фиксировано получит одну из книг по Data Science:
1. "Практическая статистика для специалистов Data Science"
2. "Грокаем глубокое обучение"
3. "Математические основы Машинного обучения"

🏆 А счастливчик, выбранный из участников рандомно, также в подарок получит персональную консультацию от админа канала Ромы Васильева

🔥Даже одно решение может принести вам призы, не упускайте шанс поучаствовать!

Заходите в комментарии этого поста, чтобы увидеть победителей прошлого квиза 👉

Ставьте ❤️ и 🔥 если ждете запуска нового квиза!
40🔥15
🔥Квиз №1 по Python🔥

☝️ Выше мы объявляли анонс новой серии квизов по Machine Learning. Сегодня решаем 1-ю часть вопросов, касающихся Python.

🐍Вопросы:

1️⃣ Что такое интерполяция строк?

2️⃣ В чем разница между func и func()?

3️⃣ Где быстрее поиск: в словарях или списках?

4️⃣ Что такое globals() и locals()?

5️⃣ В чем отличие Cython и CPython?

Ставьте ❤️ и 🔥 за интересные вопросы!

👇Участвуйте в опросе и пишите свои варианты в комментариях!
⌚️Совсем скоро мы опубликуем правильные ответы!
🔥4413👍2🤩1
🔥Квиз №2 по Machine Learning🔥

💯Рады сообщить, что сегодня запускаем вторую часть нашего нового квиза с вопросами на понимание ключевых концепций Data Science и Machine Learning!
👆Первую часть квиза вы можете найти тут

☑️Основные правила остаются теми же, а мы приступаем к вопросам по Machine Learning!

🤖Вопросы:

1️⃣ Как работает KNN Imputer?

2️⃣ В чем разница между стохастическим градиентным спуском (SGD) и градиентным спуском (GD)?

3️⃣ Как объяснить, что означают ошибки I и II рода?

4️⃣ Как работает алгоритм SVD?

5️⃣ Кратко опишите основные подходы к feature selection

Ставьте ❤️ и 🔥 за интересные вопросы!

👇Участвуйте в опросе и пишите свои варианты в комментариях!
⌚️Совсем скоро мы опубликуем правильные ответы!
21🔥9❤‍🔥2👍2
💯 Квиз №3 по NLP и LLM

⬆️ Посты с вопросами на первый и второй квизы

🦾А мы приступаем к тематическим вопросам, связанные с «NLP и LLM»:

1️⃣ Как обучается Word2Vec?

2️⃣ Какие основные отличия между RNN и Трансформерами?

3️⃣ В чем отличие Encoder-блоков Трансфомера от Decoder-блоков.

4️⃣ Для чего нужен Position Encoding в архитектуре Трансформер?

5️⃣ Что такое BLUE и ROUGE? В чем их отличия и в каких задачах применяется?

👇Ждём ваших ответов под постом!
А также ставьте ❤️ и 🔥 за интересные вопросы!

❗️Данный пост является последним в текущем квизе. Успейте принять участие, ответив на вопросы текущего поста в комментариях!
19🔥5❤‍🔥2
💥Итоги Квиза по Machine Learning💥

🔥🏆 Рады сообщить об окончании квиза по ML и поздравить участников и победителей!

Результаты получились следующие

🥇 Шесть финалистов:

▫️
По набранным баллам:
@Ilyashenko_Roman
@disgur00
@yannyL

▫️Выбранные рандомайзером:
@serttyzar
@lllFaNToMlll
@Schizandraceae

Получают в подарок книги!

🏆 Один победитель:
@foxybyte получает персональную консультацию от админа-канала Ромы Васильева!

💬 Ребята, мы придем ко всем в личку в ближайшее время, просьба открыть доступы

🫶 Спасибо вам за активное участие!
🧠 Надеемся вам было полезно и вы узнали много нового!

Ставьте ❤️, если было интересно и 🔥, если ждёте следующего квиза!
🚀 Победители и все участники принимают поздравления в комментариях!
27🔥12❤‍🔥1😁1
☁️ RAG: концепция [Ч.1]

🚫
Современные LLM обладают впечатляющими навыками решать новые задачи без необходимости обучения. Однако, если в тренировочном датасете были данные или факты, имеющие временную изменчивость, то ответы модели могут приводить к галлюцинациям.

📌 Базовый пример: мы хотим, чтобы LLM отвечала по внутренним документам нашей компании для помощи клиентам.

Очевидно, что любая LLM не имеет точных и актуальных знаний для правильного ответа на любые запросы подобного рода, поэтому и была придумана RAG-концепция.

🔍 RAG (Retrieval Augmented Generation) - метод поиска и извлечения релевантных данных по пользовательскому запросу из внешней или внутренней базы знаний с целью расширить контекст модели актуальной информацией.

🗂 В качестве базы знаний тут могут выступать различные структурированные (базы данных, таблицы) и неструктурированные (книги, журналы, документы) источники информации.

❗️Глобально RAG помогает решать не только проблему актуализации данных, но при этом экономит много ресурсов и времени для продукта, если бы задача обновления знаний решалась через дообучение LLM.

Разберем основные части RAG:

- Retrieval - часть системы, которая отвечает за поиск и извлечение информации, так и называют — ретривер (retriever).
- Retrieval Augmented — дополнение запроса пользователя найденной релевантной информацией.
- Retrieval Augmented Generation — генерация ответа пользователю с учетом дополнительно найденной информацией.

📚 Дополнительное чтиво:
- Простое объяснение RAG на Хабре
- Подробно о генерации с дополненной выборкой на AWS Amazon
-
GPT и RAG технологии в Базе знаний InKnowledge

В следующих частях данной серии поговорим про современные подходы к построению RAG, а также от нашей команды вы получите общий справочник по данной теме.
Ставьте ❤️ и 🔥 за интересный пост!
До встречи👋
52🔥25👍5❤‍🔥3
🧠 Про критическое мышление

Знание статистики, умение программировать и пользоваться Pandas - всё это необходимые навыки для успешной работы в DS. Но одним из ключевых софтовых навыков является умение критически мыслить.

Для успешной карьеры в DS важно понимать задачи бизнеса, правильно задавать вопросы, смотреть на проблему под разными углами и делать выводы полезные для бизнеса.


👇Как критическое мышление можно проявлять в работе DS'a:

📎 Задавать вопросы про природу процессов и данных.
Важно искать смысл за данными и понимать что они за собой несут. Разобраться откуда данные пришли, почему возникли пропущенные значения и тд, и только после этого использовать какие-либо алгоритмы

📎 Придумывать альтернативы. Стараться понимать какой смысл за моделями стоит и, когда и какую из них применять. Самое простое решение во многих задачах классического ML - взять градиентный бустинг и применить, но это может быть не самым логичным решенем для вашей задачи. Нужно понимать что стоит за данными, думать наперед и понимать как этот алгоритм будет применяться дальше

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

📎 Расширять кругозор. Очень круто читать и анализировать профильную литературу и научные статьи, смотреть какие новые методы появляются в сфере и как можно их использовать. Однако важно не только разбираться в технической части, но и узнавать как новые методы будут интегрироваться в бизнес и в продукт, то есть - понимать как это будет выглядеть на практике и на что повлияет. Тут можем порекомендовать несколько книжек по теме ▶️

Расширить кругозор в области применения машинного обучения:
📚 Машинное обучения для бизнеса и маркетинга - отличная книжка, которая проведёт вас по основам машинного обучения в практически всех областях (не только маркетинга!)

Понять что такое критическое мышление в общем смысле этого слова:
📚 Гарри Поттер и методы рационального мышления - история про то, как всем известная история могла бы пойти по другому пути

---
Мы стараемся делать контент более разнообразным и полезным для вас! И нам важна обратная связь 🙂

Поставьте ❤️ этому посту, если вам нравится периодически почитывать про софты и 👍, если хотите больше технических материалов
53👍17🔥1
🦜🔗LangСhain - библиотека, расширяющая возможности LLM

Недавно в нашем канале был опубликован пост Hugging Face Hub и библиотека transformers, а сегодня мы хотим расширить тему наиболее популярных инструментов при работе с LLM и расскажем про ключевые особенности библиотеки и всей экосистемы LangChain.

LangСhain - популярная библиотека, которая упрощает разработку LLM-Driven приложений, предоставляя все необходимые инструменты для создания агентских систем, цепочек вызовов и взаимодействия языковых моделей с внешними API.

Основные особенности LangChain:

1️⃣ RAG (Retrieval Augmented Generation)
В нашем предыдущем посте мы рассказывали про концепцию создания RAG-систем. LangChain оснащен всеми необходимыми инструментами для построения классического RAG.
Например, перед вами поставили задачу построить QnA чат-бота в онлайн-поддержке. С помощью LangChain вы сможете сформировать правильную базу знаний из источников, по которым должен отвечать бот, и на пользовательский запрос находить релевантные части потенциальных ответов для дальнейшей генерации конечного ответа LLM’кой.

2️⃣ Chains (цепочки)

LangСhain запросто позволяет создавать последовательности операций (цепочки) для задач обработки естественного языка, которые могут состоять из различных этапов обращений к LLM, использованию внешних API и составления промптов.
Такой подход может использоваться абсолютно в любой задаче, где процесс обработки пользовательского запроса моделью имеет цепочечный вид: запрос пользователя -> формирование промптов для модели -> получение ответа модели -> преобразование ответа и вывод.
Более детально про цепочки в LangChain читайте из официальной документации.

3️⃣ Агентские системы
Концепция Агентов сейчас набирает большую популярность в задачах, где LLM могут использоваться для решения более сложных задач, нежели просто генерация текста.
Например, дать возможность LLM вызывать API прогноза погоды для предоставления актуальной информации пользователю по данному вопросу. В роли API может выступать более продвинутые инструменты - базы данных, несколько API, пользовательские функции. LangChain расширяет возможности работы LLM в такой роли и упрощает разработку агентских-систем.

4️⃣ LangGraph
Это дополнительная библиотека в экосистеме LangChain, которая позволяет создавать рабочие процессы на основе графов. Сюда может входить, как создание рабочих цепочек, исполняющихся агентом, так и формирование графов знаний, который могут выступать заменой классическим базам знаний в RAG.
🔥Введение в LangGraph смотрите тут и тут

5️⃣ LangSmith
Среда для создания LLM-Driven приложений, которая объединяет все инструменты экосистемы LangChain, а также даёт возможность визуально отслеживать и улучшать разработку таких приложений.
Например, отображает RAG-пайплайн и выводит логи на каждом шаге.
🔥 Изучение LangSmith можете начать тут и тут

📌 Что ещё стоит изучить:
- Серия практикоориентированных постов на Хабре по созданию AI-агентов с помощью LangChain
- Официальный LangChain CookBook с огромным количеством реализаций различных задачек с LLM под капотом
- Как создана концепция экосистемы из официальной страницы
-
Дополнительно про агенты читайте здесь

В следующем посте хотим рассказать про особенности AI-Агентов на базе LLM!
Ставьте:
🔥 - если текущий пост был полезен!
❤️ - если ждете следующий!
До встречи👋🏻
🔥2910❤‍🔥1
📹 Рекомендуем серию видео от 3Blue1Brown про нейронные сети. Как всегда красивые визуализации и понятное объяснение принципов работы нейронных сетей.

Видео 1: объясняет что такое нейронная сеть на примере решения классической задачи по распознаванию рукописных цифр. Видео показывает что такое скрытые слои, веса и сдвиги.

Видео 2: показывает как обучаются сети. Понятная визуализация градиентного спуска, функции ошибки и того, что происходит с весами при активации нейрона.

Видео 3: как найти отрицательный градиент функции оценки с помощью метода обратного распространения, объяснение с иллюстрациями и без формул.

Видео 4: объяснение механики метода обратного распространения уже с формулами и с точки зрения математического анализа.
🔥27👍6
📊 Обзор инструментов BI - систем для построения дашбордов

Мы уже делали обзор библиотек по визуализации данных. Сегодня хотим рассказать про BI инструменты:

🔘 Power BI
Отличается быстрой интеграцией с Excel и другими продуктами Microsoft, что упрощает построение регулярных отчётов и аналитики. Хорош для средних и крупных компаний, где важна удобная работа с данными внутри Microsoft Office.
Пример: маркетинговый отчёт

🔘 Tableau

Популярен в крупных компаниях, помогает обрабатывать и визуализировать большие массивы данных из разных источников. Доступен функционал сложных интерактивных отчётов. Однако, он ушёл из РФ и для многих компаний России больше недоступен
Пример дашборда: [ENG]Time Series Analyse in Tableau

🔘 DataLens
BI-система от ребят Яндекса, работающая в Yandex Cloud.
Очень быстро развивается, особенно в последние годы (после ухода tableau), т.к. многие компании перешли на него.
Отлично интегрируется с облаком и позволяет быстро собирать практически любые базовые отчёты
Примеры: DataLens Demo Dashboard и Обзор дашборда Yandex DataLens от LeftJoin

🔘 Metabase
Бесплатная и простая платформа с минимальными настройками для небольших команд. Особенность: фокус на SQL-запросах, которые пользователи могут писать прямо в интерфейсе, и лёгкость получения отчётов без сложных технических навыков. Подходит для небольших компаний, которым нужен быстрый анализ данных.
Пример: [ENG] Metabase Tutorials - можно посмотреть как созадавать графики и дашборды

🔘 Redash
Сделан для команд, которые хотят быстро визуализировать данные на основе SQL-запросов. Отличие от Metabase — в фокусе на минималистичном интерфейсе и возможности получать быстрые результаты по запросам в базах данных. Подходит небольшим командам, знакомым с SQL, но не требует глубоких технических знаний.
Пример: Как создать дашборд в Redash?

🔘 Apache Superset
Инструмент с большим потенциалом для настройки, отличающийся гибкостью и мощной поддержкой SQL для опытных аналитиков. В отличие от Metabase и Redash, поддерживает более сложные визуализации и кастомные отчёты, что делает его идеальным для проектов с нестандартными запросами и профессиональных команд.
Пример: Обзор визуализаций в Apache Superset



Что ещё можно почитать про BI-системы:
- Канал Ромы Бунина - гуру визуализаций - @revealthedata
- Вводную статью про datalens тут
- Туториал по tableau тут
- Статью
Как найти сокровища в данных, или Зачем нужна BI-система
❤‍🔥15🔥101
🦜RAG: Классический подход и современные улучшения [Ч.2]

📖 В прошлой статьей мы разбирали для чего нужны и какую задачу решают RAG-системы.
Сегодня мы перейдем к описанию классических подходов и как они строятся, а также поговорим про более продвинутые техники.

🔍 Базовая архитектура RAG:

❗️Пререквизит:
В своей системе RAG использует так называемые векторные представления — способ представления текста в виде вектора (точки в многомерном пространстве). Чем ближе друг к другу в этом пространстве находятся две точки, тем больше их текстовые представления похожи по смыслу. Это позволяет находить релевантные части контекста, даже если они используют другие слова или фразы.

1️⃣ Чанкинг базы знаний
Чанкинг — разбиение больших документов на маленькие части (чанки). Например, длинный текст книги можно разбить на абзацы или предложения. Таким образом, система может искать ответ в средних отрывках текста и получать более конкретные результаты без потери контекста или его избыточности. Ответы по большим или очень маленьким блокам зачастую ухудшают RAG-систему.

2️⃣ Сохранение векторов чанков в векторную БД
После этапа чанкирования необходимо векторизовать все полученные куски и сохранить их в векторную базу данных для дальнейшего семантического поиска и извлечения наиболее релевантных.

3️⃣ Получение пользовательского запроса и его векторизация
Для того, чтобы сравнивать пользовательский запрос с теми частями, которые мы сохранили в базу данных, нам также необходимо его векторизовать.

4️⃣ Отбор релевантных чанков
Здесь начинается процесс семантического поиска. В RAG-системе вектор пользовательского запроса сравнивается со всеми векторами в БД через какую-либо меру сходства. Куски, имеющие наибольшую величину сходства, передаются на следующий этап.

5️⃣ Передача найденных чанков в генеративную модель
После отбора самых релевантных чанков RAG передает их в LLM, которая генерирует ответ на все тот же пользовательский запрос, но уже с использованием полученного контекста.

🔝 Однако, такой классический подход не всегда даёт должного результата, и в таком случае стоит переходить к более продвинутым техникам и улучшениям:

- Подробная статья про Advanced RAG
- Про хитрости и улучшения RAG на ODS
- Совсем недавний подход от Anthropic по построению контекстного поиска в RAG
- Статья с набором придвинутых техник в RAG
- Серия постов на Хабре про RAG

📚 Ещё дополнительной литературы на эту тему:

- Простое и понятное объяснение RAG
Дополнительная статья про векторные БД
- Advanced RAG [ENG]
- Алгоритм BM25, который иногда используется для поиска в RAG

Обязательно ставьте лайки❤️
До скорых встреч👋🏻
17🔥4❤‍🔥2
🔥 Материалы для подготовки к собеседованиям от Start Career in DS и Alfa Advanced Analytics
Добавляем в избранное!

Вместе с Telegram-каналом Центра продвинутой аналитики Альфа-Банка подготовили для вас гайд по собеседованиям для Data Scientist’ов 🔥

В подборке — советы и инсайты от экспертов, а также примеры реальных заданий, которые могут встретиться вам на интервью в Альфа-Банк и не только. Будут полезны как новичкам в DS, так и опытным специалистам!

Сохраняйте подборку и заглядывайте в канал Alfa Advanced Analytics 🙂
А в канале Start Career in DS вы сможете найти много полезных материалов для развития в Data Sceince, а также регулярные квизы с призами!

Материалы для подготовки. Сохраняйте, чтобы не потерять:

🔗 Как вспоминать базовую математику - часть 1, часть 2
🔗 Пет-проекты для начинающего Data Scientist'а - ссылка
🔗 Открытый курс по прикладной статистике от Академии Аналитиков Авито - ссылка
🔗 Deep Learning: теоретический справочник по базовым концепциям - ссылка
🔗 Классический ML – база: справочник основных алгоритмов - ссылка
🔗 Учебник Школы анализа данных — смотреть  
🔗 Семестровый курс DLS — смотреть
🔗 Искусственный интеллект в финтехе — смотреть
🔗 Kaggle — смотреть
🔗 GitHub курса ML-1 в ВШЭ — смотреть
❤‍🔥35🔥126👍4