Definir o resultado útil antes de buscar taxa de transferência
Em interação, meça a espera do primeiro token e a da resposta completa. Para um corpus offline, meça o tempo necessário para obter todas as saídas esperadas. Nos dois casos, defina a regra de aceitação: exatidão em respostas conhecidas, qualidade de uma classificação ou extração de campos verificada. Um JSON sintaticamente válido ainda pode conter uma resposta errada.
Separe a espera na fila, o processamento e o trajeto completo observado pelo seu cliente quando suas ferramentas permitirem. Uma medição interna ao motor não tem os mesmos limites que a da aplicação. A documentação das métricas do vLLM distingue, em particular, espera, primeiro token e duração total: conserve essa distinção nos seus registros, qualquer que seja o motor escolhido.
Fontes técnicas: vLLM — métricas de requisições e de latência
Transformar suas requisições em critérios de escolha
Prepare entradas curtas, habituais e longas com identificadores estáveis. Mantenha modelo, tokenizer, template de conversa e parâmetros de geração. Conte os tokens realmente transmitidos, incluindo o histórico e os documentos adicionados pela aplicação. Registre separadamente batch solicitado, concorrência enviada e requisições efetivamente processadas simultaneamente: não são necessariamente os mesmos números.
| Entrada a definir | Medição e unidade | Consequência para a escolha |
|---|---|---|
| Prompt completo e limite de saída | Tokens de entrada e de saída por requisição | Verificar os casos longos e as respostas cortadas no limite |
| Requisições simultâneas e ritmo de chegada | Requisições ativas, em espera e concluídas | Determinar a carga sustentável com o prazo exigido |
| Precisão, quantização e cache | Pico de memória por GPU, em bytes ou GiB | Descartar as configurações que ultrapassam a memória na carga prevista |
| Regra de qualidade e referências | Saídas aceitas / saídas esperadas; métrica de negócio | Comparar apenas as variantes que respeitam o mesmo critério |
| Escopo do cronômetro | Primeiro token, resposta completa ou corpus: segundos | Comparar durações com os mesmos limites |
| Cronograma até os arquivos recuperados | Janela total, em horas ou dias | Escolher depois um plano de 3, 7 ou 30 dias |
Medir a memória com contexto e concorrência
Para um modelo autorregressivo que gera token por token, o cache KV conserva estados de atenção. Seu tamanho depende do modelo e dos tokens mantidos. Um cache dinâmico pode crescer durante a geração; um cache estático reserva um tamanho máximo. Algumas camadas de janela deslizante limitam esse crescimento. Teste, portanto, os comprimentos e a concorrência previstos com a estratégia realmente utilizada.
A quantização dos pesos e a do cache são duas escolhas distintas. Por exemplo, o bitsandbytes substitui algumas camadas lineares por versões quantizadas; isso não descreve todas as alocações da sua execução. Após uma mudança de precisão, verifique novamente memória e qualidade em vez de supor que todo o pico diminui na mesma proporção.
Com PyTorch, registre separadamente o pico dos tensores alocados e o da memória reservada pelo alocador. Não os some. Indique a GPU medida e a unidade: 1 GiB corresponde a 2³⁰ bytes. Esses contadores não representam necessariamente toda a ocupação do dispositivo. A pasta de memória detalha seus limites.
Fontes técnicas: Hugging Face Transformers 5.17 — estratégias de cache KV · Hugging Face Transformers 5.17 — quantização bitsandbytes · PyTorch 2.14 — gestão e contadores de memória CUDA
Um ensaio mensurável sobre 300 documentos
Exemplo a realizar com seu corpus autorizado: extrair data, valor e categoria de 300 documentos. Revise os valores esperados, especifique o tratamento dos campos ausentes e defina o limiar de aceitação antes do ensaio. O número de documentos descreve o protocolo; nenhum tempo, pontuação ou taxa é presumido.
- Fixe os 300 identificadores, a revisão do modelo, os prompts, os limites de tokens e a regra de parsing. Mantenha os documentos longos identificáveis no balanço.
- Execute uma referência com uma requisição por vez. Separe carregamento, aquecimento e medição; conserve as predições e os erros por documento.
- Aumente depois um único parâmetro: batch para um processamento em lote, ou concorrência para um motor de requisições. Mantenha as mesmas entradas e critérios de qualidade.
- Para cada passagem, registre duração, pico de memória, número de identificadores recuperados sem duplicata e saídas aceitas. Repita as medições e conserve os valores brutos com sua dispersão.
- Se uma variante falhar, registre o motivo: memória, truncamento, formato ou qualidade. Um batch reduzido ou uma retomada cria uma decisão a documentar, não um fracasso a apagar.
Fontes técnicas: IteraGPU — protocolo detalhado de comparação com qualidade equivalente
Usar os recursos do IteraGPU Lab v1 no escopo correto
O notebook e seu script complementar propõem um cálculo de pesos e uma medição em uma pequena rede sintética. Seu código de medição foi executado em uma RTX 5070 local com PyTorch 2.11.0, em uma pequena configuração em float32. Esse ensaio verifica esse caso de execução; ele não mede nem um LLM, nem um cache KV, nem as GPUs do catálogo nas suas requisições.
Use o notebook para entender os contadores, depois meça sua carga real com seu ambiente. O protocolo de qualidade e a tabela bruta servem para preparar a comparação. As saídas do notebook distribuído e as linhas de resultados do CSV permanecem em branco; o procedimento não instala nenhum modelo nem driver. Leia os pré-requisitos do README antes da execução.
- Notebook de memória do IteraGPU Lab v1
Cálculos e pequena rede sintética para entender a medição de memória.
- Protocolo de qualidade a completar
Entradas fixas, aceitação das saídas e comparação dos ensaios.
- Tabela bruta em branco
Uma linha por passagem real, com parâmetros, medições e veredito.
- Pré-requisitos e limites do IteraGPU Lab v1
Instruções e escopo preciso do ensaio local já realizado.
Passar das medições para uma oferta
Sua ficha de escolha deve reunir ambiente compatível, memória por placa, contexto, concorrência, qualidade alcançada e prazos medidos. Compare as configurações que atendem a esses critérios e depois os planos de 3, 7 e 30 dias conforme o cronograma completo: preparação, processamento, avaliação, retomadas e exportação. A calculadora do dossiê de benchmarks usa o plano inteiro e corpora úteis realmente validados.
Guarde esta ficha e as versões do código no seu caderno. Você escolhe seus softwares e seus processamentos; a IteraGPU não inspeciona o conteúdo dos seus arquivos, prompts ou cálculos. Uma escolha de ambiente no pedido expressa sua necessidade de preparação: ela não constitui prova de que seu modelo já foi instalado ou testado.
Perguntas práticas
24 GB bastam para o meu modelo de inferência?
A capacidade de 24 GB não basta para responder sem conhecer o modelo e a carga. Verifique em conjunto pesos, alocações de execução, contexto e requisições simultâneas. A configuração deve concluir os casos longos com a qualidade exigida; um tamanho de arquivo ou uma estimativa dos pesos sozinha não demonstra isso.
Qual taxa de transferência comparar para um corpus offline?
Compare primeiro o tempo necessário para concluir e avaliar o mesmo corpus. Se você publicar uma taxa de transferência, informe o número de saídas úteis aceitas, o tempo considerado e os erros. Uma taxa em tokens por segundo sem comprimento de resposta nem controle de qualidade não basta para diferenciar duas configurações.
Um estouro de memória exige trocar de GPU?
Um estouro de memória exige primeiro identificar o ajuste e a entrada que o provocaram. Você pode examinar batch, concorrência, comprimento ou precisão, mantendo o objetivo do projeto. Qualquer redução que altere os documentos processados ou as respostas esperadas exige uma nova verificação de qualidade; mais memória pode ser necessária se essas restrições precisarem ser mantidas.
O notebook fornecido valida minha aplicação de inferência?
O notebook fornecido não valida sua aplicação: ele mede uma pequena rede sintética e explica os contadores de memória. O teste local documentado cobre apenas esse caso. Sua aplicação deve ser avaliada com seu modelo, suas entradas, seu ambiente e seus próprios critérios de aceitação antes de qualquer conclusão de capacidade ou de desempenho.