| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| set -euo pipefail |
|
|
| |
| BASE_MODEL="Qwen/Qwen3-8B" |
| DATASET="nraptisss/TMF921-intent-to-config-augmented" |
| OUTPUT_DIR="./output" |
| HUB_MODEL_ID="" |
|
|
| |
| EPOCHS=3 |
| LR=1e-4 |
| BATCH_SIZE=4 |
| GRAD_ACCUM=8 |
| MAX_LENGTH=4096 |
| LORA_R=32 |
| LORA_ALPHA=64 |
|
|
| |
| EVAL_SAMPLES=200 |
| |
|
|
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" |
| echo "β TMF921 Intent Translation β Training Pipeline β" |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" |
|
|
| |
| echo "" |
| echo "Checking GPU β¦" |
| nvidia-smi --query-gpu=name,memory.total --format=csv,noheader || { |
| echo "ERROR: No NVIDIA GPU found. Exiting." |
| exit 1 |
| } |
|
|
| |
| echo "" |
| echo "Installing dependencies β¦" |
| pip install -r requirements.txt 2>&1 | tail -5 |
|
|
| |
| if [ -n "${HF_TOKEN:-}" ]; then |
| echo "" |
| echo "Logging in to Hugging Face β¦" |
| huggingface-cli login --token "$HF_TOKEN" --add-to-git-credential |
| fi |
|
|
| |
| if [ "${1:-}" != "--eval-only" ]; then |
| echo "" |
| echo "Starting training β¦" |
| python train.py \ |
| --base_model "$BASE_MODEL" \ |
| --dataset "$DATASET" \ |
| --output_dir "$OUTPUT_DIR" \ |
| --epochs $EPOCHS \ |
| --lr $LR \ |
| --batch_size $BATCH_SIZE \ |
| --grad_accum $GRAD_ACCUM \ |
| --max_length $MAX_LENGTH \ |
| --lora_r $LORA_R \ |
| --lora_alpha $LORA_ALPHA \ |
| ${HUB_MODEL_ID:+--push_to_hub --hub_model_id "$HUB_MODEL_ID"} |
| fi |
|
|
| |
| echo "" |
| echo "Starting evaluation β¦" |
| python evaluate.py \ |
| --base_model "$BASE_MODEL" \ |
| --adapter_path "$OUTPUT_DIR" \ |
| --dataset "$DATASET" \ |
| --num_samples $EVAL_SAMPLES \ |
| --output_file "${OUTPUT_DIR}/eval_results.json" |
|
|
| echo "" |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" |
| echo "β β
Pipeline complete! β" |
| echo "β Model: ${OUTPUT_DIR} β" |
| echo "β Metrics: ${OUTPUT_DIR}/eval_results.json β" |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" |
|
|