194K subscribers
3.56K photos
543 videos
17 files
4.3K links
Погружаемся в машинное обучение и Data Science

Показываем как запускать любые LLm на пальцах.

По всем вопросам - @haarrp

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
🌟 NanoFlow: Высокопроизводительный cервисный фреймворк для LLM.

NanoFlow - это универсальный фреймворк для LLM, ориентированный на повышение пропускной способности. Он комбинирует в себе набор техник: параллелизм внутри устройства, асинхронное планирование CPU и выгрузка KV-кеша готовых запросов на SSD.

В результате NanoFlow имеет пропускную способность выше, чем другие фреймворки - vLLM, Deepspeed-FastGen и TensorRT-LLM.

Архитектура NanoFlow основана на методе, который позволяет одновременно выполнять операции вычисления, памяти и сети. Параллелизм операций возможен из-за применения логики "микропакетов" для планирования операций и выделения ресурсов.

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

Для оценки производительности NanoFlow были проведены эксперименты на различных моделях LLM: Llama2-70B, Qwen2-72B, DeepSeek-67B, Mixtral-8x7B и LLaMA3-8B на узле на узле DGX 8xA100 80 ГБ.
Результаты показали, что NanoFlow демонстрирует 1,91-кратное увеличение пропускной способности по сравнению с TensorRT-LLM.

▶️Установка:

# Clone repo & crate venv
git clone https://github.com/efeslab/Nanoflow.git
cd Nanoflow
chmod +x ./installAnaconda.sh
./installAnaconda.sh

# Install dependencies
yes | ./setup.sh

# Download model
./modelDownload.sh

# Serving datasets
./serve.sh


📌Лицензирование : Apache 2.0 License.


🟡Arxiv
🖥Github [ Stars: 282 | Issues: 5 | Forks: 8]


@ai_machinelearning_big_data

#AI #Framework #MLTool #NanoFlow #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 PydanticAI: фреймворк для создания AI-агентов на основе Pydantic.

PydanticAI - фреймворк для Python, созданный командой разработчиков Pydantic, который упрощает создание приложений с использованием LLM. Фреймворк имеет простой и интуитивно понятный интерфейс для взаимодействия с LLMs, поддерживающими Async OpenAI (Ollama) и openAI API (ChatGPT, Gemini и Groq), с поддержкой Anthropic в ближайшем будущем.

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

PydanticAI имеет возможность потоковой обработки ответов с валидацией структурированных данных, позволяя контролировать корректность соответствие данных ожидаемому ответу, тем самым повышая эффективность и интерактивность приложений.

Для отладки и мониторинга работы агентов предусмотрена интеграция с Pydantic Logfire, с которым можно отслеживать запросы к базам данных, анализировать поведение модели и оценивать производительность.

▶️ В документации к проекту доступны примеры применения PydanticAI в сценариях:

🟢Построение Pydantic-модели на основе текстового ввода;
🟢Погодный агент;
🟢Агент поддержки клиентов банка;
🟢Генерация SQL-запросов на основе пользовательского ввода;
🟢RAG-поиск по массиву markdown-документам;
🟢Вывод результатов работы агента в терминале;
🟢Пример проверки потокового структурированного ответа на примере информации о видах китов;
🟢Простой чат-приложение.

⚠️ PydanticAI находится на ранней стадии бета-тестирования.

▶️Установка и простой пример "Hello Word" с Gemini-1.5-flash:

# Install via  PyPI
pip install pydantic-ai

# Set Gemini API key
export GEMINI_API_KEY=your-api-key

# Run example
from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash',
system_prompt='Be concise, reply with one sentence.',
)
result = agent.run_sync('Where does "hello world" come from?')
print(result.data)
"""
The first known use of "hello, world" was in a 1974 textbook about the C programming language.
"""


📌Лицензирование: MIT License.


🟡Документация
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Agents #Framework #PydanticAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 BioNeMo: фреймворк разработки ИИ-моделей для дизайна лекарств.

NVIDIA BioNeMo2 Framework - это набор инструментов, библиотек и моделей для вычислительного поиска и разработки лекарственный препаратов.

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

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

Помимо кода пайплайнов, скриптов и утилит, BioNeMo2 Framework содержит:

▶️Предобученные модели:

🟢ESM-2 - предварительно обученный двунаправленный энкодер (BERT-подобный) для аминокислотных последовательностей. BioNeMo2 включает в себя чекпоинты с параметрами 650M и 3B;

🟢Geneformer - модель табличного подсчета, которая генерирует плотное представление sc-RNA клетки путем изучения паттернов коэкспрессии в отдельных клетках.


▶️Датасеты:

🟠CELLxGENE - совокупность общедоступных single-cell наборов данных, собранных в CZI (Chan Zuckerberg Initiative) общим объемом в 24 млн. клеток;


🟠UniProt - база данных кластеризованных наборов белковых последовательностей из UniProtKB, созданная на основе транслированных геномных данных.


📌Лицензирование: Apache 2.0 License.


🟡Страница проекта
🟡Документация
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Framework #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Oumi: опенсорс-фреймворк полного цикла для LLM.

Oumi - открытая платформа для разработки, файнтюна, оценки и экспериментов с языковыми и мультимодальными моделями, созданная совместными усилиями исследователей из 13 ведущих университетов.

Oumi предоставляет инструменты и рабочие процессы для разработки и запуска масштабных экспериментов на кластере, развертывания моделей в рабочей среде и поддерживает методы распределенного обучения (FSDP, DDP):

🟢обучение и файнтюн моделей от 10M до 405B параметров методами SFT, LoRA, QLoRA и DPO;
🟢поддержку популярных семейств моделей: Llama, DeepSeek, Qwen и Phi;
🟢синтез и курирование обучающих данных с использованием LLM-judge;
🟢быстрое развертывание моделей в средах vLLM и SGLang;
🟢проведение комплексного бенчмаркинга моделей по стандартным тестам;
🟢возможность подключения по API OpenAI, Anthropic и Vertex AI;
🟢интеграция с библиотекой Transformers.

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

📌Лицензирование: Apache 2.0 License.


🟡Статья
🟡Документация
🟡Сообщество в Discord
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Oumi #Framework
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 InfiniteHiP: расширение контекста LLM до 3 млн. токенов на одном GPU.

InfiniteHiP - опенсорсный инструмент, разработанный сервисом deepauto.ai, который позволяет значительно расширить контекст LLM, обрабатывая до 3 миллионов токенов на одном GPU.

InfiniteHiP использует модульный иерархический алгоритм прунинга токенов, динамически отсеивая нерелевантные элементы контекста. Это позволяет ускорить обработку и обойти ограничения GPU по памяти, перенося KV-кэш в память хоста.

Прунинг-модули алгоритма избирательно отбрасывают менее важные входные токены, опираясь на разреженность шаблонов и пространственную локализацию в матрицах внимания LLM.

Алгоритм делит входную последовательность на чанки фиксированной длины и определяет аппроксимированный top-1 токен с наивысшим attention score в каждом чанке. Затем только top-K наиболее значимых чанков передаются в следующий модуль, а остальные отбрасываются.

Максимально эффективная реализация InfiniteHiP на SGLang фреймворке показывает 7.24-кратное ускорение в end-to-end декодировании на контексте в 3 млн. при использовании всего 3.34% VRAM, необходимой для Flash Attention 2.

InfiniteHiP превосходит существующие методы в задачах QA по объемным документам, обобщении и в мульти-шот ризонинге. HiP демонстрирует отличные OOL (out-of-likelihood) способности, сохраняя производительность при увеличении длины контекста, в то время как другие методы на таких задачах ощутимо деградируют.

InfiniteHiP может использоваться с любыми моделями на архитектуре Transformers.

▶️ Локальная установка и использование:

git clone git@github.com:DeepAuto-AI/hip-attention.git
cd hip-attention

conda create --name hip python=3.11
conda activate hip

