𝗤𝘂𝗮𝗻𝘁𝗶𝘇𝗮𝗻𝗱𝗼 𝗠𝗼𝗱𝗲𝗹𝗼𝘀 𝗲𝗺 𝘂𝗺𝗮 𝗚𝗣𝗨 𝗱𝗲 𝗟𝗮𝗽𝘁𝗼𝗽 𝗱𝗲 𝟲 𝗚𝗕
Tentei encaixar grandes modelos de linguagem em uma GPU de laptop RTX 3050. Esta placa tem apenas 6 GB de VRAM. Eu queria ver quais modelos funcionam com quantização de 4 bits e quais falham.
Usei um único script para quantizar três modelos:
- Phi-3.5-mini (3.8B)
- Llama-3.2-3B
- Qwen2.5-3B (VibeThinker)
Os Resultados: Phi e Llama funcionaram bem. O Phi passou de 7,6 GB para 2,2 GB em 34 minutos. Llama e VibeThinker seguiram um caminho semelhante. Esses modelos cabem facilmente.
Depois, tentei o Qwen2.5-7B. Ele falhou. O processo travou na segunda camada com um erro de Out of Memory.
Por que falhou: A quantização GPTQ constrói uma matriz Hessiana para cada camada. Para um modelo de 7B, esse cálculo exige mais memória do que uma placa de 6 GB oferece. Tentei várias correções:
- Datasets de calibração menores: Sem alteração.
- Offloading de Hessians para a CPU: Durou mais, mas ainda travou.
- Usar AWQ em vez de GPTQ: Travou no mesmo lugar.
- Usar apenas a CPU: Funciona, mas é muito lento. Leva cerca de 16 minutos por camada.
Principais Conclusões para GPUs Pequenas:
- Espere uma redução de 3x no tamanho do modelo.
- Mire em um limite de 3 a 4 bilhões de parâmetros para quantização em GPU.
- Fique atento ao seu orçamento de KV. Mesmo que os tamanhos dos arquivos sejam semelhantes, a memória usada durante a inferência varia.
- A quantização usa mais memória do que o serving. Monitore a RAM do seu sistema durante o processo.
Comparação de Modelos (W4A16): • Phi-3.5-mini: 2,27 GB | 68,7 tok/s • Llama-3.2-3B: 2,26 GB | 66,0 tok/s • VibeThinker-3B: 2,07 GB | 43,9 tok/s
Todos os três modelos lidaram corretamente com matemática básica e lógica de números primos após a quantização.
Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi