As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O XGBoost
-
Seu manuseio robusto de uma variedade de tipos de dados, relacionamentos e distribuições.
-
Variedade de hiperparâmetros que você pode ajustar.
Você pode usar XGBoost para problemas de regressão, classificação (binária e multiclasse) e classificação.
Você pode usar a nova versão do XGBoost algoritmo da seguinte forma:
-
Um algoritmo integrado de SageMaker IA da Amazon.
-
Em uma estrutura para executar scripts de treinamento em seus ambientes locais.
Essa implementação usa um espaço menor na memória, melhor registro em log, validação aprimorada de hiperparâmetros e um conjunto expandido de métricas em relação às versões originais. Ele fornece um XGBoost estimator
que executa um script de treinamento em um XGBoost ambiente gerenciado. A versão atual do SageMaker AI XGBoost é baseada nas XGBoost versões originais 1.0, 1.2, 1.3, 1.5 e 1.7.
Para obter mais informações sobre o XGBoost algoritmo Amazon SageMaker AI, consulte as seguintes postagens no blog:
Versões aceitas
-
Modo de framework (código aberto): 1.2-1, 1.2-2, 1.3-1, 1.5-1, 1.7-1
-
Modo de algoritmo: 1.2-1, 1.2-2, 1.3-1, 1.5-1, 1.7-1
Atenção
Devido à capacidade computacional necessária, a versão 1.7-1 do SageMaker AI não XGBoost é compatível com instâncias de GPU da família de instâncias P2 para treinamento ou inferência.
Importante
Ao recuperar o URI da XGBoost imagem de SageMaker IA, não use :latest
ou :1
para a tag do URI da imagem. Você deve especificar um deles Versões aceitas para escolher o XGBoost contêiner SageMaker gerenciado por IA com a versão do XGBoost pacote nativo que você deseja usar. Para encontrar a versão do pacote migrada para os XGBoost contêineres de SageMaker IA, consulte Docker Registry Paths and Example Code. Em seguida Região da AWS, escolha seu e navegue até a seção XGBoost (algoritmo).
Atenção
As versões XGBoost 0.90 estão obsoletas. O suporte para atualizações de segurança ou correções de erros para XGBoost 0.90 foi descontinuado. É altamente recomendável que você atualize a XGBoost versão para uma das versões mais recentes.
nota
XGBoost A v1.1 não é compatível com SageMaker IA. XGBoost 1.1 tem uma capacidade interrompida de executar previsões quando a entrada de teste tem menos recursos do que os dados de treinamento nas entradas LIBSVM. Esse recurso foi restaurado na XGBoost v1.2. Considere usar o SageMaker AI XGBoost 1.2-2 ou posterior.
nota
Você pode usar a XGBoost v1.0-1, mas ela não é oficialmente suportada.
EC2 recomendação de instância para o XGBoost algoritmo
SageMaker A IA XGBoost suporta treinamento e inferência de CPU e GPU. As recomendações de instância dependem das necessidades de treinamento e inferência, bem como da versão do XGBoost algoritmo. Escolha uma das seguintes opções para obter mais informações:
Treinamento
O XGBoost algoritmo de SageMaker IA oferece suporte ao treinamento de CPU e GPU.
Treinamento de CPU
SageMaker AI XGBoost 1.0-1 ou anterior apenas trens usando. CPUs É um algoritmo de uso intensivo de memória (ao contrário dos de uso intensivo de computação). Portanto, uma instância de computação de uso geral (por exemplo, M5) é uma opção melhor do que uma instância otimizada para computação (por exemplo, C4). Além disso, recomendamos que você tenha memória total suficiente em instâncias específicas para armazenar os dados de treinamento. Ele possibilita o uso de espaço em disco para lidar com dados que não cabem na memória principal. Isso é resultado do out-of-core recurso disponível com o modo de entrada libsvm. Mesmo assim, gravar arquivos de cache no disco diminui o tempo de processamento do algoritmo.
Treinamento de GPU
SageMaker XGBoost A versão AI 1.2-2 ou posterior oferece suporte ao treinamento em GPU. Apesar dos custos mais altos por instância, GPUs treine mais rapidamente, tornando-os mais econômicos.
SageMaker XGBoost A versão 1.2-2 ou posterior do AI oferece suporte às famílias de instâncias de GPU P2, P3, G4dn e G5.
SageMaker XGBoost A versão 1.7-1 ou posterior do AI oferece suporte às famílias de instâncias de GPU P3, G4dn e G5. Observe que, devido aos requisitos de capacidade computacional, a versão 1.7-1 ou posterior não oferece apoio à família de instâncias P2.
Para aproveitar as vantagens do treinamento em GPU:
-
Especifique o tipo de instância como uma das instâncias da GPU (por exemplo, P3)
-
Defina o
tree_method
hiperparâmetro comogpu_hist
em seu script existente XGBoost
Treinamento distribuído
SageMaker A IA XGBoost oferece suporte a instâncias de CPU e GPU para treinamento distribuído.
Treinamento de CPU distribuído
Para executar o treinamento de CPU em várias instâncias, defina o parâmetro instance_count
do estimador como um valor maior que um. Os dados de entrada devem ser divididos entre o número total de instâncias.
Divida os dados de entrada entre as instâncias
Divida os dados de entrada usando as seguintes etapas:
-
Divida os dados de entrada em arquivos menores. O número de arquivos deve ser pelo menos igual ao número de instâncias usadas para o treinamento distribuído. O uso de vários arquivos menores em vez de um arquivo grande também diminui o tempo de download dos dados para o trabalho de treinamento.
-
Ao criar seu TrainingInput
, defina o parâmetro de distribuição como ShardedByS3Key
. Dessa forma, cada instância recebe aproximadamente 1/n do número de arquivos no S3 se houver n instâncias especificadas no trabalho de treinamento.
Treinamento de GPU distribuído
Você pode usar o treinamento distribuído com instâncias de GPU única ou várias GPUs.
Treinamento distribuído com instâncias de GPU única
SageMaker XGBoost As versões de IA 1.2-2 a 1.3-1 oferecem suporte apenas ao treinamento de instância de GPU única. Isso significa que, mesmo que você selecione uma instância com várias GPUs, somente uma GPU será usada por instância.
Os dados de entrada devem ser divididos entre o número total de instâncias.
-
Você usa XGBoost as versões 1.2-2 a 1.3-1.
-
Você não precisa usar instâncias de várias GPUs.
Para obter mais informações, consulte Divida os dados de entrada entre as instâncias.
nota
As versões 1.2-2 a 1.3-1 do SageMaker AI usam XGBoost apenas uma GPU por instância, mesmo se você escolher uma instância com várias GPUs.
Treinamento distribuído com instâncias de várias GPUs
A partir da versão 1.5-1, a SageMaker IA XGBoost oferece treinamento distribuído em GPU com o Dask.
Treine com o Dask usando as seguintes etapas:
Omita o
distribution
parâmetro em seu TrainingInputou defina-o como. FullyReplicated
Ao definir seus hiperparâmetros, defina
use_dask_gpu_training
como"true"
.
Importante
O treinamento distribuído com o Dask oferece apoio apenas para formatos de entrada CSV e Parquet. Se você usar outros formatos de dados, como LIBSVM ou PROTOBUF, o trabalho de treinamento falhará.
Para dados do Parquet, verifique se os nomes das colunas estão salvos como cadeias de caracteres. As colunas com nomes de outros tipos de dados não serão carregadas.
Importante
O treinamento distribuído com o Dask não oferece apoio para o modo pipe. Se o modo pipe for especificado, o trabalho de treinamento falhará.
Há algumas considerações que você deve considerar ao treinar SageMaker IA XGBoost com o Dask. Lembre-se de dividir seus dados em arquivos menores. O Dask lê cada arquivo Parquet como uma partição. Há um operador do Dask para cada GPU. Como resultado, o número de arquivos deve ser maior que o número total de GPUs (contagem de instâncias * número de GPUs por instância). Ter um número muito grande de arquivos também pode prejudicar o desempenho. Para obter mais informações, consulte Práticas recomendadas do Dask
Variações na saída
O tree_method
hiperparâmetro especificado determina o algoritmo usado para XGBoost treinamento. Os métodos de árvore approx
, hist
e gpu_hist
são todos métodos aproximados e usam esboços para cálculo de quantil. Para obter mais informações, consulte Métodos de árvore
Inferência
SageMaker A IA XGBoost oferece suporte a instâncias de CPU e GPU para inferência. Para obter informações sobre os tipos de instância para inferência, consulte Tipos de instância do Amazon SageMaker AI ML