-
-
Save viliamvolosv/fdd641d77721a48bf38225d088683d07 to your computer and use it in GitHub Desktop.
Settings for qlora
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{"messages": | |
[ | |
{"content":"Ты помошник писателя. ты помогаешь писателю писать главы для книги. ","role":"system"}, | |
{"content":"Напиши текс похожий на текст автора Чехов А","role":"user"}, | |
{"content":"Наступило молчание. Доктор медленно застегнул пальто и стал искать шляпу, которую он уронил, шагая.\r\n- Я вышел из себя, - бормотал он, низко нагибаясь к полу. - Совсем выпустил из виду, что вам теперь не до меня... Бог знает, чего наговорил. Вы, Ольга, не обращайте внимания.\r\nОн нашел шляпу и направился к темному углу.\r\n- Я оскорбил вас, - сказал он тихим, нежным полушёпотом. - Но еще раз умоляю вас, Ольга. Скажите мне правду. Между нами не должна стоять ложь.\r\n.. Я проговорился, и вы теперь знаете, что Петров и Куровский не составляют для меня тайны. Стало быть, вам теперь легко сказать правду.\r\nОльга Ивановна подумала и, заметно колеблясь, сказала:\n - Николай, я не лгу. Миша ваш.\r\n- Боже мой, - простонал Цветков, - так я же вам скажу еще больше: у меня хранится ваше письмо к Петрову где вы называете его отцом Миши!\r\nОльга, я знаю правду, но мне хочется слышать ее от вас! Слышите?\r\nОльга Ивановна не отвечала и продолжала плакать. Подождав ответа, Цветков пожал плечами и вышел.\r\n- Я завтра приеду, - крикнул он из передней. Всю дорогу, сидя в своей карете, он пожимал плечами и бормотал:\r\n- Как жаль, что я не умею говорить! У меня нет дара убеждать и уверять. Очевидно, она не понимает меня, если лжет! Очевидно! Как же ей обьяснить? Как?\r\nСИРЕНА\r\nПосле одного из заседаний N-ского мирового съезда судьи собрались в совещательной комнате, чтобы снять свои мундиры, минутку отдохнуть и ехать домой обедать.\r\nПредседатель съезда, очень видный мужчина с пушистыми бакенами, оставшийся по одному из только что разобранных дел \"при особом мнении\", сидел за столом и спешил записать свое мнение.\r\nУчастковый мировой судья Милкин, молодой человек с томным, меланхолическим лицом, слывущий за философа,\r\nнедовольного средой и ищущего цели жизни, стоял у окна и печально глядел во двор.\r\nДругой участковый и один из почетных уже ушли.\r\nОставшийся почетный, обрюзглый, тяжело дышащий толстяк, и товарищ прокурора, молодой немец с катаральным лицом,\r\nсидели на диванчике и ждали, когда кончит писать председатель, чтобы ехать вместе обедать.\r\nПеред ними стоял секретарь съезда Жилин, маленький человечек с бачками около ушей и с выражением сладости на лице. Медово улыбаясь и глядя на толстяка, он говорил вполголоса:\r\n- Все мы сейчас желаем кушать, потому что утомились и уже четвертый час, но это, душа моя Григорий Саввич, не настоящий аппетит.\r\nНастоящий, волчий аппетит, когда, кажется, отца родного съел бы, бывает только после физических движений,\r\nнапример, после охоты с гончими, или когда отмахаешь на обывательских верст сто без передышки.\r\nТоже много значит и воображение-с.\r\nЕжели, положим, вы едете с охоты домой и желаете с аппетитом пообедать, то никогда не нужно думать об умном; умное да ученое всегда аппетит отшибает.\r\nСами изволите знать, философы и ученые насчет еды самые последние люди и хуже их, извините, не едят даже свиньи.\r\nЕдучи домой, надо стараться, чтобы голова думала только о графинчике да закусочке.\r\nЯ раз дорогою закрыл глаза и вообразил себе поросеночка с хреном, так со мной от аппетита истерика сделалась.\r\nНу-с, а когда вы въезжаете к себе во двор, то нужно, чтобы в это время из кухни пахло чем-нибудь этаким, знаете ли...\r\n- Жареные гуси мастера пахнуть, - сказал почетный мировой, тяжело дыша.\r\n- Не говорите, душа моя Григорий Саввич, утка или бекас могут гусю десять очков вперед дать. В гусином букете нет нежности и деликатности.\r\nЗабористее всего пахнет молодой лук, когда, знаете ли, начинает поджариваться и, понимаете ли, шипит, подлец, на весь дом.\r\nНу-с, когда вы входите в дом, то стол уже должен быть накрыт, а когда сядете, сейчас салфетку за галстук и не спеша тянетесь к графинчику с водочкой.\r\nДа ее, мамочку, наливаете не в рюмку, а в какой-нибудь допотопный дедовский стаканчик из серебра или в этакий пузатенький с надписью \"его же и монаси приемлют\", и выпиваете не сразу,\r\nа сначала вздохнете, руки потрете, равнодушно на потолок поглядите, потом, этак не спеша, поднесете ее, водочку-то, к губам и - тотчас же у вас из желудка по всему телу искры.\r\n..\r\nСекретарь изобразил на своем сладком лице блаженство.\n - Искры... - повторил он, жмурясь. - Как только выпили, сейчас же закусить нужно.\r\n- Послушайте, - сказал председатель, поднимая глаза на секретаря, - говорите потише! Я из-за вас уже второй лист порчу.\r\n- Ах, виноват-с, Петр Николаич! Я буду тихо, - сказал секретарь и продолжал полушёпотом: - Ну-с, а закусить, душа моя Григорий Саввич, тоже нужно умеючи.\r\nНадо знать, чем закусывать. Самая лучшая закуска, ежели желаете знать, селедка.\r\nСъели вы ее кусочек с лучком и с горчичным соусом, сейчас же, благодетель мой, пока еще чувствуете в животе искры, кушайте икру саму по себе или, ежели желаете, с лимончиком,\r\nпотом простой редьки с солью, потом опять селедки, но всего лучше, благодетель, рыжики соленые, ежели их изрезать мелко, как икру, и, понимаете ли, с луком, с прованским маслом.\r\n.. объедение! Но налимья печенка - это трагедия!\r\n- М-да... - согласился почетный мировой, жмуря глаза. - Для закуски хороши также, того... душоные белые грибы...\r\n- Да, да, да... с луком, знаете ли, с лавровым листом и всякими специями. Откроешь кастрюлю, а из нее пар, грибной дух...\r\nдаже слеза прошибает иной раз! Ну-с, как только из кухни приволокли кулебяку, сейчас же, немедля, нужно вторую выпить.\r\n- Иван Гурьич! - сказал плачущим голосом председатель. - Из-за вас я третий лист испортил!\r\n- Чёрт его знает, только об еде и думает! - проворчал философ Милкин, делая презрительную гримасу. - Неужели, кроме грибов да кулебяки, нет других интересов в жизни?\r\n- Ну-с, перед кулебякой выпить, - продолжал секретарь вполголоса; он уже так увлекся, что, как поющий соловей, не слышал ничего, кроме собственного голоса.\r\n- Кулебяка должна быть аппетитная, бесстыдная, во всей своей наготе, чтоб соблазн был.\r\nПодмигнешь на нее глазом, отрежешь этакий кусище и пальцами над ней пошевелишь вот этак, от избытка чувств.\r\nСтанешь ее есть, а с нее масло, как слезы, начинка жирная, сочная, с яйцами, с потрохами, с луком...\r\nСекретарь подкатил глаза и перекосил рот до самого уха. Почетный мировой крякнул и, вероятно, воображая себе кулебяку, пошевелил пальцами.\r\n- Это чёрт знает что... - проворчал участковый, отходя к другому окну.\r\n- Два куска съел, а третий к щам приберег, - продолжал секретарь вдохновенно. - Как только кончили с кулебякой, так сейчас же, чтоб аппетита не перебить, велите щи подавать.\r\n.. Щи должны быть горячие, огневые. Но лучше всего, благодетель мой, борщок из свеклы на хохлацкий манер, с ветчинкой и с сосисками.\r\nК нему подаются сметана и свежая петрушечка с укропцем.\r\nВеликолепно также рассольник из потрохов и молоденьких почек, а ежели любите суп, то из супов наилучший, который засыпается кореньями и зеленями:\r\nморковкой, спаржей, цветной капустой и всякой тому подобной юриспруденцией.\r\n- Да, великолепная вещь...\r\n- вздохнул председатель, отрывая глаза от бумаги, но тотчас же спохватился и простонал: - Побойтесь вы бога! Этак я до вечера не напишу особого мнения! Четвертый лист порчу!\r\n- Не буду, не буду! Виноват-с! - извинился секретарь и продолжал шепотом: - Как только скушали борщок или суп, сейчас же велите подавать рыбное, благодетель.\r\nИз рыб безгласных самая лучшая - это жареный карась в сметане; только, чтобы он не пах тиной и имел тонкость, нужно продержать его живого в молоке целые сутки.\r\n- Хорошо также стерлядку кольчиком, - сказал почетный мировой, закрывая глаза, но тотчас же,\r\nнеожиданно для всех, он рванулся с места, сделал зверское лицо и заревел в сторону председателя:\r\n- Петр Николаич, скоро ли вы?\r\nНе могу я больше ждать! Не могу!\r\n- Дайте мне кончить!\r\n- Ну, так я сам поеду! Чёрт с вами!\r\nТолстяк махнул рукой, схватил шляпу и, не простившись, выбежал из комнаты. Секретарь вздохнул и, нагнувшись к уху товарища прокурора, продолжал вполголоса:\r\n- Хорош также судак или карпий с подливкой из помидоров и грибков.\r\nНо рыбой не насытишься, Степан Францыч; это еда несущественная, главное в обеде не рыба, не соусы, а жаркое. Вы какую птицу больше обожаете?\r\nТоварищ прокурора сделал кислое лицо и сказал со вздохом:\n - К несчастью, я не могу вам сочувствовать: у меня катар желудка.\r\n- Полноте, сударь! Катар желудка доктора выдумали! Больше от вольнодумства да от гордости бывает эта болезнь.\r\nВы не обращайте внимания. Положим, вам кушать не хочется или тошно, а вы не обращайте внимания и кушайте себе.\r\nЕжели, положим, подадут к жаркому парочку дупелей, да ежели прибавить к этому куропаточку или парочку перепелочек жирненьких,\r\nто тут про всякий катар забудете, честное благородное слово.\r\nА жареная индейка? Белая, жирная, сочная этакая, знаете ли, вроде нимфы...\r\n- Да, вероятно, это вкусно, - сказал прокурор, грустно улыбаясь. - Индейку, пожалуй, я ел бы.\r\n- Господи, а утка?\r\nЕсли взять молодую утку, которая только что в первые морозы ледку хватила, да изжарить ее на противне вместе с картошкой,\r\nда чтоб картошка была мелко нарезана, да подрумянилась бы, да чтоб утиным жиром пропиталась, да чтоб.\r\n..\r\nФилософ Милкин сделал зверское лицо и, по-видимому, хотел что-то сказать, но вдруг причмокнул губами, вероятно,\r\nвообразив жареную утку, и, не сказав ни слова, влекомый неведомою силой, схватил шляпу и выбежал вон.\r\n- Да, пожалуй, я поел бы и утки... - вздохнул товарищ прокурора.\r\nПредседатель встал, прошелся и опять сел.\r\n- После жаркого человек становится сыт и впадает в сладостное затмение, - продолжал секретарь.\r\n- В это время и телу хорошо и на душе умилительно. Для услаждения можете выкушать рюмочки три запеканочки.\r\nПредседатель крякнул и перечеркнул лист.\n - Я шестой лист порчу, - сказал он сердито. - Это бессовестно!\r\n- Пишите, пишите, благодетель! - зашептал секретарь. - Я не буду! Я потихоньку.\r\nЯ вам по совести, Степан Францыч, - продолжал он едва слышным шёпотом, - домашняя самоделковая запеканочка лучше всякого шампанского.\r\nПосле первой же рюмки всю вашу душу охватывает обоняние, этакий мираж, и кажется вам, что вы не в кресле у себя дома, а где-нибудь в Австралии, на каком-нибудь мягчайшем страусе...\r\n- Ах, да поедемте, Петр Николаич! - сказал прокурор, нетерпеливо дрыгнув ногой.\r\n- Да-с, - продолжал секретарь.\r\n- Во время запеканки хорошо сигарку выкурить и кольца пускать, и в это время в голову приходят такие мечтательные мысли,\r\nбудто вы генералиссимус или женаты на первейшей красавице в мире, и будто эта красавица плавает целый день перед вашими окнами в этаком бассейне с золотыми рыбками.\r\nОна плавает, а вы ей: \"Душенька, иди поцелуй меня!\"\r\n- Петр Николаич! - простонал товарищ прокурора.\r\n- Да-с, - продолжал секретарь. - Покуривши, подбирайте полы халата и айда к постельке! Этак ложитесь на спинку, животиком вверх, и берите газетку в руки.\r\nКогда глаза слипаются и во всем теле дремота стоит, приятно читать про политику:\r\nтам, глядишь, Австрия сплоховала, там Франция кому-нибудь не потрафила, там папа римский наперекор пошел - читаешь, оно и приятно.\r\nПредседатель вскочил, швырнул в сторону перо и обеими руками ухватился за шляпу. Товарищ прокурора, забывший о своем катаре и млевший от нетерпения, тоже вскочил.\r\n- Едемте! - крикнул он.\n - Петр Николаич, а как же особое мнение, - испугался секретарь. - Когда же вы его, благодетель, напишете? Ведь вам в шесть часов в город ехать!\r\nПредседатель махнул рукой и бросился к двери. Товарищ прокурора тоже махнул рукой и, подхватив свой портфель, исчез вместе с председателем.\r\nСекретарь вздохнул, укоризненно поглядел им вслед и стал убирать бумаги.\r\nСВИРЕЛЬ\r\nРазморенный духотою еловой чащи, весь в паутине и в хвойных иглах, пробирался с ружьем к опушке приказчик из Дементьева хутора, Мелитон Шишкин.\r\nЕго Дамка - помесь дворняги с сеттером - необыкновенно худая и беременная, поджимая под себя мокрый хвост, плелась за хозяином и всячески старалась не наколоть себе носа.\r\nУтро было нехорошее, пасмурное. С деревьев, окутанных легким туманом, и с папоротника сыпались крупные брызги, лесная сырость издавала острый запах гнили.\r\nВпереди, где кончалась чаща, стояли березы, а сквозь их стволы и ветви видна была туманная даль. Кто-то за березами играл на самоделковой, пастушеской свирели.\r\nИгрок брал не более пяти-шести нот, лениво тянул их, не стараясь связать их в мотив, но тем не менее в его писке слышалось что-то суровое и чрезвычайно тоскливое.\r\nКогда чаща поредела и елки уже мешались с молодой березой, Мелитон увидел стадо. Спутанные лошади, коровы и овцы бродили между кустов и, потрескивая сучьями, обнюхивали лесную траву.\r\nНа опушке, прислонившись к мокрой березке, стоял старик пастух, тощий, в рваной сермяге и без шапки. Он глядел в землю, о чем-то думал и играл на свирели, по-видимому, машинально.\r\n- Здравствуй, дед! Бог на помощь! - приветствовал его Мелитон тонким, сиплым голоском, который совсем не шел к его громадному росту и большому, мясистому лицу.\r\n- А ловко ты на дудочке дудишь! Чье стадо пасешь?\r\n- Артамоновское, - нехотя ответил пастух и сунул свирель за пазуху.\r\n- Стало быть, и лес артамоновский? - спросил Мелитон, оглядываясь. - И впрямь артамоновский, скажи на милость... Совсем было заблудился. Всю харю себе в чепыге исцарапал.\r\nОн сел на мокрую землю и стал лепить из газетной бумаги папиросу.\r\nПодобно жиденькому голоску, всё у этого человека было мелко и не соответствовало его росту, ширине и мясистому лицу:\r\nи улыбка, и глазки, и пуговки, и картузик, едва державшийся на жирной стриженой голове.\r\nКогда он говорил и улыбался, то в его бритом, пухлом лице и во всей фигуре чувствовалось что-то бабье, робкое и смиренное.\r\n- Ну, погода, не дай бог! - сказал он и покрутил головой. - Люди еще овса не убрали, а дождик словно нанялся, бог с ним.\r\nПастух поглядел на небо, откуда моросил дождь, на лес, на мокрую одежду приказчика, подумал и ничего не сказал.\r\n- Всё лето такое было... - вздохнул Мелитон. - И мужикам плохо, и господам никакого удовольствия.\r\nПастух еще раз поглядел на небо, подумал и сказал с расстановкой, точно разжевывая каждое слово:","role":"assistant"} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# script parameters | |
model_id: "IlyaGusev/saiga_llama3_8b" # Hugging Face model id | |
dataset_path: "." # path to dataset | |
max_seq_len: 8000 # 2048 # max sequence length for model and packing of the dataset | |
# training parameters | |
output_dir: "./saiga_llama3_8b_rubooks_2" # Temporary output directory for model checkpoints | |
report_to: "tensorboard" # report metrics to tensorboard | |
learning_rate: 0.0002 # learning rate 2e-4 | |
lr_scheduler_type: "constant" # learning rate scheduler | |
num_train_epochs: 10 # number of training epochs | |
per_device_train_batch_size: 4 # batch size per device during training | |
per_device_eval_batch_size: 4 # batch size for evaluation | |
gradient_accumulation_steps: 4 # number of steps before performing a backward/update pass | |
optim: paged_adamw_8bit # use torch adamw optimizer | |
logging_steps: 10 # log every 10 steps | |
save_strategy: epoch # save checkpoint every epoch | |
eval_strategy: epoch # evaluate every epoch | |
max_grad_norm: 0.3 # max gradient norm | |
warmup_ratio: 0.5 # warmup ratio | |
bf16: true # use bfloat16 precision | |
tf32: true # use tf32 precision | |
gradient_checkpointing: true # use gradient checkpointing to save memory | |
# FSDP parameters: https://huggingface.co/docs/transformers/main/en/fsdp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
from dataclasses import dataclass, field | |
import os | |
import random | |
import torch | |
from datasets import load_dataset | |
from transformers import AutoTokenizer, TrainingArguments | |
from trl.commands.cli_utils import TrlParser | |
from transformers import ( | |
AutoModelForCausalLM, | |
AutoTokenizer, | |
BitsAndBytesConfig, | |
set_seed, | |
) | |
from trl import setup_chat_format | |
from peft import LoraConfig | |
from trl import ( | |
SFTTrainer) | |
# Comment in if you want to use the Llama 3 instruct template but make sure to add modules_to_save | |
# LLAMA_3_CHAT_TEMPLATE="{% set loop_messages = messages %}{% for message in loop_messages %}{% set content = '<|start_header_id|>' + message['role'] + '<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' %}{% if loop.index0 == 0 %}{% set content = bos_token + content %}{% endif %}{{ content }}{% endfor %}{% if add_generation_prompt %}{{ '<|start_header_id|>assistant<|end_header_id|>\n\n' }}{% endif %}" | |
# Anthropic/Vicuna like template without the need for special tokens | |
LLAMA_3_CHAT_TEMPLATE = ( | |
"{% for message in messages %}" | |
"{% if message['role'] == 'system' %}" | |
"{{ message['content'] }}" | |
"{% elif message['role'] == 'user' %}" | |
"{{ '\n\nHuman: ' + message['content'] + eos_token }}" | |
"{% elif message['role'] == 'assistant' %}" | |
"{{ '\n\nAssistant: ' + message['content'] + eos_token }}" | |
"{% endif %}" | |
"{% endfor %}" | |
"{% if add_generation_prompt %}" | |
"{{ '\n\nAssistant: ' }}" | |
"{% endif %}" | |
) | |
# ACCELERATE_USE_FSDP=1 FSDP_CPU_RAM_EFFICIENT_LOADING=1 torchrun --nproc_per_node=4 ./scripts/run_fsdp_qlora.py --config llama_3_70b_fsdp_qlora.yaml | |
_PATH = os.path.expanduser('~/parfiriy/booksdata') | |
@dataclass | |
class ScriptArguments: | |
dataset_path: str = field( | |
default=_PATH, | |
metadata={ | |
"help": "Path to the dataset" | |
}, | |
) | |
model_id: str = field( | |
default=None, metadata={"help": "Model ID to use for SFT training"} | |
) | |
max_seq_length: int = field( | |
default=512, metadata={"help": "The maximum sequence length for SFT Trainer"} | |
) | |
_PATH = os.path.expanduser('~/parfiriy/booksdata') | |
def training_function(script_args, training_args): | |
################ | |
# Dataset | |
################ | |
train_dataset = load_dataset( | |
"json", | |
data_files=os.path.join(_PATH, "train_dataset.json"), | |
split="train", | |
) | |
test_dataset = load_dataset( | |
"json", | |
data_files=os.path.join(_PATH, "test_dataset.json"), | |
split="train", | |
) | |
val_dataset = load_dataset( | |
"json", | |
data_files=os.path.join(_PATH, "validation_dataset.json"), | |
split="train", | |
) | |
################ | |
# Model & Tokenizer | |
################ | |
# Tokenizer | |
tokenizer = AutoTokenizer.from_pretrained(script_args.model_id, use_fast=True) | |
tokenizer.pad_token = tokenizer.eos_token | |
tokenizer.chat_template = LLAMA_3_CHAT_TEMPLATE | |
# template dataset | |
def template_dataset(examples): | |
return{"text": tokenizer.apply_chat_template(examples["messages"], tokenize=False)} | |
train_dataset = train_dataset.map(template_dataset, remove_columns=["messages"]) | |
test_dataset = test_dataset.map(template_dataset, remove_columns=["messages"]) | |
val_dataset = val_dataset.map(template_dataset, remove_columns=["messages"]) | |
# Model | |
torch_dtype = torch.bfloat16 | |
quant_storage_dtype = torch.bfloat16 | |
quantization_config = BitsAndBytesConfig( | |
load_in_8bit= True, | |
bnb_4bit_use_double_quant=True, | |
bnb_4bit_quant_type="nf4", | |
bnb_4bit_compute_dtype=torch_dtype, | |
#device_map="auto", | |
#torch_dtype = torch_dtype, | |
bnb_4bit_quant_storage=quant_storage_dtype, | |
) | |
model = AutoModelForCausalLM.from_pretrained( | |
script_args.model_id, | |
quantization_config=quantization_config, | |
torch_dtype=quant_storage_dtype, | |
use_cache=False if training_args.gradient_checkpointing else True, # this is needed for gradient checkpointing | |
) | |
model.eval() | |
if training_args.gradient_checkpointing: | |
model.gradient_checkpointing_enable() | |
################ | |
# PEFT | |
################ | |
peft_config = LoraConfig( | |
r=8, | |
lora_alpha=32, | |
lora_dropout=0.05, | |
bias="none", | |
target_modules="all-linear", | |
task_type="CAUSAL_LM", | |
# modules_to_save = ["lm_head", "embed_tokens"] # add if you want to use the Llama 3 instruct template | |
) | |
model.train() | |
################ | |
# Training | |
################ | |
trainer = SFTTrainer( | |
model=model, | |
train_dataset=train_dataset, | |
eval_dataset = val_dataset, | |
args=training_args, | |
dataset_text_field="text", | |
peft_config=peft_config, | |
max_seq_length=script_args.max_seq_length, | |
tokenizer=tokenizer, | |
packing=True, | |
dataset_kwargs={ | |
"add_special_tokens": False, # We template with special tokens | |
"append_concat_token": False, # No need to add additional separator token | |
}, | |
) | |
if trainer.accelerator.is_main_process: | |
trainer.model.print_trainable_parameters() | |
########################## | |
# Train model | |
########################## | |
checkpoint = None | |
if training_args.resume_from_checkpoint is not None: | |
checkpoint = training_args.resume_from_checkpoint | |
trainer.train(resume_from_checkpoint=checkpoint,) | |
########################## | |
# SAVE MODEL FOR SAGEMAKER | |
########################## | |
if trainer.is_fsdp_enabled: | |
trainer.accelerator.state.fsdp_plugin.set_state_dict_type("FULL_STATE_DICT") | |
trainer.save_model() | |
if __name__ == "__main__": | |
parser = TrlParser((ScriptArguments, TrainingArguments)) | |
script_args, training_args = parser.parse_args_and_config() | |
# set use reentrant to False | |
if training_args.gradient_checkpointing: | |
training_args.gradient_checkpointing_kwargs = {"use_reentrant": True} | |
# set seed | |
set_seed(training_args.seed) | |
# launch training | |
training_function(script_args, training_args) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment