Extraído das perguntas que as pessoas realmente nos fazem no chat e nos tickets, aproximadamente na ordem em que são feitas. As duas primeiras são as que determinam se uma compra será bem-sucedida.
- Quanta memória de GPU um modelo de linguagem grande precisa?
- Os pesos são a contagem de parâmetros multiplicada pelos bytes por parâmetro: dois bytes em 16 bits, um em 8 bits e metade em 4 bits. Um modelo com 7 a 8 bilhões de parâmetros requer 16 GB de pesos em 16 bits, 8 GB em 8 bits e 5 GB em 4 bits; um modelo com 70 bilhões de parâmetros requer 140 GB, 70 GB e 38 GB, respectivamente. Esses valores referem-se apenas aos pesos e são um limite mínimo, não um requisito — considere um adicional de 25% a 50% para o tempo de execução, as ativações e o cache de chave-valor.
- Por que meu modelo carrega, mas não funciona?
- Porque os pesos não são a única coisa na memória do cartão. O ambiente de execução e seus buffers residem na memória, e cada token em uma conversa deixa uma entrada no cache de chave-valor para que não precise ser recalculado. Esse cache cresce com o comprimento do contexto e novamente a cada solicitação atendida simultaneamente, portanto, um modelo cujos pesos se encaixam no limite comportará aproximadamente uma conversa curta. Dimensione o cartão para um tamanho entre uma vez e um quarto e uma vez e meia o número de pesos.
- Qual ambiente de execução de inferência posso instalar?
- Qualquer uma delas. A máquina chega com um sistema operacional e root limpos, e não há nenhum serviço de inferência de fornecedor instalado. O vLLM é a resposta usual para lidar com tráfego real, pois o processamento em lote contínuo permite que uma placa responda a várias solicitações simultaneamente. O llama.cpp é a resposta usual quando a memória é limitada ou a placa é mais antiga. TGI e SGLang funcionam sem alterações. O Ollama é o caminho mais curto de uma máquina vazia para um modelo respondendo em uma porta. Você define o driver, a versão do CUDA ou ROCm e o framework para as versões com as quais seu código foi testado.
- Quantos tokens por segundo eu vou receber?
- Não divulgamos um valor de tokens por segundo, pois cada número desse tipo depende do modelo, da quantização, do ambiente de execução e sua versão, do tamanho do lote, do comprimento da solicitação, do comprimento da resposta e da concorrência, e alterar qualquer um desses fatores o altera significativamente. O que o rege: a leitura da solicitação é limitada pelo poder computacional e ocorre uma vez por requisição; a geração da resposta é limitada pela largura de banda da memória, pois cada token requer a leitura dos pesos; e o processamento em lotes dilui essa leitura entre as requisições simultâneas, o que torna o serviço econômico até que o cache de chave-valor fique sem espaço. Para obter uma resposta baseada em nossas observações, consulte o modelo, a quantização e a concorrência esperada.
- A placa de vídeo é compartilhada com mais alguém?
- Não. Um único locatário por máquina física, e a placa é repassada para o seu próprio sistema operacional. Não há hipervisor, partição MIG, perfil vGPU ou agendador de fatiamento de tempo, portanto, nada mais é executado na placa e a latência de inferência não é afetada por um trabalho em lote de outra pessoa.
- E se o modelo não couber em um único cartão?
- Nesse caso, trata-se de uma configuração com várias placas de vídeo, cujo valor é cotado em vez de ser encomendado diretamente no caixa: a quantidade de placas que cabem depende da largura física da placa específica e da capacidade de energia do gabinete. Duas placas só oferecem a soma da memória delas se o sistema operacional puder dividir o modelo entre ambas, o que todo sistema operacional robusto suporta, embora com alguma perda de desempenho. Mais de uma placa ou máquina definem essa configuração.
- O ajuste fino requer mais memória do que o serviço?
- Consideravelmente mais. O saque precisa dos pesos; o treinamento precisa dos pesos, dos gradientes e do estado do otimizador para cada parâmetro que está sendo atualizado, todos residentes simultaneamente, além das ativações mantidas para a retropropagação. Um modelo que saca confortavelmente em uma única carta pode ser várias vezes grande demais para ser totalmente ajustado nela. Métodos com uso eficiente de parâmetros atualizam uma pequena fração dos parâmetros e precisam de uma fração correspondentemente pequena da memória extra, razão pela qual a maior parte do ajuste fino aqui utiliza apenas uma carta.
- Posso usar uma placa de vídeo AMD? E o ROCm funciona?
- Sim. As placas AMD Instinct estão entre as que possuem maior capacidade de memória e geralmente oferecem o melhor custo-benefício por gigabyte, mas seu sistema precisa ser compatível com ROCm em vez de CUDA. A maioria dos runtimes de inferência atuais é compatível; algumas ferramentas complementares ainda não. Consulte-nos antes de fazer o pedido e verificaremos a compatibilidade com seu runtime específico, em vez de responder de forma genérica.