|
|
|
"""AutoTrain_LLM.ipynb |
|
Automatically generated by Colab. |
|
Original file is located at |
|
https://colab.research.google.com/github/huggingface/autotrain-advanced/blob/main/colabs/AutoTrain_LLM.ipynb |
|
""" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import os |
|
!pip install -U autotrain-advanced > install_logs.txt |
|
!autotrain setup --colab > setup_logs.txt |
|
|
|
|
|
|
|
|
|
project_name = 'my-autotrain-llm' |
|
model_name = 'abhishek/llama-2-7b-hf-small-shards' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
push_to_hub = False |
|
hf_token = "hf_XXX" |
|
hf_username = "abc" |
|
|
|
|
|
|
|
learning_rate = 2e-4 |
|
num_epochs = 1 |
|
batch_size = 1 |
|
block_size = 1024 |
|
trainer = "sft" |
|
warmup_ratio = 0.1 |
|
weight_decay = 0.01 |
|
gradient_accumulation = 4 |
|
mixed_precision = "fp16" |
|
peft = True |
|
quantization = "int4" |
|
lora_r = 16 |
|
lora_alpha = 32 |
|
lora_dropout = 0.05 |
|
|
|
os.environ["PROJECT_NAME"] = project_name |
|
os.environ["MODEL_NAME"] = model_name |
|
os.environ["PUSH_TO_HUB"] = str(push_to_hub) |
|
os.environ["HF_TOKEN"] = hf_token |
|
os.environ["LEARNING_RATE"] = str(learning_rate) |
|
os.environ["NUM_EPOCHS"] = str(num_epochs) |
|
os.environ["BATCH_SIZE"] = str(batch_size) |
|
os.environ["BLOCK_SIZE"] = str(block_size) |
|
os.environ["WARMUP_RATIO"] = str(warmup_ratio) |
|
os.environ["WEIGHT_DECAY"] = str(weight_decay) |
|
os.environ["GRADIENT_ACCUMULATION"] = str(gradient_accumulation) |
|
os.environ["MIXED_PRECISION"] = str(mixed_precision) |
|
os.environ["PEFT"] = str(peft) |
|
os.environ["QUANTIZATION"] = str(quantization) |
|
os.environ["LORA_R"] = str(lora_r) |
|
os.environ["LORA_ALPHA"] = str(lora_alpha) |
|
os.environ["LORA_DROPOUT"] = str(lora_dropout) |
|
os.environ["HF_USERNAME"] = hf_username |
|
os.environ["TRAINER"] = trainer |
|
|
|
!autotrain llm \ |
|
--train \ |
|
--model ${MODEL_NAME} \ |
|
--project-name ${PROJECT_NAME} \ |
|
--data-path data/ \ |
|
--text-column text \ |
|
--lr ${LEARNING_RATE} \ |
|
--batch-size ${BATCH_SIZE} \ |
|
--epochs ${NUM_EPOCHS} \ |
|
--block-size ${BLOCK_SIZE} \ |
|
--warmup-ratio ${WARMUP_RATIO} \ |
|
--lora-r ${LORA_R} \ |
|
--lora-alpha ${LORA_ALPHA} \ |
|
--lora-dropout ${LORA_DROPOUT} \ |
|
--weight-decay ${WEIGHT_DECAY} \ |
|
--gradient-accumulation ${GRADIENT_ACCUMULATION} \ |
|
--quantization ${QUANTIZATION} \ |
|
--mixed-precision ${MIXED_PRECISION} \ |
|
--username ${HF_USERNAME} \ |
|
--trainer ${TRAINER} \ |
|
$( [[ "$PEFT" == "True" ]] && echo "--peft" ) \ |
|
$( [[ "$PUSH_TO_HUB" == "True" ]] && echo "--push-to-hub --token ${HF_TOKEN}" ) |