Reportagem ao vivo desde o nascimento de um importante participante em IA de hardware que acelera o TensorFlow e compete com a NVidia



Amanhã haverá comunicados de imprensa oficiais sobre a fusão do antigo Vale do Silício, MIPS, com a jovem empresa de IA Wave Computing. Ontem, informações sobre esse evento foram vazadas para a mídia e logo CNet, Forbes, EE Times e vários sites de alta tecnologia foram publicados com artigos sobre o evento. Hoje, Derek Meyer, presidente da empresa resultante da fusão (foto abaixo, à direita), disse: “tudo bem, compartilhe as informações com os amigos” e decidi escrever algumas palavras sobre as tecnologias e as pessoas associadas a este evento.

O principal investidor no MIPS e Wave é o bilionário Dado Banatao (foto abaixo, à esquerda), que fundou a empresa Chips & Technoilogies na década de 1980, que fabricava chipsets para os funcionários mais antigos. Existem outras celebridades no Wave + MIPS, como Stephen Johnson (foto no canto superior direito), autor do compilador C mais popular do início dos anos 80. O MIPS é bem conhecido na Rússia. Nas mãos do designer Smriti (foto à esquerda) está uma placa de Zelenograd, onde estão localizados os licenciados do MIPS Elvis-NeoTek e Baikal Electronics.

A Wave já lançou um chip que consiste em milhares de unidades de processamento, processadores essencialmente simplificados. Esse design é otimizado para computação em rede neural muito rápida. O Wave possui um compilador que transforma um gráfico de fluxo de dados em um arquivo de configuração para essa estrutura.

A empresa combinada criará um chip que consiste em uma mistura dessas unidades de computação e núcleos MIPS multithread. Agora, a Wave está vendendo sua tecnologia na forma de uma caixa para data centers, para computação de redes neurais na nuvem. Os seguintes chips serão usados ​​em dispositivos incorporados.

As redes neurais são tradicionalmente representadas como um gráfico de fluxo de dados. Este é um gráfico cujos nós contêm constantes, variáveis ​​e operações aritméticas em escalares, vetores e matrizes:



O Google criou a biblioteca TensorFlow, uma API para criar esses gráficos e executar cálculos em uma grade - uma inferência e treinamento regulares usando backpropfgftion. Essa API é mais frequentemente usada junto com python, o código com o qual se parece com isso:



Ao mesmo tempo, o python no exemplo acima usa a redefinição de operações aritméticas, que na verdade não calculam, mas constroem um gráfico na memória. Em C, o código para a construção de um gráfico no TensorFlow se parece com o seguinte:



No Google, tenho um amigo programador ucraniano Mikhail Simbirsky que usa o TensorFlow em python. As redes neurais do Google são usadas, por exemplo, para analisar o comportamento do usuário para segmentá-lo com publicidade. Alguns cálculos para treinar as redes neurais do Google levam dias e semanas, apesar de o Google usar a GPU NVidia e seus próprios aceleradores do Google. Esta não é uma tarefa fácil, pois a transferência de dados entre processadores e GPUs consome tempo:



Um dos problemas de design de processadores e GPUs é que a GPU fica ociosa por um longo tempo:



Outro problema é a largura de banda insuficiente de memória das interfaces. A onda em combinação com o MIPS resolverá um e outro problema. Em novos produtos, não o processador usará o acelerador como coprocessador, mas eles trabalharão juntos.

Para isso, os núcleos do MIPS serão modificados para, eventualmente, criar uma plataforma de hardware padrão para a IA. A vantagem dos núcleos MIPS I6400 / I6500 (Samurai / Daimio) e MIPS I7200 (licenciado pela MediaTek) é multithreading. O ARM não possui multithreading. Aqui está a aparência do pipeline multithread no núcleo do MIPS I6400:



E agora a pergunta é para os comentaristas mais experientes: qual você acha que é a vantagem do multithreading para uma combinação de CPU e acelerador de hardware? Em particular, o acelerador da Wave, que é uma variante da chamada CGRA - Matriz Reconfigurável de Granulação Grossa - matrizes reconfiguráveis ​​de granulação grossa.

Se você está familiarizado com FPGA (Arranjo de portas programável em campo) / FPGA (circuitos integrados de lógica programável), a idéia do CGRA é um pouco semelhante, mas eles não funcionam com bits individuais, mas com barramentos inteiros de 8 a 64 bits e em cada célula existe ALU e, para várias células - um coprocessador aritmético. É assim que toda a hierarquia se parece:



E aqui está uma célula reconfigurável. Ela tem um pequeno buffer com instruções que se assemelham aos comandos simples dos microcontroladores de bateria de 8 bits, como o 6502, que estava nos primeiros computadores da Apple. Ao mesmo tempo, os processadores da Apple antiga trabalhavam com uma frequência de alguns megahertz, e as células na CGRA operam com uma frequência de vários gigahertz. Além disso, havia apenas um processador na Apple, mas existem 16 mil células:



O cristal no Wave é claramente enorme, então você precisa usar circuitos localmente síncronos com um sinal de relógio para cada grupo de células. Mas o maior problema não é hardware, mas software. O gráfico para calcular a grade deve estar espalhado nesse monte de dispositivos com o conhecimento exato em que ciclo será calculado. Isso é chamado de agendamento estático. Portanto, a Wave contratou vários compiladores, incluindo o famoso bisonte - Stephen Johnson, que ficou na origem com Kernigan e Richie. Aqui está o que Dennis Ritchie escreveu sobre Stephen Johnson:
Nos anos 80, C rapidamente ganhou popularidade e os compiladores se tornaram disponíveis em quase todas as máquinas e sistemas operacionais; em particular, tornou-se popular como uma linguagem de programação para computadores pessoais, tanto para desenvolvedores de software comercial para essas máquinas quanto para usuários comuns que gostam de programação. No início da década, quase todo compilador era baseado no PC da Johnson; em 1985, já havia muitos compiladores criados por desenvolvedores independentes.
Quando eu tinha 18 anos (em 1988) e era estudante do MIPT, Stephen Johnson era meu Deus. Participei do desenvolvimento de dois compiladores baseados em seu Portable C Compiler. Um compilador foi para a Electronics SS LSI, a Cruz Vermelha, o equivalente soviético do supercomputador vetorial Cray-1. O segundo compilador foi para o Orbit 20-700, um computador embutido nos caças soviéticos MiG-29 e outros no início dos anos 80.

Então, eu apenas tive que tirar uma foto com Stephen Johnson. Ele me contou sobre outras ferramentas que ele criou tanto para o Unix quanto para automação de design, criação de perfil automático etc.



E, claro, o Dado Banatao foi fotografado com um investidor em todo esse negócio. Era uma vez, o Dado Banatao criou o chipset para o primeiro rabisco. Ele depurou os drivers com Ballmer. “Às vezes Bill Gates entrava na sala, o que nos perturbava”, diz Dado Banatao. Agora, de acordo com a Internet, ele tem cinco bilhões de dólares. Ele é o filipino de alta tecnologia mais famoso, cria um centro de IA e administra outros programas educacionais em sua terra natal.



Dado Banatao ganhou mais dinheiro na Marvell. Aqui está o escritório dela em Santa Clara ao sol da tarde:



O Wave emprega muitas pessoas que trabalhavam no MIPS. E alguns dos MIPS estavam na Silicon Graphics, já que o MIPS fazia parte da Silicon Graphics na década de 1990. Naqueles dias, os processadores MIPS estavam em estações gráficas usadas em Hollywood para filmar os primeiros filmes gráficos realistas, como Jurassic Park. Estas estações gráficas, juntamente com a garota siberiana Irina, no Museu de História do Computador em Mountain View, Califórnia:



No final da festa de hoje, em homenagem ao anúncio oficial de amanhã e às publicações da imprensa de ontem, ocorreram bolos e bebidas de champanhe:



Amanhã haverá muito trabalho - desde o Verilog RTL (minhas responsabilidades diretas) até discutir arquitetura, aplicativos e até conversar com cientistas de dados (eles se sentem de outro Universo, além disso, isso é mútuo entre engenheiros eletrônicos e compiladores).

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


All Articles