ControlNet++ - это набор моделей ControlNet, собранный на новой архитектуре и упакованный в один единый файл без необходимости скачивать дополнительные препроцессоры и наборы моделей.
Обновление ProMaх включает в себя весь существующий набор ControlNet Union, в который были добавлены возможности комбинации нескольких типов ControlNet к одному исходному изображению и новые функции Tile Deblur, Tile Superresolution, Tile Variation, Inpaint и Outpaint.
C учетом обновления, набор ControlNet ProMax выполняет 12 функций и 5 дополнительных методик редактирования изображений:
В архитектуре ControlNet++ были разработаны два новых модуля: Condition Transformer и Control Encoder, которые улучшают представление и обработку условий в модели.
Каждому условию назначается уникальный идентификатор типа управления, который преобразуется в эмбеддинги.
Condition Transformer позволяет обрабатывать несколько условий одновременно, используя один кодировщик и включает слой трансформера для обмена информацией между исходным изображением и условными изображениями.
Condition Encoder увеличивает количество каналов свертки для повышения представительной способности, сохраняя оригинальную архитектуру.
Также была использована единая стратегия обучения, которая одновременно оптимизировала сходимость для одиночных условий и управляла слиянием множественных условий, повышая устойчивость сети и ее способность к генерации качественных изображений.
ControlNet Pro Max поддерживает работу с любой генеративной моделью семейства Stable Diffusion XL. Поддержка семейства Stable Diffusion 3 находится в разработке.
@ai_machinelearning_big_data
#AI #ControlNet #ML #Diffusers #SDXL
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25❤10🎉5🔥1🥰1👏1
Zamba2-mini - гибридная модель c 1.2B параметров, построенная из блоков state-space Mamba (SSM) и transformer.
Модель создана на общей архитектуре Zamba, но отличается от большей модели 2.7B тремя особенностями:
Zamba2-mini использует токенизатор Mistral v0.1 и была предварительно обучена на 3 триллионах токенов текстовых данных и коде различных языков программирования, полученных из открытых веб-наборов данных, к которым был добавлен собственный корпу данных Zyda.
Впоследствии, на втором этапе Zamba2-mini была подвергнута дополнительной фазе агрессивного снижения скорости обучения на смеси из 100B высококачественных токенов.
Zamba2-mini показала в тестах результаты, сопоставимые с моделями с параметрами <2B и может конкурировать с некоторыми LLM большего размера.
Благодаря уникальной гибридной архитектуре SSM Zamba2-mini демонстрирует низкие задержки логического вывода и быструю генерацию при значительно меньшем потреблении VRAM, чем другие модели такой же плотности параметров на основе трансформеров.
Такие характеристики делает ее идеальной универсальной моделью для приложений на устройствах.
⚠️ Примечание: Zamba2-mini еще не полностью совместима со всеми фреймворками и инструментами HuggingFace.
Реализацию Zamba2-1.2B для Pytorch можно найти здесь.
# Clone repositiry
git clone https://github.com/Zyphra/transformers_zamba2.git
#Install requirments:
cd transformers_zamba2
pip install -e .
pip install accelerate
#Inference
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained("Zyphra/Zamba2-1.2B")
model = AutoModelForCausalLM.from_pretrained("Zyphra/Zamba2-1.2B", device_map="cuda", torch_dtype=torch.bfloat16)
input_text = "A funny prompt would be "
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**input_ids, max_new_tokens=100)
print(tokenizer.decode(outputs[0]))
@ai_machinelearning_big_data
#AI #SLM #Mamba #ML #Zamba2mini
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤7🔥5😁3
NVLM-1.0-D-72B - первая модель семейства NVLM 1.0 производственного уровня, которое позиционируется как SOTA в задачах "vision-language".
Для достижения SOTA - цели в мультимодальное обучение был включен высококачественный набор данных, предназначенный только для текста, наряду со значительным объемом мультимодальных данных по математике и рассуждениям, что расширило математические и программные возможности во всех модальностях.
Архитектура NVLM 1.0 предполагает 3 варианта исполнения:
Все эти варианты NVLM используют общий визуальный кодер InternViT-6B-448px-V1-5.
Для обработки изображений с высоким разрешением используется динамический подход с высоким разрешением (DHR), при котором изображение разбивается на несколько плиток, каждая из которых кодируется отдельно.
Чтобы повысить эффективность обработки динамических изображений с высоким разрешением в NVLM-D и NVLM-X была разработана конструкция текстового тега плитки. Этот тег добавляется к входной последовательности, чтобы указать начало плитки и ее положение в структуре мозаики. Так генеративные модели лучше понимают структуру изображения.
Эксперименты показали, что добавление тегов плитки значительно улучшает производительность как в задачах, связанных с мультимодальным мышлением (например, MMMU и MathVista), так и в задачах, связанных с распознаванием текста (ChartQA, DocVQA и OCRBench).
Для оценки NVLM 1.0 использовались 9 эталонных тестов Vision language и четыре текстовых теста. Результаты NVLM 1.0 оказались сопоставимыми с результатами ведущих проприетарных и общедоступных моделей, как в задачах на взаимодействие зрения и языка, так и в задачах, ориентированных только на текст.
Разработчики подготовили файл сборки необходимого окружения в Dockerfile для запуска и примеры кода для инференса, использования нескольких GPU и загрузки модели.
@ai_machinelearning_big_data
#AI #ML #MMLM #NVLM #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍12❤7😁1
CogView-3-Plus - генеративная модель на архитектуре DiT из недавно представленного на ECCV'24 семейства CogView3.
CogView-3-Plus использует диффузионный шедулер Zero-SNR и VAE с latent dimension 16. По сравнению с MMDiT, она эффективней в обучении и инференсе при сохранении основных возможностей модели.
Технические параметры:
Инференс модели возможен в СLI (diffusers, SAT) и в WebUI на Gradio.
⚠️ В файле запуска Gradio используется функция улучшения промпта через ChatGPT (строки 37-112), для ее использования понадобится OpenAI API KEY.
⚠️ Модели серии CogView3 обучаются на длинных аннотациях изображений, поэтому рекомендуется использовать LLM-образные промпты для генерации, это значительно улучшит качество инференса.
@ai_machinelearning_big_data
#AI #ML #T2I #CogView3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍7🔥3👏1
ColPali - это набор моделей, фреймворк и коллекция преднастроенных методов тонкой настройки для обработки документов разной модальности с учетом текстового и визуального содержания. ColPali позиционирует себя как замену сложных и хрупких конвейеров OCR.
Для локального запуска ColPali Cookbooks понадобится поддержка Jupyter Notebook в IDE или их можно попробовать в Google Collab.
@ai_machinelearning_big_data
#AI #ML #VLM #Vidore #Colpali #Cookbooks
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥6❤4🤔1
LayerSkip - это способ ускорить LLM, уменьшая количество вычислений, необходимых для обработки каждого слова (токена) текста.
Основная идея LayerSkip - научить модель "угадывать" результат раньше, не проходя все слои. Для этого во время обучения модели некоторые слои "исключаются" (layer dropout) случайным образом. Помимо исключения слоев, LayerSkip использует специальную функцию потерь, которая помогает модели "понимать" результаты вычислений на более ранних слоях.
В отличие от других методов, LayerSkip использует одну и ту же LM head для всех слоев модели. Это упрощает обучение и уменьшает потребление памяти при инференсе.
Во время инференса LayerSkip обрабатывает текст только первыми "E" слоями, а затем сразу переходит к LM head, чтобы получить результат. Это называется "ранний выход" (early exit).
Чтобы повысить точность при раннем выходе, LayerSkip использует метод "самоспекулятивного декодирования". Модель сначала "угадывает" несколько следующих токенов, используя ранний выход. Затем она проверяет эти токены, используя оставшиеся слои, и исправляет ошибки.
LayerSkip был протестирован на различных наборах данных: Llama, CodeLlama и TOPv2. Результаты показали, что LayerSkip может ускорить работу LLM до 2 раз без значительного снижения точности.
Чтобы попробовать LayerSkip локально, разработчики предлагают использовать любую из 6 предобученных моделей:
⚠️ Для локального запуска будет нужен Huggingface API KEY.
# Clone repo
git clone [email protected]:facebookresearch/LayerSkip.git
cd LayerSkip
# Create env
conda create --name layer_skip python=3.10
conda activate layer_skip
# Install requirements
$ pip install -r requirements.txt
#Inference with self speculative
$ torchrun generate.py --model facebook/layerskip-llama2-7B \
--sample True \
--max_steps 512 \
--generation_strategy self_speculative \
--exit_layer 8 \
--num_speculations 6
--model
: имя модели на HuggingFace;--sample
: включение/выключение семплирования (по умолчанию: True);--max_steps
: максимальное количество генерируемых токенов;--generation_strategy
: стратегия генерации (по умолчанию: 'greedy', для LayerSkip: 'self_speculative');--exit_layer
: номер слоя для раннего выхода;--num_speculations
: количество спекулятивных токенов;@ai_machinelearning_big_data
#AI #ML #LLM #MetaAI #LayerSkip
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥17👍11❤8✍1
Проект Open-Sora-Plan предлагает набор инструментов и моделей для генерации видео на основе текстовых запросов и решения сопутствующих задач: восстановление и улучшение качества видео, интерполяция кадров и уточнение текстовых описаний.
Он использует вейвлет-преобразование для разложения видео на поддиапазоны, захватывая информацию в различных частотных областях.
Методика Skiparse организовывает токены-кандидаты для внимания с помощью двух чередующихся методов пропуска и сбора, сокращая количество операций с плавающей запятой.
Cостоит из анализа семантической схожести кадров, ОСR для обнаружения субтитров, оценки эстетики и качества видео, анализа движения и повторной оценкb движения с учетом субтитров.
Стратегия позволила сократить датасет Panda70m до 27% от исходного.
Open-Sora-Plan v1.3.0 поддерживает динамическое разрешение и длительность видео, обрабатывая отдельные кадры как изображения.
⚠️ Такое масштабное обновление позволило значительно сократить аппаратные требования инференса и генерировать 93 кадра text-to-video в разрешении 480р на 24 GB VRAM.
CausalVideoVAE, Prompt Refiner, Text-to-Video, Image-to-Video доступны в репозитории проекта.
@ai_machinelearning_big_data
#AI #ML #OpenSora #Text2Video #Image2Video
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥8🎉7❤5🤬1
Hunyuan3D-1.0 - двухэтапная система для быстрой генерации 3D-моделей по текстовым запросам или изображениям. Модель представлена в трех версиях:
Первый этап Hunyuan3D-1.0 основан на многовидовой диффузионной модели, которая генерирует набор RGB-изображений с разных ракурсов. Эти изображения, фиксирующие детали 3D-объекта с различных точек зрения, поступают на вход во второй этап - модель реконструкции.
Модель реконструкции преобразует многовидовые изображения в готовую 3D-модель. Она обучена обрабатывать шумы и несоответствия, присущие многовидовой диффузии, и использовать информацию из входного изображения или текста для восстановления 3D-структуры.
Обучение многовидовой диффузионной модели и модели реконструкции осуществляется раздельно. Lite-версия многовидовой модели использует SD-2.1 в качестве основы, a standard-версия основана на SDXL.
Модель реконструкции сначала обучалась на многовидовых изображениях разрешением 256x256, а затем донастраивалась на изображениях разрешением 512x512. Весь процесс обучения проводился на 64 графических процессорах A100.
Для оценки Hunyuan3D-1.0 использовались датасеты GSO и OmniObject3D с выборкой около 70 объектов. В качестве метрик использовались расстояние Чамфера (CD) и F-мера, которые являются стандартными показателями точности реконструкции 3D-форм.
Standard-версия модели показала лучшие результаты по метрикам CD и F-score на обоих датасетах. Hunyuan3D-1.0 достигла оптимального баланса между качеством и скоростью по результаты сравнения с другими моделями.
Инференс Hunyuan3D-1.0 доступен в CLI и с Gradio UI. Описание ключей запуска для CLI и список преднастроенных скриптов для запуска можно найти в репозитории проекта на Github.
⚠️ Позиции камеры на инференсе зафиксированы на азимуте (относительно позиции камеры на входе)
+0, +60, +120, +180, +240, +300
.⚠️ Рекомендованная VRAM - 40GB, но по неподтвержденным данным из issue - запускается c 20 GB на 3090.
# Cloning the repository
git clone https://github.com/tencent/Hunyuan3D-1
cd Hunyuan3D-1
# Create conda env
conda create -n hunyuan3d-1 python=3.9
conda activate hunyuan3d-1
bash env_install.sh
# Run Gradio UI with Hunyuan3D-1.0 Lite
python app.py --use_lite
# Open in browser link https://127.0.0.1:8080/
@ai_machinelearning_big_data
#AI #ML #TextTo3D #ImgTo3D #Hunyuan3D #Tencent
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥8🥰4😁3❤2
Megrez-3B-Omni - это мультимодальная модель для использования устройствах, разработанная Infinigence AI. Она является расширением модели Megrez-3B-Instruct и поддерживает анализ изображений, текста и аудио.
Модель демонстрирует высокие результаты во всех трех целевых областях знаний:
Согласно тестам MME, MMMU и OCRBench, Megrez-3B-Omni является одной из лучших моделей понимания изображений и показывает отличные результаты в задачах понимания сцен и оптического распознавания текста.
Инференс модели возможен с Transformers , в vLLM и в webUI Gradio.
# Clone repo
git clone https://github.com/infinigence/Infini-Megrez-Omni.git
cd Infini-Megrez-Omni
# Create conda env
conda create -n Megrez-Omni -y
conda activate Megrez-Omni
# Install dependencies
pip install -r requirements.txt
# Run webUI
python gradio_app.py --model_path {model_path} --port {port}
@ai_machinelearning_big_data
#AI #ML #MMLM #Megrez3BOmni
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍9🔥6😁2
Apollo - набор MMLM, которые умеют решать разные задачи с видеоконтентом. Они могут понимать длинные видео, рассуждать о событиях во времени и поддерживать многосторонние видео-диалоги.
Модели показывают высокую производительность даже при относительно небольшом размере в 3 млрд. параметров, превосходя по эффективности конкурентов с моделями в 7В-30В параметров.
Этого удалось достичь благодаря тщательному проектированию и комбинированию SigLIP-SO400M (для изображений) и InternVideo2 (для видео). Их синергия дает более устойчивое представление на задачах временных рассуждений.
⚠️ Код для тонкой настройки, применение LoRA в Apollo и документацию разработчики обещают опубликовать позднее. Пока в репозитории проекта размещен только пример инференса на Transformers.
@ai_machinelearning_big_data
#AI #ML #MMLM #Apollo
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥10❤7🤔1
Научить робота уверенно брать предметы - это, кажется, вечная тема в робототехнике. Несмотря на десятилетия исследований, надежные и универсальные системы захвата до сих пор остаются скорее теорией, чем реальностью.
Стоит копнуть глубже стандартных демо, и выясняется, что на сложных бенчмарках, FetchBench например, точность лучших систем едва дотягивает до 20%. Это фундаментальный барьер, мешающий внедрять роботов в реальные, неструктурированные среды.
GraspGen - фреймворк для генерации 6-DOF захватов, который не только показывает SOTA результаты, но и вводит новый, крайне интересный подход к обучению.
В его основе лежит связка из генератора на базе Diffusion Transformer и дискриминатора, знакомая всем по GAN-ам архитектура, но с важным отличием.
Генератор, получив на вход облако точек объекта, предлагает множество вариантов захвата, а дискриминатор оценивает их качество и отсеивает неудачные.
И вот тут-то и кроется основная идея, которую в NVIDIA назвали «On-Generator Training». Вместо того чтобы обучать дискриминатор на заранее собранном офлайн-датасете из "хороших" и "плохих" захватов, его учат непосредственно на тех ошибках, которые генерирует его подопечный - диффузионная модель.
Иными словами, дискриминатор становится экспертом не в захватах вообще, а в типичных промахах конкретного генератора. Он учится распознавать и отбраковывать именно те ложноположительные варианты, которые сам генератор считает удачными, но которые на самом деле приведут к провалу. Такой подход создает мощную и целенаправленную обратную связь.
Разработчики выпустили симулированный датасет, содержащий более 53 млн. примеров захватов для 3 разных типов манипуляторов, включая параллельные захваты и вакуумные присоски.
В симуляции на сете ACRONYM GraspGen показывает AUC (площадь под кривой точность-покрытие) 0.94, это больше ближайших конкурентов на 48%.
На комплексном бенче FetchBench он обошел предыдущих лидеров M2T2 и Contact-GraspNet на 7.8% и 16.9% соответственно.
Но самое главное - это тесты на реальном железе. В экспериментах с роботом UR10 в зашумленной среде GraspGen достиг общей успешности в 81.3%, в то время как M2T2 и AnyGrasp показали лишь 52.6% и 63.7%.
Код, веса моделей и датасет уже доступны на GitHub и Hugging Face.
Авторы позаботились об энтузиастах: есть подробные инструкции по установке через Docker или pip, готовые демо-скрипты, позволяющие визуализировать захваты для своих облаков точек или 3D-моделей буквально в несколько команд.
Более того, GraspGen изначально спроектирован как модульная и расширяемая система. Разработчики предоставляют подробный туториал, который объясняет, как генерировать данные и обучать модели для совершенно новых объектов и, что важнее, новых типов манипуляторов, реализуя принцип BYOD.
Интеграция с симулятором Isaac Lab для еще более продвинутой генерации данных и возможность дообучения на реальных данных.
@ai_machinelearning_big_data
#AI #ML #Robotics #GraspGen #NVIDIA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63❤35👍24😁4🎉3👨💻1
Google Research придумали новый способ сделать большие языковые модели быстрее и дешевле.
Что это такое:
Сначала отвечает маленькая модель. Если задача слишком сложная - подключается большая. Так экономятся ресурсы, но качество может прыгать.
Маленькая модель угадывает сразу несколько слов вперёд. Большая быстро проверяет данные и подтверждает. Скорость выше, но большая модель всё равно тратит много ресурсов.
Это комбинация: маленькая модель иногда отвечает полностью сама, а иногда используется как ускоритель для большой. В итоге получаем меньше затрат, больше скорости и то же качество.
- быстрее, чем обычная спекулятивная декодировка
- дешевле и качественнее, чем каскады
- удобнее настраивать баланс «скорость ↔ качество»
При том же уровне качества, что и у спекулятивной декодировки, новый метод работает быстрее (генерирует больше токенов за один вызов большой модели).
А в задачах математических рассуждений получен явный апгрейд по скорости при сохранении или даже улучшении качества.
LLM всё чаще используются в поиске, чатах, ассистентах. Чтобы они реально были полезными, их нужно ускорять и удешевлять. *Speculative cascades* помогают это сделать без потери качества.
🔗 Подробнее: https://research.google/blog/speculative-cascades-a-hybrid-approach-for-smarter-faster-llm-inference/
@ai_machinelearning_big_data
#AI #LLM #Inference #SpeculativeDecoding #Cascades #GoogleResearch
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥47❤22👍14😁4