Início Tecnologia Trabalho relacionado: Vattention in LLM Inferência Otimização da paisagem

Trabalho relacionado: Vattention in LLM Inferência Otimização da paisagem

6
0

Resumo e 1 Introdução

2 Antecedentes

2.1 Modelos de idiomas grandes

2.2 Fragmentação e Pagedattion

3 problemas com o modelo Pagedattion e 3.1 requer reescrever o kernel de atenção

3.2 adiciona redundância na estrutura de servir e 3.3 sobrecarga de desempenho

4 Insights sobre sistemas de porção de LLM

5 Vattion: design do sistema e 5.1 Visão geral do design

5.2 Aproveitando suporte de CUDA de baixo nível

5.3 Servindo LLMs com Vattion

6 Vattention: otimizações e 6.1 Mitigando a fragmentação interna

6.2 Hiding Latência de alocação de memória

7 Avaliação

7.1 Portabilidade e desempenho para preenchimento

7.2 Portabilidade e desempenho para decodificar

7.3 Eficácia da alocação de memória física

7.4 Análise da fragmentação da memória

8 Trabalho relacionado

9 Conclusão e referências

Em um trabalho recente, Gmlake [35] Mostrou que o uso de suporte de memória digital CUDA pode mitigar a fragmentação nos trabalhos de treinamento da DNN, aumentando o tamanho do lote de treinamento. Em specific, o GMLAKE usa o suporte do CUDA para coalescer várias páginas de memória física menores em um único objeto virtualmente contíguo que pode impedir erros fora da memória para alocações de objetos grandes. Por outro lado, a Vattion está focada em evitar a fragmentação para a inferência de LLM. Diferente de Treinamento, a inferência LLM é sensível à latência e requer alocações de granularidade menores. Propusemos várias otimizações específicas de inferência de LLM para atender a esses requisitos.

A otimização da inferência LLM é uma área ativa de pesquisa. Vários sistemas de agendamento foram propostos para melhorar diferentes aspectos da porção de LLM. Por exemplo, orca [47] e vllm [39] pretendem melhorar a taxa de transferência de servir com lotes eficientes. Sarathi [26] e Splitfuse [36] Divida um longo preenchimento em vários pedaços menores e mix tokens decodificadores com cada pedaço para melhorar a utilização da computação de GPU. Com base em técnicas semelhantes, Sarathi serve [25] propõe lotes livres de barraca para minimizar o impacto das iterações de pré-enchimento de longa knowledge na latência de decodificação. Splitwise [41]Distserve [49] e tetriinfer [38] Disaggre as fases de pré -preenchimento e decodifica, executando -as em diferentes réplicas, a fim de evitar interferências entre as solicitações de pré -enche e decodificar. Para inferência offline em dispositivos restritos a recursos, FlexGen [43] propuseram uma estratégia de programação e descarregamento para melhorar a taxa de transferência. FastServe [45] Minimiza os horários de conclusão do trabalho na inferência de LLM usando o agendamento preventivo.

Para que todos os sistemas acima funcionem de maneira eficaz, o uso eficiente da memória física da GPU é essencial. Desde a Vllm, a Pagedattion foi adotada em várias estruturas de servir, por exemplo, Tensorrt-llm [14]Lightllm [12] e implementações do kernel, por exemplo, em Flashattion [9] e flashinfer [11]. Por outro lado, a Vattention oferece uma abordagem alternativa para o gerenciamento dinâmico de memória de cache KV. Mostramos que o uso de suporte do sistema para paginação de demanda pode facilmente adicionar suporte dinâmico de gerenciamento de memória às implementações existentes do kernel.

Autores:

(1) Ramya Prabhu, Microsoft Analysis India;

(2) Ajay Nayak, Instituto Indiano de Ciência e contribuiu para este trabalho como estagiário da Microsoft Analysis India;

(3) Jayashree Mohan, Microsoft Analysis India;

(4) Ramachandran Ramjee, Microsoft Analysis India;

(5) Ashish Panwar, Microsoft Analysis India.

fonte

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui