Skip to content

Commit

Permalink
update colabs
Browse files Browse the repository at this point in the history
  • Loading branch information
abhishekkrthakur committed Jun 20, 2024
1 parent fd6390c commit 73e0b5e
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 49 deletions.
2 changes: 1 addition & 1 deletion colabs/AutoTrain.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.14"
"version": "3.1.-1"
}
},
"nbformat": 4,
Expand Down
104 changes: 59 additions & 45 deletions colabs/AutoTrain_LLM.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,12 @@
"#@markdown - click `Runtime > Run all` or run each cell individually\n",
"#@markdown - report issues / feature requests here: https://github.com/huggingface/autotrain-advanced/issues\n",
"\n",
"\n",
"import os\n",
"!pip install -U autotrain-advanced > install_logs.txt\n",
"!autotrain setup --colab > setup_logs.txt"
"!pip install -U autotrain-advanced > install_logs.txt 2>&1\n",
"!autotrain setup --colab > setup_logs.txt\n",
"from autotrain import __version__\n",
"print(f'AutoTrain version: {__version__}')"
]
},
{
Expand Down Expand Up @@ -53,40 +56,64 @@
"\n",
"#@markdown ---\n",
"#@markdown #### Hyperparameters\n",
"unsloth = False # @param [\"False\", \"True\"] {type:\"raw\"}\n",
"learning_rate = 2e-4 # @param {type:\"number\"}\n",
"num_epochs = 1 #@param {type:\"number\"}\n",
"batch_size = 1 # @param {type:\"slider\", min:1, max:32, step:1}\n",
"block_size = 1024 # @param {type:\"number\"}\n",
"trainer = \"sft\" # @param [\"default\", \"sft\", \"orpo\"] {type:\"raw\"}\n",
"trainer = \"sft\" # @param [\"generic\", \"sft\"] {type:\"string\"}\n",
"warmup_ratio = 0.1 # @param {type:\"number\"}\n",
"weight_decay = 0.01 # @param {type:\"number\"}\n",
"gradient_accumulation = 4 # @param {type:\"number\"}\n",
"mixed_precision = \"fp16\" # @param [\"fp16\", \"bf16\", \"none\"] {type:\"raw\"}\n",
"mixed_precision = \"fp16\" # @param [\"fp16\", \"bf16\", \"none\"] {type:\"string\"}\n",
"peft = True # @param [\"False\", \"True\"] {type:\"raw\"}\n",
"quantization = \"int4\" # @param [\"int4\", \"int8\", \"none\"] {type:\"raw\"}\n",
"quantization = \"int4\" # @param [\"int4\", \"int8\", \"none\"] {type:\"string\"}\n",
"lora_r = 16 #@param {type:\"number\"}\n",
"lora_alpha = 32 #@param {type:\"number\"}\n",
"lora_dropout = 0.05 #@param {type:\"number\"}\n",
"\n",
"os.environ[\"PROJECT_NAME\"] = project_name\n",
"os.environ[\"MODEL_NAME\"] = model_name\n",
"os.environ[\"PUSH_TO_HUB\"] = str(push_to_hub)\n",
"os.environ[\"HF_TOKEN\"] = hf_token\n",
"os.environ[\"LEARNING_RATE\"] = str(learning_rate)\n",
"os.environ[\"NUM_EPOCHS\"] = str(num_epochs)\n",
"os.environ[\"BATCH_SIZE\"] = str(batch_size)\n",
"os.environ[\"BLOCK_SIZE\"] = str(block_size)\n",
"os.environ[\"WARMUP_RATIO\"] = str(warmup_ratio)\n",
"os.environ[\"WEIGHT_DECAY\"] = str(weight_decay)\n",
"os.environ[\"GRADIENT_ACCUMULATION\"] = str(gradient_accumulation)\n",
"os.environ[\"MIXED_PRECISION\"] = str(mixed_precision)\n",
"os.environ[\"PEFT\"] = str(peft)\n",
"os.environ[\"QUANTIZATION\"] = str(quantization)\n",
"os.environ[\"LORA_R\"] = str(lora_r)\n",
"os.environ[\"LORA_ALPHA\"] = str(lora_alpha)\n",
"os.environ[\"LORA_DROPOUT\"] = str(lora_dropout)\n",
"os.environ[\"HF_USERNAME\"] = hf_username\n",
"os.environ[\"TRAINER\"] = trainer"
"\n",
"conf = f\"\"\"\n",
"task: llm-{trainer}\n",
"base_model: {model_name}\n",
"project_name: {project_name}\n",
"log: tensorboard\n",
"backend: local\n",
"\n",
"data:\n",
" path: data/\n",
" train_split: train\n",
" valid_split: null\n",
" chat_template: null\n",
" column_mapping:\n",
" text_column: text\n",
"\n",
"params:\n",
" block_size: {block_size}\n",
" lr: {learning_rate}\n",
" warmup_ratio: {warmup_ratio}\n",
" weight_decay: {weight_decay}\n",
" epochs: {num_epochs}\n",
" batch_size: {batch_size}\n",
" gradient_accumulation: {gradient_accumulation}\n",
" mixed_precision: {mixed_precision}\n",
" peft: {peft}\n",
" quantization: {quantization}\n",
" lora_r: {lora_r}\n",
" lora_alpha: {lora_alpha}\n",
" lora_dropout: {lora_dropout}\n",
" unsloth: {unsloth}\n",
"\n",
"hub:\n",
" username: ${{HF_USERNAME}}\n",
" token: ${{HF_TOKEN}}\n",
" push_to_hub: {push_to_hub}\n",
"\"\"\"\n",
"\n",
"with open(\"conf.yaml\", \"w\") as f:\n",
" f.write(conf)"
]
},
{
Expand All @@ -98,28 +125,7 @@
},
"outputs": [],
"source": [
"!autotrain llm \\\n",
"--train \\\n",
"--model ${MODEL_NAME} \\\n",
"--project-name ${PROJECT_NAME} \\\n",
"--data-path data/ \\\n",
"--text-column text \\\n",
"--lr ${LEARNING_RATE} \\\n",
"--batch-size ${BATCH_SIZE} \\\n",
"--epochs ${NUM_EPOCHS} \\\n",
"--block-size ${BLOCK_SIZE} \\\n",
"--warmup-ratio ${WARMUP_RATIO} \\\n",
"--lora-r ${LORA_R} \\\n",
"--lora-alpha ${LORA_ALPHA} \\\n",
"--lora-dropout ${LORA_DROPOUT} \\\n",
"--weight-decay ${WEIGHT_DECAY} \\\n",
"--gradient-accumulation ${GRADIENT_ACCUMULATION} \\\n",
"--quantization ${QUANTIZATION} \\\n",
"--mixed-precision ${MIXED_PRECISION} \\\n",
"--username ${HF_USERNAME} \\\n",
"--trainer ${TRAINER} \\\n",
"$( [[ \"$PEFT\" == \"True\" ]] && echo \"--peft\" ) \\\n",
"$( [[ \"$PUSH_TO_HUB\" == \"True\" ]] && echo \"--push-to-hub --token ${HF_TOKEN}\" )"
"!autotrain --config conf.yaml"
]
}
],
Expand All @@ -134,8 +140,16 @@
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"version": "3.10.11"
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.14"
}
},
"nbformat": 4,
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ itsdangerous==2.2.0
seqeval==1.2.2
httpx==0.27.0
pyyaml==6.0.1
timm==1.0.3
timm==1.0.7
torchmetrics==1.4.0
pycocotools==2.0.7
sentence-transformers==3.0.0
sentence-transformers==3.0.1
2 changes: 1 addition & 1 deletion src/autotrain/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
warnings.filterwarnings("ignore", category=UserWarning, module="huggingface_hub")

logger = Logger().get_logger()
__version__ = "0.7.127"
__version__ = "0.7.128"


def is_colab():
Expand Down

0 comments on commit 73e0b5e

Please sign in to comment.