| |
| |
| |
| |
| |
| |
| |
|
|
| set -euo pipefail |
|
|
| ROOT=/home/bbabajan/nanochat-ar |
| NANO=$ROOT/nanochat |
| export NANOCHAT_BASE_DIR=$ROOT/nanochat_cache |
| export NANOCHAT_DTYPE=bfloat16 |
| export OMP_NUM_THREADS=1 |
| export WANDB_MODE=offline |
| export TORCHDYNAMO_DISABLE=1 |
| export TORCH_COMPILE_DISABLE=1 |
| export CUDA_MODULE_LOADING=LAZY |
| export HF_DATASETS_OFFLINE=1 |
| export TRANSFORMERS_OFFLINE=1 |
|
|
| cd "$ROOT" |
| source "$NANO/.venv_project7/bin/activate" |
|
|
| echo "PROJECT7_FINALIZE_START $(date -u +%Y-%m-%dT%H:%M:%SZ)" |
| echo "HOST=$(hostname)" |
| echo "NANOCHAT_BASE_DIR=$NANOCHAT_BASE_DIR" |
| python - <<'PY' |
| import os, torch |
| print("torch", torch.__version__) |
| print("cuda_available", torch.cuda.is_available()) |
| print("cuda_device", torch.cuda.get_device_name(0) if torch.cuda.is_available() else "none") |
| print("base_dir", os.environ.get("NANOCHAT_BASE_DIR")) |
| PY |
|
|
| python scripts/07_make_arabic_sft.py \ |
| --input "$ROOT/data_clean/train.txt" \ |
| --output "$ROOT/data/arabic_sft_generated.jsonl" \ |
| --max-examples 2000 |
|
|
| python scripts/07_patch_chat_sft_custom.py |
|
|
| cd "$NANO" |
| export PROJECT7_CUSTOM_SFT_JSONL="$ROOT/data/arabic_sft_generated.jsonl" |
|
|
| echo "PROJECT7_BASE_EVAL_START $(date -u +%Y-%m-%dT%H:%M:%SZ)" |
| python -m scripts.base_eval \ |
| --eval bpb,sample \ |
| --model-tag ar-d12-eager \ |
| --step 50 \ |
| --device-batch-size 4 \ |
| --split-tokens 131072 |
| echo "PROJECT7_BASE_EVAL_DONE $(date -u +%Y-%m-%dT%H:%M:%SZ)" |
|
|
| echo "PROJECT7_SFT_START $(date -u +%Y-%m-%dT%H:%M:%SZ)" |
| python -m scripts.chat_sft \ |
| --run dummy \ |
| --model-tag ar-d12-eager \ |
| --model-step 50 \ |
| --load-optimizer 0 \ |
| --num-iterations 30 \ |
| --max-seq-len 1024 \ |
| --device-batch-size 2 \ |
| --total-batch-size 32768 \ |
| --eval-every 15 \ |
| --eval-tokens 32768 \ |
| --chatcore-every -1 \ |
| --mmlu-epochs 0 \ |
| --gsm8k-epochs 0 |
| echo "PROJECT7_SFT_DONE $(date -u +%Y-%m-%dT%H:%M:%SZ)" |
|
|
| echo "PROJECT7_FINAL_OUTPUTS" |
| find "$NANOCHAT_BASE_DIR" -maxdepth 3 -type f \( -name 'model_*.pt' -o -name 'meta_*.json' -o -name '*.md' \) -printf "%p|%s|%TY-%Tm-%Td %TH:%TM\n" | sort |
| echo "PROJECT7_FINALIZE_DONE $(date -u +%Y-%m-%dT%H:%M:%SZ)" |
|
|