Requisitos de sistema

A configuração do hardware necessário para executar o Texto Fala depende de alguns fatores, como:

  • Quantidade de sessões simultâneas de síntese

  • Quantidade de vozes carregadas ao mesmo tempo

Em geral, o requisito de memória aumenta na medida em que mais vozes são utilizadas ao mesmo tempo, enquanto que o requisito de CPU aumenta na medida em que mais sessões de síntese precisam estar disponíveis simultaneamente.

Aviso

Processadores x86 modernos usualmente implementam SMT (simultaneous multithreading) e possuem os conceitos de núcleo e thread (não confundir com threads do sistema operacional). Neste caso, cada núcleo do processador possui threads de execução que compartilham recursos do núcleo. Se SMT estiver habilitado, o número de vCPUs apresentado pelo sistema operacional será maior que o número de núcleos disponíveis (e.g. o dobro se cada núcleo possui duas threads).

O Texto Fala é uma aplicação que faz uso intensivo de CPU e, para obter o melhor desempenho possível, o uso de threads da CPU deve ser evitado. Ao reservar recursos computacionais para os serviços do Texto Fala, assegure-se de que o número de vCPUs alocados contemple a quantidade necessária de núcleos do processador. Pode ser necessário alocar mais vCPUs para garantir o número de núcleos requeridos (e.g. se cada núcleo possui duas threads, seriam necessários o dobro do número de vCPUs). Consulte o arquivo /proc/cpuinfo para identificar a arquitetura do processador em uso.

O Texto Fala é implantando em um cluster Kubernetes, que permite a criação de um ambiente robusto e escalável.

Requisitos por serviço

Serviço Neural API

  • Processador: Processador x86 de 64-bits com frequência base de 2.4 GHz ou superior e suporte para instruções SSE4 e AVX2. Recomenda-se o uso de processadores AMD ou Intel produzidos a partir de 2016. O produto pode funcionar com procesadores mais antigos, mas potencialmente com desempenho inferior.

    É essencial que um mesmo núcleo do processador não seja compartilhado entre máquinas virtuais. Recomenda-se que o número de núcleos disponíveis seja, pelo menos, 10% do número total de sessões de sínteses que se deseja alcançar.

  • Memória: A quantidade necessária de memória está relacionada a quantidade sessões que serão utilizadas simultâneamente, sendo que cada sessão requer cerca de 10 MiB. Recomenda-se reservar, pelo menos, 512 MiB de memória.

Serviço Neural Engine

  • Processador: Processador x86 de 64-bits com frequência base de 2.4 GHz ou superior e suporte para instruções SSE4 e AVX2. Recomenda-se o uso de processadores AMD ou Intel produzidos a partir de 2016. O produto pode funcionar com procesadores mais antigos, mas potencialmente com desempenho inferior. É essencial que um mesmo núcleo do processador não seja compartilhado entre máquinas virtuais.

    Cada núcleo do processador é capaz de sintetizar de 2 a 3 requisições em tempo real. Para aplicações que precisam realizar a síntese online (e.g. durante uma ligação telefônica), recomenda-se fazer até 2 sínteses por núcleo. Caso a funcionalidade de SMT do processador esteja ativa, o serviço utilizará apenas uma thread por núcleo.

  • Memória: A quantidade necessária de memória está relacionada a quantidade de vozes e sessões que serão utilizadas simultâneamente. Cada voz acrescenta cerca de 1,5 GB no consumo de memória, enquanto cada sessão requer cerca de 20 MiB. Recomenda-se reservar 512 MiB adicionais.

Serviço Linguístico

  • Processador: Processador x86 de 64-bits com frequência base de 2.0 GHz ou superior. Recomenda-se o uso de processadores AMD ou Intel produzidos a partir de 2016. O produto pode funcionar com procesadores mais antigos, mas potencialmente com desempenho inferior.

    Recomenda-se o uso de dois núcleos para cenários com até 100 sessões e 4 núcleos para os demais casos. Este serviço pode se beneficiar com o uso de SMT.

  • Memória: 512 MiB de memória livre.

Ambiente de referência

Segue abaixo a especificação das instâncias de um cluster para suportar a demanda de 48 sínteses simultâneas e produzir fala em tempo real utilizando duas vozes.

Especificação de hardware por serviço

Serviço

Instâncias

Especificação

Neural API

1

  • 4 núcleos AMD EPYC 7J13 2,55 GHz

  • 4 GB de memória RAM

Neural Engine

2

  • 8 núcleos AMD EPYC 7J13 2,55 GHz

  • 4 GB de memória RAM

Language

1

  • 2 núcleos AMD EPYC 7J13 2,55 GHz

  • 512 MiB de memória RAM