Dmatryusофрения
41 subscribers
291 photos
10 videos
15 files
148 links
Пишу о книгах, лидерстве, технологиях, opensource, своих проектах и наверное чем-то ещё. Ну и репосты IT приколямб.
Download Telegram
#open_source

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

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

Вот наткнулся на интересную для этих целей либу на питончике.

https://docs.manim.community/en/stable/index.html

И туториал к ней на хабре из которого и узнал о либе.

https://habr.com/ru/articles/821743/
👍1
#open_source

Сегодня у нас задача классификации строк посредством регулярок.

У такого подхода есть замечательные преимущества:
классификация чувствительная к порядку
интерпретация сегмента на уровне регулярного выражения

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

Лично мне было бы интересно поэкспериментировать с этим. Думаю, что здесь есть потенциал для unsupervised исследования, но и так в сочетании с разметкой на основе UL может получиться что-то интересное.

https://github.com/AntonSarr/strtree
👍1🤔1
#open_source

Flux

Команда Black Forest Labs зарелизила несколько моделей для генерации картинок по тексту. Команда новая, но причастная к самым современным исследованиям в этой области.

Модели три — Pro, Dev и Schnell, причем последние две выложили в открытый доступ (Apache 2.0 у Schnell, non-commercial у Dev).

Меня лично заинтересовала самая открытая и маленькая Schnell. Раскатил её у себя и решил потестить. Результаты видите сами.

И по-моему - это супер класс, но есть нюанс...

Моделька скушала Neil целиком: 50 ГБ RAM, 28 ГБ GRAM и, естественно утилизировала мою 3090 полностью. При этом на картиночку уходит от 20 до 60 минут, то есть особо не разгуляешься. Конечно, SD работает гораздо быстрее, но в той же мере и хуже.

Думаю на радостях ещё поэкспериментировать и намутить простенький фронт.
🔥1🆒1
Хорошее #open_source
#open_source@dm_projects_log

Мысли материальны! (нет)

Только я задумался о глубоком ресерче алгоритмов кластеризации, как случайно наткнулся, на эту великолепную репу!

https://github.com/collinleiber/ClustPy

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

Дима 🐠 дуреет от такой прикормки!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2🏆1
#open_source@dm_projects_log

Наверное все уже слышали о том, что модели от китайских исследователей DeepSeek-R1 и DeepSeek-R1-Zero выложены в открытый доступ и показывают результаты на уровне o1.

Мини обзор

Попробовать: полная R1 доступна на официальном сайте в режиме DeepThink. Насколько мне известно, есть ограничения на количество запросов/токенов, но с ходу не нашел об этом конкеретной информации.

Приложение: мобильное приложение работает бесплатно, ссылки есть тут.

Я в свою очередь пробую развернуть на Neil II дистиллированную версию на 32B параметров. Я не особо часто пользуюсь LLM, но потестить интересно.
#open_source@dm_projects_log

Замутил новую минилибу. Идея проста и банальна, но мне не хватало такой тулзы. Собственно идея в том, чтобы держать небольшую базу знаний по моделям, для подбора моделей в целях локального развертывания. Либа анализирует состояние системы (количество оперативы, места на диске, гпу и врам) и предлагает подходящие модели. Пока есть конфигурации для диффузионок и ЛЛМ. Знания складываются в YAML файлы. Пока они там больше ради примера, чем действительно для использования. Так же присутствует ранжирование. Ранг настраиваются вручную в конфигах, но идейно должны формироваться из реальных лидербордов.

Git | pip
#open_source@dm_projects_log
#myproject@dm_projects_log

Для курса по статистике баловался с визуализацией случайных величин. Затея не на 100% увенчалась успехом в рамках курса, но добавил эту минифичу в miniutils. Может потом удалю. Пример можно посмотреть здесь.
#open_source
#model

https://nvlabs.github.io/Sana/

Вышла новая интересная диффузионка о Nvidia Sana!

