mirror of
https://github.com/karpathy/nanochat.git
synced 2025-12-06 12:22:18 +00:00
Add NPROC_PER_NODE var to speedrun.sh and run1000.sh
This commit is contained in:
commit
12d995f58c
18
run1000.sh
18
run1000.sh
|
|
@ -70,18 +70,22 @@ python -m scripts.tok_eval
|
||||||
# which would decrease model performance. Possibly 2, 3 or so epochs is ~ok, but certainly not ideal and at 10+ epochs we'd
|
# which would decrease model performance. Possibly 2, 3 or so epochs is ~ok, but certainly not ideal and at 10+ epochs we'd
|
||||||
# start to overfit hard.
|
# start to overfit hard.
|
||||||
# 5) That's it, everything else (e.g. the learning rates) is adjusted automatically by the training script.
|
# 5) That's it, everything else (e.g. the learning rates) is adjusted automatically by the training script.
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- --depth=32 --device_batch_size=8 --run=$WANDB_RUN
|
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.base_loss
|
# Number of processes/GPUs to use
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.base_eval
|
NPROC_PER_NODE=8
|
||||||
|
|
||||||
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.base_train -- --depth=32 --device_batch_size=8 --run=$WANDB_RUN
|
||||||
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.base_loss
|
||||||
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.base_eval
|
||||||
|
|
||||||
# midtrain
|
# midtrain
|
||||||
# NOTE: ensure that we use the same device_batch_size here as the base training script.
|
# NOTE: ensure that we use the same device_batch_size here as the base training script.
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.mid_train -- --device_batch_size=8 --run=$WANDB_RUN
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.mid_train -- --device_batch_size=8 --run=$WANDB_RUN
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.chat_eval -- -i mid
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_eval -- -i mid
|
||||||
|
|
||||||
# sft
|
# sft
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.chat_sft -- --run=$WANDB_RUN
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_sft -- --run=$WANDB_RUN
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.chat_eval -- -i sft
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_eval -- -i sft
|
||||||
|
|
||||||
# generate final report
|
# generate final report
|
||||||
python -m nanochat.report generate
|
python -m nanochat.report generate
|
||||||
|
|
|
||||||
21
speedrun.sh
21
speedrun.sh
|
|
@ -82,12 +82,15 @@ python -m scripts.tok_eval
|
||||||
echo "Waiting for dataset download to complete..."
|
echo "Waiting for dataset download to complete..."
|
||||||
wait $DATASET_DOWNLOAD_PID
|
wait $DATASET_DOWNLOAD_PID
|
||||||
|
|
||||||
|
# Number of processes/GPUs to use
|
||||||
|
NPROC_PER_NODE=8
|
||||||
|
|
||||||
# pretrain the d20 model
|
# pretrain the d20 model
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.base_train -- --depth=20 --run=$WANDB_RUN
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.base_train -- --depth=20 --run=$WANDB_RUN
|
||||||
# evaluate the model on a larger chunk of train/val data and draw some samples
|
# evaluate the model on a larger chunk of train/val data and draw some samples
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.base_loss
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.base_loss
|
||||||
# evaluate the model on CORE tasks
|
# evaluate the model on CORE tasks
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.base_eval
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.base_eval
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Midtraining (teach the model conversation special tokens, tool use, multiple choice)
|
# Midtraining (teach the model conversation special tokens, tool use, multiple choice)
|
||||||
|
|
@ -97,15 +100,15 @@ torchrun --standalone --nproc_per_node=8 -m scripts.base_eval
|
||||||
curl -L -o $NANOCHAT_BASE_DIR/identity_conversations.jsonl https://karpathy-public.s3.us-west-2.amazonaws.com/identity_conversations.jsonl
|
curl -L -o $NANOCHAT_BASE_DIR/identity_conversations.jsonl https://karpathy-public.s3.us-west-2.amazonaws.com/identity_conversations.jsonl
|
||||||
|
|
||||||
# run midtraining and eval the model
|
# run midtraining and eval the model
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.mid_train -- --run=$WANDB_RUN
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.mid_train -- --run=$WANDB_RUN
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.chat_eval -- -i mid
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_eval -- -i mid
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Supervised Finetuning (domain adaptation to each sequence all by itself per row)
|
# Supervised Finetuning (domain adaptation to each sequence all by itself per row)
|
||||||
|
|
||||||
# train sft and re-eval right away (should see a small bump)
|
# train sft and re-eval right away (should see a small bump)
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.chat_sft -- --run=$WANDB_RUN
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_sft -- --run=$WANDB_RUN
|
||||||
torchrun --standalone --nproc_per_node=8 -m scripts.chat_eval -- -i sft
|
torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_eval -- -i sft
|
||||||
|
|
||||||
# chat with the model over CLI! Leave out the -p to chat interactively
|
# chat with the model over CLI! Leave out the -p to chat interactively
|
||||||
# python -m scripts.chat_cli -p "Why is the sky blue?"
|
# python -m scripts.chat_cli -p "Why is the sky blue?"
|
||||||
|
|
@ -118,9 +121,9 @@ torchrun --standalone --nproc_per_node=8 -m scripts.chat_eval -- -i sft
|
||||||
# (optional)
|
# (optional)
|
||||||
|
|
||||||
# run reinforcement learning
|
# run reinforcement learning
|
||||||
# torchrun --standalone --nproc_per_node=8 -m scripts.chat_rl -- --run=$WANDB_RUN
|
# torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_rl -- --run=$WANDB_RUN
|
||||||
# eval the RL model only on GSM8K
|
# eval the RL model only on GSM8K
|
||||||
# torchrun --standalone --nproc_per_node=8 -m scripts.chat_eval -- -i rl -a GSM8K
|
# torchrun --standalone --nproc_per_node=$NPROC_PER_NODE -m scripts.chat_eval -- -i rl -a GSM8K
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# Generate the full report by putting together all the sections
|
# Generate the full report by putting together all the sections
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user