Skip to content
Treine com Conjuntos de Dados em TB com um Único NVIDIA Grace Hopper usando XGBoost 3.0
Source: developer.nvidia.com

Treine com Conjuntos de Dados em TB com um Único NVIDIA Grace Hopper usando XGBoost 3.0

Sources: https://developer.nvidia.com/blog/train-with-terabyte-scale-datasets-on-a-single-nvidia-grace-hopper-superchip-using-xgboost-3-0, developer.nvidia.com

TL;DR

  • O XGBoost 3.0 habilita treinamento de GBDT em escala de TB em um único NVIDIA GH200 Grace Hopper Superchip.
  • O External Memory Quantile DMatrix faz streaming de dados da RAM da host para a GPU, evitando a necessidade de grandes memórias ou clusters com várias GPUs.
  • Um único setup com GH200 pode igualar ou superar o desempenho de setups anteriores em várias máquinas, com a RBC reportando ganhos de até 16x no tempo total e redução de até 94% no TCO ao usar GPUs em pipelines preditivos. NVIDIA blog

Contexto e antecedentes

Gradiente de árvores (GBDT) são a base de muitas aplicações, desde filtros de fraude até previsões de demanda em escala maciça. A biblioteca XGBoost open source tem sido a escolhida pela precisão, explicabilidade pronta para SHAP e flexibilidade para rodar em laptops, nós com várias GPUs ou clusters Spark. O XGBoost 3.0 coloca a escalabilidade como objetivo principal, introduzindo recursos que permitem treinar dados de gigabytes a TB em um único GH200 Grace Hopper Superchip. A arquitetura de memória coerente e o motor externo de memória permitem que dados sejam transmitidos pela largura de banda NVLink-C2C de 900 GB/s, proporcionando ganhos de velocidade consideráveis em relação a configurações apenas com CPU. Essa abordagem reduz a necessidade de clusters multinóde de GPUs em muitos workloads. NVIDIA blog

O que há de novo

O XGBoost 3.0 introduz um terceiro mecanismo para ir além da memória da GPU: External-Memory Quantile DMatrix. Construído sobre os Data Iterators existentes, o External Memory Quantile DMatrix gerencia a memória do dataset enquanto lê os dados da RAM e os transmite para o booster a cada iteração. Mantém a lógica de binar/pre-bin do QuantileDMatrix, mas opera com conjuntos de TB, preservando os hiperparâmetros para a mesma precisão. Esse setup é especialmente adequado para sistemas Grace-based, onde o GH200 combina 72 núcleos Grace e uma GPU Hopper conectados por NVLink-C2C, oferecendo cerca de 900 GB/s de largura de banda bidirecional. NVIDIA blog Dois obstáculos anteriores limitavam o uso da aceleração de GPU para grandes volumes de dados: memória disponível e largura de interconexão. O External-Memory Quantile DMatrix do XGBoost 3.0 resolve esses problemas ao fazer streaming dos dados da RAM da host para a GPU, permitindo o treinamento em TB de dados com um único GH200, sem a necessidade de frameworks distribuídos. O hardware GH200, com 80 GB de memória HBM3 e 480 GB de LPDDR5X, conectado pela NVLink-C2C a 900 GB/s, viabiliza essa capacidade de forma compacta. NVIDIA blog Para ajudar os usuários a começar, o guia também traz passos práticos e recomendações para maximizar o desempenho ao usar memória externa com Grace Hopper. Por exemplo, configure grow_policy=’depthwise’ para construir árvores camada por camada; utilize um pool do RAPIDS Memory Manager (RMM) ao trabalhar com RAPIDS. Requisitos: CUDA 12.8 ou superior com driver HMM habilitado para Grace Hopper. NVIDIA blog

Por que isso importa (impacto para desenvolvedores/empresas)

Treinar GBDTs em TBs em um único GH200 reduz drasticamente a complexidade operacional de escalar cargas de trabalho de IA. Ao fazer streaming de dados da RAM da host e aproveitar a largura de banda NVLink-C2C, o XGBoost 3.0 minimiza a necessidade de servidores com RAM grandes ou clusters com várias GPUs, acelerando ciclos de desenvolvimento e reduzindo o custo total de propriedade (TCO). Em casos reais, a RBC relata ganhos de velocidade e reduções de custo ao usar GPUs para pipelines preditivos. Essas eficiências são críticas para detecção de fraude, modelagem de risco de crédito, negociação algorítmica e outras aplicações com latência sensível. NVIDIA blog

Detalhes técnicos ou Implementação

Elementos-chave de hardware e software:

  • GH200 Grace Hopper Superchip: CPU Grace de 72 núcleos + GPU Hopper, conectados via NVLink-C2C, largura de banda de ~900 GB/s.
  • Memória e caminho de dados: 80 GB HBM3 e 480 GB LPDDR5X dentro do GH200, alimentados pela NVLink-C2C para streaming rápido da RAM da host para a GPU.
  • External Memory Quantile DMatrix: construido sobre Data Iterators, gerencia memória do dataset e transmite dados para o booster a cada iteração. Comportamento semelhante ao QuantileDMatrix, mas com dados de TB, mantendo os hiperparâmetros para a precisão.
  • Considerações de layout de dados: para datasets mais finos, o número de linhas (labels) pode limitar o que cabe em um único GH200; GPUs tendem a performar bem com tabelas densas devido à compressão e à colocação rápida na memória. NVIDIA blog
  • Observações práticas: defina grow_policy=’depthwise’ para cargas de memória externa; inicie dentro de um pool RAPIDS Memory Manager (RMM); use CUDA 12.8+ com driver HMM habilitado para Grace Hopper. NVIDIA blog

Observações-chave

  • O XGBoost 3.0 possibilita processar treinamento de GBDT em TBs com uma única unidade GH200 Grace Hopper usando as mesmas chamadas XGBoost tradicionais. NVIDIA blog
  • External Memory em XGBoost 3.0 é a nova mecânica para ir além da memória da GPU sem recorrer a cluster distribuído. NVIDIA blog
  • A configuração de hardware GH200 e a largura de banda NVLink-C2C são centrais para alcançar treinamentos TB-scale. NVIDIA blog
  • Validação prática pela RBC mostra ganhos de velocidade e reduções significativas de TCO com GPUs acelerando pipelines preditivos. NVIDIA blog

Perguntas frequentes (FAQ)

  • Q: O que é External Memory Quantile DMatrix? A: É o novo mecanismo no XGBoost 3.0 que permite treinamento de TB-scale de GBDT em um único GH200 Grace Hopper, lendo dados da RAM da host e transmitindo para a GPU a cada iteração.
  • Q: Que hardware torna possível o treinamento em TBs em um único chip? A: O GH200 Grace Hopper Superchip, combinando CPU Grace de 72 núcleos e GPU Hopper, conectado via NVLink-C2C com ~900 GB/s, com 80 GB de HBM3 e 480 GB de LPDDR5X.
  • Q: Como os dados são movidos neste setup? A: Os dados ficam na RAM da host e são transmitidos para a GPU a cada iteração, permitindo treino externo sem carregar todo o dataset na memória da GPU.
  • Q: Quais são os requisitos de software? A: XGBoost 3.0 com suporte a memória externa; CUDA 12.8 ou superior com driver HMM habilitado para Grace Hopper.

Referências

More news