Ключевой особенностью является то, что она способна выдавать высокого качества изображения и при этом не требовательна к ресурсам! Пишут, что качество сопостовимо с Flux-12b, но при этом модель в 7.5 раз меньше и в 100 раз быстрее. Это действительно впечатляет.

Вот вам примеры генерации волков.

Лично меня качество пока не впечатляет. Но это быстрая генерация без заморочек. На каждое изображение ушло примерно 2 секунды. Можно добавить шагов инференса при локальном развертывание и может стать лучше.
#open_source
Слишком годный пост, чтобы что-то дополнительно комментить.
#open_source #ml #classic

Сегодня узнал из поста другой DS группы, который вы уже, возможно, видели о либе interpret. Мне тот пост не понравился, поэтому я решил написать свой 😅

Из крутого:
1. Специальный интерпретируемый GBM, разработанный Microsoft и другие glass-box модели 🔮
2. Полный набор инструментов для объяснения black-box моделей в одном месте 🤔
3. Удобные встроенные интерактивные визуализации 👀

Если дойдут руки попробовать, расскажу что как. Вообще довольно давно есть мысль взять какую-нибудь интересную задачу с открытыми данными, как бенчмарк всякого MLного. Если у вас такие есть, кидайте в комменты ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
#open_source #dmdslab

Представляю вам очередную итерацию моих попыток сделать универсальные DS утилки: DmDSLab

Залил это дело в пупи, так что без проблем можете тестить:
pip install DmDSLab


Там пока особо полезного ничего нет. Но лично мне сейчас интересны общие относительно удобные структуры данных и функции для чистки данных.

Планирую постепенно дополнять функциями репу и писать доки на wiki.

Буду рад, если кому-то окажется полезным и вдвойне рад обратной связи 😊
#open_source
#ml
#classic
#myproject@dm_projects_log

Я тут заново пересобрал либу. Очень заморочился с оформлением репы, как раньше не заморачивался. И ридми написал, и wiki замутил, все обмазано тестами и даже CICD пайплайн. Зачем я так заморочился? Наверное захотелось красоты, и в эту либу я верю примерно так же, как в HypEx.

Да от этого всего воняет нейронками, что не удивительно, ибо я их активно юзаю, но сам все ревьюю и много всего исправляю за нейронкой. Еще один косяк - почти все на русском. Меня штормило от русского к английскому, поэтому можно встретить и то и то. Забавно, что коммиты я пишу на английском, как и часть докстрингов с комментами, но все доки и описания на русском. Наверное мне просто так удобно, а пользоваться этим все равно вряд ли кто-то кроме меня будет.

Так вот... Зачем это все... Зачем вам может быть интересна эта версия либы? В целом, там в релизе все написано, но если коротко, то тут неплохая коллекция открытых данных с удобным инструментом для скачивания. Я их подбирал для одного своего конкретного исследования, но это именно отборные данные. Так что не брезгуйте юзать. Если есть желание, можно самостоятельно написать конфиг и выгрузить датасет с сайта. Правда работать будут только те, которые импортятся в Python.

P.S. Вообще есть более свежий релиз, но там я разбирался с ошибками сборки, обновлял README.md и упразднил автоматическую публикацию, так как с ней было слишком много проблем, а самому публиковать не сложно, так как есть написанный скрипт, так что функционально разницы нет.
👍2🔥2
#open_source
#ml
#classic
#myproject@dm_projects_log

Замутил новую версию либы. Переработал загрузчик датасетов полностью.

Что не отображено в доках, так это изменение подхода к разработке: больше ручной работы - меньше нейронок.
🔥2
#classic #open_source

Nvidia выпустили статью об ускорении вычислений в pandas посредством использования GPU через библиотеку NVIDIA cuDF.

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

Что касается использования не в тетрадке, то операции надо делать через библиотечный датафрейм, у которого API идентичное пандасовскому.

В статье разобраны 3 кейса с ускорением.
#open_source
#myproject@dm_projects_log

Новая утилита: file_size_sorter.py — скрипт анализа дискового пространства.

Изначально написал для того, чтобы проверить почему репозиторий так много весит. Нашел запушенные артефакты, так что полезное. Ещё эта штуковина полезная в целом для анализа диска, когда его нужно почистить.

Скрипт использует только стандартную библиотеку Python, так что зависимостей нет.

Примеры использования:
# Найти 10 самых больших файлов в домашней директории
python file_size_sorter.py /home/user 10

# Посмотреть все файлы проекта, отсортированные по размеру
python file_size_sorter.py ./my_project

# Найти самые маленькие файлы (полезно для очистки мелкого мусора)
python file_size_sorter.py /tmp 20 --asc
#open_source
#myproject@dm_projects_log

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

Что умеет новый модуль?

📝 Markdown → HTML/PDF за одну команду
🎨 4 встроенные темы (включая тёмную!)
🌈 50+ стилей подсветки кода
📊 Mermaid диаграммы прямо в документах
⚡️ Работает офлайн или через API

🎯 Для кого это?
• Пишете документацию? Теперь она будет красивой!
• Ведёте техблог? Конвертируйте посты в PDF
• Делаете презентации? Mermaid диаграммы включены!
• Учитесь/учите? Идеально для конспектов с кодом

💡 Простой пример
# Обычная конвертация
python md_converter.py README.md

# PDF с тёмной темой
python md_converter.py docs.md --format pdf --theme dark

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

GitHub: https://github.com/Dmatryus/miniutils/tree/main
🔥4
#open_source

🐙 OctoSQL: Универсальный SQL-движок для анализа данных из разных источников

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

Речь идет об OctoSQL — CLI-утилите, которая позволяет выполнять SQL-запросы к данным из множества источников через единый интерфейс. Представьте: вы можете сделать JOIN между JSON-файлом и PostgreSQL таблицей одним запросом!

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


🎯 Что это такое?
OctoSQL — query-движок на Go, который превращает SQL в универсальный язык для работы с данными из файлов (JSON, CSV, Parquet), баз данных (PostgreSQL, MySQL) и потоков данных.

Ключевые возможности:
- JOIN между разными источниками данных
- Система плагинов для баз данных
- Поддержка streaming и real-time обработки
- Визуализация планов запросов


🚀 Быстрый старт
Установка: brew install cube2222/octosql/octosql

Примеры:
octosql "SELECT  FROM ./data.json"
octosql "SELECT customer_id, SUM(amount) FROM invoices.csv GROUP BY customer_id"
octosql "SELECT invoices.id, customers.name FROM invoices.csv JOIN mydb.customers ON invoices.customer_id = customers.id"



🛠 Система плагинов
Доступны плагины для PostgreSQL, MySQL, MongoDB, Redis, Kafka и других. Установка: *octosql plugin install postgres*


🔥 Уникальные фишки
Union Types — работа с "грязными" данными где колонка может быть Int или String одновременно.

Streaming — real-time обработка потоков данных с группировкой по временным окнам.

Dataflow архитектура — поддержка Event Time, Watermarks и возможность отмены предыдущих результатов.


📊 Применения
- Анализ логов с джойном к базе пользователей
- ETL без инфраструктуры — объединение CSV, БД и JSON в одном запросе
- Real-time мониторинг ошибок


⚡️ Производительность
На тесте NYC Taxi Dataset (200MB, 2M записей):
- OctoSQL: 1.98 сек
- Q без кэша: 16.04 сек (в 8 раз медленнее)

OctoSQL работает напрямую с файлами, читая только нужные колонки.


💡 Когда использовать?
Подходит для: ad-hoc анализа, прототипирования аналитики, ETL без сложной инфраструктуры, streaming обработки.

Не подходит для: высоконагруженных production систем, сложной распределенной обработки.


Ссылки:
📦 GitHub: https://github.com/cube2222/octosql
📚 Документация: https://octosql.dev/
2