ColossalAI/examples/language/gpt/titans
Hongxin Liu 554aa9592e
[legacy] move communication and nn to legacy and refactor logger (#4671)
* [legacy] move communication to legacy (#4640)

* [legacy] refactor logger and clean up legacy codes (#4654)

* [legacy] make logger independent to gpc

* [legacy] make optim independent to registry

* [legacy] move test engine to legacy

* [legacy] move nn to legacy (#4656)

* [legacy] move nn to legacy

* [checkpointio] fix save hf config

* [test] remove useledd rpc pp test

* [legacy] fix nn init

* [example] skip tutorial hybriad parallel example

* [devops] test doc check

* [devops] test doc check
2023-09-11 16:24:28 +08:00
..
configs [hotfix] gpt example titans bug #2493 (#2494) 2023-01-18 12:04:18 +08:00
dataset [legacy] move builder and registry to legacy (#4603) 2023-09-05 21:53:10 +08:00
model [legacy] move communication and nn to legacy and refactor logger (#4671) 2023-09-11 16:24:28 +08:00
LICENSE
README.md [doc] fix GPT tutorial (#2860) 2023-02-22 10:58:52 +08:00
requirements.txt
run.sh [hotfix] gpt example titans bug #2493 (#2494) 2023-01-18 12:04:18 +08:00
test_ci.sh
train_gpt.py [legacy] move trainer to legacy (#4545) 2023-09-05 21:53:10 +08:00

README.md

Run GPT With Colossal-AI

How to Prepare Webtext Dataset

You can download the preprocessed sample dataset for this demo via our Google Drive sharing link.

You can also avoid dataset preparation by using --use_dummy_dataset during running.

Run this Demo

Use the following commands to install prerequisites.

# assuming using cuda 11.3
pip install -r requirements.txt

Use the following commands to execute training.

#!/usr/bin/env sh
# if you want to use real dataset, then remove --use_dummy_dataset
# export DATA=/path/to/small-gpt-dataset.json'

# run on a single node
colossalai run --nproc_per_node=<num_gpus> train_gpt.py --config configs/<config_file> --from_torch --use_dummy_dataset

# run on multiple nodes
colossalai run --nproc_per_node=<num_gpus> \
   --master_addr <hostname> \
   --master_port <port-number> \
   --hosts <list-of-hostname-separated-by-comma> \
   train_gpt.py \
   --config configs/<config_file> \
   --from_torch \
   --use_dummy_dataset

# run on multiple nodes with slurm
srun python \
   train_gpt.py \
   --config configs/<config_file> \
   --host <master_node> \
   --use_dummy_dataset

You can set the <config_file> to any file in the configs folder. To simply get it running, you can start with gpt_small_zero3_pp1d.py on a single node first. You can view the explanations in the config file regarding how to change the parallel setting.