Data Portal | Data Science & Машиннное обучение
8.61K subscribers
102 photos
36 videos
4 files
140 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для дата сайентиста

Связь: @devmangx
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Традиционный vs. Графовый RAG: понятное объяснение

Представьте, что у вас есть длинный документ, например, биография человека (X), где каждая глава посвящена одному из его достижений.

Например:

↳ Глава 1: Описывает Достижение-1.
↳ Глава 2: Описывает Достижение-2.
...
↳ Глава 10: Описывает Достижение-10.

Теперь внимательно разберём следующий момент

Допустим, вы создали традиционный RAG (Retrieval-Augmented Generation) на основе этого документа и хотите суммировать все достижения X.

Сделать это с помощью традиционного поиска может быть сложно, так как для полноценного ответа нужен весь контекст...

...но при этом вы, скорее всего, извлекаете только топ-k наиболее релевантных фрагментов из векторной базы данных.

Кроме того, традиционные RAG-системы извлекают каждый фрагмент отдельно, и LLM вынужден самостоятельно восстанавливать связи между этими частями (если они вообще были найдены).

Графовый RAG решает эту проблему

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

Как Graph RAG устраняет проблемы традиционного подхода:

1. Генерация графа

🔸LLM анализирует биографию и строит граф, выявляя сущности и связи между ними.
🔸В результате получается полноценный граф, а его подграф, связанный с достижениями X, будет выглядеть так:

↳ X → <достиг> → Достижение-1.
↳ X → <достиг> → Достижение-2.
...
↳ X → <достиг> → Достижение-N.

2. Поиск по графу
🔸На этапе извлечения информации система выполняет обход графа, собирая все релевантные данные о достижениях X.
🔸Полученный контекст передаётся LLM, что позволяет сформировать логичный, полный и связный ответ, в отличие от традиционного RAG.

— Почему Graph RAG так эффективен?

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

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
В Python можно выполнить директорию проекта как скрипт

🔸Переименуйте основной файл в main[.]py.
🔸Запустите "python имя_директории".

Это удобно и позволяет другим легко идентифицировать основной файл

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
This media is not supported in your browser
VIEW IN TELEGRAM
Следующая визуализация показывает 5 самых популярных шаблонов проектирования, используемых при создании ИИ-агентов

Давайте их разберём:

1. Шаблон рефлексии

ИИ анализирует свою работу, чтобы выявить ошибки, и повторяет процесс до тех пор, пока не создаст окончательный ответ.

2. Шаблон использования инструментов

Инструменты позволяют LLM собирать дополнительную информацию с помощью:
🔸Запросов к векторным базам данных
🔸Выполнения Python-скриптов
🔸Вызова API и т. д.

Это полезно, поскольку LLM не зависит исключительно от своего внутреннего знания.

3. Шаблон ReAct (Reason and Act):

ReAct сочетает два вышеописанных шаблона.

4. Шаблон планирования:

Вместо того чтобы решать задачу за один раз, ИИ создаёт план действий:
🔸Разбивает задачи на части
🔸Формулирует цели

Такое стратегическое мышление позволяет решать задачи более эффективно.

5. Шаблон многократных агентов:

🔸Мы имеем несколько агентов.
🔸Каждый агент получает свою роль и задачу.
🔸Каждый агент может также использовать инструменты.

Все агенты работают вместе, чтобы достичь конечного результата, делегируя задачи другим агентам по мере необходимости.
🔸Агент может отражать сгенерированные выводы.
🔸Он может взаимодействовать с миром с помощью инструментов.

Это делает данный шаблон одним из самых мощных, используемых сегодня

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆5👍31🔥1
Только что наткнулся на отличный разбор трансформеров от Брэндона Роэра и не могу не поделиться

Если вам когда-либо было сложно разобраться, как работают эти модели (и при этом не утонуть в формулах), обязательно прочитайте эту статью.

Автор объясняет всё максимально интуитивно — никаких сложных выкладок, только суть. Визуализации и аналогии помогают действительно понять такие концепции, как механизм внимания.

Если вы работаете с LLM, готовитесь к собеседованию или просто хотите лучше понять, как устроены модели вроде ChatGPT, этот материал — один из лучших, что я встречал

👉 https://www.brandonrohrer.com/transformers

👉 @DataSciencegx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93
This media is not supported in your browser
VIEW IN TELEGRAM
Нашёл мощную альтернативу Jupyter Notebook (с открытым исходным кодом)

marimo объединяет возможности Jupyter, Streamlit, ipywidgets (и не только) в реактивном интерфейсе.

Он также отображает интерактивные таблицы Pandas, и к ним можно выполнять SQL-запросы.

👉 @DataSciencegx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163
⭐️ Шпаргалка из 40 методов NumPy, которые используются в 95% случаев

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Пользователям Jupyter это точно понравится

Stickyland — это инструмент с открытым исходным кодом, который позволяет выйти за рамки линейного представления ноутбука.

