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
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ ReproModel — набор no-code инструментов для обучения и тестирования AI-моделей.

ReproModel — GUI, который упрощает эффективность исследований, предоставляя стандартизированные модели, загрузчики данных и процедуры обработки.
Он включает в себя полный спектр уже существующих бенчмарков, экстрактор кода и дескриптор LLM.

Этот набор инструментов помогает исследователям модульно структурировать свою разработку и сравнивать производительность каждого этапа конвейера воспроизводимым способом.
По заявлению разработчика, инструмент помогает сократить время разработки, расчета и обучение модели как минимум на 40%.

*️⃣Лицензирование: MIT License
*️⃣Для локального запуска необходим NodeJS
*️⃣Для локального запуска генератора методологий необходима Ollama

🖥 GitHub [ Stars: 35 | Issues: 0 | Forks: 1 ]
🟡 Демо видео на Youtube

#opensource #train #LLM #SOTA
Please open Telegram to view this post
VIEW IN TELEGRAM
👍298🔥4
🌟Adam-mini: облегченная версия оптимизатора Adam.

Основная идея Adam-mini заключается в том, что матрица Гессиана нейронных сетей, особенно трансформеров, имеет почти блочно-диагональную структуру. Такая структура подразумевает, что для оптимальной работы различных блоков может потребоваться разная скорость обучения.

Adam-mini решает эту проблему, разбивая параметры модели на блоки по наименьшим плотным подблокам в матрице Гессиана. Каждому блоку присваивается одна скорость обучения. Скорость обучения для каждого блока в Adam-mini определяется путем усреднения значений вектора импульса второго порядка Adam (v) в пределах этого блока.

Эта методика сокращает количество необходимых LR, что приводит к значительной экономии памяти. Например, на LLM Adam-mini может сократить до 90% LR, по сравнению с Adam, что в итоге экономит использования памяти на 45-50 %.

Эффективность Adam-mini была проверена сравнением с показателями AdamW в различных сценариях:

Pre-training: на Llama2-7B Adam-mini сокращает использование памяти на 48,04 %, сохраняя при этом сопоставимые с AdamW потери при проверке.

SFТ и RLHF: превосходит AdamW в задачах на основе LoRA и RLHF, удерживая низкое значение perplexity.

Non-LLM Tasks: в задачах, не связанных с LLM - модели СV, ResNet, диффузионные модели, GCN и GAT демонстрирует сравнимую или лучшую производительность, чем AdamW, при этом используя меньше памяти.

Пропускная способность: при предварительном обучении Llama2-7B на 2×A800-80GB Adam-mini показывает производительность на 49,6 % выше, чем AdamW, экономя при этом 33,1 % времени.

▶️Текущая реализация Adam-mini поддерживает популярные фреймворки:

🟢DDP distributed framework;
🟢FSDP distributed framework;
🟢DeepSpeed;
🟢Hugginface Trainer;
🟢Torchtitan.

В репозитории проекта представлены примеры кода для SFT и RLHF претрейна LLM:

🟠GPT2 (125M-1.5B), NanoGPT codebase на фреймворке DDP
🟠Llama3-8B, Torchtitan code base на фреймворке FSDP
🟠SFT и RLHF Llama2-7B, ReMax codebase на фреймворке DeepSpeed

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

# # import from source
git clone https://github.com/zyushun/Adam-mini
cd Adam-mini
pip install -e .

# Then use Adam-mini optimizer as follows
from adam_mini import Adam_mini

optimizer = Adam_mini(
named_parameters = model.named_parameters(),
lr = lr,
betas = (beta1,beta2),
eps = eps,
weight_decay = weight_decay,
model_sharding = True,
dim = model_config.dim,
n_heads = model_config.n_heads,
n_kv_heads = model_config.n_kv_heads,
)
# all the hyperparameters, including learning rate (lr), weight_decay, beta1, beta2, eps, its recommend using the same values as for AdamW



🟡Arxiv
🖥Github [ Stars: 226 | Issues: 8 | Forks: 9]


@ai_machinelearning_big_data

#AI #ML #Adam #Pytorch #Train
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35🔥196😍1🐳1
🌟 StackFLOW: Монокулярная реконструкция пары "человек-объект" с использованием многоуровневого нормализующего потока со смещениями.

Техническая реализация метода реконструкции состоит из двух фаз: моделирование пространственных отношений и реконструкция человека-объекта в моделируемом пространстве.

Кодирование пространственных отношений пары человек-объект выполняется методом "Human-Object Offset". Для каждой пары вычисляются смещения между всеми якорными точками человека и объекта.
Эти смещения позволяют захватить высоко детализированную корреляцию между частями человека и объекта, обеспечивая качественное кодирование 3D пространственных отношений между ними.

Затем выполняется монокулярная реконструкция человека и объекта методом "Stacked Normalizing Flow (StackFLOW)".
Для вывода апостериорного распределения пространственных отношений между человеком и объектом из изображения, вносятся векторные корректировки в позу человека и положение объекта, максимизируя правдоподобие выборок и минимизируя потери репроекции 2D-3D соответствия.

В процессе разработки метода, StackFLOW сравнивали с существующими методиками реконструкции PHOSA, CHORE и BSTRO на наборах данных BEHAVE и InterCap.
По результатам StackFLOW показал конкурентоспособные результаты.


В репозитории проекта размещены три варианта запуска проекта локально (демонстрация с окклюзиями, демонстрация оптимизации с несколькими объектами и демо с оптимизацией полной последовательности) подробные инструкции по самостоятельной тренировке и оценке на датасетах BEHAVE и InterCap.

📌 Внимательно прочитайте инструкции к каждому типу запуска, трейн-коду и оценочному запуску!


🟡Страница проекта
🟡Модель
🟡Arxiv
🖥Github [ Stars: 8 | Issues: 2 | Forks: 1]


@ai_machinelearning_big_data

#AI #3D #Reconstruction #VideoTo3D #ML
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍157🥰31
⚡️ 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
🌟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
🌟 LeLaN: метод обучения политики навигации для роботов с помощью видео из реальной среды.

LeLaN - метод, использующий модели Owl-ViT2 и OpenVLA для маркировки видеоданных из реальной среды с помощью языковых инструкций для навигации по объектам.

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

LeLaN использует аннотации VLM для маркировки видеоданных из различных источников: наборы данных о навигации роботов, видеоролики с экскурсиями с YouTube и данные из носимых видеорегистраторов. Эти аннотации предоставляют инструкции, охватывающие широкий спектр объектов с разной степенью детализации в их описаниях.

В процессе обучения политика навигации оптимизируется по трем направлениям:

🟢достижение целевого объекта;

🟢предотвращение столкновений;

🟢плавность скорости.

После обучения LeLaN была проведена серия экспериментов из более 1000 испытаний, проведенных в реальных условиях.

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

Код, предлагаемый в репозитории LeLaN, разбит на две части: обучение модели на собственных данных и локальное развертывание с предварительно обученными моделями LeLaN на роботизированной платформе с NVIDIA Jetson Orin.

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

# Clone repository:
git clone https://github.com/NHirose/learning-language-navigation.git

# Set up the conda env:
conda env create -f train/train_lelan.yml
conda activate lelan

# Install the lelan packages:
pip install -e train/

# Install the `diffusion_policy` package:
git clone [email protected]:real-stanford/diffusion_policy.git
pip install -e diffusion_policy/

# Training lelan w/o collision avoidance
python train.py -c ./config/lelan.yaml


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


🟡Страница проекта
🟡Набор моделей
🟡Датасет
🟡Демо видео на Youtube
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Navigation #Robotics
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍11🔥5