170 похожих чатов

А можно использовать адаптеры для finetuning обычных бертов на большом

количестве данных? Сейчас стандартный файн тюнинг обучение занимает 12 часов, если обучать адаптеры будет выигрыш по времени? Будет просадка по качеству?

10 ответов

24 просмотра

Так можно файнтюнить последний классификационный слой

По коду вроде что-то такое: for name, param in model.named_parameters(): if 'classifier' not in name: param.requires_grad = False

Alexander- Автор вопроса
datascience xc
Так можно файнтюнить последний классификационный с...

Это будет то же самое что адаптеры? Я так понимаю что примерно тоже, но на адаптерах будет больше весов

вроде адаптеры не дают выигрыша по времени, но по памяти в этой статье перечислены способы уменьшения времени обучения https://huggingface.co/docs/transformers/main/en/perf_train_gpu_one

Просадка по качеству будет, но скорее всего не значительная. А время обучения в теории может сократиться только за счёт большего батча. На практике +- такое же (потому что есть ещё пропускная способность карточки)

И вообще что такое 12 часов? Не месяц же

Alexander- Автор вопроса
Эмиль Шакиров
И вообще что такое 12 часов? Не месяц же

Хочется взять например 10 бертов разных пообучать, взять разные гиперпараметры, заморозить разные слои. То есть хочется много раз запустить обучение, так и на месяц уйдёт

Alexander
Хочется взять например 10 бертов разных пообучать,...

Ну, покупай больше ГПУ. Только так реально ускорить обучение кратно) Int8 быстрее обучение не сделает (если у тебя не H100) Лора с тем же батчем только медленнее сделает Fp16 сделает быстрее обучение, но не кратно

Эмиль Шакиров
Ну, покупай больше ГПУ. Только так реально ускорит...

lora позволяет учить с большим батчем потому что не все градиенты будут считаться + потому что можно загрузить основную сеть в int8 fp16 у меня ускоряет обучение примерно кратно) т.е. в 2 раза

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта