Por que, na era da IA, dizem que sempre falta memória? Na verdade, isso já nasce determinado: é por causa do gargalo de Von Neumann!
A base dos computadores modernos é fundamentada na arquitetura de Von Neumann. Nessa arquitetura, há um ponto central: tanto o programa quanto os dados ficam armazenados no mesmo conjunto de memória. A CPU vai buscando e executando as instruções uma a uma.
À medida que as CPUs/GPUs atuais conseguem calcular cada vez mais rápido, o transporte de dados não consegue acompanhar a velocidade de pensamento do cérebro; o cérebro frequentemente precisa esperar pelos dados. Isso fica cada vez mais evidente na era da IA: os canais de dados entre capacidade de computação e memória não são rápidos o suficiente, e o transporte de dados atrasa o processamento. Esse é o gargalo de Von Neumann.
É como CPU/GPU serem como chefs. A memória é como um armazém. Barras/interconexões são como canais de entrega de comida. Há cada vez mais chefs e eles ficam cada vez melhores no corte, mas o armazém fica longe da cozinha e o canal é estreito. O resultado não é que os chefs não saibam cozinhar, e sim que eles ficam esperando os ingredientes.
Nos servidores de IA, hoje, esse gargalo está principalmente preso a quatro coisas:
1:Latência da memória; quanto tempo demora para buscar um dado.
2:Largura de banda da memória, quanto de dados dá para transportar em um intervalo de tempo
3:A capacidade de memória consegue comportar os dados? Se não couber, é preciso ir para um SSD/disco mais lento.
4:Energia e, ao mover dados em si, consome muita eletricidade. Muitas vezes, mover uma vez mais dados custa mais do que calcular. A inferência de modelos grandes precisa ler sem parar: pesos do modelo, cache de KV, tokens de entrada/saída de ativações. Se a largura de banda da HBM não for suficiente, mesmo com a GPU mais forte não se consegue ocupação total.
Então como resolver esse gargalo de Von Neumann?
Porque não dá para eliminar completamente; só dá para aliviar.
1. Adicionar cache para CPU/GPU não acessar a memória diretamente a cada vez, e sim adicionar caches em múltiplos níveis
2. Aumentar a largura de banda da memória. A ideia mais urgente para a HBM, hoje, é: empilhar memórias, colocá-las ao lado da GPU e conectá-las com interfaces super largas.
3. Colocar computação e memória mais perto, por exemplo: GPU + HBM, CPU + HBM, empilhamento 3D, empacotamento avançado (chiplet), expansão de memória via CXL. Em essência, é reduzir a distância do transporte de dados.
4. Reduzir a quantidade de dados: na IA, valores comuns como quantização FP8 / INT8 / FP4, esparsificação, poda do modelo e compressão do cache de KV; além de GQA / MQA / MLA. O FlashAttention não deixa o canal mais largo, e sim faz com que seja preciso mover menos dados.
5. Mudar algoritmos e software, por exemplo: pré-busca de dados, processamento em lote (batching), fusão de operadores, mudar o layout dos dados para aumentar a taxa de acerto no cache e reduzir leituras/escritas repetidas. Muitas melhorias de desempenho não vêm de o hardware ficar mais forte, e sim de o software fazer com que os dados precisem ser movidos menos vezes.
6. Interconexão óptica / CPO: quando a movimentação de dados entre chips e entre racks vira o gargalo, usa-se luz.
Depois de ver isso, você finalmente entende: o gargalo de Von Neumann não é um único projeto ruim, mas a contradição fundamental da computação moderna — calcular ficou cada vez mais barato, e mover dados ficou cada vez mais caro.
Antes, todo mundo competia principalmente por frequência de CPU. Agora, a disputa é: cache de HBM, empacotamento, largura de banda da memória, rede do data center, interconexão óptica, computação in-memory, escalonamento de software. Então, na era da IA, HBM, DRAM, SSD, CPO, módulos ópticos e OCS ficam todos ainda mais importantes — em essência, todos estão resolvendo esse gargalo.#美股科技股反弹道指创新高
