223K subscribers
3.83K photos
640 videos
17 files
4.46K links
Погружаемся в машинное обучение и Data Science

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

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

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
⚡️ FLUX: Поддержка моделей FLUX в наборах скриптов для трейна ХlabsAI и SimpleTuner.

ХlabsAI и SimpleTuner опубликовали обновления в своих наборах скриптов, добавив поддержку модели FLUX.

▶️В ХlabsAI доступна тренировка LoRA и ControlNet на Deepspeed:

LoRA for FLUX dev
accelerate launch train_flux_lora_deepspeed.py --config "train_configs/test_lora.yaml"


ControlNet for FLUX dev
accelerate launch train_flux_deepspeed_controlnet.py --config "train_configs/test_canny_controlnet.yaml"


В ближайших планах публикация весов ControlNet для FLUX:
🟢OpenPose
🟢Depth
🟢IP-Adapters

*️⃣RealismLoRA *️⃣ Canny ControlNet для FLUX *️⃣Воркфлоу с поддержкой LoRA для ComfyUI *️⃣Попробовать LoRA онлайн


▶️SimpleTuner также добавил в пакет скриптов поддержку LoRA for FLUX и скрипт обучения для квантованных моделей FLUX int8, int4, int2, fp8.

Рекомендации по ресурсам для LoRA:

🟠Rank-16 LoRA использует чуть больше 40 ГБ VRAM;
🟠GPU AMD и Apple не подходят для обучения Flux.

Наблюдения, сделанные автором SimpleTuner в ходе экспериментов:

🟠Для обучение под Schnell нужно больше времени для тренировки, результаты пока не очень;
🟠LoRA, обученная на dev отлично работает и на Schnell;
🟠Мердж 50/50 моделей dev и Schnell работает, на этом мердже можно тренировать LoRA`s;
🟠Квантованные версии FLUX позволяют использовать оптимизаторы - Prodigy, Adafactor, Dadaptation, AdamW, и AdamW8Bit;
🟠Квантование fp8 выполняется медленнее, чем int8, и может иметь худший результат из-за использования e4m3fn в Quanto;
🟠Плохое качество датасета, слишком высокий LR, неправильный выбор оптимизатора, низкое значение Network при большом датасете, использование нестандартных размеров изображений в датасете - этот все приводит к чудовищным артефактам "квадратной решетки" в результате.


🖥Github ХlabsAI [ Stars: 266 | Issues: 9 | Forks: 12]
🖥Github SimpleTuner [ Stars: 885K | Issues: 13 | Forks: 61]


@ai_machinelearning_big_data

#AI #FLUX #ML #Train #LoRA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍179🔥3
🌟Qwen2-Audio: Общайтесь с LLM помощью голоса.

Qwen2-Audio - аудио-языковых модель, которая способна принимать аудио и текст на вход и генерировать текст на выходе.

Предусмотрено два режима взаимодействия:
🟠голосовой чат: пользователи могут использовать голос для передачи инструкций модели без без ввода текста;
🟠аудио-анализ: пользователи могут предоставлять аудиоинформацию (включая речь, звук, музыку) и текстовые инструкции для анализа.

Обе опубликованные модели поддерживают 8 языков и диалектов: китайский, английский, кантонский, французский, итальянский, испанский, немецкий и японский:

🟢Qwen2-Audio-7B

🟢Qwen2-Audio-7B-Instruct

Инференс на transformers в cli возможен в нескольких режимах:

🟠простой инференс модели Qwen2-Audio;
🟠пакетный инференс (например, несколько текстовых запросов к аудиофайлу);
🟠инференс анализа аудио (в этом режиме доступны и текстовые и аудио-инструкции);
🟠инференс голосового чата.


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


# Ensure you have latest Hugging face transformers
pip install git+https://github.com/huggingface/transformers

# to build a web UI demoinstall the following packages
pip install -r requirements_web_demo.txt

# run Gradio web UI
python demo/web_demo_audio.py



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


Страница проекта
Коллекция моделей на HF
Arxiv
Сообщество в Discord
Demo
Github [ Stars: 618 | Issues: 7 | Forks: 17]

@ai_machinelearning_big_data

#AI #LLM #ML #Qwen2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍288🔥6🎉4
🌟SALSA: Стабильная адаптация линейного поиска Armijo.

SALSA (Stable Armijo Line Search Adaptation) — метод, разработанный для оптимизации Learning Rate (LR) во время обучения.
Основная концепция метода построена вокруг выполнения линейного поиска для определения наилучшего возможного LR для каждого шага обучения, что дает быструю сходимость и улучшенное обобщение.

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

Экспериментальные результаты показывают, что Salsa превосходит другие методы оптимизации: 50% сокращение final loss и 1,25 average rank в языковых и графических задачах.
Вычислительные издержки Salsa всего на 3% выше, чем у базового LR метода, что можно воспринимать как незначительным увеличением, учитывая показатели производительности. Salsa достаточно универсален, чтобы использоваться с различными оптимизаторами, и особенно эффективен при обучении современных архитектур, которые чувствительны к скорости обучения.

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

# Clone repository:
git clone https://github.com/TheMody/No-learning-rates-needed-Introducing-SALSA-Stable-Armijo-Line-Search-Adaptation.git

# Create & activate env:
conda env create -f environment.yml
conda activate sls3

# Install dependencies:
pip install pytorch numpy transformers datasets tensorflow-datasets wandb

# NOTE: custom optimizer is in \salsa\SaLSA.py,comparison version are in \salsa\adam_sls.py:
from salsa.SaLSA import SaLSA
self.optimizer = SaLSA(model.parameters())

# NOTE: typical pytorch forward pass needs to be changed to:
def closure(backwards = False):
y_pred = model(x)
loss = criterion(y_pred, y)
if backwards: loss.backward()
return loss
optimizer.zero_grad()
loss = optimizer.step(closure = closure)



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


🟡Arxiv
🟡Датасет Cifar-10
🟡Youtube video
🖥Github [ Stars: 11 | Issues: 0 | Forks: 0]


@ai_machinelearning_big_data

#AI #LLM #ML #Train #SALSA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍228🔥5
🌟Parler-TTS: качественный синтез речи по тексту на английском языке.

Parler-TTS - это модели текст-в-речь (TTS), способные генерировать качественную, естественно звучащую речь в заданном стиле (пол, тон, тип речи и т. д.).
Все датасеты обучения, предварительная обработка, код обучения и веса выпускаются публично, что даст возможность сообществу строить на нашей работе и разрабатывать свои собственные модифицированные модели TTS. Обе модели обучались на 45 тысячах часов англоязычных аудиокниг.

Parler-TTS - это авторегрессионная модель, основанная на трансформерах, которая генерирует аудиотокены в причинно-следственном порядке. Код для инференса Parler-TTS оптимизирован для быстрой генерации благодаря совместимости с SDPA и Flash Attention 2.

Архитектура Parler-TTS состоит из трех частей: текстовый кодировщик (Flan-T5), декодер и аудиокодек DAC. Текстовый кодировщик преобразует текст в скрытые состояния, декодер генерирует аудиотокены на основе этих состояний, а аудиокодек восстанавливает аудиосигнал из аудиотокенов.

Модели:

🟢Parler-TTS Mini - 880 миллионов параметров
🟢Parler-TTS Large - 2,3 миллиарда параметров

Характеристиками речи (пол, темп речи, высота тона и реверберация) можно управлять непосредственно через текстовый промпт. Например:

🟠Добавьте промпт "very clear audio" для создания аудио высокого качества, а "very noisy audio" - для высокого уровня фонового шума;
🟠Пунктуация может использоваться для управления просодией генерации - используйте запятые, чтобы добавить небольшие паузы в речь.


▶️Установка и запуск:

# Clone repository and install dependences:
pip install git+https://github.com/huggingface/parler-tts.git

# Inference with random voice
import torch
from parler_tts import ParlerTTSForConditionalGeneration
from transformers import AutoTokenizer
import soundfile as sf

device = "cuda:0" if torch.cuda.is_available() else "cpu"

model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler-tts-mini-v1").to(device)
tokenizer = AutoTokenizer.from_pretrained("parler-tts/parler-tts-mini-v1")

prompt = "Hey, how are you doing today?"
description = "A female speaker delivers a slightly expressive and animated speech with a moderate speed and pitch. The recording is of very high quality, with the speaker's voice sounding clear and very close up."

input_ids = tokenizer(description, return_tensors="pt").input_ids.to(device)
prompt_input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)

generation = model.generate(input_ids=input_ids, prompt_input_ids=prompt_input_ids)
audio_arr = generation.cpu().numpy().squeeze()
sf.write("parler_tts_out.wav", audio_arr, model.config.sampling_rate)y



📌Лицензирование : Apache-2.0 license


🟡Модель Parler-TTS Mini
🟡Модель Parler-TTS Large
🟡Arxiv
🟡Demo Video
🟡Google Collab (файнтюн)
🟡Demo
🖥Github [ Stars: 3.4K | Issues: 49 | Forks: 338]


@ai_machinelearning_big_data

#AI #Parler #ML #TTS
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥54
⚡️Forge UI FLUX Support: Крупное обновление популярного UI для Stable Diffusion.

Forge — это платформа на базе Stable Diffusion WebUI (Gradio), цель которой - упрощение разработки функций, оптимизация управления ресурсами, ускорения инференса и изучение экспериментальных функций.
Автор и основной разработчик Forge - Lvmin Zhang, создатель проектов : ControlNet, LayerDiffuse, IC-Light, OMOST, Style2Paints, Foocus и др.

Главное в обновлении:
🟢поддержка квантованных в nf4/fp4/fp8 модели FLUX dev;
🟢адаптация BitsandBytes для диффузии;
🟢ускорение инференса для всех GPU, включая low-memory и серии 20ХХ;
🟢улучшенный UI интерфейс с возможностью переключения между архитектурами (SD\SDXL\FLUX)

С обновлением поддерживаются квантованные модели Flux:

🟠flux1-dev-bnb-nf4 - модель в NF4. Рекомендуется для 30XX/40XX серий GPU NVIDIA;
🟠flux1-dev-fp8 - модель в FP8. Рекомендуется для 10XX/20XX серий GPU NVIDIA.

Преимущество NF4 по сравнению с FP8 состоит в том, что FP8 просто преобразует каждый тензор в формат FP8, в то время как NF4 преобразует каждый тензор в комбинацию нескольких тензоров с различными форматами, включая float32, float16, uint8 и int4, для достижения максимально возможного приближения. Таким образом, NF4 значительно быстрее, чем FP8.

Например, для GPU с 6 ГБ/8 ГБ VRAM ускорение составляет от 1,3x до 2,5x (pytorch 2.4, cuda 12.4) и от 1,3x до 4x (pytorch 2.1, cuda 12.1). Эти тесты проводились автором на 3070 ti (8 ГБ VRAM). FP8 - 8,3 секунды на итерацию; NF4 - 2,15 секунды на итерацию.
Так происходит потому, что NF4 использует собственный bnb.matmul_4bit, а не torch.nn.functional.linear: избегаются преобразования типов и вычисления выполняются с помощью множества низкоуровневых операций CUDA.

Чтобы ускорить работу модели FLUX, в Forge добавлен выбор параметров. Если устройство с небольшой видеопамятью, высока вероятность столкнуться с проблемой загрузки модели в видеопамять. Решением является разделение модели на две части: одна часть загружается в видеопамять, а другая - в "swap" локацию - CPU или Shared RAM.

Установив максимальный размера VRAM для модели и метод swap (Queue или ASYNC), можно достичь теоретического предела скорости работы для устройства. Корректная настройка параметров может ускорить работу модели на 30%, но требует внимательного подхода.

▶️Локальная установка:

# Open command prompt and run
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git
webui-user.bat
# Put downloaded models from HF into models/StableDiffusion



📌Лицензирование : AGPL-3.0 license


🟡Модель Flux-dev-NF4
🟡Модель Flux-dev-FP8
🖥Github [ Stars: 5.8K | Issues: 405 | Forks: 580]


@ai_machinelearning_big_data

#AI #Forge #ML #FLUX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍206🔥3👏2
⚡️Falcon Mamba: англоязычная языковая модель на архитектуре Mamba.

Falcon Mamba - модель от Technology Innovation Institute (TII, Dubai, UAE), основанная на архитектуре Mamba, которая может обрабатывать последовательности произвольной длины без увеличения памяти хранения.
Модель была обучена на ~5500GT данных RefinedWeb, качественных технических данных и экземпляров кода на разных языках программирования из открытых источников.

Архитектура модели построена на оригинальной Mamba с добавлением дополнительных слоев нормализации RMS.
Такая комбинация придает модели возможность обрабатывать последовательности любой длины без необходимости увеличения потребления памяти, вмещаясь, по сути, на одну А10 24 GB.
Falcon Mamba доступна в экосистеме Hugging Face и совместима с большинством API Hugging Face. Модель также поддерживает функцию квантование bitsandbytes, для обеспечения возможности запуска модели на небольших GPU и CPU.

Коллекция моделей FalconMamba 7B:

🟢falcon-mamba-7b
🟢falcon-mamba-7b-instruct
🟠falcon-mamba-7b-4bit
🟠falcon-mamba-7b-instruct-4bit


📌Лицензирование : TII Falcon-Mamba License 2.0


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


@ai_machinelearning_big_data

#AI #Falcon #ML #LLM #Mamba
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥87
🌟 EXAONE-3.0-7.8B-Instruct: языковая модель с открытым исходным кодом c 7,8B параметров от LG,

EXAONE-3.0-7.8B-Instruct (EXpert AI for EveryONE) основана на архитектуре Transformers, с длиной контекста в 4096 токенов. Модель использует Rotary Position Embeddings (RoPE) и Grouped Query Attention (GQA), имеет 32 слоя и размер словаря в 102 400 токенов.
Поддержка английского и корейского языков реализована с помощью специального токенизатора BBPE (byte-level byte-pair encoding), который дает низкое сжатие для корейского языка по сравнению с существующими аналогами.

Процесс обучения строился на двухэтапном режиме.
Первый этап состоял из обучения на 6 триллионах токенов для накопления общих знаний , а затем на дополнительных 2 триллионах токенов, ориентированных на более высокие языковые навыки и экспертные знания.
Для улучшения способности следовать инструкциям была применена постобработка: контролируемая тонкая настройка и оптимизация прямых предпочтений.

В реальных сценариях использования EXAONE 3.0 7,8B продемонстрировала высокие результаты в тесте MT-Bench, который коррелирует с оценками в LMSYS Chatbot Arena. Модель показала точность в математических и code задачах, заняв первое место в большинстве проведенных тестов.

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

Рекомендованная версия transformers>=4.41.0
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained(
"LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct",
torch_dtype=torch.bfloat16,
trust_remote_code=True,
device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained("LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct")

# Choose your prompt
prompt = "Explain who you are" # English example
prompt = "너의 소원을 말해봐" # Korean example

messages = [
{"role": "system", "content": "You are EXAONE model from LG AI Research, a helpful assistant."},
{"role": "user", "content": prompt}
]
input_ids = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_tensors="pt"
)

output = model.generate(
input_ids.to("cuda"),
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=128
)
print(tokenizer.decode(output[0]))



📌Лицензирование : использование разрешено исключительно в некоммерческих целях. Любое коммерческое использование модели требует отдельной лицензии от правообладателя.


🟡Страница проекта
🟡Arxiv
🟡Модель на HF
🟡Demo
🖥Github [ Stars: 123 | Issues: 0 | Forks: 5]


@ai_machinelearning_big_data

#AI #LLM #ML #EXAONE #LG
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2012🔥2👏1