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

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

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

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
🌟 XTuner Release V0.1.22: Обновление суперэффективного фреймворка для тонкой настройки LLMs.

XTuner - это простой, гибкий и полнофункциональный набор инструментов для тонкой настройки больших моделей (LLM, VLM) практически на всех GPU (от 7B LLM на 8 Gb VRAM до 70B+ на многоузловых GPU).

Обновление V0.1.22:
🟠улучшен контроль за памятью;
🟠улучшена поддержка Sequence Parallelism в Preference Alignment ;
🟠исправлено более 10 ошибок предыдущей версии;
🟠добавлена поддержка internlm2.5;
🟠добавлена поддержка DatasetInfoHook в DPO;
🟠добавлен конфиг minicpm для sft, qlora, lora и DPO.

С учетом обновления XTuner поддерживает:

*️⃣Mодели: InternLM2 / 2.5, Liama 2/3, Phi-3, ChatGLM 2/3, QWen, Mixtral, DeepSeek V2, Gemma, Baichuan 2.

*️⃣SFT Датасеты: MSAgent-Bench, MOSS-003-SFT, Alpaca, WizardLM, oasst1, Open-Platypus, Code Alpaca, Colorist, Arxiv GenTitle, Chinese Law, OpenOrca, Medical Dialogue.

*️⃣Дата Пайплайны: Incremental Pre-training, Single-turn Conversation SFT, Multi-turn Conversation SFT.

*️⃣Алгоритмы: QLoRA, LoRA, Full parameter fine-tune, DPO, ORPO, Reward Model.


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

# It is recommended to build a Python-3.10 virtual environment using conda
conda create --name xtuner-env python=3.10 -y
conda activate xtuner-env

# Install XTuner from source
git clone https://github.com/InternLM/xtuner.git
cd xtuner
pip install -e '.[all]'

# Step 0, prepare the config
xtuner list-cfg

# Step 1, start fine-tuning
xtuner train ${CONFIG_NAME_OR_PATH}

# For example, we can start the QLoRA fine-tuning of InternLM2.5-Chat-7B with oasst1 dataset by
# On a single GPU
xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --deepspeed deepspeed_zero2

# On multiple GPUs
(DIST) NPROC_PER_NODE=${GPU_NUM} xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --deepspeed deepspeed_zero2

(SLURM) srun ${SRUN_ARGS} xtuner train internlm2_5_chat_7b_qlora_oasst1_e3 --launcher slurm --deepspeed deepspeed_zero2

# Step 2, convert the saved PTH model (if using DeepSpeed, it will be a directory) to Hugging Face model
xtuner convert pth_to_hf ${CONFIG_NAME_OR_PATH} ${PTH} ${SAVE_PATH}


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


🟡Страница проекта
🖥Github [ Stars: 3.4K | Issues: 122 | Forks: 274]


@ai_machinelearning_big_data

#AI #FineTuning #LLM #XTuner #ML
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍234🔥3
⚡️ Q-GaLore: алгоритм обучения и файнтюна LLM с экономией памяти.

Q-GaLore - набор методик, который значительно оптимизирует использование памяти при сохранении высокой производительности за счет техник, полученных в результате наблюдения за поведением стабилизации слоев и устойчивости матриц проекции к квантованию:

🟢адаптивного обновления подпространств (увеличение интервала между операциями SVD и, как следствие, сокращение их числа на 60%);
🟢квантовании весов и матриц в проекции (хранение весов модели в INT8, использовании 4-битных матриц проекции и применение стохастического округления для аппроксимации траектории обучения с высокой точностью)
🟢применении метода fused backward operation в совокупности с 8-битным оптимизатором Adam.

Совокупность этих техник позволяет проводить полнопараметрическое обучение при меньших затратах памяти, например, обучение модели LLaMA-7B с нуля на одном NVIDIA RTX 4060 Ti с использованием всего 16 ГБ памяти.

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


# # Install via conda
conda env create - f environment.yml

# or Install Q-GaLore optimizer and experiment dependencies

# install from pip
pip install q-galore-torch

# or install from source:
git clone https://github.com/VITA-Group/Q-GaLore.git
cd Q-GaLore
pip install -e

pip install -r exp_requirements.txt


Пример конфига для претрейга LLaMa на с4 датасете

Пример конфига для претрейна LLaMA-7B на 16 GB VRAM

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


Arxiv
Video from Open AGI Summit
Github [ Stars: 3.4K | Issues: 122 | Forks: 274]


@ai_machinelearning_big_data

#AI #FineTuning #LLM #QGalore #ML
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍14🔥6
🌟 SaRA: эффективный файнтюн диффузионных моделей с помощью разреженной низкоранговой адаптации.

Sparse Low Rank Adaptation (SaRA) - метод дополнительного обучения для диффузионных моделей, который использует "неэффективные" параметры с наименьшими абсолютными значениями в предобученной модели.

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

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

Чтобы предотвратить переобучение, которое может возникнуть из-за сильной способности к представлению разреженных матриц, в SaRA используется функция потерь на основе ядерной нормы (nuclear norm-based) для ограничения ранга обучаемых матриц.

Для более плотного использования "неэффективных" параметров, используется прогрессивная стратегия настройки параметров процесса файнтюна - на более поздних этапах обучения происходит повторный выбор "неэффективных" параметров для повышения адаптивности модели.

Для решения проблемы высокого потребления VRAM, характерной для методов selective PEFT, SaRA использует алгоритм «неструктурного обратного распространения ошибки». Этот алгоритм хранит и обновляет градиенты только для обучаемых параметров, значительно сокращая использование памяти во время обучения.

Проведенные эксперименты на моделях Stable Diffusion (14, 1.5, 2.0, 3.0) демонстрируют эффективность SaRA в сравнении с другими методами файнтюна:

🟢LoRA: экономия 52% VRAM;

🟢LT-SFT: экономия 45% VRAM.

⚠️ Метод был успешно протестирован на venv : Python 3.9.5 и CUDA 11.8. Подробный туториал разработчик обещает выложить в репозиторий на Github до 30 сентября 2024 г.

В планах проекта - поддержка Dreambooth и Animatediff. Сроки по реализации планов не уточняются.

▶️Использование SaRA :

# easily employ SaRA to finetune the model by modifying a single line of code:
from optim import adamw
model = Initialize_model()
optimizer = adamw(model,threshold=2e-3) # <-modify this line only
for data in dataloader:
model.train()
model.save()

# Save and load only the trainable parameters
optimizer = adamw(model,threshold=2e-3)
optimizer.load($path_to_save)
torch.save(optimizer.save_params(),$path_to_save)



🟡Страница проекта
🟡Arxiv
🖥Github


@ai_machinelearning_big_data

#AI #ML #Finetuning #Diffusers #SaRA
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍127🔥4👏3