Репозиторий Github облачного хостинг-провайдера Lambda Labs c исчерпывающим руководством по лучшим практикам распределенного обучения, диагностике часто возникающих ошибок, эффективном использовании доступных ресурсов и приемам логгирования в stdout/stderr и wandb.
Вопросы, на которые отвечает это руководство:
🟢Как обновить скрипт обучения/файнтюна на одном GPU для работы на нескольких GPU или нескольких нодах?
🟢Как диагностировать зависания/ошибки, возникающие во время обучения?
🟢Моя модель слишком велика для одного GPU - как мне обучить/настроить ее на кластере?
🟢Как запланировать и запустить обучение на кластере?
🟢Как масштабировать гиперпараметры при увеличении числа воркеров?
Руководство состоит из последовательных глав, каждая из которых содержит
readme и скрипт train_llm.py. В
readme содержатся описания глав, а каждый из обучающих скриптов нацелен на обучение каузальной языковой модели.▶️ Структура:
🟠Один GPU;
🟠Несколько GPU на одной ноде;
🟠Несколько GPU на нескольких нодах;
🟠Запуск заданий;
🟠Шардинг между GPU (deepspeed);
🟠Шардинг между GPU (FSDP);
🟠Обучение 405B модели;
🟠Диагностика ошибок;
🟠Дополнительные темы (детерминизм, эффективность batch-size и LR, Gradient accumulation и др.).
▶️Локальное использование репозитория:
# Clone repo
git clone https://github.com/LambdaLabsML/distributed-training-guide.git
# Create venv
cd distributed-training-guide
python3 -m venv venv
source venv/bin/activate
python -m pip install -U pip
pip install -U setuptools wheel
pip install -r requirements.txt
📌Лицензирование : MIT License.
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #LLM #Github #Guide
