Como construir um computador para ML



Seu próprio servidor de aprendizado é como uma máquina no século 20: se você está seriamente envolvido com a Data Science, mais cedo ou mais tarde chegará ao ponto em que precisa de um ambiente personalizado unificado, confiança em recursos que são independentes das regras do empregador e dos administradores. Alguém dirá que tudo pode ser feito nas nuvens, mas o acesso constante, longas experiências 24 horas por dia, 7 dias por semana e até mesmo com armazenamento de dados, custará um centavo.

Então, se você decidir - precisará construir sua cidade jardim.

Vamos ver o que precisamos:

  • Os conjuntos de dados devem estar em algum lugar. Precisa da capacidade de armazenar e ter acesso rápido a grandes quantidades de dados.
  • Placa de vídeo Resnet e Unet estão aguardando.
  • Processador multi-core. Muitas pessoas esquecem, mas muitas operações em algoritmos numpy, pandas e de aumento de gradiente são perfeitamente paralelizadas para multithreading, mas ainda não funcionam em placas de vídeo.
  • RAM Deve conter tudo.
  • E o resto que deve atender aos parâmetros: uma fonte de energia adequada, um gabinete e uma placa-mãe, onde toda essa felicidade se encaixa, um sistema operacional.

O fator determinante mais importante, é claro, é o orçamento. Eu defini o meu na região de 150 mil rublos.

Portanto, o primeiro e mais caro é uma placa de vídeo . Vamos admitir o óbvio: a Nvidia agora é líder absoluta no desempenho e compatibilidade de estruturas, e se você estiver escrevendo redes neurais, precisará de cudnn e cuda. Mas boas placas gráficas valem uma soma redonda: se queremos pelo menos 11 Gb de memória e o desempenho correspondente, precisamos pagar US $ 1000 ou mais pelo modelo de topo. As placas de vídeo voam e os preços sobem. Como ser Devemos lembrar que agora estamos vivendo em um momento único: uma bolha de criptomoeda explode nas costuras e um grande número de placas de vídeo de mineradoras entra no mercado. Sou o orgulhoso proprietário de um 1080 Ti usado por 30 mil rublos e, por quase um ano, ela nunca me decepcionou, trabalhando 24 horas por dia, 7 dias por semana. Pegue um computador com Windows (por algum motivo, a maioria dos programas de teste de placas de vídeo é projetada especificamente para este sistema), faça estocagem de programas, verifique seu cavalo de trabalho em toda parte e use com segurança um acelerador gráfico 1,5-2 vezes mais barato.

Continuando a ideia de calculadoras, vamos para o processador . Aqui eu gostaria de dizer, por analogia com o anterior, que a Intel é o líder absoluto (especialmente desde que trabalhei lá). Isso é verdade ... somente se estivermos falando de aplicativos de thread único ou de um orçamento ilimitado. No entanto, não temos um nem o outro caso, mas queremos paralelizar e deixar o dinheiro, aqui a AMD Ryzen como um todo chega até nós e sua linha Threadripper em particular. Por US $ 700-1.000, você pode comprar um chip nuclear 24-32 no qual o Catboost voará, os parâmetros semelhantes da Intel são duas vezes mais caros. Obviamente, existe um grande "MAS": o Threadripper deve seu desempenho a um design específico, e isso deve ser levado em consideração (mais sobre isso abaixo) ...



Algumas letras da montadora: “Acho que, depois do recente fiasco da Intel com o 10980XE, a questão de qual processador escolher para a computação multithread tem uma resposta bastante clara. Mas ... tudo pode mudar.