🔸Создавайте плавающие ячейки
🔸Формируйте дашборды из ячеек
🔸Автоматически выполняйте ячейки при изменениях

👉 @DataSciencegx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
Используйте box plot с осторожностью. Они могут вводить в заблуждение

В этом примере три разных набора данных дают похожие box plot. Поэтому всегда проверяйте распределение данных с помощью гистограмм, KDE и других методов.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Альтернатива Pandas, работающая в 100 раз быстрее!

(Может даже обойти GPU-библиотеки для работы с DataFrame)

Хотя Pandas — самая популярная библиотека для работы с DataFrame, у нее есть серьезные ограничения:

🔸Использует только одно ядро процессора
🔸Часто создает громоздкие DataFrame.
🔸Немедленное (eager) выполнение мешает глобальной оптимизации.

Представляем FireDucksDev — высокоэффективную замену Pandas, которую можно использовать без изменений кода.

Достаточно просто заменить одну строку:

import fireducks.pandas as pd


На видео показано сравнение FireDucks с cuDF — GPU-библиотекой DataFrame.

В этом случае FireDucks оказался даже быстрее cuDF.

Однако в тесте использовались цепочки операций и все столбцы. После ручной оптимизации (работа только с нужными столбцами) время выполнения изменилось:

🔸Pandas: 14 секунд (было 48 секунд)
🔸FireDucks: 0,8 секунды (без изменений)
🔸cuDF: 0,9 секунды (было 2,6 секунды)

Это доказывает, что компилятор FireDucks автоматически выполняет те же оптимизации, которые в cuDF и Pandas пришлось бы настраивать вручную.

Важно отметить, что оптимизация не влияет на конечный результат

👉 Ссылка на Google Colab

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117
Используйте эти репозитории на GitHub, чтобы прокачать свои навыки в Python и ML:

🔸 Homemade Machine Learning — Репозиторий содержит коллекцию алгоритмов машинного обучения, реализованных с нуля на Python, что помогает понять их внутреннюю работу.

🔸 Awesome Machine Learning — Подборка отличных фреймворков, библиотек и программного обеспечения для машинного обучения

🔸 Machine Learning Tutorial — Собрание обучающих материалов, статей и других ресурсов по машинному и глубокому обучению

🔸 Best Of ML With Python — Ранжированный список лучших библиотек Python для машинного обучения, обновляемый еженедельно

🔸 Machine Learning Interview — Репозиторий предоставляет ресурсы для подготовки к интервью по машинному обучению, включая примеры вопросов и советы

👉 @DataSciencegx | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥1
Сегодня стартовала неделя опенсорса от DeepSeek

На прошлой неделе команда анонсировала, что с 24 по 28 февраля они выложат в открытый доступ пять репозиториев из своей внутренней экосистемы

Сегодня — первый релиз: FlashMLA
Это эффективный декодирующий кернел для MLA на GPU Hopper, оптимизированный для обработки последовательностей переменной длины.


🔸GitHub: FlashMLA

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117🔥2
Генеративные vs. дискриминативные модели в ML

Генеративные модели:
🔸Изучают распределение данных, чтобы генерировать новые образцы.
🔸Обладают дискриминативными свойствами — их можно использовать для классификации.

Дискриминативные модели не обладают генеративными свойствами

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53
4 способа запустить LLM, такую как DeepSeek-R1, локально на вашем компьютере:

Запуск LLM локально — это как обладание суперспособностью:

🔸Экономия средств
🔸Конфиденциальность: ваши данные остаются на вашем компьютере
🔸К тому же, это безумно интересно

Сегодня мы рассмотрим лучшие способы сделать это. Поехали:

1. Ollama
Самый простой способ — выполнить команду:
ollama run deepseek-r1

А установить Ollama можно одной строкой:
curl -fsSL https://ollama.com/install.sh | sh


2. LMStudio
Устанавливается как приложение и предоставляет интерфейс, похожий на ChatGPT. Вы можете загружать и выгружать модели, как будто работаете с кассетами в магнитофоне

3. vLLM
Быстрая и удобная библиотека для выполнения и развертывания LLM. Всего несколько строк кода — и вы сможете локально запустить DeepSeek как сервер, совместимый с OpenAI, с поддержкой рассуждений

4. LlamaCPP
Минимальная настройка, топовая производительность. На видео DeepSeek-R1 на Mac Studio

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123🔥3
Python-библиотека для тонкой настройки Gemma 3

Gemma — это минимальная библиотека для использования и тонкой настройки Gemma. Включает документацию по тонкой настройке, шардингу, LoRA, PEFT, мультимодальности и токенизации в больших языковых моделях (LLMs).

Полностью с открытым исходным кодом.

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Иногда нужно быстро скормить LLM весь репозиторий

Просто меняешь одну букву в URL (github.comuithub.com), и вуаля — получаешь весь репозиторий в виде чистого текста со структурой

Плюс есть фильтрация по расширениям, настройка максимального количества токенов и поддержка разных форматов вроде YAML

👉 @DataSciencegx
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥163