Monitorar VMs da TPU

Neste guia, explicamos como usar o Cloud Monitoring para monitorar as VMs da TPU. O Cloud Monitoring coleta automaticamente métricas e registros da TPU e da VM host. Esses dados podem ser usados para monitorar a integridade da TPU e do Compute Engine.

Com as métricas, é possível monitorar uma quantidade numérica ao longo do tempo, como a utilização da CPU, o uso da rede ou a duração da inatividade de um TensorCore. Os registros capturam eventos em um momento específico. As entradas de registro são gravadas pelo próprio código, pelos serviços doGoogle Cloud , por aplicativos de terceiros e pela infraestrutura doGoogle Cloud . Também é possível gerar métricas com base nos dados presentes em uma entrada de registro criando uma métrica com base em registros. Também é possível definir políticas de alertas com base em valores de métricas ou entradas de registro.

Para monitorar TPUs, também é possível usar o Capacity Planner (pré-lançamento). Com o Capacity Planner, você pode conferir os dados de previsão e de uso de TPU do projeto, da pasta ou da organização. Esses dados são atualizados a cada 24 horas e podem ser usados para analisar tendências de uso e planejar necessidades futuras de capacidade. Para mais informações, consulte Visão geral do Capacity Planner.

Acessar métricas da TPU

O Compute Engine gera dois tipos de métricas de TPU: métricas de ambiente de execução de TPU e métricas de infraestrutura de VM de TPU. É possível acessar as métricas de duas maneiras:

  • Biblioteca de monitoramento de TPUs: receba métricas de ambiente de execução de TPU do SDK LibTPU usando a biblioteca de monitoramento de TPUs. Isso permite que seus aplicativos recebam telemetria em tempo real de dentro do ambiente de convidado. Para mais informações, consulte Biblioteca de monitoramento de TPU.

  • Coletor de telemetria de IA: receba métricas de tempo de execução e de infraestrutura de VM com o coletor de telemetria de IA. O coletor de telemetria de IA é executado na VM de TPU e permite acessar métricas pelo Cloud Monitoring ou pelo seu próprio pipeline de monitoramento baseado no Prometheus. Para mais informações, consulte Coletor de telemetria de IA.

Métricas de TPU

As métricas doGoogle Cloud para o Cloud TPU são geradas automaticamente pelas VMs do Compute Engine e pelo ambiente de execução do Cloud TPU. As métricas nas tabelas a seguir são geradas por VMs do Compute Engine. Para uma lista completa de métricas geradas pelo Compute Engine, consulte Métricas do Compute Engine.

As strings "tipo de métrica" nesta tabela precisam ser prefixadas com compute.googleapis.com/. Esse prefixo foi omitido das entradas na tabela. Ao consultar um rótulo, use o prefixo metric.labels. Por exemplo, metric.labels.LABEL="VALUE".

Disponibilidade geral (GA)

Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos)
Nome de exibição
Classe, Tipo, Unidade
Recursos monitorados
Descrição
Rótulos
instance/tpu/active_chips GA  (projeto)
Contagem de chips de TPU ativos
GAUGE, INT64, 1
gce_instance
A contagem atual de chips que estão sendo utilizados ativamente (ou seja, não estão ociosos).
accelerator_type: Tipo e geração do acelerador.
reservation_id: O ID da reserva de máquina física.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.
block_id: O ID do bloco no cluster que hospeda a VM.
subblock_id: O ID do subbloco que hospeda a VM.
is_exr: (BOOL) Indica se o chip faz parte de uma reserva estendida.
instance/tpu/scheduled_chips GA  (projeto)
Contagem de chips de TPU programados
GAUGE, INT64, 1
gce_instance
A contagem atual de chips alocados a uma VM que está em bom estado e NÃO está desativada para manutenção.
accelerator_type: Tipo e geração do acelerador.
reservation_id: O ID da reserva de máquina física.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.
block_id: O ID do bloco no cluster que hospeda a VM.
subblock_id: O ID do subbloco que hospeda a VM.
is_exr: (BOOL) Indica se o chip faz parte de uma reserva estendida.
tpu/slice/capacity/available_chips GA  (projeto)
Contagem de chips de TPU disponíveis
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice
A contagem atual de chips de TPU da reserva estendida que estão ativamente disponíveis e prontos para uso. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 360 segundos.
accelerator_type: Tipo e geração do acelerador.
reservation_id: O ID da reserva de máquina física.
block_id: O ID do bloco associado à fração.
subblock_id: O ID do subbloco associado à fração.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.
tpu/slice/capacity/committed_chips GA  (projeto)
Contagem de chips de TPU comprados
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice
A contagem atual de chips de TPU comprados da reserva estendida. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 360 segundos.
accelerator_type: Tipo e geração do acelerador.
reservation_id: O ID da reserva de máquina física.
block_id: O ID do bloco associado à fração.
subblock_id: O ID do subbloco associado à fração.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.

Beta

Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos)
Nome de exibição
Classe, Tipo, Unidade
Recursos monitorados
Descrição
Rótulos
instance/tpu/accelerator/duty_cycle BETA  (projeto)
Ciclo de trabalho do acelerador
GAUGE, DOUBLE, %
gce_instance
Porcentagem de tempo durante o período de amostragem em que o acelerador estava processando ativamente. Os valores estão no intervalo [0,100].
accelerator_id: ID do dispositivo do acelerador.
instance/tpu/accelerator/memory_bandwidth_utilization BETA  (projeto)
Uso da largura de banda da memória do acelerador
GAUGE, DOUBLE, %
gce_instance
Porcentagem atual da largura de banda da memória do acelerador que está sendo usada. Calculada dividindo a largura de banda da memória usada durante um período de amostragem pela largura de banda máxima aceita no mesmo período.
accelerator_id: ID do dispositivo do acelerador.
instance/tpu/accelerator/memory_total BETA  (projeto)
Total de memória do acelerador
GAUGE, INT64, By
gce_instance
Memória total do acelerador alocada no momento em bytes.
accelerator_id: ID do dispositivo do acelerador.
instance/tpu/accelerator/memory_used BETA  (projeto)
Memória do acelerador usada
GAUGE, INT64, By
gce_instance
Memória total do acelerador em uso no momento em bytes.
accelerator_id: ID do dispositivo do acelerador.
instance/tpu/accelerator/tensorcore_utilization BETA  (projeto)
Uso do TensorCore do acelerador
GAUGE, DOUBLE, %
gce_instance
Porcentagem atual do TensorCore que está sendo utilizada. Resultado da divisão das operações do TensorCore que foram realizadas em um período de amostragem pelo número de operações do TensorCore com suporte no mesmo período.
accelerator_id: ID do dispositivo do acelerador.
instance/tpu/chip_state BETA  (projeto)
Contagem de estado do chip da TPU
GAUGE, INT64, 1
gce_instance
A contagem de chips de TPU em vários estados, como íntegro, não íntegro e desconhecido.
state: O estado do chip.
accelerator_type: Tipo e geração do acelerador.
block_id: O ID do bloco no cluster que hospeda a VM.
subblock_id: O ID do subbloco que hospeda a VM.
reservation_id: O ID da reserva de máquina física.
is_exr: (BOOL) Indica se o chip faz parte de uma reserva estendida.
instance/tpu/infra_health BETA  (projeto)
Integridade da instância de TPU
GAUGE, INT64, 1
gce_instance
Indica o status geral de integridade de uma instância de TPU. Os rótulos de métricas ajudam a identificar o status de integridade específico e os motivos dos problemas em instâncias de TPU degradadas ou não íntegras, com foco principalmente na integridade do hardware e do sistema da TPU. As mudanças no status de integridade podem levar vários minutos para serem refletidas nessa métrica. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 420 segundos.
health_status: O estado geral de integridade da instância de TPU. Valores possíveis: HEALTHY (operando como esperado), UNHEALTHY (problema crítico detectado), DEGRADED (problema que afeta o desempenho) e UNKNOWN (não é possível determinar o status).
unhealthy_category: Explicação do status de VM não íntegra. Esse rótulo só é preenchido quando o valor da métrica é "Unhealthy".
machine_type: O tipo de máquina da instância (por exemplo, ct6e-standard-4t-tpu).
machine_id: O ID da máquina física que hospeda a VM.
block_id: O ID do bloco no cluster que hospeda a VM.
cluster_id: O ID do cluster que hospeda a VM.
reservation_id: O ID da reserva de máquina física.
subblock_id: O ID do subbloco que hospeda a VM.
instance/tpu/runtime/uptime BETA  (projeto)
Tempo de atividade do ambiente de execução
GAUGE, INT64, s
gce_instance
Tempo de atividade do ambiente de execução de ML desde a inicialização da biblioteca de ambiente de execução (libtpu.so) pelo job de ML. Durante esse período, a biblioteca de ambiente de execução bloqueia os dispositivos de TPU para uso pelo job de ML.
ml_framework_name: Nome do framework de ML.
ml_framework_version: Versão do framework de ML.
instance/tpu/utilized_chips BETA  (projeto)
Chips de TPU utilizados
GAUGE, DOUBLE, 1
gce_instance
A capacidade agregada utilizada atual expressa como um número efetivo de chips ativos. É equivalente à soma da utilização fracionária (0,0 a 1,0) de todos os chips ativos.
accelerator_type: Tipo e geração do acelerador.
reservation_id: O ID da reserva de máquina física.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.
block_id: O ID do bloco no cluster que hospeda a VM.
subblock_id: O ID do subbloco que hospeda a VM.
is_exr: (BOOL) Indica se o chip faz parte de uma reserva estendida.
tpu/multislice/accelerator/device_to_host_transfer_latencies BETA  (projeto)
Latências de transferência do dispositivo para o host
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa da latência de transferência do dispositivo para o host em cada bloco de dados. Uma latência começa quando a solicitação de dados a serem transferidos para o host é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
buffer_size: Tamanho do buffer.
tpu/multislice/accelerator/host_to_device_transfer_latencies BETA  (projeto)
Latências de transferência do host para o dispositivo
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa da latência de transferência de host para dispositivo em cada bloco de dados de tráfego multislice. Uma latência começa quando a solicitação de transferência de dados para o dispositivo é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
buffer_size: Tamanho do buffer.
tpu/multislice/network/collective_end_to_end_latencies BETA  (projeto)
Latências coletivas de ponta a ponta
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa da latência coletiva de ponta a ponta para o tráfego multislice. Uma latência começa quando a solicitação de comunicação coletiva é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
input_size: Tamanho da entrada da operação coletiva.
collective_type: Tipo da operação coletiva.
tpu/multislice/network/dcn_transfer_latencies BETA  (projeto)
Latências de transferência da DCN
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa das latências de transferência de rede para tráfego multislice. Uma latência começa quando a solicitação de transferência de dados pela DCN é emitida e termina quando um reconhecimento é recebido de que a transferência de dados foi concluída.
buffer_size: Tamanho do buffer.
type: Tipo.
tpu/multislice/network/grpc_client_call_latencies BETA  (projeto)
Latências de chamada do cliente gRPC
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa de latências de transferência de rede para a biblioteca gRPC concluir uma RPC da perspectiva do chamador.
buffer_size: Tamanho do buffer.
tpu/multislice/network/grpc_server_call_latencies BETA  (projeto)
Latências de chamada do servidor gRPC
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa de latências de transferência de rede para o servidor gRPC concluir uma RPC na perspectiva de transporte.
buffer_size: Tamanho do buffer.
tpu/multislice/network/grpc_tcp_delivery_rates BETA  (projeto)
Taxas de entrega de TCP do gRPC
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance
Distribuição cumulativa das taxas de transferência de dados de conexões TCP. Cada amostra é a taxa média mais recente de transferência de dados para uma determinada conexão TCP no último intervalo de ACK do TCP. Amostras de taxas de transferência de dados são extraídas do kernel TCP do Linux a cada 20 segundos. Portanto, é esperado que cada conexão TCP crie aproximadamente três amostras por intervalo de 60 segundos.
tpu/multislice/network/grpc_tcp_min_round_trip_times BETA  (projeto)
Tempos mínimos de ida e volta do TCP gRPC
CUMULATIVE, DISTRIBUTION, us
gce_instance
Distribuição cumulativa das latências mínimas de transferência de rede por conexão TCP.
tpu/multislice/network/grpc_tcp_packets_retransmitted_count BETA  (projeto)
Contagem de pacotes TCP gRPC retransmitidos
CUMULATIVE, INT64, 1
gce_instance
Contagem total de pacotes retransmitidos.
tpu/multislice/network/grpc_tcp_packets_sent_count BETA  (projeto)
Contagem de pacotes TCP gRPC enviados
CUMULATIVE, INT64, 1
gce_instance
Contagem total de pacotes enviados pelo TCP.
instance/tpu/accelerator/core_temperature BETA  (projeto)
Temperatura do núcleo
GAUGE, DOUBLE, Cel
gce_instance
Temperatura do núcleo da TPU.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/core_throttling_indicator BETA  (projeto)
Indicador de limitação de núcleos
GAUGE, DOUBLE, 1
gce_instance
Número de ciclos de clock ignorados por segundo em relação ao total de ciclos de clock por núcleo de TPU.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/hbm_power_draw BETA  (projeto)
Consumo de energia da HBM
GAUGE, DOUBLE, W
gce_instance
Soma da energia no módulo HBM em watts (W).
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/hbm_temperature BETA  (projeto)
Temperatura da HBM
GAUGE, DOUBLE, Cel
gce_instance
Temperatura da memória de alta largura de banda (HBM) da TPU.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
hbm_id: Identificador do módulo de memória de largura de banda alta (HBM). Normalmente, tem apenas o valor máximo, por exemplo: hbm_0.
instance/tpu/accelerator/hbm_uncorrectable_count BETA  (projeto)
Contagem de erros incorrigíveis de HBM
CUMULATIVE, INT64, 1
gce_instance
Contagem de erros não corrigíveis no HBM (fatal).
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/mxu_temperature BETA  (projeto)
Temperatura da MXU
GAUGE, DOUBLE, Cel
gce_instance
Temperatura da unidade multiplicadora de matriz (MXU) da TPU.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
die_id: Índice de slot para o acelerador. Normalmente, tem apenas o valor máximo, por exemplo: die_0.
GAUGE, INT64, 1
gce_instance
Frequência de mudanças de estado entre estados ativos e inativos em um link ICI.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
GAUGE, INT64, 1
gce_instance
Um indicador numérico (0 a 10) que representa a integridade do link do ICI. Valores mais altos indicam níveis crescentes de instabilidade do link, desde oscilações leves e temporárias (1 a 5) até desempenho degradado persistente (6 a 9). Um valor de 10 representa uma falha fatal de link que desaloca automaticamente as cargas de trabalho ativas.
port_id: ID da porta.
instance/tpu/accelerator/network/ici_packets_received_count BETA  (projeto)
Contagem de pacotes ICI recebidos
CUMULATIVE, INT64, 1
gce_instance
Número total de pacotes recebidos pelo acelerador de TPU nos links de interconexão entre chips (ICI).
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/network/ici_packets_sent_count BETA  (projeto)
Contagem de pacotes ICI enviados
CUMULATIVE, INT64, 1
gce_instance
Número total de pacotes transmitidos pelo acelerador de TPU nos links de interconexão entre chips (ICI).
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/pcie_fatal_error_count BETA  (projeto)
Contagem de erros fatais de PCIe
CUMULATIVE, INT64, 1
gce_instance
Número de erros fatais de PCIe que ocorrem na interface PCIe.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/pcie_nonfatal_error_count BETA  (projeto)
Contagem de erros não fatais de PCIe
CUMULATIVE, INT64, 1
gce_instance
Número de erros não fatais de PCIe que ocorrem na interface PCIe.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/power_draw BETA  (projeto)
Consumo de energia
GAUGE, DOUBLE, W
gce_instance
Consumo de energia do acelerador medido em watts (W).
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/tray_power BETA  (projeto)
Energia da bandeja
GAUGE, DOUBLE, W
gce_instance
Potência total consumida no compartimento da TPU.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/accelerator/tray_temperature BETA  (projeto)
Temperatura do compartimento
GAUGE, DOUBLE, Cel
gce_instance
Temperatura do compartimento da TPU.
accelerator_id: O ID do dispositivo do acelerador. Os valores válidos são 0, 1, 2 e 3.
instance/tpu/failure_prediction_status BETA  (projeto)
Status de degradação da TPU
GAUGE, INT64, 1
gce_instance
Essa métrica indica a probabilidade de uma máquina de TPU entrar em um estado degradado nas próximas cinco horas, conforme previsto pelo nosso algoritmo proprietário. O rótulo de valor para essa métrica é NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED, POSSIBLE_DEGRADATION_PREDICTED. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 540 segundos.
cluster_id: O ID ofuscado do cluster que hospeda a VM.
block_id: O ID do bloco ofuscado no cluster que hospeda a VM.
subblock_id: O ID do sub-bloco ofuscado que hospeda a VM.
machine_id: O nome ofuscado da máquina que hospeda a VM.
reservation_id: O ID da reserva.
Value: O status de uma máquina de TPU que entrará em um estado degradado nas próximas 5 horas, conforme previsto pelo nosso algoritmo proprietário. Os valores possíveis são "NO_DEGRADATION_PREDICTED", "DEGRADATION_PREDICTED" e "POSSIBLE_DEGRADATION_PREDICTED".
tpu/capacity/available_chips BETA  (projeto)
Contagem de chips de TPU disponíveis
GAUGE, INT64, 1
compute.googleapis.com/Location
A contagem atual de chips de TPU disponíveis e prontos para uso.
accelerator_type: O tipo e a geração do acelerador.
reservation_id: O ID da reserva de máquina física.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.
is_exr: indica se o chip de TPU faz parte de uma reserva estendida.
tpu/capacity/committed_chips BETA  (projeto)
Contagem de chips de TPU comprados
GAUGE, INT64, 1
compute.googleapis.com/Location
A contagem atual de chips de TPU comprados.
accelerator_type: O tipo e a geração do acelerador.
reservation_id: O ID da reserva de máquina física.
provisioning_model: O modelo de provisionamento associado.
protection_tier: o modelo de proteção associado.
is_exr: indica se o chip de TPU faz parte de uma reserva estendida.
tpu/network/nic_packets_dropped_count_rx BETA  (projeto)
Contagem de pacotes de NIC descartados Rx
CUMULATIVE, INT64, 1
gce_instance
O número total de pacotes de entrada ou saída descartados pela NIC do host, para RX.
nic_id: ID da NIC.
tpu/network/nic_packets_dropped_count_tx BETA  (projeto)
Contagem de pacotes de NIC descartados Tx
CUMULATIVE, INT64, 1
gce_instance
O número total de pacotes de entrada ou saída descartados pela NIC do host para TX.
nic_id: ID da NIC.
tpu/network/nic_packets_received_count BETA  (projeto)
Contagem de pacotes recebidos da NIC
CUMULATIVE, INT64, 1
gce_instance
A contagem total de pacotes recebidos pela NIC.
nic_id: ID da NIC.
tpu/network/nic_packets_sent_count BETA  (projeto)
Contagem de pacotes enviados pela NIC
CUMULATIVE, INT64, 1
gce_instance
A contagem total de pacotes enviados pela NIC.
nic_id: ID da NIC.

Alfa

Tipo de métrica Etapa do lançamento (níveis da hierarquia de recursos)
Nome de exibição
Classe, Tipo, Unidade
Recursos monitorados
Descrição
Rótulos
quota/tpus_per_tpu_family/exceeded ALPHA  (projeto)
Contagem de TPUs por família de TPU. Erro de cota excedida
DELTA, INT64, 1
compute.googleapis.com/Location
Número de tentativas de exceder o limite no cálculo da métrica de cota compute.googleapis.com/tpus_per_tpu_family. Após a amostragem, os dados não são visíveis por até 150 segundos.
limit_name: O nome do limite.
tpu_family: dimensão personalizada da família de TPUs.
quota/tpus_per_tpu_family/limit ALPHA  (projeto)
Contagem de TPUs por família de TPU. Limite de cota
GAUGE, INT64, 1
compute.googleapis.com/Location
Limite atual da métrica de cota compute.googleapis.com/tpus_per_tpu_family. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 150 segundos.
limit_name: O nome do limite.
tpu_family: dimensão personalizada da família de TPUs.
quota/tpus_per_tpu_family/usage ALPHA  (project)
Contagem de TPUs por família de TPU. Uso de cota
GAUGE, INT64, 1
compute.googleapis.com/Location
Uso atual na métrica de cota compute.googleapis.com/tpus_per_tpu_family. Após a amostragem, os dados não são visíveis por até 150 segundos.
limit_name: O nome do limite.
tpu_family: dimensão personalizada da família de TPUs.

Coletor de telemetria de IA

O coletor de telemetria de IA coleta e publica métricas de TPU no namespace compute.googleapis.com para TPUs criadas usando a API Compute Engine. Essas métricas são métricas de sistema integradas, que fornecem visibilidade sobre a integridade e o desempenho.

A arquitetura do coletor de telemetria de IA foi projetada como um coletor OpenTelemetry (OTEL) especializado e leve. Ele usa dois receptores principais para capturar dados:

  • Receptor do ambiente de execução da TPU: coleta métricas de ambiente de execução e de carga de trabalho (como ciclo de trabalho e uso da memória) diretamente do ambiente de execução da TPU quando uma carga de trabalho de machine learning está ativa.
  • Receptor do host da TPU: captura métricas de utilização de hardware, como utilização do TensorCore e da largura de banda da memória, diretamente do dispositivo, independente de uma carga de trabalho estar em execução.

Em seguida, o coletor de telemetria de IA usa processadores para aplicar automaticamente as tags de recursos necessárias (como project_id, instance_id e zone) e exporta a telemetria diretamente para o Cloud Monitoring de forma segura.

O coletor de telemetria de IA vem pré-instalado nas imagens LTS do Ubuntu otimizadas para TPU do Google e é executado automaticamente quando a VM é inicializada. Para usar essa configuração, especifique o projeto e a família oficiais de imagens de acelerador do Google ao criar uma instância de VM da TPU ou um modelo de instância. Quando a VM é iniciada, o coletor de telemetria de IA envia automaticamente métricas para os painéis do Cloud Monitoring.

Se você estiver criando imagens de sistema operacional personalizadas, use o coletor de telemetria de IA depois de instalar e executar a imagem do Docker ai-telemetry-collector. Para mais informações, consulte Usar uma imagem de SO personalizada.

Configuração

O coletor de telemetria de IA envia métricas automaticamente para os painéis do Cloud Monitoring e não exige etapas de configuração adicionais. No entanto, é possível configurar o pacote Snap ou a imagem do Docker para adicionar destinos de exportação externos, alterar intervalos de coleta de métricas e incluir opções de depuração.

É possível substituir a configuração padrão por um novo arquivo de configuração ou anexar um arquivo de configuração adicional à configuração padrão atual. Ao adicionar configurações, as chaves que ainda não existem são adicionadas, e as que já existem são substituídas. No entanto, matrizes e listas não são aditivas. Portanto, as novas listas precisam incluir valores atuais e novos.

O arquivo YAML a seguir configura o coletor de telemetria de IA para enviar métricas ao Prometheus, um kit de ferramentas de monitoramento e alerta de sistemas de código aberto. Ele também ativa a opção de depuração, que imprime métricas no console.

exporters:
  prometheus:
    endpoint: 0.0.0.0:8889

service:
  pipelines:
    metrics:
      exporters:
      -   prometheus # For more: https://prometheus.io/docs/introduction/overview/
      -   googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
      -   debug # print metrics within the console

SO padrão

Se você estiver usando as imagens do Ubuntu LTS otimizadas para TPU do Google, execute o seguinte comando Snap para adicionar o novo arquivo de configuração à configuração atual:

sudo snap set \
  ai-telemetry-collector \
  extra-flags="--config /home/username/additional-config.yaml"

Se você quiser substituir a configuração atual, use a flag config-path em vez de extra-flags:

sudo snap set \
  ai-telemetry-collector \
  config-path="/home/username/new-config.yaml"

O comando snap set deve acionar uma reinicialização automática do coletor de telemetria de IA. Para verificar se o coletor foi reiniciado e aplicou suas configurações, use o seguinte comando para ver os registros:

sudo snap logs -f ai-telemetry-collector

SO personalizado

Se você estiver usando um SO personalizado, execute o seguinte comando do Docker para adicionar o novo arquivo de configuração à configuração atual:

# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.

docker run --privileged --net=host                                                                   \
  -v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
  ai-telemetry-collector:latest                                                       \
  --config=/etc/ai-telemetry-collector/config.yaml                                    \
  --config=/etc/ai-telemetry-collector/additional-config.yaml

Se você quiser substituir a configuração atual, use o comando do Docker a seguir:

# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.

docker run --privileged --net=host                                               \
  -v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml   \
  ai-telemetry-collector:latest

Registros de auditoria

Os serviços doGoogle Cloud geram registros de auditoria que registram atividades administrativas e de acesso nos recursos do Google Cloud . Para mais informações, consulte Registro de auditoria do Compute Engine.