Que funcionalidades permitem a transferência automática da GPU para a CPU num serviço de IA local?

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

O failover de GPU para CPU só funciona quando o serviço planeia antecipadamente um caminho de execução secundário compatível, antes de o esgotamento da memória interromper um pedido ativo.

Um servidor de IA doméstico pode executar transcrição, pesquisa de imagens e um LLM num único acelerador, até que um prompt longo faça a memória ultrapassar o seu limite seguro. Limitar-se a detetar um erro de falta de memória é tarde demais se o estado do modelo estiver inconsistente. Um failover fiável combina controlo de admissão, pesos compatíveis para CPU, estado de pedido transferível, filas limitadas, sinais de estado e uma política clara para o serviço degradado.

O controlo de admissão deteta a pressão antes de a alocação falhar

O gateway estima os pesos do modelo, o crescimento da cache KV, os tensores temporários, o tamanho do lote e a fragmentação da memória antes de aceitar um pedido para a GPU. Uma margem reservada protege os kernels e as cargas de trabalho simultâneas, enquanto um limiar de pressão determina se o pedido deve ser atrasado, reduzido, transferido ou encaminhado.

a memória KV paginada trata a memória da GPU como blocos paginados, permitindo que o serviço reduza a fragmentação e partilhe a capacidade da cache KV de forma mais eficiente. Isto eleva o limite operacional seguro, mas não cria memória ilimitada nem substitui uma rota de overflow explícita.

Uma decisão de failover real utiliza tanto o consumo previsto como o observado. As leituras de memória livre, por si só, podem induzir em erro, porque os alocadores em cache, os kernels pendentes e a reserva de outro serviço podem consumir espaço depois da verificação, mas antes da alocação seguinte.

O caminho da CPU tem de reconstruir um estado do modelo compatível

A execução na CPU precisa do mesmo tokenizador, revisão do modelo, semântica de quantização, modelo de prompt, definições de amostragem e regras de paragem que o caminho da GPU. O serviço pode manter uma réplica de CPU ativa, mapear os pesos na memória ou carregá-los a pedido, de acordo com o orçamento de tempo de recuperação.

a inferência híbrida CPU-GPU demonstra uma inferência híbrida que tira partido da esparsidade previsível das ativações entre CPU e GPU em hardware de consumo. O seu desenho mostra que a participação da CPU pode ser planeada como um modo de execução, em vez de ser tratada apenas como uma cópia de emergência.

Os pedidos que já geraram tokens são mais difíceis de transferir, porque a respetiva cache KV e o estado aleatório têm de ser transferidos ou recalculados. Por isso, muitos serviços domésticos devem efetuar o failover nos limites dos pedidos e repetir as operações de forma idempotente, em vez de prometer uma migração contínua a meio da geração de tokens.

O estado, as filas e o modo degradado limitam as consequências

Um disjuntor marca a GPU como indisponível após falhas repetidas de alocação, reinícios do controlador ou falhas nas verificações de estado. O novo trabalho entra numa fila de CPU separada, com menor concorrência, limites de contexto mais curtos ou um modelo de fallback mais pequeno, para que os pedidos lentos não provoquem o colapso do anfitrião.

a colocação de inferência por níveis coordena a colocação na CPU, GPU e armazenamento para executar modelos que excedem a memória do acelerador. Os resultados ilustram a grande diferença de latência entre caber na memória rápida e depender de níveis mais lentos. Esta distinção continua visível durante os testes domésticos posteriores.

O limite da falha consiste em fingir que o failover para CPU preserva o mesmo nível de serviço. Um modelo que demora 20 segundos na GPU pode demorar minutos na CPU, e os kernels não suportados podem nem sequer ser executados. A interface deve indicar o modelo de fallback, os limites, o atraso estimado e o cancelamento, em vez de ficar bloqueada silenciosamente.

Comprove o failover sob pressão de memória controlada

Reproduza prompts curtos, prompts longos, pedidos simultâneos e outra carga de trabalho da GPU, reduzindo gradualmente a memória disponível. Acione o encaminhamento antes da admissão, uma falha de alocação antes da geração, um reinício do controlador e um cancelamento durante a fila da CPU. O resultado intermédio tem de continuar a ser inspecionável antes de a automatização prosseguir.

Compare os resultados com o limite de fallback descrito em fallback de memória da GPU. Registe a taxa de sucesso, os efeitos secundários duplicados, a equivalência dos tokens quando esperada, a latência p95, a antiguidade da fila, a RAM do anfitrião, o tempo de recuperação e se o utilizador viu o estado do modo degradado.

Considere o teste aprovado apenas quando nenhum pedido aceite desaparece e o encaminhamento para a CPU não consegue esgotar a memória do sistema. Se a migração a meio do pedido alterar o resultado ou repetir uma ação de uma ferramenta, restrinja o failover a pontos de verificação seguros e devolva um erro retomável para tudo o resto.

Centro de Tecnologia e IA

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.