360K subscribers
4.28K photos
799 videos
17 files
4.76K links
Погружаемся в машинное обучение и Data Science

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

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

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
⚡️ ml_mdm: Набор диффузионных моделей Matryoshka от Apple.

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

ml_mdm - Python-фреймворк для синтеза изображений и видео c с помощью набора pre-trained моделей Matryoshka.

Codebase фреймворка:

🟠ml_mdm.models - реализация core-модели;
🟠ml_mdm.diffusion - диффузионный пайплайн;
🟠ml_mdm.config - подключение конфигурационных классов данных к моделям, конвейерам с помощью simple parsing (надстройка к argparse);
🟠ml_mdm.clis - все инструменты cli проекта.

Для тестирования инференса, оценки на датасете CC12M и обучении на собственных наборах изображений представлены 3 pre-trained модели, построенные на архитектурах U-Net и Nested U-Nets, обученные на 50 млн. пар "текст-изображение" с Flickr:

🟢vis_model_64x64;
🟢vis_model_256x256;
🟢vis_model_1024x1024.

▶️Локальный запуск:

Зависимости для установки по умолчанию в файле pyproject.toml выбраны таким образом, чтобы можно было установить библиотеку даже на CPU-only систему.

#  Running Test Cases:
> pytest # will run all test cases - including ones that require a gpu
> pytest -m "not gpu" # run test cases that can work with just cpu

# Download the models:
curl https://docs-assets.developer.apple.com/ml-research/models/mdm/flickr64/vis_model.pth --output vis_model_64x64.pth
curl https://docs-assets.developer.apple.com/ml-research/models/mdm/flickr256/vis_model.pth --output vis_model_256x256.pth
curl https://docs-assets.developer.apple.com/ml-research/models/mdm/flickr1024/vis_model.pth --output vis_model_1024x1024.pth

# Launch Web Demo:
torchrun --standalone --nproc_per_node=1 ml_mdm/clis/generate_sample.py --port 19999


⚠️ В Issues репозитория есть обращение о некорректной команде запуска Web Demo. Следите за обновлением тикета и коммитами.


📌Лицензирование :  Apple Inc.


🟡Arxiv
🟡Страница проекта
🖥Github [ Stars: 166 | Issues: 3 | Forks: 6]


@ai_machinelearning_big_data

#AI #Diffusion #ML #Text2Image #Apple
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍198🥰4
🌟 LongAlign: Улучшение согласованности text-2-image генерации в длинных промптах на диффузионных моделях.

LongAlign - метод тонкой настройки диффузионных text-2-image моделей, который улучшает понимание длинных промптов. Вместо того, чтобы подавать весь длинный текст в CLIP, LongAlign разбивает его на сегменты (например, предложения) и кодирует каждый сегмент по отдельности. Это позволяет использовать CLIP, несмотря на его ограничения.

После кодирования отдельных сегментов LongAlign объединяет полученные эмбединги в единый вектор. Для этого используется конкатенация с удалением повторяющихся специальных токенов ( <sot>, <eot>, <pad>) и добавлением нового токена <pad*>.

Чтобы достичь точности согласования, в LongAlign используется 3 техники:

🟢классификация предпочтений на основе текстовой зависимости, оценивается не только следованию промпту, но и визуальные аспекты (фотореализм, эстетика);

🟢перевзвешивание градиентов, уменьшает влияние текстово-независимого компонента и улучшает согласованность между текстом и изображением;

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

По проведенным оценкам, LongAlign значительно превосходит базовые модели Stable Diffusion, PixArt-α и Kandinsky v2.2 по показателям FID и Denscore. Отдельно выполненная оценка в GPT-4o подтвердила преимущества LongAlign в согласовании text-2-image.

▶️ Подготовка к файнтюну с помощью LongAlign:

🟠Тестовый датасет на 2 млн. пар фомата "длинный промпт-изображение"
🟠Stable Diffusion v1.5 (загрузится автоматически)
🟠T5-адаптер (положить в ./model/LaVi-Bridge)
🟠Denscore (загрузится автоматически)
🟠longSD (положить в ./model/longSD)

▶️ Установка и запуск на примере трейна Stable Diffusion и LCM-версии Stable Diffusion

# Prepare environment
pip install -r requirements.txt

# Train original Stable Diffusion
# support long-text inputs
bash run_unet.sh align ct5f

# preference optimization for long-text alignment
bash run_unet.sh reward test

# Train LCM-version Stable Diffusion
# support LCM sampling
bash run_unet.sh lcm ct5f

# preference optimization for long-text alignment
bash run_unet.sh reward_lcm test


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


🟡Arxiv
🖥Github


#AI #ML #Diffusion #Text2Image #LongAlign
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍206🔥5
⚡️ Stable Diffusion 3.5 Large.

Stability AI опубликовала Stable Diffusion 3.5 Large - модель text-to-image с 8 млрд. параметров.

В основе SD 3.5 Large - архитектура Multimodal Diffusion Transformer (MMDiT). Модель использует три предобученных текстовых энкодера:

🟢OpenCLIP-ViT/G;
🟢CLIP-ViT/L;
🟢T5-xxl.

OpenCLIP-ViT/G и CLIP-ViT/L имеют контекстную длину 77 токенов, а T5-xxl - 77/256 токенов.

Модель доступна по API в сервисах - Stability AI, Replicate и Deepinfra.

Для локального использования модели рекомендуется использовать ComfyUI (базовый воркфлоу) или Diffusers.

⚠️ Инференс квантованной NF4-версии на ограниченных VRAM

⚠️ Подробные инструкции по файнтюну и тренировке LoRA для Stable Diffusion 3.5 Large.

▶️Локальный запуск инференса на Diffusers:

# install Diffusers
pip install -U diffusers


# Inference
import torch
from diffusers import StableDiffusion3Pipeline

pipe = StableDiffusion3Pipeline.from_pretrained("stabilityai/stable-diffusion-3.5-large", torch_dtype=torch.bfloat16)
pipe = pipe.to("cuda")

image = pipe(
"A happy woman laying on a grass",
num_inference_steps=28,
guidance_scale=3.5,
).images[0]
image.save("woman.png")


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

🟢Модель доступна под лицензией Stability Community License, которая разрешает бесплатное использование для исследовательских, некоммерческих и коммерческих целей организациями или частными лицами с годовым доходом менее 1 млн. долл. США.

🟠Для получения коммерческой лицензии для организаций с годовым доходом более 1 млн. долл. США необходимо связаться со Stability AI.


🟡Страница проекта
🟡Arxiv
🟡Модель


@ai_machinelearning_big_data

#AI #ML #Diffusion #SDL #StabilityAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2311👍9
⚡️ Опубликована модель Stable diffusion 3.5 Medium.

Stability AI, следуя своему анонсу, выпустила в открытый доступ младшую text-to-image модель семейства Stable diffusion 3.5 - Medium c 2.6 млрд. параметров.

Модель позиционируется в семействе SD 3.5 как решение для работы на потребительском оборудовании.

SD 3.5 Medium способна генерировать изображения с разрешением от 0.25 до 2 мегапикселей, а для запуска с максимальной производительностью ей требуется всего 9.9 Gb VRAM.

Stable Diffusion 3.5 Medium претерпела ряд изменений в архитектуре (MMDiT-X вместо MMDiT ) и протоколах обучения для корреляции качества с числом параметров, связности и возможности генерации изображений с различным разрешением.

SD 3.5 Medium прошла обучение на разрешениях от 256 до 1440 пикселей.

Текстовые энкодеры не претерпели изменений, остались те же, что и у Stable Diffusion 3.5 Large: OpenCLIP-ViT/G, CLIP-ViT/L и T5-xxl.

Для локального использования модели рекомендуется использовать ComfyUI (базовый воркфлоу) или или Diffusers.

▶️Локальный запуск инференса на Diffusers:

# install Diffusers
pip install -U diffusers


# Inference
import torch
from diffusers import StableDiffusion3Pipeline

pipe = StableDiffusion3Pipeline.from_pretrained("stabilityai/stable-diffusion-3.5-medium", torch_dtype=torch.bfloat16)
pipe = pipe.to("cuda")

image = pipe(
"A happy woman laying on a grass",
num_inference_steps=28,
guidance_scale=3.5,
).images[0]
image.save("woman.png")


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

🟢Модель доступна под лицензией Stability Community License, которая разрешает бесплатное использование для исследовательских, некоммерческих и коммерческих целей организациями или частными лицами с годовым доходом менее 1 млн. долл. США.

🟠Для получения коммерческой лицензии для организаций с годовым доходом более 1 млн. долл. США необходимо связаться со Stability AI.


🟡Страница проекта
🟡Модель
🟡Arxiv
🟡Demo
🖥GitHub


#AI #ML #Diffusion #SD3_5Medium #StabilityAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥13🎉53👏2
⚡️ SANA: Генерация изображений изображений высокого разрешения от Nvidia Labs.

Sana - семейство моделей для генерации изображений с разрешением до 4096x4096 пикселей. Главное преимущество Sana - высокая скорость инференса и низкие требования к ресурсам, модели можно запустить даже на ноутбуке.

Секрет эффективности Sana в ее архитектуре, которая состоит из нескольких инновационных компонентов:

🟢Deep Compression Autoencoder (DC-AE)
Сжимает изображение в 32 раза, в результате чего значительно сокращается число латентных токенов, что, в свою очередь, повышает эффективность обучения и позволяет генерировать изображения с разрешением 4K.

🟢Linear Diffusion Transformer (Linear DiT)
Использует линейное внимание вместо традиционного, ускоряя генерацию с разрешением 4K в 1.7 раза.

В Linear DiT вместо модуля MLP-FFN используется Mix-FFN, который объединяет в себе свертку 3x3 и Gated Linear Unit (GLU). Mix-FFN позволяет отказаться от позиционного кодирования без потери качества.

🟢Decoder-only Small LLM as Text Encoder
Энкодер, основанный на LLM Gemma, который лучше понимает текстовые запросы пользователя и точнее передает их смысл на генерации.

Для точного соответствия "текст - изображение" при обучении энкодера применялись "сложные человеческие инструкции" (CHI), которые научили Gemma учитывать контекст запроса.

Sana создавалась с помощью уникальной стратегии обучения и выборки. В процессе обучения используются несколько VLM (VILA, InternVL2) для создания различных аннотаций к каждому изображению. Затем, на основе CLIP-оценки, были отобраны наиболее подходящие пары "текст-изображение".

Обучение происходило постепенно, начиная с разрешения 512x512 и заканчивая 4096x4096, а алгоритм Flow-DPM-Solver ускорил процесс выборки, сократив количество шагов по сравнению с Flow-Euler-Solver.

Результаты тестирования Sana впечатляют:

🟠Sana-0.6B, работающая с изображениями 512x512, в 5 раз быстрее, чем PixArt-Σ, при этом показывает лучшие результаты по метрикам FID, Clip Score, GenEval и DPG-Bench.

🟠При разрешении 1024x1024 Sana-0.6B в 40 раз быстрее PixArt-Σ.

🟠Sana-0.6B превосходит по скорости Flux-12B в 39 раз при разрешении 1024x1024) и может быть запущена на ноутбуке с 16 GB VRAM, генерируя изображения 1024x1024 менее чем за секунду.


⚠️ Для локального инференса модели 0.6B требуется 9GB VRAM, а для модели 1.6B - 12GB VRAM.


▶️ Установка и инференс c GradioUI:

# official online demo
DEMO_PORT=15432 \
python app/app_sana.py \
--config=configs/sana_config/1024ms/Sana_1600M_img1024.yaml \
--model_path=hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth





🟡Страница проекта
🟡Коллекция моделей на HF
🟡Arxiv
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Diffusion #SANA #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥165
🌟 Boltz-1: открытая модель для предсказания структуры биомолекулярных комплексов.

Boltz-1 - первая доступная модель с открытым исходным кодом, которая достигает точности AlphaFold3 в прогнозировании 3D-структур белков, РНК, ДНК и небольших молекул. Boltz-1 основана на архитектуре AlphaFold3, но включает ряд модификаций, повышающих точность и общую эффективность модели.

Архитектура состоит из модуля множественного выравнивания последовательностей (MSA), модуля PairFormer и диффузионной модели, работающую на двух уровнях разрешения: тяжелые атомы и токены. Токены представляют собой аминокислоты для белков, основания для РНК и ДНК, а также отдельные тяжелые атомы для других молекул.

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

Обучение модели проводилось на структурных данных из PDB, выпущенных до 30 сентября 2021 года, с разрешением не менее 9Å. Чтобы ускорить обучение, разработчики Boltz-1 применили алгоритм сопряжения MSA с использованием таксономической информации, унифицированный алгоритм кадрирования и алгоритм определения кармана связывания. Обучение модели заняло 68 тысяч шагов с размером пакета 128, что меньше, чем у AlphaFold3.

Оценка Boltz-1 была выполнена на датасете CASP15 и на наборе PDB, специально созданном разработчиками для тестирования.

Результаты показали, что Boltz-1 сопоставима по точности с Chai-1, закрытой репликацией AlphaFold3. Обе модели демонстрируют схожие показатели среднего LDDT и среднего TM-score.

Boltz-1 продемонстрировала преимущество в предсказании взаимодействия белок-лиганд на наборе данных CASP15.

Прикладная реализация инференса, доступная в репозитории на Github, может принимать на вход форматы:

🟢Fasta file, для большинства кейсов использования;
🟢Комплексная YAML-схема для более сложных случаев;
🟢Каталог с файлами для пакетной обработки.

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

▶️Локальный инференс:

# Install boltz with PyPI
pip install boltz

# run inference
boltz predict input_path


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


🟡Модель
🟡Техотчет
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Diffusion #3D #Biomolecular
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥1110
🌟 MD4: Маскированная диффузия для дискретных данных.

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

MD4 (Masked Discrete Diffusion for Discrete Data) - метод, разработанный в Google DeepMind предлагает упрощенный и обобщенный подход к маскированной диффузии. Структура метода позволяет обучать обобщенные модели маскированной диффузии с гибкими схемами маскировки, зависящими от состояния данных.

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

Математически прямой процесс описывается как марковская последовательность дискретных случайных величин, индексируемых временным параметром от 0 до 1.

MD4 продемонстрировал превосходство над диффузионными языковыми моделями по показателю перплексии на наборе данных OpenWebText и значительно обошел существующие дискретные диффузионные модели по качеству пиксельного моделирования изображений, достигая 2,75 бит на измерение для CIFAR-10 и 3,40 бит на измерение для ImageNet 64 × 64.

Эти результаты выше, чем показатели авторегрессионных моделей сопоставимого размера (GPT-2, PixelRNN, Gated PixelCNN, PixelCNN++, PixelSNAIL, Image Transformer, Sparse Transformer).

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

Прикладная реализация MD4 опубликована в репозитории Google Deepmind, в котором представлена возможность повторить экспериментальное обучение на тексте или изображениях.

⚠️ Batch size зависит от вычислительных ресурсов. Для обучения модели MD4-S с длиной последовательности 1024, 8 GPU A100 могут поддерживать максимальный batch size=128. При запуске на TPU, 8 чипов v5litepod, batch size=32.

▶️Локальная установка и пример обучения на тексте и изображениях:

# Create & activate env
python -m venv md4_venv
source md4_venv/bin/activate

# Install required packages
pip install -r requirements_gpu.txt

# Include a path dir in the Python path
export PYTHONPATH="$PYTHONPATH:~/path/to/md4"

# Prepare openwebtext for training
mkdir data_dir
python prepare_openwebtext_data.py

# Train a MD4-S model over text data
python md4/main.py --config=md4/configs/md4/openwebtext.py --sharded=false --workdir=./expt

# Train a MD4-S model over image data via cifar10
python md4/main.py --config=md4/configs/md4/cifar10.py --sharded=false --workdir=./expt


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


🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Diffusion #MD4 #GoogleDeepMind
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥65
This media is not supported in your browser
VIEW IN TELEGRAM
📲 Diffusion Explainer - визуализация, которая поможет понять работу моделей, основанных на диффузии:

⭐️Визуал, который будет понятен каждому
⭐️Работает в браузере
⭐️Отличное наглядное объяснение того, как модели диффузии генерируют изображения.

https://poloclub.github.io/diffusion-explainer

Diffusion explainer
Github
Статья
Видео

@ai_machinelearning_big_data


#diffusion #tutorial #ml
54👍26🔥21
🔥 FireEdit — новая методика редактирования изображений по инструкции

🌟 В основе FireEdit — усовершенствованная Vision Language Model (VLM), способная выполнять тонкое и точное редактирование изображений на основе текстовых промптов.

🌟 Что внутри:
🟢Region Tokens
Позволяют VLM точно определять редактируемые объекты даже в сложных сценах, не затрагивая остальное изображение.
🟢Time-Aware Target Injection
Динамически регулирует степень редактирования на разных этапах шумоподавления, интегрируя информацию о времени с текстовыми эмбеддингами.
🟢Hybrid Visual Cross-Attention
Позволяет сохранить высокочастотные визуальные детали и семантическую согласованность изображения.

✔️Результаты
FireEdit превосходит другие SOTA-методы на датасете Emu Edit — как по точности локализации, так и по качеству результата.

✔️ Визуальные сравнения показывают, что FireEdit:
🟢Лучше локализует редактируемые области
🟢Меньше искажает фон и окружающие детали
🟢Сохраняет высокую семантическую точность

🔜 Статья
🔜Проект

@ai_machinelearning_big_data


#AI #VLM #Diffusion #ImageEditing #FireEdit #ML
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4714🔥13😁3
🧠 Как «вклеить» объект в картинку так, чтобы он выглядел естественно?

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

Большинство моделей с этим не справляются — объект добавляется не к месту или портит фон.

Новый метод Add-it от NVIDIA решает эту задачу без обучения модели.

Он расширяет механизм внимания в диффузионных моделях, чтобы учитывать сразу три источника:

1. Оригинальное изображение
2. Текстовый промпт
3. Промежуточную сгенерированную картинку

📌 Такой подход позволяет:
– сохранить геометрию сцены
– встроить объект туда, где он действительно мог бы быть
– не терять мелкие детали и текстуры

📊 Результаты:
– Add-it без дообучения обходит supervised‑модели
– На новом бенчмарке Additing Affordance показывает SOTA результат по «естественности размещения»
– В слепых тестах люди выбирают его в 80% случаев
– Улучшает метрики качества генерации

🟠Github: https://github.com/NVlabs/addit
🟠Demo: https://huggingface.co/spaces/nvidia/addit
🟠Paper: https://arxiv.org/abs/2411.07232
🟠Project: https://research.nvidia.com/labs/par/addit/

@ai_machinelearning_big_data


#NVIDIA #Diffusion #Addit #StableDiffusion #AIgen #ControllableGeneration
Please open Telegram to view this post
VIEW IN TELEGRAM
83🔥33👍30👻7💯6❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ BERT is just a Single Text Diffusion Step

Любопытны пост, где автор объяснил на примере очень простую и очевидную, но мощную идею.

Он заметил, что то, что мы называем диффузией текста, на самом деле - это просто обобщённая версия классического обучения BERT.

Как работает
BERT?
В BERT модель берёт текст и маскирует часть слов, а потом учится угадывать, какие слова были скрыты.
В диффузии происходит почти то же самое, только шагов больше: на каждом шаге модель немного «портит» текст (добавляет шум), а затем восстанавливает его, всё меньше и меньше теряя смысл, пока не соберёт финальный чистый текст.

То есть BERT делает один шаг очистки - угадывает замаскированные слова.

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

Барри дообучил RoBERTa, чтобы показать это на практике - и получил настоящий текстовый диффузионный генератор.

В примере:
- Используется RoBER (улучшенная версия модели BERT,) и датасет WikiText.
- На каждом шаге часть токенов заменяется на <MASK>,
модель восстанавливает их, потом снова маскирует — и так несколько раз.
- После нескольких итераций модель способна генерировать связный текст,
даже без автогенеративного декодера (как у GPT).

📈 Результаты
- Модель генерирует осмысленный текст, хотя и не идеально связный.
- Качество улучшалось по мере добавления шагов диффузии.
- По времени генерации RoBERTa Diffusion была немного медленнее, чем GPT-2 (~13 сек против 9 сек), но архитектура осталась полностью encoder-only.

Автор упоминает, что позже наткнулся на работу DiffusionBERT, где идею реализовали глубже и подтвердили результатами.

Главная мысль:
BERT можно считать одноступенчатой версией текстовой диффузии.
Если добавить больше шагов, то vs получаем диффузионный генератор текста.

Если BERT - это один шаг диффузии, то будущее может принадлежать моделям, совмещающим "понимание" и "генерацию" текста в одном процессе.

https://nathan.rs/posts/roberta-diffusion/

@ai_machinelearning_big_data


#AI #Diffusion #RoBERTa #BERT #LanguageModel #MLM #Research
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17236👍22👏19🤓19👨‍💻7🤗2🥰1😁1🥱1🤝1