8387
Всё самое интересное из мира LLM, Data Science и машинного обучения adds: @devmangx Автор: @ScienceLLM
Отличный инструмент, чтобы прикинуть, сколько VRAM твоим LLM реально нужно.
Меняешь конфиг железа, квантизацию и т.д. и сразу видишь:
скорость генерации (tokens/sec)
точное распределение памяти
пропускную способность системы (throughput) и прочее
👉 @DataSciencegx
Этот репозиторий собирает все, что нужно, чтобы использовать ИИ и LLM в своих проектах.
120+ библиотек, разложенных по этапам разработки:
→ Обучение, дообучение и оценка моделей
→ Деплой приложений с LLM и RAG
→ Быстрый и масштабируемый запуск моделей
→ Извлечение данных, краулеры и скрейперы
→ Создание автономных LLM-агентов
→ Оптимизация промптов и безопасность
👉 @DataSciencegx
Можно файнтюнить 100+ опенсорсных моделей вообще без кода.
LLaMA-Factory даёт единый интерфейс для обучения LLM и VLM. Поддерживает LLaMA, Mistral, Qwen, DeepSeek, Gemma, Phi, Yi и ещё 90+ моделей.
Полностью open source.
👉 @DataSciencegx
На r/LocalLLaMA кто-то с нуля натренировал LLM на лондонских текстах 1800–1875
Это забавный глюк данных. Телефон изобрели в 1876, а у модели датасет заканчивается 1875-м. Поэтому если в промпте упомянуть telephone, она вообще не связывает это со связью, а начинает описывать какой-то секретный дипломатический прибор или загадочный механический артефакт, окружённый посольствами, письмами и разрешениями. 😆
Модель и данные:
➡️1.2B параметров
➡️~90GB корпуса
➡️книги, журналы, юридические бумаги
➡️религиозные и медицинские тексты
Токенайзер тут кастомный, обученный на том же датасете, чтобы лексика и разбиение подгонялись под эпоху.
Тренировали примерно 182k шагов на арендованной H100 SXM.
GitHub: здесь
HuggingFace: тут
Reddit: читать
Нам нужно больше такого. Чтобы реально понять конкретный исторический период и культуру, нужно ограничивать данные рамками того времени и того контекста.
👉 @DataSciencegx
Компьютерное зрение сегодня используется во множестве интересных задач, например в помощи с тренировками.
В этом туториале Экемини показывает, как собрать собственного AI-тренера для зала в реальном времени на Vision Agents.
Ты разберешься, как поднять проект и получить API-ключи, как устроен агент, как запустить приложение и что к чему.
👉 @DataSciencegx
Найти строки с min/max по другому столбцу в одну строку в Polars v1.37.0
Раньше, чтобы вытащить строку с минимальным или максимальным значением относительно другого столбца, обычно приходилось делать сортировку, groupby или городить фильтры посложнее.
В Polars v1.37.0 завезли методы выражений min_by и max_by. Они находят минимум или максимум по любому столбцу одним понятным выражением.
Обновиться и получить min_by/max_by:pip install -U polars
👉 @DataSciencegx
Сегодня OpenAI анонсирует Open Responses: open-source спецификацию для сборки мультипровайдерных, интероперабельных интерфейсов к LLM, построенную поверх оригинального OpenAI Responses API.
✅Мультипровайдерность по умолчанию
✅Полезно для реальных продовых воркфлоу
✅Расширяемо без фрагментации
Стройте агентные системы без переписывания всего стека под каждую модель: [http://openresponses.org]
👉 @DataSciencegx
Разработчик сравнил топовые опенсорсные OCR-решения и выяснил какое реально показывает лучший результат.
В подборке:
DeepSeek OCR
Datalab Chandra
Qwen3-VL
Dots OCR
Granite Docling
Параллельно сделал приложение где можно прогонять все эти OCR-модели в одном месте.
Всё на 100% опенсорс.
👉 @DataSciencegx
Хочешь учить AI на реальных проектах?
В этом репозитории 29 проектов с Generative AI, Machine Learning и Deep Learning.
С полным кодом для каждого. Это прям золото: https://github.com/KalyanM45/AI-Project-Gallery
👉 @DataSciencegx
Бывало, что семантический поиск вроде бы попадает в тему, но не в твои требования?
Ищешь "latest ML research", а в выдаче куча релевантных работ… но за 2019 год.
Проблема в том, что similarity не понимает ограничений. Чтобы получить "год >= 2024", нужно фильтровать метаданные на уровне базы.
В ChromaDB это делается через where: сначала база фильтрует по условиям, потом ранжирует по similarity.
Полезные операторы:
• $eq и $ne — точное сравнение
• $gt, $gte, $lt, $lte — диапазоны
• $in, $nin — принадлежность множеству
• $and, $or — комбинирование условий
👉 @DataSciencegx
30 терминов из области агентного ИИ, которые должны знать инженеры-разработчики ИИ:
👉 @DataSciencegx
Все обсуждают n8n, но стоит присмотреться к Sim.
Это платформа с открытым исходником для сборки AI-агентов:
✓ стек Next.js + Bun + PostgreSQL + Zustand
✓ можно подключать любой AI-модель
✓ можно развернуть на своем сервере
→ [http://github.com/simstudioai/sim]
👉 @DataSciencegx
Самый полный обзор по RL, который я видел.
Его написал Кевин Мёрфи из Google DeepMind, у которого больше 128k цитирований.
Чем это отличается от других материалов по RL:
→ Есть мост между классическим RL и текущей эпохой LLM:
Отдельная глава про LLM и RL, где разобрано:
RLHF, RLAIF и reward modeling
PPO, GRPO, DPO, RLOO, REINFORCE++
Обучение reasoning-моделей
Multi-turn RL для агентов
Масштабирование вычислений на inference (test-time compute scaling)
→ База объяснена очень чётко
Все основные алгоритмы вроде value-based методов, policy gradients и actor-critic разобраны с математической строгостью.
→ Model-based RL и world models тоже раскрыты нормально
Есть Dreamer, MuZero, MCTS и дальше по списку — именно туда сейчас движется область.
→ Раздел про multi-agent RL
Теория игр, равновесие Нэша и MARL для LLM-агентов.
https://arxiv.org/pdf/2412.05265
👉 @DataSciencegx
16 способов ускорить обучение нейросетей
Используй эффективные оптимайзеры типа AdamW, Adam и т.п.
Гони на аппаратные ускорители (GPU/TPU).
Раздуй batch size по максимуму.
Подключай Momentum.
Пробуй Bayesian Optimization если пространство гиперпараметров большое.
Выставляй max_workers в DataLoader.
Включай pin_memory в DataLoader.
Обучай в mixed precision.
Применяй инициализацию He или Xavier для более быстрой сходимости (обычно помогает).
Используй activation checkpointing чтобы экономить память (время выполнения вырастет).
Включай multi-GPU обучение через Model/Data/Pipeline/Tensor параллелизм.
Для крупных моделей бери DeepSpeed, FSDP, YaFSDP и т.п.
Нормализуй данные уже после загрузки на GPU (актуально для целочисленных данных вроде пикселей).
Применяй gradient accumulation (иногда даёт небольшой плюс).
Всегда используй DistributedDataParallel вместо DataParallel.
torch.rand(2,2, device=...) создаёт тензор сразу на GPU.
torch.rand(2,2).cuda() сначала создаёт на CPU, а потом гонит на GPU.
Можно делать поиск за ~200 мс по 40 миллионам текстов, используя только CPU-сервер, 8 ГБ RAM и 45 ГБ диска.
Фокус простой: бинарный поиск + рескоринг в int8.
Если хочешь сразу пощупать руками, есть демо по 40 млн текстов из Wikipedia. Без логина и прочих заморочек.
Стратегия инференса такая:
Эмбедим запрос dense-моделью в обычный fp32-вектор
Квантуем fp32-эмбеддинг в бинарный формат, он в 32 раза меньше
Через приблизительный или точный бинарный индекс вытаскиваем, например, 40 документов (примерно в 20 раз быстрее, чем fp32-индекс)
С диска подгружаем int8-эмбеддинги для этих топ-40 документов
Делаем рескоринг: fp32-эмбеддинг запроса × 40 int8-эмбеддингов
Сортируем эти 40 документов по новым скором, берём топ-10
Загружаем заголовки и тексты топ-10 документов
Документы эмбедятся один раз, и дальше эти эмбеддинги используются сразу в двух представлениях:
- бинарный индекс (я использовал IndexBinaryFlat для точного поиска и IndexBinaryIVF для приближённого)
- int8-view, то есть способ быстро читать int8-эмбеддинги с диска по ID документа
В итоге вместо fp32-эмбеддингов ты хранишь:
- бинарный индекс (в 32 раза меньше)
- int8-эмбеддинги (в 4 раза меньше)
Плюс в памяти держится только бинарный индекс, так что по RAM экономия тоже x32 по сравнению с fp32-поиском.
Для сравнения: обычный fp32-ретривал на такой задаче потребовал бы около 180 ГБ RAM, 180 ГБ диска под эмбеддинги и был бы в 20–25 раз медленнее.
Бинарный ретривал с int8-рескорингом укладывается примерно в 6 ГБ RAM и ~45 ГБ диска под эмбеддинги.
Если загружать, скажем, в 4 раза больше документов через бинарный индекс и потом рескорить их в int8, можно вернуть около 99% качества fp32-поиска (против ~97% у чисто бинарного поиска): https://huggingface.co/blog/embedding-quantization#scalar-int8-rescoring
👉 @DataSciencegx
Новый ресерч от Anthropic Fellows: Assistant Axis.
Идея простая. Когда ты общаешься с LLM, ты общаешься не с “голой моделью”, а с персонажем, которого она отыгрывает, условным Assistant. Ребята залезли во внутренности трех open-weights моделей, разметили их “пространство персон” и нашли ось активности, которая как раз и тянет поведение в ассистент сторону.
Дальше проверили экспериментами:
* если “подтолкнуть” модель к Assistant, она хуже берет другие роли и меньше ведется на ролевые промпты
* если “оттолкнуть”, всплывают альтернативные идентичности: “я человек”, мистический театральный стиль и т.п.
Самое практичное: они сделали activation capping, это ограничение активаций вдоль этой оси. В итоге вредных ответов стало меньше, а полезные способности почти не просели.
Еще важный момент: в длинных диалогах у open-weights моделей персона дрейфует. Кодинг-задачи удерживают в “ассистентской зоне”, а терапевтические и философские разговоры постепенно уводят в сторону. Этот дрейф может приводить к опасным фейлам (вплоть до симуляции “влюбленности” и токсичных советов). Кэппинг помогает это приглушить.
Вывод у них такой: “характер” модели это не только как мы его задаем, но и как стабилизируем в проде . Assistant Axis дает для этого понятные ручки.
👉 @DataSciencegx
Document Index для vectorless RAG на рассуждениях
PageIndex это опенсорсный RAG-фреймворк, который выкидывает из пайплайна векторные базы и чанкинг при поиске по документам.
Большинство RAG-систем держатся на семантическом сходстве: режут документ на куски, строят эмбеддинги, потом достают фрагменты по “похоже на запрос”.
Но похожесть не равна релевантности.
В профдоках типа фин отчетов, юр документов и тех мануалов часто нужен многошаговый разбор и доменная логика. Векторный поиск легко буксует, когда почти в каждом разделе одинаковая терминология.
PageIndex делает иначе.
Он строит иерархическое дерево из документа, похоже на оглавление, но заточенное под LLM. А дальше использует tree search на основе рассуждений, чтобы “ходить” по структуре так, как это делает человек-эксперт.
Двухшаговый процесс:
1. Сгенерировать древовидный индекс структуры документа
2. Доставать нужное через reasoning-based tree search
LLM может “думать” про структуру документа. Вместо матчинга эмбеддингов он рассуждает в стиле: “тренды по долгу обычно в финансовом summary или в Appendix G, давай смотреть туда”.
Ключевые фичи:
* Без векторной БД и без пайплайна эмбеддингов
* Без искусственного чанкинга, который рвет контекст по границам
* Трассируемый retrieval с точными ссылками до уровня страниц
* Навигация на рассуждениях, повторяющая человеческий анализ документа
PageIndex используется в Mafin 2.5 и заявляет 98.7% accuracy на FinanceBench для анализа финансовых документов.
И да, это полностью open source.
👉 @DataSciencegx
Как на самом деле работают LLM:
👉 @DataSciencegx
Флоу-генеративные модели, обученные через flow matching, обычно учат изогнутые траектории, и их сложно аппроксимировать за несколько шагов.
Rectified flows пытаются учить прямые траектории, которые проще симулировать и требуют меньше вычислений.
Держи интерактивную статью, где объяснили геометрическую интуицию behind Rectified Flows.
Код тоже здесь можно найти.
👉 @DataSciencegx
Офлайн-распознавание текста с помощью DeepSeek-OCR AI : https://github.com/th1nhhdk/local_ai_ocr
👉 @DataSciencegx
NN-SVG: рисуйте архитектуры нейросетей параметрически
Экспортируйте их в SVG и используйте в своих материалах
👉 @DataSciencegx
Марко Франзон показал обновление по своей CV-платформе: YOLO Training Template
Ручная разметка данных стала заметно удобнее. Теперь процесс выглядит как в привычных labeling-системах — просто обводишь объект рамкой и сразу создаётся bounding box.
Платформа позволяет:
• загрузить свой датасет
• разметить вручную или автолейблить через DINOv3
• по желанию обогатить данные
• обучить YOLO-модель на собственных данных
• тут же прогнать инференс
• экспортировать в ONNX или NCNN, что даёт совместимость с edge-железом и смартфонами
Всё это доступно бесплатно и уже можно попробовать на GitHub.
Теорема Стокса это классика векторного анализа.
По сути она говорит что линейный интеграл векторного поля по замкнутому контуру равен поверхностному интегралу ротора этого поля по поверхности которая этим контуром ограничена.
👉 @DataSciencegx
Совет для AI-инженеров
Можно гонять продакшен-уровень LLM-инференса на CPU ноутбука или даже на телефоне.
Без облачных счетов. Без API-ключей. Без интернета.
LFM2.5-1.2B-Instruct от liquidai дает:
239 токенов/с на AMD CPU
82 токена/с на мобильном NPU
меньше 1 ГБ RAM
Лови ссылку ↓
https://huggingface.co/LiquidAI/LFM2.5-1.2B-Instruct
👉 @DataSciencegx
Open-source чанкинг текста в RAG-пайплайнах часто считают мелкой деталью. А по факту это один из самых жирных bottleneck’ов, когда дело доходит до продакшн-масштабов.
memchunk решает эту проблему в лоб: семантические границы чанков, высокая пропускная способность, и всё это заточено под реальные продакшн-нагрузки, а не под демки.
memchunk это низкоуровневая библиотека для чанкинга на Rust, заточенная под скорость и корректность.
Она режет текст по естественным границам, не рубит предложения пополам и разгоняется до 1 TB/s за счёт SIMD, lookup-таблиц и обратного поиска.
👉 @DataSciencegx
Векторные базы данных под AI-память заменили на MP4-файлы.
Memvid позволяет хранить миллионы текстовых чанков внутри одного видео и дает очень быстрый семантический поиск без какой-либо инфраструктуры баз данных.
Полностью open-source.
👉 @DataSciencegx
PDF для обучения LLM? 👀
Тулкит для работы с PDF под задачи LLM.
7B VL-модель для аккуратного текста и структурирования. Выдаёт 82.4 accuracy, дешевле на GPU, тянет сложные документы и изображения, заточено под обучение. Реально меняет игру в AI-пайплайнах.
- http://github.com/allenai/olmocr
👉 @DataSciencegx
Интересная штука: десктопное приложение, которое позволяет гонять AI-модели локально на своей машине. Без API-ключей. Без облака. Ничего никуда не уходит.
Всё крутится у тебя на компьютере, так что полный контроль, приватность и возможность экспериментировать с open-source моделями оффлайн
100% исходный код 🐶
👉 @DataSciencegx
Ralph Mode для Deep Agents
А что если дать агенту задачу и пусть он крутится бесконечно? Мы собрали Ralph Mode на базе Deep Agents именно для такого эксперимента.
Ralph Mode гоняет агента по циклу, каждый проход с чистым контекстом, а файловая система используется как память. Запустил, отошел, а потом остановил Ctrl+C когда хватит (или заранее поставил лимиты).
В этом видео показывают как прогнать Ralph Mode вместе с Deep Agents и автоматически собрать целый Python-курс.
Video: https://youtube.com/watch?v=yi4XNKcUS8Q
Repo: https://github.com/langchain-ai/deepagents/tree/ralph-mode-example/examples/ralph_mode
👉 @DataSciencegx
Что происходит, когда Parquet-файл становится слишком большим и его уже неудобно читать?
При записи больших датасетов в Parquet обычно получается либо один огромный файл, который медленно читается, либо приходится вручную резать данные на более мелкие файлы.
С Polars PartitionMaxSize выходные данные автоматически разбиваются на несколько Parquet-файлов по заданному лимиту размера.
Это дает:
• параллельное чтение на нескольких ядрах
• более быструю и надежную передачу данных в облачном хранилище
Полная статья: [https://bit.ly/4bjGOsc]
Запустить код: [https://bit.ly/49mswob]
👉 @DataSciencegx