pip install -e "."
# Optional for development
pip install -e ".[dev]"

# Optional, depends on your CUDA environment
export CUDACXX=/usr/local/cuda/bin/nvcc
# Dependencies that requires --no-build-isolation
pip install -e ".[no_build_iso]" \
--no-build-isolation \
--verbose
# SGLang with OpenAI API support for serving
pip install -e ".[sglang]" \
--no-build-isolation \
--verbose \
--find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/

# Access the `hip` package from any project
import torch
from hip import hip_attention_12, HiPAttentionArgs12

device = 'cuda'

batch_size = 1
kv_len = 128 * 1024
q_len = 32 * 1024
num_heads = 32
num_kv_heads = 8
head_dims = 128
dtype = torch.bfloat16

q = torch.randn(
(batch_size, q_len, num_heads, head_dims),
dtype=dtype,
device=device
)
k = torch.randn(
(batch_size, kv_len, num_kv_heads, head_dims),
dtype=dtype,
device=device,
)
v = k.clone()

output, metadata = hip_attention_12(q=q, k=k, v=v, args=HiPAttentionArgs12())
print(output.shape)

# > torch.Size([1, 32768, 32, 128])


📌Лицензирование: FSL-1.1-MIT


🟡Arxiv
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #InfiniteHiP #Framework
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Периодическая таблица машинного обучения.

Исследователи из МiT, Microsoft и Goggle создали фреймворк, который может изменить подход к разработке алгоритмов машинного обучения - I-Con (Information Contrastive Learning).

Он объединил и систематизировал более 20 классических методов ML — от кластеризации до контрастивного обучения в единую структуру, напоминающую периодическую таблицу. Как и ее химический прародитель, эта таблица не только упорядочивает известные алгоритмы, но и указывает на пробелы, где могут существовать еще не открытые методы.

В основе I-Con лежит уравнение, минимизирующее расхождение Кульбака-Лейблера между двумя распределениями: «идеальным» (на основе данных) и тем, что обучает модель. Это уравнение, найденное почти случайно, стало ключом к объединению таких разных подходов, как k-средних, SimCLR и PCA.

Для примера - алгоритм кластеризации в I-Con рассматривается как способ выравнивания распределений сходства точек, а контрастивное обучение — как работа с аугментациями изображений. Такая унификация позволила ресерчерам буквально «скрещивать» методы: комбинация идей из контрастивного обучения и спектральной кластеризации дала новый алгоритм, который на 8% точнее предсказывает классы изображений без меток.

I-Con — не просто теория. В экспериментах на ImageNet-1K фреймворк показал, как перенос приемов между областями машинного обучения улучшает результаты. Например, техника дебайсинга (исправления смещений в данных), изначально созданная для контрастивного обучения, повысила точность кластеризации. А добавление проходов по neighbor propagation в алгоритмы помогло моделям лучше учитывать локальную структуру данных.

Но главное преимущество I-Con — его предсказательная сила. Пустые клетки в таблице указывают на гипотетические алгоритмы, которые ещё предстоит создать. Иными словами, комбинируя подходы из supervised и unsupervised обучения, можно разработать методы, эффективные для задач с частично размеченными данными. Уже сейчас фреймворк помогает избежать «изобретения велосипеда»: вместо того чтобы перебирать варианты наугад, исследователи могут целенаправленно комбинировать элементы из таблицы.

Пока рано говорить, станет ли I-Con общепринятым стандартом, но его потенциал очевиден. Как минимум, он предлагает свежий взгляд на машинное обучение — не как на набор разрозненных алгоритмов, а как на систему со скрытой структурой. И если химики когда-то заполняли пустоты в таблице Менделеева, то ML-исследователи теперь могут делать то же самое — осознанно, а не методом проб и ошибок.

▶️Практическое применение:

# Clone the repo
git clone https://github.com/ShadeAlsha/ICon.git
cd ICon

# Create a conda env
conda create -n ICon
conda activate ICon

# Install dependencies
pip install -e .

