You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ColossalAI/examples/language/grok-1
Hongxin Liu 7f8b16635b
[misc] refactor launch API and tensor constructor (#5666)
7 months ago
..
README.md [fix] fix grok-1 example typo (#5506) 8 months ago
grok1_policy.py [example] add grok-1 inference (#5485) 8 months ago
inference.py [hotfix] fix typo s/get_defualt_parser /get_default_parser (#5548) 8 months ago
inference_tp.py [misc] refactor launch API and tensor constructor (#5666) 7 months ago
requirements.txt [example] update Grok-1 inference (#5495) 8 months ago
run_inference_fast.sh [fix] fix grok-1 example typo (#5506) 8 months ago
run_inference_slow.sh [fix] fix grok-1 example typo (#5506) 8 months ago
test_ci.sh [example] add grok-1 inference (#5485) 8 months ago
utils.py [hotfix] fix typo s/get_defualt_parser /get_default_parser (#5548) 8 months ago

README.md

Grok-1 Inference

  • 314 Billion Parameter Grok-1 Inference Accelerated by 3.8x, an easy-to-use Python + PyTorch + HuggingFace version for Inference.

[code] [blog] [HuggingFace Grok-1 PyTorch model weights] [ModelScope Grok-1 PyTorch model weights]

Installation

# Make sure you install colossalai from the latest source code
git clone https://github.com/hpcaitech/ColossalAI.git
cd ColossalAI
pip install .
cd examples/language/grok-1
pip install -r requirements.txt

Inference

You need 8x A100 80GB or equivalent GPUs to run the inference.

We provide two scripts for inference. run_inference_fast.sh uses tensor parallelism provided by ColossalAI, which is faster for generation, while run_inference_slow.sh uses auto device provided by transformers, which is relatively slower.

Command example:

./run_inference_fast.sh <MODEL_NAME_OR_PATH>
./run_inference_slow.sh <MODEL_NAME_OR_PATH>

MODEL_NAME_OR_PATH can be a model name from Hugging Face model hub or a local path to PyTorch-version model checkpoints. We have provided pytorch-version checkpoint on HuggingFace model hub, named hpcai-tech/grok-1. And you could also download the weights in advance using git:

git lfs install
git clone https://huggingface.co/hpcai-tech/grok-1

It will take, depending on your Internet speed, several hours to tens of hours to download checkpoints (about 600G!), and 5-10 minutes to load checkpoints when it's ready to launch the inference. Don't worry, it's not stuck.

Performance

For request of batch size set to 1 and maximum length set to 100:

Method Initialization-Duration(sec) Average-Generation-Latency(sec)
ColossalAI 431.45 14.92
HuggingFace Auto-Device 426.96 48.38
JAX 147.61 56.25

Tested on 8x80G NVIDIA H800.