https://github.com/mallorbc/gptneox20b_huggingface에서 포크. GPT Neox 20B 및 OPT-30B에 대한 추론을 실행합니다
이상적으로는 총 48GB의 VRAM 이상의 하나 이상의 GPU가 있습니다.
그러나 여전히 모델을 실행할 수 없더라도 훨씬 더 오래 걸립니다.
예를 들어, 2 개가 아닌 1 개의 3090으로 실행하면 1 개의 GPU를 달리면 100 초의 토큰 대 10-30 초를 생성하는 데 약 10 분이 걸립니다.
VRAM이 충분하지 않은 경우 RAM이 충분한 지 확인해야합니다.
내가하는 방식대로 가중치를 다운로드하려면 float16 또는 bfloat16 가중치에 대해 대략 50GB의 VRAM이 필요합니다. Bfloat16을 사용하려면 CPU 및 GPU가 지원해야합니다.
70GB의 VRAM 이상의 총 1 개 이상의 GPU가 필요합니다. GPT-Neox와 마찬가지로이 모델은 여전히 CPU에 적합하지만 OptDecoderLayer는 CPU 추론을 사용하여 고통스럽게 느립니다.
pip3 install -r requirements.txt
python3 main.py # for GPT NeoX 20B
# or alternatively
python3 main_opt.py # for OPT-30B
두 개의 깃발이 있으며 각각 -h 로 볼 수 있습니다.
--fp16 플래그를 사용하여 Float16 모드로 가중치를로드하고 저장하십시오.
--bf16 플래그를 사용하여 BFLOAT16 모드로 가중치를로드하고 저장하십시오.
더 나은 경우 bfloat16을 사용하십시오.
실행할 때 GPU/CPU가 처리 할 수 없다면 모델은 항상 BFloat16에 캐스팅됩니다. 당신은 다른 행동을 원할 수 있습니다.