# Evaluate Models
cd ICon
python evaluate.py

# After evaluation, see the results in tensorboard
cd ../logs/evaluate
tensorboard --logdir .

# Train a Model
cd ICon
python train.py



🟡Страница проекта
🟡Техотчет
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #ICon #Framework #Algorithms
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Atropos: тренажерный зал для RL языковых моделей.

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

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

Это избавляет от простоя ресурсов, когда обновления политики модели тормозят из-за ожидания результатов всех окружений. Под капотом — интеграция с любыми API (OpenAI, vLLM, SGLang), позволяя свободу выбора LLM-провайдера без переписывания кода.

Практическая польза протестирована в экспериментах:

🟢В задачах параллельного вызова функций точность тестовой модели DeepHermes Tool Calling Specialist выросла в 4,6 раза — с 10% до 46%.

🟢В прогнозировании финансовых показателей на модели DeepHermes Financial Fundamentals Prediction Specialist, RL через Atropos удвоил точность (с 20% до 50%).

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

Для разработчиков Atropos предлагает готовые инструменты: от датасетов для тонкой настройки (SFT, DPO) до дебаггеров и визуализации.

Atropos не привязывает вас к конкретному алгоритму RL или инфраструктуре. Запустите 10 экземпляров на ноутбуке или 10 000 через Slurm — фреймворк равномерно распределит нагрузку. Это особенно ценно для исследований: можно быстро экспериментировать с разными подходами, не тратя недели на настройку пайплайнов.

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

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


📌Лицензирование: MIT License.


🟡Статья
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #RL #Framework #NousResearch #Atropos
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Pocket Flow: минималистичный фреймворк для LLM в 100 строках кода

Популярные фреймворки превращают простые задачи в квест по разгадыванию чужого кода. Бесконечные обертки, конфликты версий, устаревшая документация… Всё это не просто раздражает, это замедляет разработку. После года борьбы с перегруженными инструментами по типу LangChain, разработчик из Microsoft Research Zachary Huang посвятил свободное время созданию Pocket Flow — фреймворка, который уместил всю магию LLM в 100 строк кода.

Pocket Flow предлагает радикально иной подход: минимализм. В основе — идея, что любой LLM-пайплайн можно представить как граф из узлов и переходов. Никаких скрытых слоёв, только логика и прозрачность.

Чтобы разобраться как работает Pocket Flow, представьте кухню, где каждый узел — зона для готовки.

BaseNode выполняет три шага: подготовка (собрать данные), выполнение (обработать запрос), постобработка (сохранить результат).

Flow управляет «рецептом»: решает, куда передать управление дальше. Все взаимодействие происходит через общее хранилище данных — как стол, на котором лежат ингредиенты для всех поваров.

Пример? Допустим, вы строите поискового агента. Создаёте узлы: DecideAction (решает, нужен ли поиск), SearchWeb (ищет в интернете), AnswerQuestion (формирует ответ). Связываете их в граф, где решение одного узла определяет следующий шаг. Если модель не знает ответ тогда запускается поиск, результаты добавляются в контекст, и цикл повторяется. Все это — пара сотен строк кода поверх ядра Pocket Flow.

Главное преимущество Pocket Flow - свобода. Нет привязки к конкретным API, подключайте любые модели, даже локальные. Нет зависимостей: ваш проект остается «легким», а интерфейсы не ломаются после обновлений. Хотите кеширование запросов или потоковую обработку? Реализуйте сами, без борьбы с чужими абстракциями.

Безусловно, у минимализма есть цена: вы не получите готовых решений для каждой задачи. Но именно в этом сила Pocket Flow. Он дает контроль и понимание процесса, а не готовый, но черный ящик.

Если вы устали от фреймворков-монстров и хотите начать с чистого листа — загляните в репозиторий Pocket Flow. Там есть примеры агентов, RAG-систем и мультиагентных сценариев.


📌Лицензирование: MIT License.


🟡Статья
🟡Документация
🟡Сообщество в Discord
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Framework #Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM