227K subscribers
3.8K photos
632 videos
17 files
4.45K links
Погружаемся в машинное обучение и Data Science

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

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

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
🌟 MAR+DiffLoss: Autoregressive Image Generation without Vector Quantization

Основная идея метода заключается в применении процедуры диффузии для моделирования вероятностных распределений по токенам. Такой подход исключает традиционную категориальную кросс-энтропийную функцию потерь в пользу функции Diffusion Loss. Так устраняется необходимость в сложных и зачастую несовершенных токенизаторах с дискретными значениями, чувствительных к Gradient Approximation и субоптимальному качеству реконструкции.

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

В результате MAR+DiffLoss модель может быстро генерировать изображения высокого качества , используя внутренние преимущества скорости моделирования последовательностей.

Одним из полученных достижений в ходе исследования стала способность модели генерировать изображения со скоростью менее 0,3 секунды на изображение при достижении впечатляющего показателя Fréchet Inception Distance (FID) менее 2,0 на наборе данных ImageNet.

Для тестирования демонстрации метода предлагается настроенный ноутбук для Google Collab. Помимо этого, в репозитории на Github размещены инструкции и код для самостоятельной тренировки моделей и запуску оценочного бенчмарка на датасете ImageNet.

⚠️ Внимание, тренировочный процесс крайне ресурсоемкий.

▶️Pre-trained модели выложены на Dropbox:
🟢MAR-B (280M)
🟢MAR-L (479M)
🟢MAR-H (943M)


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


🟡Arxiv
🟡Результаты бенчмарка
🟡Demo Collab
🖥Github [ Stars: 184 | Issues: 0 | Forks: 7]


@ai_machinelearning_big_data

#AI #ML #Diffusion #Pytorch
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥72
⚡️ 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🔥12😁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
75🔥31👍26👻7💯5