Nunca bloqueie a GPU! Em uma nova postagem no blog @modal, analisamos uma das principais classes de ineficiência na inferência de IA: a sobrecarga do host. Incluímos três casos em que trabalhamos com o @sgl_project para reduzir a sobrecarga do host e evmodal.com/blog/host-over…. Cada microssegundo conta. https://t.co/ZeumrZpSKE
Para inferência, gosto de pensar na GPU como um grande barco e na CPU como um navegador. O navegador precisa dizer ao barco para onde ir. Se o barco ficar parado, esperando que o navegador diga o que fazer em seguida, isso é ruim! Você está desperdiçando recursos e tempo.
A principal causa da sobrecarga do host na inferência de IA é a sincronização desnecessária com a CPU, fazendo com que o sistema espere pelo navegador.
Mecanismos de produção como o @sgl_project evitam os casos mais óbvios de sincronização entre host e dispositivo. Encontramos dois casos especiais em que um pouco de engenhosidade poderia evitar uma sincronização: - construindo algumas representações de posição no dispositivo - Recalculando alguns comprimentos de página do cache KV no host
Relações Pgithub.com/sgl-project/sg…tgithub.com/sgl-project/sg…/t.co/Sc340PbB2F
Outra estratégia fundamental para reduzir a sobrecarga do host é _fundir_ kernels: transformar vários lançamentos de kernel da GPU separados em apenas um. A sobrecarga de cada lançamento é de apenas um microssegundo, mas cada microssegundo conta!
Identificamos uma operação específica que apresentava uma grande sobrecarga de inicialização do kernel em VLMs menores -- aquelas que estamos vendo serem implantadas com muito mais frequência (obrigado, @Alibaba_Qwen). Assim, utilizamos o compilador @PyTorch para fundir automaticamente os kernels, reduzindo o tempo de execução de 40 µs para 5 µs.
Detalhes neste comungithub.com/sgl-project/sg…s://t.co/gvEqTgdIth
A compilação em Torch é ótima para obter ganhos rápidos na latência de inferência em geral. Já escrevemos sobre ismodal.com/blog/flux-3x-f…/MN072QDXzz
Ainda há muitos microssegundos para economizar e muitas GPUs para livrar das amarras do código de CPU não otimizado! Mas a equipe da @modal está muito animada por já ter feito progressos que ajudam nossos clientes a oferecer aplicativos de IA interativomodal.com/blog/host-over…https://t.co/ZeumrZqqAc



