датасет, но там простой код файнтюнинга.
Я поигрался, потюнил Fred Large на это датасете. Приколько.
Собрал датасет под свою задачу. 5млн записей.
Решил потренироваться и заодно взял модель 1.7B
У меня 3090ti
Запустил обучение на датаесете в 300 примеров с размером батча 8.
Пролетело.
Я решил, что памяти хватает.
Но вот беда, если я запускаю на полном (5млн) датасете. Даже с размером батча 2.
Падает с torch.cuda.OutOfMemoryError сразу же, как встречает trainer.train
Я не могу понять почему. Подскажите что не так?
Могу получить до кучи по башке, что не сделал стриминговый DataLoader. Но обычной оперативы у меня хватает сожрать датасет.
Напишите параметры оьучениы ваши. Также длину контекста
./train.py --model_name_or_path=models --dataset_path=dataset_orig.json --output_dir=models --learning_rate=1e-02 --gradient_accumulation_steps=3 --num_train_epochs=2 --save_steps=2000 --save_total_limit=10 --optim=adafactor --seed=42 --report_to=tensorboard --logging_steps=30 --per_device_train_batch_size=2 Вот так запускал. Все эти параметры в итоге уходят в TrainerArgs Длина контекста это что? Длина самих сообщений в input? Не измерял максимальную … Но… Стоит дать датасет на все 5 млн сообщений, оно падает, как только входит в Trainer.train() Стоит обрезать датасет (взять начало) до пары миллионов - норм тренирует (на экспериментах я выжидал до пары сотен шагов и вырубал)
Обсуждают сегодня