Bifurcado em https://github.com/mallorbc/gptneox20b_huggingface. Executa a inferência para GPT Neox 20B e Opt-30b
Idealmente, você tem uma ou mais GPUs que totalizam 48 GB de VRAM ou mais.
No entanto, mesmo se não o fizer, você ainda pode executar o modelo, levará muito mais tempo.
Por exemplo, correr com um 3090 em vez de dois levaria cerca de 10 minutos para gerar 100 tokens vs 10-30 segundos se você o executasse um GPUs.
Se você não tiver VRAM suficiente, precisa ter certeza de que tem RAM suficiente para compensar isso.
Se você deseja baixar os pesos da maneira que eu faço, precisará de aproximadamente 50 GB de VRAM para os pesos Float16 ou BFLOAT16. Se você deseja usar o BFLOAT16, precisa garantir que a CPU e a GPU o suporte.
Requer uma ou mais GPUs que totalizam 70 GB de VRAM ou mais. Semelhante ao GPT-Neox, o modelo ainda se encaixará na CPU, mas o OptDecoderLayer é dolorosamente lento usando a inferência da CPU.
pip3 install -r requirements.txt
python3 main.py # for GPT NeoX 20B
# or alternatively
python3 main_opt.py # for OPT-30B
Existem duas bandeiras, cada uma pode ser vista com -h
Use o sinalizador --fp16 para carregar e salvar os pesos no modo Float16.
Use o sinalizador --bf16 para carregar e salvar os pesos no modo BFLOAT16.
Use o BFLOAT16 quando puder o melhor.
Ao funcionar, o modelo sempre será lançado para o BFLOAT16, a menos que sua GPU/CPU não possa lidar com isso. Você pode desejar um comportamento diferente.