E então passamos à memória . É estranho criar um servidor com menos de 32 gigabytes de RAM (então é mais fácil contar com pulseiras de fitness) e é melhor gravar uma memória com alta frequência (3200+, os processadores de arquitetura ZEN e ZEN 2 adoram). É claro que a RAM não é o componente mais difícil do circuito, o que significa que existem muitos fabricantes, mas é melhor usar os comprovados (usei a Corsair). Aqui você precisa decidir quanto tomar e com o número de canais. A resposta mais simples é: mais para cada dado sim, 16 gigabytes ficam. Parece que você pode obter 256 GB de agentes no seu PC. Mas não é tão simples. Se você usar memória de canal duplo, o dobro de núcleos ativos irá para a mesma quantidade de informações na memória, o que significa que a velocidade de acesso é reduzida - aqui devemos lembrar a necessidade de acesso rápido à memória, como um requisito crítico. Então tomamos quatro canais. Em cada dado, teremos 8 GB de memória.

Outro insight do coletor, ou melhor, os detalhes prometidos sobre o Threadripper: "Em geral, se você tiver o mantra" todos os canais de memória devem estar cheios "(e o Threadripper possui 4 deles), você pode rolar para baixo. Lembro aos outros que esse processador da arquitetura antiga possui uma estrutura interessante de 4 nós NUMA, nós com acesso à memória heterogêneo. Eles podem trabalhar com um canal, mas você acumulará atrasos causados ​​por essa arquitetura. Nos Threadrippers mais recentes, já criados no ZEN 2, esse recurso é eliminado, mas o desejo do computador por muitos canais de memória permanece ".

Portanto, deduzimos o limite da placa - mãe no número de slots de memória, pelo menos 4 (para obter 32 gigabytes) e preferencialmente 8. Vale a pena pensar imediatamente se você vai usar uma segunda placa de vídeo e, é claro, olhar para o fabricante. Aqui descobrimos que não existem tantas ofertas no mercado de PCs (não de servidor) que se encaixam em nossas restrições (pelo menos havia poucas quando essa máquina seria). É claro que a ASUS me vem à mente e, com um orçamento ilimitado, eu aceitaria, mas, tentando encaixar-se na estrutura, aceitamos a ASRock, o irmão mais novo de uma grande empresa, disponível mesmo após a queda do rublo.

Obviamente, com uma calculadora tão rápida, é estranho depender da velocidade do disco rígido, o que significa que precisamos de um SSD. Eles são, obviamente, mais caros, mas acontece que poucas tarefas exigem terabytes de dados em acesso constante. Portanto, você pode usar 512 GB e manter os conjuntos de dados que ainda não deseja excluir, juntamente com uma coleção de filmes caseiros - em um disco terabyte clássico separado. Ou mais. Quanto é necessário e o que o orçamento permitirá.

Tendo reunido os principais componentes, estamos nos perguntando o que pode dar poder à economia. Depois pense no desenvolvimento e, por exemplo, na segunda placa de vídeo (é melhor usar com margem). E, é claro, é necessário decidir quem esfriará esse poder. Os estripadores de linha aquecem como os preços das flores no dia 8 de março, então você precisa de um poderoso sistema de refrigeração. Formalmente, uma abordagem forte de ar e água, mas eu aconselho você a tomar água: o preço é comparável a um ar forte, mas não haverá sensação constante de que você esteja morando na pista. Além disso, nos últimos anos, o número de fabricantes que oferecem coolers sãos especificamente para a Threadripper aumentou - há muito por onde escolher.



Em geral, tudo está montado, resta embalar um prédio espaçoso - não haverá conselhos, é uma chance de auto-expressão - você pode escolher o que quiser.

Existem as seguintes opções para comprar toda a felicidade :

  1. Para coletar alguém de fora
    • Prós : pode verificar o pacote novamente, sem problemas de compatibilidade
    • menos : ~ 10-15% do custo, dependendo da complexidade do trabalho e do custo dos componentes
  2. Escreva tudo em um pedaço de papel, vá até Savelovsky / Gorbushka (se você mora em Moscou) e colecione lá.
    • vantagens : como se nada batesse durante a entrega, eles farão tudo com você, menos dinheiro para montagem
    • Contras : pode não haver os componentes mais baratos (mesmo no âmbito de um mercado, o preço sobe para 50%, mais por esse preço, posso tentar usar B / Y)
  3. Encomende tudo no Yandex Market
    • profissionais : opção barata disponível
    • contras : difícil verificar a entrega
  4. Encomende tudo no estrangeiro (aliexpress / ebay)
    • vantagens : a opção mais barata, surpresa na chegada
    • menos : surpresa na chegada (sério, não faça isso - eles vencem com mais frequência no Sportloto)

Eu mesmo escolhi a primeira opção (pessoalmente, posso recomendar pessoas específicas).

Quando tudo chegou e montou, restava rolar o sistema.

Esta é uma história para um post separado, vou contar brevemente: como eu também queria usá-lo como um desktop e tinha experiência anterior em Linux, escolhi o Ubuntu Linux devido à sua popularidade.

Quando tudo funcionar, peça ao seu ISP um IP estático - é gratuito ou barato e fornecerá acesso aos seus laptops Jupiter de praticamente qualquer lugar.

No final, direi que expressei minha opinião, formada como resultado do estudo do mercado e da comunicação com especialistas. Atendi ao orçamento e, por quase um ano, o milagre da tecnologia moderna vem funcionando sem problemas. Depois de algum tempo, instalei o jupyterhub e comecei a fazer amigos, então vivemos em nossa pequena comunidade no servidor e treinamos as grades, que é o que eu quero para você.



Cálculo final (preços a partir de 2019):

Nome
Preço em rublos
Link
Processo COUGAR Panzer MAX Preto
9200
https://market.yandex.ru/product--kompiuternyi-korpus-cougar-panzer-max-black/1712295303/offers?priceto=10000&local-offers-first=1&deliveryincluded=1&how=aprice
Placa-mãe ASRock X399 Taichi
27200
https://market.yandex.ru/product--materinskaia-plata-asrock-x399-taichi/1730976015/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Processador AMD Ryzen Threadripper 1920X (sTR4, L3 32768Kb)
31150
https://market.yandex.ru/product--protsessor-amd-ryzen-threadripper-1920x-str4-l3-32768kb/1732027853/offers?onstock=1&local-offers-first=1&how=aprice&deliveryincluded=1
RAM 32Gb (4x8Gb) Corsair DDR4 de 3200MHz DIMM
23100
https://market.yandex.ru/product--operativnaia-pamiat-corsair-cmk32gx4m4d3200c16/1729035586/offers?local-offers-first=1&deliveryincluded=1&how=aprice
Então eu comprei a mesma quantidade
Fonte de alimentação Chieftec BDF-1000C 1000W
7330
https://market.yandex.ru/product--blok-pitaniia-chieftec-bdf-1000c-1000w/1731273730/offers?priceto=9000&local-offers-first=1&deliveryincluded=1&how=aprice
SSD Samsung M.2 970 EVO 500 Gb (R3500 / W2500MB / s)
9960
https://market.yandex.ru/product--tverdotelnyi-nakopitel-samsung-mz-v7e500bw/41265856/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Placa de vídeo GeForce GTX 1080Ti
31000
SJO Deepcool Castle 280 RGB
9500
https://market.yandex.ru/product--kuler-dlia-protsessora-deepcool-castle-280-rgb/163585623/offers?local-offers-first=1&how=aprice&deliveryincluded=1
Pasta TG Kryonaut
1600
https://key.ru/shop/devices/termopasta/termopasta_thermal_grizzly_kryonaut1/
Ventiladores de bloco de água Noctua e Gelid 140mm
2000
Compra, montagem, configuração, instalação do SO
13000
Aconselho a pessoa que coletou, mas os contatos sob solicitação
Total:
165040
Total de peças
152040


Postado por Nikolai Knyazev, chefe do grupo de aprendizado de máquina, Jet Infosystems

Source: https://habr.com/ru/post/pt480482/


All Articles