O CEO da Tesla, Elon Musk, revelou recentemente o Tesla Bot da empresa. O robô de codinome Optimus atravessou o palco, acenou com a mão e balançou os braços em um movimento de dança em baixa velocidade. Musk prevê que o robô poderá custar US$ 20 mil dentro de três a cinco anos, se tudo correr conforme o planejado. Mas a questão é: o que isso pode fazer por nós. Mas antes de entrarmos nisso, vamos dar uma olhada nos principais dispositivos que impulsionam o Tesla Bot.
Atuadores Tesla Bot
O Atuadores são o principal sistema de acionamento de qualquer robô. Você poderia dizer que um robô nada mais é do que um PC com peças móveis, ou em outras palavras, um Robô é um PC com atuadores e sensores. A Tesla desenvolveu seus próprios Atuadores para o Bot, utiliza 3 tipos de atuadores rotativos e 3 tipos de Atuadores Lineares.
Se você está se perguntando por que a Tesla não usou atuadores lineares padronizados como o FIRGELLI atuador, é porque eles têm várias restrições, o que significa que eles precisam desenvolver seus próprios sistemas para que os robôs sejam leves, eficientes em termos de energia, alta densidade de potência e baixo custo. A Tesla afirmou que deseja levar o Bot ao varejo por US$ 20.000 cada. Isso por si só é uma tarefa difícil para algo que exigirá 23 atuadores e um PC poderoso, muitos sensores e uma bateria para durar mais do que algumas horas, além de um esqueleto forte para manter tudo unido.
Atuadores Lineares Tesla Bot
Os Atuadores Lineares desenvolvidos pela Tesla são altamente específicos para uma função específica, o que significa que eles não seriam de muita utilidade para qualquer outra aplicação que não fosse um Robô. Seus atuadores empregam um sistema de rolo planetário, como Tesla o chama, mas isso é basicamente um código para o projeto de fuso de esfera e, em vez de uma bobina de armadura magnética tradicional no meio do motor, eles decidiram usar um projeto de motor com núcleo sem escova. Isso significa que o design do fuso esférico é muito eficiente e usa menos energia, mas também é mais caro. E eles usam um sistema de energia sem escova, o que significa que a vida útil será significativamente mais rápida e permite modos de acionamento altamente específicos controlados pelo software.
O comprimento do percurso é de apenas cerca de 2" e, como a imagem mostrava eles levantando um piano de 500 kg, isso representa muito peso. Você pode se perguntar por que ele precisa levantar tanto peso? Bem, isso é porque, quando instalado em um esqueleto de metal, o deslocamento dos atuadores precisa amplificar o movimento do que está se movendo. Portanto, se estiver movendo a perna de um robô, a perna precisa ser capaz de se mover cerca de 150 graus, ou mais de 60 centímetros de comprimento, a perna precisa balançar. cerca de zero a um arco de 3 pés. O corpo humano que evoluiu ao longo de 100.000 anos permite que nós, humanos, façamos isso usando os músculos das pernas, mas conseguir um atuador linear para fazer isso não é uma tarefa fácil. Portanto, o ponto que quero dizer é: O que estou fazendo é que, embora o Atuador possa levantar 500Kg de peso em mais de 2 polegadas, uma vez que os atuadores sejam conectados a uma alavanca, a força é reduzida significativamente, dependendo da taxa de alavancagem, mas a velocidade aumenta, o que torna uma boa negociação -desligado.
Apresentação do bot Tesla.
Aqui está o que o próprio Tesla tinha a dizer sobre a última apresentação do Bot que fizeram em 30 de setembro de 2022
Elon Musk apresenta: WTemos algumas coisas realmente interessantes para mostrar a você. Acho que você ficará bastante impressionado. Quero definir algumas expectativas em relação ao nosso robô Optimus, como você sabe no ano passado, era apenas uma pessoa em uma roupa de robô, mas não percorremos um longo caminho e acho que você sabe, comparado a isso, é vai ser muito impressionante. E falaremos sobre os avanços na IA para a condução totalmente autônoma, bem como como eles se aplicam a maisgeralmente para problemas de IA do mundo real, como um robô humanóide e até mesmo indo além disso. Acho que há algum potencial de que o que estamos fazendo aqui na Tesla possa dar uma contribuição significativa para a AGI, e acho que realmente nos diz uma boa entidade para fazer isso do ponto de vista de governança, porque somos uma empresa de capital aberto, temos um classe de ações e isso significa que o públicocontrola Tesla e eu acho que isso é realmente uma coisa boa, então se eu enlouquecer, você pode me demitir issoé importante talvez eu não seja louco, não sei. Então, sim, vamos falar muito sobre nosso progresso no piloto automático de IA, bem como o progresso no dojo, e então vamos trazer a equipe e fazer uma longa pergunta e resposta para que você possa fazer perguntas difíceis questões. O que você quiser, perguntas existenciais, perguntas técnicas, se você quiser ter o máximo de tempo possível para perguntas e respostas, então vamos ver se você adivinha o que acontece diariamente.
Olá pessoal, sou Milan, trabalho no piloto automático e é borracha, sou Lizzy, engenheira mecânica no projeto também, ok, então devemos trazer o Bot antes de prosseguirmos pela primeira vez, testamos este robô sem nenhum guindaste de suporte de backup
mecanismos mecânicos sem cabos nada sim, quero me juntar a vocês
esta noite, mas foi a primeira vez, vamos ver você pronto, vamosA propósito, este é literalmente a primeira vez que o robô operou sem uma corda esteve no palco esta noite, é isso, então o robô pode realmente fazer muito mais do que acabamos de mostrar. só não queria que ele caísse de cara, então vamos mostrar alguns vídeos agora do robô fazendo um monte de outras coisas, sim, que são menos arriscadas.
Sim, queríamos mostrar um pouco mais do que fizemos nos últimos mesesseparados e apenas andando e dançando no palco e apenas um começo humilde, mas você pode ver as redes neurais do piloto automático funcionando como
é apenas treinado novamente para o botão diretamente naquela nova plataforma que é meu regador, você pode veruma visão renderizada que é o robô qual é o mundo que o robô vê então está identificando muito claramente objetos como este é o objeto que ele deve pegar. Usamos o mesmo processo que usamos para o piloto automático para coletar dados para treinar suas redes que então implantamos no
robô esse é um exemplo que ilustra um pouco mais a parte superior do corpo
algo que gostaríamos de tentar definir em alguns meses, nos próximos meses, eu diria com perfeiçãoesta é realmente uma estação real na fábrica de Fremont onde está funcionando.
Essa não é a única coisa que temos para mostrar hoje, então o que você viu foi o que chamamos de Bumble C, esse é o nosso tipo de robô de desenvolvimento bruto usando atuadores semi-prontos para uso, mas na verdade já demos um passo além do que isso a equipe fez um trabalho incrível e na verdade temos um bot otimista com um
totalmente Tesla projetado em ambos os atuadores sistema de controle de bateriatudo que ainda não estava pronto para andar, mas acho que vai andar em algumas semanas, mas queríamos mostrar a vocês o robô e algo que está bastante próximo do que entrará em produção, e mostrar todas as coisas que ele pode faça isso, vamos trazê-lo para fora
Esperamos ter na unidade de produção da Optimus algo que seja a capacidade
para mover todos os dedos de forma independente, mova o polegar, tenha dois
graus de liberdade, por isso tem polegares oponíveis e mão esquerda e direita, então
é capaz de operar ferramentas e fazer coisas úteis, nosso objetivo é fazer um trabalho útil
robô humanóide o mais rápido possível e também o projetamos usando o
mesma disciplina que usamos no projeto do carro, ou seja, projetá-lo para fabricação de tal forma que seja possívelfazer o robô em alto volume, baixo custo e alta confiabilidade, então isso é extremamente importante. Quero dizer, todos vocês já viram demonstrações impressionantes de robôs humanóides e isso é ótimo, mas o que está faltando? não tenho a inteligência para
navegam pelo mundo sozinhos e também são muito caros,e fabricado em baixo volume, enquanto esta é uma sociedade otimista e um robô extremamente capaz, mas fabricado em volume muito alto, provavelmente em última análise, milhões de unidades e espera-se que custe muito menos do que um carro.
Eu diria que provavelmente menos de vinte mil dólares seria o meu palpite
o potencial para o otimismo é, creio, apreciado por pessoas muito eficazes
pessoal, ei, como sempre, as demonstrações do Tesla estão chegandoentão, tudo bem, isso é bom, isso é bom, sim, as equipes se esforçaram e a equipe colocou uma quantidade incrível de trabalho. super orgulhoso do que fizeram é que realmente fizeram um excelente trabalho só gosto de dar uma mão a toda a opção desta equipa para que saibam que agora ainda há muito trabalho a fazer para refinar o Optimus e melhorá-lo, obviamente, esta é apenas a versão um do Optimus e é por isso que estamos realizando este evento que é para convencer algumas das pessoas mais talentosas do mundo como vocês a se juntarem à Tesla e ajudarem a torná-lo realidade e a concretizá-lo em escala tal que pode ajudar milhões de pessoas e o potencial que ela tem é realmente confuso porque você tem que dizer o que é uma economia, uma economia é uh, uma espécie de entidades produtivas vezes a produtividade uh Capital vezes produção produtividade per capita no ponto em que não há limitação de capital, não está claro o que uma economia significa nesse ponto, uma economia se torna quase infinita, então o que você sabe foi levado a bom termo no cenário esperançosamente benigno, isso significa um futuro de abundância, um futuro onde não há pobreza onde as pessoas que você
pode ter o que quiser em termos de produtos e serviçosé realmente uma transformação fundamental da civilização como a conhecemos, obviamente, queremos ter certeza de que a transformação seja positiva e segura, mas é também por isso que acho que a Tesla, como entidade que faz isso, é uma classe única de ações negociadas publicamente de propriedade do O público é muito importante e não deve ser esquecido. Acho que isso é essencial porque, se o público não gostar do que a Tesla está fazendo, o público poderá comprar ações da Tesla e votar de forma diferente.
Isso é importante, é muito importante que eu não possa simplesmente fazer o que quero, você sabeàs vezes as pessoas pensam que não, mas não é verdade, então você sabe que é muito importante que a entidade corporativa que faz isso acontecer seja algo que o público possa influenciar adequadamente e então acho que a estrutura da Tesla é ideal para isso e como Eu disse que você sabe que os carros autônomos certamente terão um impacto tremendo no mundo. Acho que eles vão melhorar o
produtividade dos transportes em pelo menos meia ordem de grandeza, talvez umordem de grandeza, talvez mais um otimista, acho que tem talvez um potencial de duas ordens de grandeza Melhoria na produção econômica, como se não estivesse claro, não estivesse claro qual é o limite, mas precisamos fazer isso da maneira certa, precisamos fazer fazê-lo com cuidado e segurança e garantir que o resultado seja benéfico para a civilização e que a Humanidade, uma vez que eu não possa, isso também é extremamente importante, obviamente, então e espero que você considere se juntar à Tesla para atingir esses objetivos na Tesla, nós realmente me importo em fazer a coisa certa aqui, sempre aspiro a fazer a coisa certa e realmente não pago o caminho para o inferno com boas intenções e acho que o caminho para o inferno é principalmente pavimentado com más intenções, mas de vez em quando há uma boa intenção em aí, então queremos fazer isso, faça a coisa certa, então você sabe, considere se juntar a nós e ajudar a fazer isso acontecer, vamos passar para a próxima fase, obrigado Elon
Tudo bem, então você viu alguns robôs hoje, vamos fazer uma rápida recapitulação da linha do tempo, então no ano passado revelamos o bot Tesla
conceito, mas um conceito não nos leva muito longe, sabíamos que precisávamos de uma plataforma real de desenvolvimento e integração para
obter aprendizados da vida real o mais rápido possível para aquele robô que apareceu e fez a pequena rotina para vocês, nós
construí isso em seis meses, trabalhando na integração de software. Atualizações de hardware ao longo dos meses desde então, mas
em paralelo também estamos projetando a Próxima Geração essa aqui
então esse cara está enraizado na base do processo de design de veículos, você sabe que estamos aproveitando tudo isso
esses aprendizados que já temos, obviamente, muita coisa mudou desde o ano passado, mas há algumas coisas
que ainda são os mesmos, você notará que ainda temos um foco realmente detalhado na verdadeira forma humana que pensamos que
é importante por alguns motivos, mas é divertido passarmos muito tempo pensando em quão incrível é o corpo humano que temos
esta incrível amplitude de movimento normalmente é uma força realmente incrível e divertida
exercício é que se você colocar a ponta do dedo na cadeira à sua frente, notará que há uma enorme amplitude de movimento que
você tem no ombro e no cotovelo, por exemplo, sem mover a ponta do dedo, você pode mover todas essas articulações
em qualquer lugar, mas o robô que você conhece, sua principal função é fazer um trabalho realmente útil e
talvez não precise necessariamente de todos esses graus de liberdade imediatamente, então reduzimos ao mínimo
de 28 graus fundamentais de liberdade e, claro, nossas mãos, além disso
os humanos também são bastante eficientes em algumas coisas e não tão eficientes em outras, por exemplo, podemos comer um pequeno
quantidade de comida para nos sustentar por várias horas, isso é ótimo, mas quando estamos sentados, não
ofensivo, mas somos um pouco ineficientes, estamos apenas queimando energia, então na plataforma do robô o que estamos
O que vamos fazer é minimizar o consumo de energia ocioso, reduzi-lo o máximo possível e dessa forma podemos apenas
aperte um botão e imediatamente o robô se transforma em algo que faz um trabalho útil
então vamos falar sobre essa última geração com mais detalhes, então na tela aqui você verá em
Laranja são atuadores que abordaremos daqui a pouco e em azul nosso sistema elétrico
então agora que temos nosso tipo de pesquisa baseada em humanos e temos nossa primeira plataforma de desenvolvimento, temos ambos
pesquisa e execução para basear este projeto novamente, estamos usando aquele projeto de veículo
base, então estamos levando isso desde o conceito até o design e análise e
em seguida, construa e valide ao longo do caminho, vamos otimizar coisas como custo e eficiência
porque essas são métricas críticas para levar este produto à escala, eventualmente, como vamos fazer isso bem?
vamos reduzir nossa contagem de peças e nosso consumo de energia de todos os elementos possíveis, faremos coisas como
reduzir a sensação e a fiação em nossas extremidades, você pode imaginar que muita massa em suas mãos e pés irá
será muito difícil e consumirá energia para se movimentar e vamos centralizar nossos
distribuição de energia e nossa computação para o centro físico da plataforma
então, no meio do nosso torso, na verdade, é o torso, temos nossa bateria com capacidade de 2,3 quilowatts-hora
o que é perfeito para cerca de um dia inteiro de trabalho, o que é realmente único nesta bateria
pacote é que ele tem todos os componentes eletrônicos da bateria integrados em um único PCB dentro do pacote, o que significa tudo
desde a detecção até a fusão, gerenciamento de carga e distribuição de energia, tudo em um só lugar
em um só lugar, também estamos aproveitando nossos produtos de veículos e nossos produtos de energia para rolar
todos esses recursos principais nesta bateria para que a fabricação seja simplificada, realmente eficiente e
métodos simples de resfriamento, gerenciamento de bateria e também segurança e, claro, podemos aproveitar o Tesla
infraestrutura existente e cadeia de suprimentos para que isso aconteça em nosso cérebro, é
não na cabeça, mas está bem próximo também em nosso torso, temos nosso Computador Central, então como vocês já sabem, Tesla
enviamos computadores autônomos completos em todos os veículos que produzimos, queremos aproveitar o hardware do piloto automático e
o software para a plataforma humanóide, mas porque é diferente em requisitos e formato, estamos
vamos mudar algumas coisas primeiro, então ainda vamos fazer tudo o que um cérebro humano faz
processamento de dados de visão, tomada de decisões em frações de segundo com base em múltiplas entradas sensoriais e também comunicações
portanto, para oferecer suporte às comunicações, está equipado com conectividade sem fio, bem como suporte de áudio
e também possui recursos de segurança em nível de hardware que são importantes para proteger o robô e as pessoas
ao redor do robô, então agora que temos nosso tipo de núcleo
precisaremos de alguns membros nesse cara e adoraríamos mostrar um pouco sobre nossos atuadores e nossos
mãos funcionais também, mas antes de fazermos isso, gostaria de apresentar Malcolm, que falará um pouco sobre
nossa base estrutural para o robô [Aplausos]
obrigado
Tesla tem a capacidade de finalizar sistemas altamente complexos, mas fica muito mais complexo do que um acidente que você pode ver
aqui, uma colisão simulada no modelo 3 sobreposta à colisão física real
é realmente incrível o quão preciso é só para lhe dar uma ideia da complexidade deste modelo
inclui cada nó, arruela Bolton, cada ponto de solda e tem 35 milhões de graus de liberdade, é incrível
e é verdade que se não tivéssemos modelos como este não seríamos capazes de fabricar os carros mais seguros do mundo
então podemos utilizar nossas capacidades e métodos do lado automotivo para influenciar um robô
bem, podemos fazer um modelo e como tivemos um software de travamento, usamos o mesmo software aqui, podemos fazê-lo cair
o objetivo disso é garantir que, se cair, idealmente não cai, mas é um dano superficial
não queremos, por exemplo, quebrar a caixa de câmbio nos braços, o que equivale a um ombro deslocado de um robô
difícil e caro de consertar, então queríamos tirar a poeira e continuar com um trabalho que foi dado
se pudéssemos também pegar o mesmo modelo e podermos acionar os atuadores usando a entrada de um modelo previamente resolvido
trazendo-o à vida, então isso está produzindo os movimentos para as tarefas que queremos que o robô execute.
as tarefas são pegar caixas, virar de cócoras, subir as escadas, seja qual for o conjunto de tarefas, podemos jogar para o
modelo, isso mostra apenas uma caminhada simples, podemos criar as tensões em todos os componentes que nos ajudam a
otimizar os componentes, estes não são robôs dançantes, são
na verdade, o comportamento modal dos primeiros cinco modos do robô e, normalmente, quando as pessoas criam robôs, elas se certificam
o primeiro modo está em torno dos primeiros dígitos até 10 Hertz
quem é que faz isso é para facilitar os controles de andar fica muito difícil andar se não dá para garantir
onde seu pé balança, não há problema em fazer um robô, queremos fazer milhares, talvez milhões
não temos o luxo de fabricá-los com fibra de carbono e titânio, queremos fazê-los em plástico, coisas não são
tão rígido que não podemos ter esses alvos altos, vou chamá-los de alvos idiotas
temos que fazê-los funcionar em metas mais baixas, então isso vai funcionar bem, se você pensar bem, desculpe
isso, mas somos apenas sacos de gelatina encharcada e ossos jogados dentro, não temos alta frequência se eu continuar
minha perna não vibro em 10 Hertz, nós operamos em baixa frequência, então
sabemos que o robô realmente pode, apenas torna os controles mais difíceis, então pegamos as informações desses dados modais e
a rigidez e alimentá-la no sistema de controle que lhe permite andar
apenas mudando um pouco o imposto olhando para o joelho, poderíamos nos inspirar
biologia e podemos ver quais são as vantagens mecânicas do joelho, na verdade ele representa bastante
semelhante ao link de quatro barras e isso é bastante não linear, o que não é surpreendente, porque se
você acha que quando dobra a perna para baixo, o torque no joelho é muito maior quando ele está dobrado do que quando está
direto, então você esperaria uma função não linear e, na verdade, a biologia é não linear
isso corresponde com bastante precisão, então essa é a representação do quatro por
obviamente, o link não é fisicamente um link de quatro barras, como eu disse, as características são semelhantes, mas aposto que isso é
não muito científico, vamos ser um pouco mais científicos, executamos todas as tarefas através deste gráfico, mas este
está mostrando piquetes de ambulantes agachados as tarefas que eu disse que fizemos no estresse e essa é a conversa, uma cena em
o joelho contra o joelho dobrado no eixo horizontal, isso mostra a necessidade do joelho fazer tudo isso
tarefas e, em seguida, fazer uma curva surfando no topo dos Picos e isso é o que é necessário para
faça o robô fazer essas tarefas
então, se olharmos para o link de quatro barras, na verdade é a curva verde e está dizendo que a não linearidade do
quatro por link é realmente linearizado a característica da força o que isso realmente diz é que baixou a força
é isso que faz com que o atuador tenha a força mais baixa possível, que é a mais eficiente, queremos queimar energia lentamente
qual é a curva azul, bem, a curva azul é, na verdade, se não tivéssemos um link de quatro barras, apenas teríamos um braço
saindo da minha perna aqui com um atuador, um link simples de duas barras
isso é o melhor que você poderia fazer com um simples link de duas barras e mostra que isso criaria muito mais força no
atuador que não seria eficiente, então como é isso na prática
bem, como você verá, mas está bem embalado no joelho, você verá um bom
transparente em um segundo você verá o link da barra completa lá está operando no atuador isso é determinado
força e os deslocamentos no atuador e agora passe para a concertina para
então eu gostaria de falar com você sobre o processo de design e o atuador
portfólio uh em nosso robô, então há muitas semelhanças entre um
carro e robô quando se trata de design de trem de força, a coisa mais importante que importa aqui é a massa e o custo da energia
estamos transferindo a maior parte de nossa experiência em design do carro para o robô
então, no caso específico, você vê um carro com duas unidades de propulsão e as unidades de propulsão
são usados para acelerar o carro de 0 a 60 milhas por hora ou dirigir um
cidades Drive site enquanto o robô que possui 28 atuadores e
não é óbvio quais são as tarefas no nível do atuador, então temos tarefas que
são de nível mais alto, como caminhar ou subir escadas ou carregar um objeto pesado que precisa ser traduzido em
especificações de junta em junta, portanto, usamos nosso modelo
que gera as trajetórias de velocidade de torque para nossas articulações que
posteriormente será alimentado em nosso modelo de otimização e executado
processo de otimização este é um dos cenários que o
o robô é capaz de fazer o que é girar e andar, então quando temos essa velocidade de torque
trajetória que estabelecemos sobre um mapa de eficiência de um atuador e podemos seguir
a trajetória para gerar o consumo de energia e o acúmulo de energia
energia para a tarefa versus tempo, o que nos permite definir o sistema
custo para o atuador específico e colocar um ponto simples na nuvem, então fazemos
isso para centenas de milhares de atuadores resolvendo em nosso cluster e a linha vermelha denota a frente de Pareto
que é a área preferida onde procuraremos o ideal, então o X denota
o projeto de atuador preferido que escolhemos para esta junta específica, então agora precisamos fazer isso para cada junta que
temos 28 juntas para otimizar e analisamos nossa nuvem analisamos nossa nuvem novamente para cada junta
especificação e o eixo vermelho desta vez denotam os designs de atuadores personalizados para cada
conjuntamente, o problema aqui é que temos muitos projetos de atuadores exclusivos e
mesmo se aproveitarmos a Simetria ainda há muitos para fazer algo em Massa
fabricável, precisamos ser capazes de reduzir a quantidade de projetos de atuadores exclusivos, portanto, executamos algo
chamado estudo de comunalidade, no qual analisamos nossa nuvem novamente, desta vez procurando
atuadores que atendem simultaneamente aos requisitos de desempenho da junta para mais de uma junta ao mesmo tempo, para que o
o portfólio resultante é de seis atuadores e eles mostram em um mapa colorido a figura do meio
hum e os atuadores também podem ser vistos neste slide, temos três rotativos e
três atuadores lineares, todos com grande força de saída ou torque por massa
o atuador rotativo em particular possui uma embreagem mecânica integrada no contato angular do lado de alta velocidade
rolamento de esferas e no lado de alta velocidade e no lado de baixa velocidade um rolo transversal
rolamento e o trem de engrenagens é uma engrenagem de onda de deformação e há três sensores integrados
aqui e a máquina de ímã permanente sob medida, o atuador linear
Sinto muito, o atuador linear tem rolos planetários e um parafuso planetário invertido
Como um trem de engrenagens que permite eficiência, compactação e durabilidade
então, para demonstrar a capacidade de força de nossos atuadores lineares,
criaram um experimento para testá-lo dentro de seus limites
e vou deixar você curtir o vídeo
então nosso atuador é capaz de levantar
um piano de cauda de concerto de nove pés em meio tom
e
este é um requisito, não é algo agradável de se ter porque nossos músculos podem fazer
o mesmo quando são acionados diretamente quando são acionados diretamente ou os músculos quadríceps podem fazer a mesma coisa
é que o joelho é um sistema de articulação que converte a força
em velocidade no efetor final de nossas Colinas com o propósito de dar ao
agilidade do corpo humano, então essa é uma das principais coisas que são incríveis no corpo humano e estou
concluindo minha parte neste momento e gostaria de dar as boas-vindas ao meu colega Mike, que falará com vocês sobre as mãos
design muito obrigado obrigado Constantinos
então acabamos de ver o quão poderoso um atuador humano e humanóide pode ser
os humanos também são incrivelmente hábeis, a mão humana tem a capacidade de se mover
a 300 graus por segundo, possui dezenas de milhares de sensores táteis
e tem a capacidade de agarrar e manipular quase todos os objetos em nossas vidas diárias
para o nosso design de mão robótica, fomos inspirados pela biologia, temos cinco dedos e um polegar oponível
nossos dedos são movidos por tendões metálicos que são flexíveis e fortes, temos a capacidade de completar movimentos amplos
o poder de abertura agarra ao mesmo tempo que é otimizado para agarrar com precisão objetos pequenos, finos e delicados
então por que uma mão robótica humana, bem, a principal razão é que nossas fábricas e o mundo ao nosso redor são
projetado para ser ergonômico, o que isso significa é que garante que os objetos em nossa fábrica sejam fáceis de agarrar
mas também garante que novos objetos que talvez nunca tenhamos visto antes possam ser agarrados pela mão humana e pelo nosso
mão robótica também, o inverso é bastante interessante porque diz que esses objetos são projetados para a nossa mão
em vez de ter que fazer alterações em nossa mão para acompanhar um novo objeto
algumas estatísticas básicas sobre nossa mão são que possui seis atuadores e 11 graus de liberdade, possui um controlador na mão que
movimenta os dedos e recebe feedback do sensor O feedback do sensor é realmente importante para
aprender um pouco mais sobre os objetos que estamos agarrando e também sobre a propriocepção e essa é a capacidade de reconhecermos onde
nossa mão está no espaço, um dos aspectos importantes da nossa mão é que ela é adaptativa, essa adaptabilidade
está envolvido essencialmente como mecanismos complexos que permitem que a mão se adapte aos objetos que está sendo agarrado
outra parte importante é que temos um acionamento digital não traseiro, esse mecanismo de embreagem nos permite segurar
e transportar objetos sem precisar ligar os motores manuais você acabou de ouvir como fizemos
começamos a projetar o bot Tesla Hardware agora vamos entregá-lo a Milão e nossa equipe de autonomia para trazer isso
robô ganhando vida, obrigado Mike
tudo bem, então todas aquelas coisas legais que mostramos anteriormente no vídeo foram postadas
possível em apenas alguns meses, graças à incrível notícia de que colocamos o piloto automático nos últimos anos
a maioria desses componentes foi transportada facilmente para o ambiente Bots, se você pensar bem, estamos apenas mudando
de um robô sobre rodas a um robô sobre pernas, então alguns desses componentes são bastante semelhantes e outros exigem
trabalho mais pesado, por exemplo, nossas redes neurais de visão computacional
relatado diretamente do piloto automático para a situação dos Bots é exatamente a mesma rede de ocupação
que falaremos mais detalhes posteriormente com a equipe do piloto automático que agora está executando o bot aqui em
neste vídeo a única coisa que realmente mudou foram os dados de treinamento que tivemos que lembrar
também estamos tentando encontrar maneiras de melhorar essas redes de ocupação usando o trabalho feito em seus campos Radiance para obter
renderização volumétrica realmente ótima dos ambientes Bots, por exemplo, aqui alguns
leitura de máquina com a qual o bot pode ter que interagir
outro problema interessante para se pensar é em ambientes internos, principalmente com aquela sensação de sinal de GPS, como você
prepare-se para navegar até seu destino, por exemplo, para encontrar a estação de carregamento mais próxima, então estamos treinando
mais redes neurais para identificar pontos-chave de recursos de alta frequência dentro do
A câmera dos bots transmite e os rastreia em quadros ao longo do tempo enquanto o bot navega até seu ambiente
e estamos usando esses pontos para obter uma estimativa melhor da pose e da trajetória dos Bots em seu ambiente, conforme
está caminhando, também fizemos alguns trabalhos no
lado da simulação e este é literalmente o simulador de piloto automático ao qual integramos a Locomoção do robô
código e este é um vídeo do código de controle de movimento em execução no simulador do simulador do operador mostrando o
a evolução dos robôs caminha ao longo do tempo e como vocês podem ver começamos bem devagar em abril e começamos a acelerar
à medida que desbloqueamos mais articulações e técnicas mais avançadas, como equilíbrio de braços, nos últimos meses
e então a Locomoção é especificamente um componente muito diferente à medida que passamos do carro para os Bots
ambiente e por isso acho que merece um pouco mais de profundidade e gostaria que meus colegas começassem a falar sobre isso
agora estrangeiro
olá a todos, sou Felix, sou engenheiro de robótica no projeto e vou falar sobre caminhada
parece fácil, certo, as pessoas fazem isso todos os dias, você nem precisa pensar nisso
mas existem alguns aspectos da caminhada que são desafiadores do ponto de vista da engenharia, por exemplo
autoconsciência física que significa ter uma boa representação de si mesmo qual é o comprimento de seus membros qual é
a massa dos seus membros qual é o tamanho dos seus pés tudo o que importa também ter um portão com eficiência energética você
posso imaginar que existem diferentes estilos de caminhada e todos eles são igualmente eficientes
o mais importante é manter o equilíbrio, não cair e, claro, também coordenar o movimento
de todos os seus membros juntos, então agora os humanos fazem tudo isso naturalmente, mas como engenheiros ou roboticistas temos
pensar sobre esses problemas e se vou mostrar como os abordamos em nosso planejamento e controle de locomoção
pilha, então começamos com o planejamento da locomoção e nossa representação do vínculo que
significa o modelo da dinâmica cinemática do robô e as propriedades de contato e usando esse modelo e o desejado
caminho para os Bots, nosso planejador de locomoção gera trajetórias de referência para todo o sistema
isso significa trajetórias viáveis em relação às suposições do nosso modelo
o planejador atualmente funciona em três etapas: começa o planejamento dos passos e termina com todo o sistema de fotos em movimento
e vamos nos aprofundar um pouco mais em como isso funciona, então neste vídeo vemos passos sendo planejados em vez de planejamento
Horizonte seguindo o caminho desejado e partimos deste e somamos então para
trajetórias que conectam esses passos usando o dedo do pé e rendem golpes assim como os humanos assim como os humanos fazem
e isso nos dá uma passada maior e menos flexão do joelho para alta eficiência do sistema
o último estágio é então encontrar uma trajetória do centro de massa que nos dê um movimento dinamicamente viável do
todo o sistema para manter o equilíbrio, pois todos sabemos que os planos são bons, mas
também temos que realizá-los na realidade, digamos que você saiba, veja como podemos fazer isso
[Aplausos] obrigado Felix, olá a todos, meu nome
é Anand e vou falar com você sobre controles, então vamos pegar o plano de movimento que Felix
acabei de falar e coloque no mundo real em um robô real vamos ver o que acontece
dá alguns passos e cai bem, isso é um pouco decepcionante
mas estamos faltando algumas peças-chave aqui que farão com que funcione
agora, como Felix mencionou, o planejador de movimento está usando uma versão idealizada de
em si e uma versão da realidade ao seu redor isso não é exatamente correto
também expressa sua intenção através de trajetórias e arranca ramos de
forças e torques que quer exercer sobre o Mundo para se locomover
a realidade é muito mais complexa do que qualquer modelo semelhante e o robô não é
simplificado, tem vibrações e modos de conformidade com o ruído do sensor e assim por diante
e assim por diante, o que isso faz com o mundo real quando você coloca o bot no mundo real
bem, as forças inesperadas causam dinâmicas não modeladas que essencialmente o planejador não conhece e que
causa desestabilização especialmente para um sistema que é dinamicamente estável como a locomoção bípede
então o que podemos fazer bem sobre isso, medimos a realidade, usamos sensores e nossa compreensão de
o mundo para fazer estimativas de estado e status para mim aqui você pode ver a atitude e a postura da pélvis que é
essencialmente o sistema vestibular em um ser humano, juntamente com a trajetória do centro de massa sendo rastreada quando o robô anda
no ambiente de escritório agora temos todas as peças que precisamos
para fechar o ciclo, então usamos nosso melhor modelo de bot, usamos a compreensão da realidade que
ganhamos através da estimativa do Estado e comparamos o que queremos versus o que esperamos a realidade que esperamos que
realidade está fazendo conosco para adicionar correções ao comportamento do
robô aqui o robô certamente não gosta de ser cutucado, mas não gosta
trabalho admirável de permanecer em pé, o ponto final aqui é um robô que
caminhadas não é suficiente, precisávamos usar suas mãos e braços para
seja útil, vamos falar sobre manipulação
[Aplausos]
oi a todos, meu nome é Eric, engenheiro de robótica da teslabot e quero conversar
sobre como fizemos o robô manipular coisas no mundo real, queríamos manipular objetos enquanto
parecendo o mais natural possível e também chegando lá rapidamente, então o que fizemos foi
dividimos esse processo em duas etapas: primeiro, gerar uma biblioteca de referências de movimento natural ou poderíamos
chame-os de demonstrações e então adaptamos essas referências de movimento on-line para a situação atual do mundo real
então digamos que temos uma demonstração humana de pegar um objeto, podemos obter uma captura de movimento dele
demonstração que é visualizada aqui como um monte de quadros-chave representando a localização das mãos
os cotovelos e o tronco podemos mapeá-los para o robô usando cinemática inversa e se coletarmos um
muitos deles agora temos uma biblioteca com a qual podemos trabalhar, mas uma única demonstração não é
generalizável para a variação no mundo real, por exemplo, isso só funcionaria para uma caixa em um ambiente muito particular.
localização, então o que também fizemos foi executar essas trajetórias de referência através de um
programa de otimização de trajetória que resolve onde a mão deve estar e como o robô deve se equilibrar
durante, uh, quando é necessário adaptar o movimento ao mundo real, por exemplo
se a caixa estiver neste local, nosso Otimizador criará este
trajetória em vez disso, o próximo Milan vai falar sobre uh
o que vem por aí para o Optimus uh Tesla e obrigado, obrigado Larry
certo, então espero que agora vocês tenham uma boa ideia do que temos feito nos últimos meses
hum, começamos a fazer algo que é utilizável, mas está longe de ser útil, ainda há um longo e emocionante caminho
à nossa frente, acho que a primeira coisa nas próximas semanas é conseguir o Optimus pelo menos
par com Bumble C, o outro protótipo de bug que você viu antes e provavelmente Beyond também vamos começar
focando no caso de uso real em uma de nossas fábricas e realmente vou tentar resolver isso e eu acabo
os elementos necessários para implantar este produto no mundo real que mencionei anteriormente
hum, você conhece a navegação interna elegante para gerenciamento ou até mesmo manutenção de todos
componentes necessários para ampliar este produto, mas não sei sobre você, mas depois
vendo o que mostramos esta noite, tenho certeza de que poderemos fazer isso nos próximos meses ou anos e faço
tornar este produto uma realidade e mudar toda a economia por isso gostaria de agradecer a toda a equipa Optimus pelo árduo
trabalho nos últimos meses, acho incrível que tudo isso tenha sido feito em apenas seis ou oito meses, obrigado
muito [Aplausos]
obrigado, oi a todos
oi, sou Ashok, lidero a equipe do piloto automático ao lado do Milan, Deus, está sendo tão difícil superar isso
Seção Optimus ele tentará de qualquer maneira
hum, cada Tesla que foi construído nos últimos anos, achamos que tem o
hardware para fazer o carro dirigir sozinho, estamos trabalhando no software para
adicionar níveis cada vez mais altos de autonomia desta vez, no ano passado, tivemos
cerca de 2.000 carros rodando nosso software beta FSD desde então, aumentamos significativamente
melhoramos o software em termos de robustez e capacidade e já o enviamos para 160.000 clientes até hoje
sim [Aplausos]
isso não veio de graça, veio do suor e do sangue da equipe de engenharia no último ano
por exemplo, treinamos 75.000 modelos de redes neurais no último ano, o que é
aproximadamente um modelo a cada oito minutos que você conhece saindo da equipe e então os avaliamos em nosso grande
clusters e então enviamos 281 desses modelos que realmente melhoram o desempenho do carro
e esse espaço de inovação está acontecendo em toda a pilha, no software de planejamento, no
infraestrutura as ferramentas até contratar tudo está progredindo para o próximo nível
o software beta FSG é perfeitamente capaz de dirigir o carro do qual deveria ser capaz de navegar
estacionamento em estacionamento manuseio CDC condução parada em semáforos e sinais de parada
negociando com objetos em cruzamentos fazendo curvas e assim por diante
tudo isso vem dos fluxos de câmeras que passam por nossas redes neurais que rodam no próprio carro.
não voltando para o servidor ou qualquer coisa, ele roda no carro e produz todas as saídas para formar o modelo mundial
ao redor do carro e o software de planejamento dirige o carro com base nisso
hoje abordaremos vários componentes que compõem o sistema, a rede de ocupação atua como base
camada de geometria do sistema, este é um vídeo neural multicâmera
rede que a partir das imagens prevê a plena ocupação física do mundo ao redor
o robô então qualquer coisa que esteja fisicamente presente árvores paredes edifícios carros paredes o que
você prevê se está especificamente presente, ele os prevê junto com seu movimento futuro
no topo deste nível básico de geometria, temos mais camadas semânticas para
navegar pelas estradas, precisamos das lentes, é claro, mas as estradas têm muitos
pistas diferentes e elas se conectam de todas as maneiras, então é realmente um problema muito difícil para um computador típico
técnicas de visão para prever o conjunto de planos e suas conectividades, então chegamos até a linguagem
Tecnologias e, em seguida, extraiu o estado da arte de outros domínios e não apenas da visão computacional para tornar esta tarefa
possível para veículos, precisamos de seu estado cinemático completo para controlá-los
tudo isso vem diretamente das redes neurais, fluxos de vídeo, fluxos de vídeo brutos que entram nas redes passam por muita coisa
de processamento e, em seguida, gera o estado cinemático completo que posiciona as velocidades, aceleração, solavanco, tudo isso
sai diretamente das redes com pós-processamento mínimo, o que é realmente fascinante para mim, porque como é
isto é até possível em que mundo vivemos que esta magia é possível que estas redes prevêem quarta
derivadas dessas posições quando as pessoas pensavam que não poderíamos nem detectar esses objetos
minha opinião é que não veio de graça, exigiu toneladas de dados, então tivemos uma etiquetagem automática um pouco sofisticada
sistemas que brilham através de dados brutos de sensores executam uma tonelada de computação off-line no
servidores, pode levar algumas horas para executar redes neurais caras que destilam as informações em rótulos que treinam nossos
redes neurais no carro, além disso, também usamos nosso sistema de simulação para sinteticamente
criar imagens e como é uma simulação temos trivialmente todos os rótulos
tudo isso passa por um pipeline de mecanismo de dados bem lubrificado, onde primeiro
treine um modelo de linha de base com alguns dados, envie-o para o carro, veja quais são as falhas e, quando você souber as falhas
exploramos a frota para os casos em que ela falha, fornecemos os rótulos corretos e adicionamos os dados ao conjunto de treinamento
esse processo corrige sistematicamente os problemas e fazemos isso para todas as tarefas executadas no carro
sim, e para treinar essas novas redes neurais massivas este ano expandimos nossa infraestrutura de treinamento em aproximadamente
40 a 50 por cento, o que nos deixa com cerca de 14.000 gpus hoje em vários
clusters de treinamento nos Estados Unidos, também trabalhamos em nosso compilador de IA, que
agora suporta novas operações necessárias para essas redes neurais e mapeá-las para o melhor de nosso subjacente
Recursos de hardware e nosso mecanismo de inferência hoje são capazes de distribuir a execução de
uma única rede neural através de dois sistemas independentes em navios, essencialmente dois computadores independentes interconectados
dentro do simples computador autônomo e para tornar isso possível temos que manter um controle rígido de ponta a ponta
latência deste novo sistema, então implantamos um código de agendamento mais avançado em toda a plataforma FSD
todas essas redes neurais funcionando juntas no carro produzem o espaço vetorial que é novamente o modelo do
mundo ao redor do robô ou do carro e então o sistema de planejamento opera em cima disso, criando trajetórias que
evite colisões ou progrida suavemente em direção ao destino usando uma combinação de otimização baseada em modelo
além de rede neural que ajuda a otimizá-lo para ser muito rápido
hoje estamos muito entusiasmados em apresentar o progresso em todas essas áreas, temos os líderes de engenharia à disposição para
entre e explique esses vários blocos e eles alimentam não apenas o carro, mas os mesmos componentes também funcionam no Optimus
robô que Milão mostrou anteriormente com aquele painel de boas-vindas para começar a falar sobre a seção de planejamento
olá a todos, sou parel joint, vamos usar este cenário de interseção para
mergulhe direto em como fazemos o planejamento e a tomada de decisões no piloto automático para que estejamos nos aproximando dessa interseção
de uma rua lateral e temos que ceder a todos os veículos que atravessam corretamente quando estamos prestes a entrar no
cruzamento O pedestre do outro lado do cruzamento decide atravessar a rua
sem faixa de pedestres agora precisamos ceder a essa cedência de pedestres aos veículos da direita e
entender também a relação entre o pedestre e o veículo do outro lado do cruzamento
muitas dessas dependências intra-objeto que precisamos resolver rapidamente
e os humanos são muito bons nisso, olhamos para uma cena, entendemos todas as interações possíveis e avaliamos ao máximo
promissores e geralmente acabam escolhendo um razoável
então vamos dar uma olhada em algumas dessas interações que o sistema de piloto automático avaliou que poderíamos ter feito antes disso
pedestre com um lançamento muito agressivo em perfil lateral agora obviamente estamos sendo um idiota com o
Pedestre e nós assustaríamos O Pedestre e seu lindo animal de estimação poderíamos ter avançado lentamente
para uma lacuna entre o pedestre ou o veículo da direita novamente estamos sendo um idiota com o veículo
vindo da direita, mas você não deve rejeitar totalmente esta interação, caso esta seja apenas uma interação segura disponível
por último a interação acabamos escolhendo ficar lento inicialmente achar o razoável
Gap e então finalize a manobra depois que todos os agentes passarem
agora a avaliação de todas essas interações não é trivial, especialmente quando você se preocupa com modelagem
as derivadas de ordem superior para outros agentes, por exemplo, qual é o longitudinal
solavanco exigido pelo veículo vindo da direita quando você avança na frente dele, confiando apenas em verificações de colisão com
previsões modulares só levarão você até certo ponto porque você perderá muitas interações válidas
isso basicamente se resume a resolver um problema de planejamento de trajetória conjunta multiagente sobre as trajetórias do ego e
todos os outros agentes agora, o quanto você otimiza, haverá um limite para a rapidez com que você pode
execute este problema de otimização, ele estará próximo da ordem de 10 milissegundos, mesmo depois de muitas aproximações incrementais
agora, para uma típica esquerda lotada e imprevisível, digamos que você tenha mais de 20 objetos cada
objeto com vários modos futuros diferentes, o número de combinações de interação relevantes explodirá
nós, o planejador, precisamos tomar uma decisão a cada 50 milissegundos, então como podemos resolver isso em tempo real
contamos com uma estrutura que chamamos de pesquisa de interação, que é basicamente uma pesquisa paralelizada sobre um monte de
trajetórias de manobra, o espaço de estados aqui corresponde ao estado cinemático do ego, o estado cinemático
estado de outros agentes, o futuro nominal, múltiplas previsões multimodais e todas as entidades estáticas na cena
o espaço de ação é onde as coisas ficam interessantes, usamos um conjunto de trajetória de manobra
candidatos para ramificar uma série de decisões interacionais e também metas incrementais por um longo período
Manobra de horizonte Vamos percorrer esta pesquisa muito rapidamente para ter uma noção de como funciona
começamos com um conjunto de medidas de visão, nomeadamente objetos em movimento de ocupação de faixas, que são representados como
extrações esparsas, bem como recursos latentes, usamos isso para criar um conjunto de objetivos
candidatos Faixas novamente da rede de faixas ou regiões não estruturadas que correspondem a
uma máscara de probabilidade derivada de demonstrações humanas, uma vez que tivermos um monte desses ouro
candidatos, criamos trajetórias iniciais usando uma combinação de abordagens clássicas de otimização, bem como nossos
O planejador de rede foi treinado novamente com dados do feed do cliente, assim que obtivermos vários deles gratuitamente
trajetórias, nós as usamos para começar a ramificar nas interações, encontramos a interação mais crítica
no nosso caso, esta seria a interação em relação ao Pedestre, quer nos afirmemos diante dele ou nos rendamos a ele
obviamente, a opção à esquerda é uma opção de penalidade alta e provavelmente não será priorizada, então ramificamos mais adiante
a opção da direita e é aí que trazemos interações cada vez mais complexas construindo essa otimização
problema de forma incremental com mais e mais restrições e que a pesquisa continua fluindo ramificando-se em mais interações ramificadas
em mais objetivos agora, muitos truques aqui estão na avaliação de cada um deste nó
da pesquisa dentro de cada nó inicialmente começamos criando
trajetórias usando abordagens clássicas de otimização onde as restrições como descrevi seriam adicionadas de forma incremental
e isso levaria cerca de um a cinco milissegundos por ação agora, embora isso seja bastante bom
número quando você deseja avaliar mais de 100 interações, isso não é escalonável
então acabamos construindo redes consultáveis leves que você pode executar no loop do planejador
essas redes são treinadas em demonstrações humanas da frota, bem como em solucionadores off-line com limites de tempo flexíveis
com isso, conseguimos reduzir o tempo de execução do resumo para cerca de 200 microssegundos por ação
agora fazer isso sozinho não é suficiente porque você ainda tem essa pesquisa massiva que precisa fazer
através e você precisa podar eficientemente o espaço de pesquisa, então você precisa fazer uma pontuação em cada
dessas trajetórias, poucas delas são razoavelmente padronizadas, você faz um monte de verificações de colisão, você faz um monte de análises de conforto, qual é o empurrão e
realmente necessário para uma determinada manobra, os dados da frota do cliente desempenham aqui novamente um papel importante
executamos dois conjuntos de redes variáveis novamente leves, ambas realmente aumentando uma à outra, uma delas treinada a partir de
intervenções da frota beta do FST, que dá uma pontuação sobre a probabilidade de uma determinada manobra resultar em
intervenções durante os próximos segundos e o segundo que é puramente em demonstrações humanas, dados conduzidos por humanos, fornecendo
uma pontuação sobre quão próxima está a ação selecionada de uma trajetória conduzida por humanos
a pontuação nos ajuda a podar o espaço de pesquisa, continuar ramificando ainda mais nas interações e focar a computação em
os resultados mais promissores a parte legal disso
arquitetura é que ela nos permite criar uma mistura legal entre abordagens baseadas em dados onde você
não precisa depender de muitos custos de engenharia manual, mas também fundamentá-los na realidade com verificações baseadas na física
agora muito do que descrevi foi em relação aos agentes que pudemos observar na cena, mas o mesmo
estrutura se estende a objetos atrás de oclusões, usamos o feed de vídeo de oito câmeras
para gerar a ocupação 3D do mundo, a máscara azul aqui corresponde ao
região de visibilidade que chamamos, basicamente fica bloqueada no primeiro
oclusão que você vê na cena, consumimos essa máscara de visibilidade para gerar o que chamamos de objetos fantasmas que você
podemos ver no canto superior esquerdo agora se você modelar as regiões de spawn e as transições de estado deste fantasma
objetos corretamente se você ajustar sua resposta de controle como um
função dessa probabilidade de existência, você pode extrair alguns comportamentos humanos realmente legais
agora vou passar para preencher para descrever mais como geramos essas Redes de Ocupação
Olá pessoal, meu nome é Phil. Vou compartilhar os detalhes da rede de ocupação que construímos no ano passado
esta rede é a nossa solução para modelar o trabalho físico em 3D em torno dos nossos carros e atualmente não é mostrada em nossos
visualização voltada para o cliente e o que veremos aqui é a saída da rede rodoviária de nossa ferramenta interna de desenvolvimento
a rede de ocupação capta fluxos de vídeo de todas as nossas 80 câmeras, pois a entrada produz um único volume volumétrico unificado
ocupação no espaço vetorial diretamente para cada local 3D ao redor do nosso carro.
prevê a probabilidade daquele local estar muito ocupado por ter contatos de vídeo é
capaz de prever obstáculos que são obstruídos instantaneamente
para cada local, também produz um conjunto de semânticas, como meio-fio, carro, pedestre
e poucos detritos conforme código de cores aqui
o fluxo de ocupação também é previsto para movimento, uma vez que o modelo é uma rede generalizada
ele não diz explicitamente aos objetos estáticos e dinâmicos que é capaz de produzir e
modele os movimentos aleatórios, como o treinador de desvio aqui
esta rede está atualmente em execução em todos os Teslas com computadores FSD e é
incrivelmente eficiente é executado a cada 10 milissegundos com nosso acelerador neural
então como isso funciona, vamos dar uma olhada na arquitetura primeiro, retificamos as imagens de cada câmera com
a calibração da câmera e as imagens mostradas aqui foram fornecidas à rede, na verdade não é
a típica imagem RGB de 8 bits, como você pode ver nas primeiras imagens no topo, estamos
fornecendo a imagem da conta de foto bruta de 12 bits para a rede, uma vez que ela tem quatro
bits a mais de informação, possui faixa dinâmica 16 vezes melhor, bem como redução
latência, já que não temos mais o ISP errado na Adobe, usamos um conjunto de registros e voltamos com
FPS como espinha dorsal para extrair recursos espaciais de imagens. Em seguida, construímos um conjunto de posições 3D
consulta junto com os recursos do espaço IMG à medida que chaves e valores se ajustam a um módulo de atenção
a saída do módulo de atenção são recursos espaciais de alta dimensão
esses recursos especiais são alinhados temporariamente usando a odometria do veículo
para derivar o movimento por último, essas características temporais espaciais vão
através de um conjunto de convolução D para produzir a ocupação final e a saída do fluxo de ocupação
eles são formados como boxer cinza de tamanho fixo, o que pode não ser preciso o suficiente para planejar o controle
para obter uma resolução mais alta, também produzimos mapas de recursos por voxel que alimentarão o MLP com dados espaciais 3D.
Consultas pontuais para obter posição e semântica em qualquer local arbitrário
depois de conhecer melhor o modelo vamos dar uma olhada em outro exemplo aqui temos um ônibus articular estacionado à direita
fileira lateral destacada como um boxeador em forma de L aqui conforme nos aproximamos do ônibus começa a
mova o azul, a frente do carrinho fica azul primeiro, indicando que o modelo prevê que o ônibus frontal tem um zero para baixo
fluxo de ocupação e o ônibus s continua se movendo o ônibus inteiro fica azul
e você também pode ver que a rede prevê a curvatura precisa do barramento
bem, este é um problema muito complicado para a rede tradicional de detecção de objetos, pois você precisa ver se vou
use um cubóide ou talvez dois para ajustar a curvatura, mas para ocupação Rede
já que tudo o que nos importa é a ocupação no espaço visível e seremos capazes de modelar a curvatura com precisão
além do grau de voxel, a rede de ocupação também produz uma superfície dirigível
a superfície dirigível possui geometria e semântica 3D, são muito úteis para controle, especialmente na cura
e estradas sinuosas, a superfície e o cinza do voxel não são previstos independentemente, em vez disso, o
a grade de voxel na verdade se alinha implicitamente com a superfície, aqui estamos em uma missão de herói onde você
podemos ver a geometria 3D da superfície sendo bem prevista
o planejador pode usar essas informações para decidir que talvez precisemos desacelerar mais para o Hillcrest e como você também pode
veja o grau do voxel alinhado com a superfície de forma consistente
além da fonte Box e da superfície, também estamos muito entusiasmados com o recente avanço no campo de leituras neurais ou
Nerf que estamos procurando incorporar alguns dos recursos de cores claras em
treinamento de rede de ocupação, bem como usar nossa saída de rede como estado de entrada para Nerf
na verdade, Ashok está muito animado com isso, este tem sido seu projeto pessoal de fim de semana há algum tempo
estou nervoso porque acho que a Academia está construindo muitos desses
Modelos básicos para linguagem usando toneladas de grandes conjuntos de dados para linguagem, mas acho que para nervos de visão
forneceremos os modelos básicos para visão computacional porque eles são baseados em geometria e geometria
nos dá uma ótima maneira de supervisionar essas redes e congela o requisito de definir uma ontologia e o
a supervisão é essencialmente gratuita porque você só precisa renderizar essas imagens de maneira diferenciada, então acho que no futuro, uh, isso
ocupação Ideia de rede onde você sabe que as imagens entram e então a rede produz um consistente
representação volumétrica da cena que pode então ser renderizada diferencialmente em qualquer imagem que foi observada I I
pessoalmente, acho que é o futuro da visão computacional, e você sabe que estamos fazendo um trabalho inicial nisso, agora, mas eu
pense no futuro tanto na Tesla quanto na Academia veremos que estes
combinação de previsão One-Shot de ocupação volumétrica, uh será isso
minha aposta pessoal sexual, então aqui está um exemplo de resultado inicial de um
Reconstrução 3D a partir de nossos dados gratuitos, em vez de focar na obtenção de uma reprojeção RGB perfeita no espaço de imagem, nosso
O objetivo principal aqui é representar com precisão o espaço 3D dos avisos para dirigir e queremos fazer isso para todos
nossos dados gratuitos em todo o mundo em todas as condições climáticas e de iluminação e, obviamente, este é um desafio muito
problema e procuramos vocês para ajudar finalmente a rede de ocupação está treinada
com um grande conjunto de dados de nível automático sem nenhum humano no circuito e com isso passarei para Tim conversar
sobre o que é necessário para treinar esta rede, obrigado Phil
[Aplausos] tudo bem, ei pessoal, vamos conversar sobre algum treinamento
infraestrutura, então vimos alguns vídeos, você sabe, quatro ou cinco, uh, eu acho e me importo
mais e nos preocupamos mais com muito mais clipes sobre isso, então estamos olhando
as redes de ocupação apenas de Phil preenchem vídeos, são necessários 1,4 bilhão
frames para treinar aquela rede o que você acabou de ver e se você tiver cem mil gpus, uh, levaria uma hora
mas se você tiver uma GPU, levaria cem mil horas, então isso não é
um período de tempo humano que você pode esperar até que seu trabalho de treinamento seja executado corretamente, queremos enviar mais rápido do que isso para que
significa que você precisará ir em paralelo, então você precisa de mais computação para isso, isso significa que você precisará de um
supercomputador, é por isso que construímos internamente três supercomputadores compreendendo
de 14.000 gpus onde usamos 10.000 gpus para treinamento e cerca de quatro mil
gpus para rotulagem automática, todos esses vídeos são armazenados em 30 petabytes de um vídeo gerenciado distribuído
cache, você não deve pensar em nossos conjuntos de dados como fixos, digamos, enquanto você pensa em seu
imagenet ou algo que você conhece com um milhão de quadros, você deve pensar nisso como algo muito fluido, então temos um
meio milhão desses vídeos entrando e saindo desse cluster todos os dias
e rastreamos 400.000 desses tipos de instanciações de vídeo python a cada segundo
então são muitas chamadas que precisaremos capturar para governar as políticas de retenção deste
cache de vídeo distribuído, então subjacente a tudo isso está uma enorme quantidade de infra, que construímos e gerenciamos
internamente, então você não pode simplesmente comprar, você sabe, 40.000
gpus e depois 30 petabytes de Flash mvme e basta juntar tudo e vamos treinar uh, na verdade é preciso muito
trabalho e vou falar um pouco sobre isso, o que você normalmente quer fazer é pegar o acelerador, então
que poderia ser a GPU ou Dojo do qual falaremos mais tarde e porque é o mais caro
componente que é onde você deseja colocar seu gargalo e isso significa que cada parte do seu sistema é
vai precisar superar esse acelerador e é realmente complicado que
significa que seu armazenamento precisará ter o tamanho e a largura de banda para entregar todos os dados aos nós
esses nós precisam ter a quantidade certa de recursos de CPU e memória para alimentar seu aprendizado de máquina
estruturar esta estrutura de aprendizado de máquina precisa entregá-la à sua GPU e então você pode começar a treinar, mas então você
precisa fazer isso em centenas ou milhares de GPU de maneira confiável em
logstap e de uma forma que também seja rápida então você também vai precisar de uma interconexão extremamente complicada falaremos mais
sobre dojo em um segundo, então primeiro quero levá-lo a algum
otimizações que fizemos em nosso cluster, então estamos recebendo muitos vídeos e
o vídeo é muito diferente, digamos, de treinamento em imagens ou texto, que considero muito bem estabelecido, o vídeo é bastante
literalmente uma dimensão mais complicada, hum, e é por isso que precisávamos ir até o fim
terminar da camada de armazenamento até o acelerador e otimizar cada parte disso porque treinamos na contagem de fótons
vídeos que vêm diretamente de nossa frota, treinamos diretamente sobre eles, não os postamos e processamos de forma alguma
a maneira como isso é feito é que buscamos exatamente os quadros que selecionamos para o nosso lote e os carregamos, incluindo o
frames dos quais eles dependem, então esses são seus iframes ou quadros-chave, nós os empacotamos e os movemos para compartilhados
memória, mova-os para uma barra dupla da GPU e, em seguida, use o decodificador de hardware que é acelerado apenas para
na verdade, decodificamos o vídeo, então fazemos isso nativamente na GPU e tudo isso em uma extensão python pytorch muito boa
isso desbloqueou mais de 30 aumentos de velocidade de treinamento para as redes de ocupação e liberou basicamente um todo
CPU para fazer qualquer outra coisa, você não pode simplesmente treinar com apenas
vídeos, é claro que você precisa de algum tipo de verdade básica, uh e uh, isso também é um problema interessante
O objetivo de armazenar sua verdade básica é que você deseja ter certeza de chegar à verdade básica necessária no
quantidade mínima de operações do sistema de arquivos e carga no tamanho mínimo necessário para otimizar a agregação
taxa de transferência entre clusters porque você deve ver um cluster de computação como um grande dispositivo que foi corrigido internamente
restrições e limites, então para isso lançamos um formato que
é nativo para nós e é chamado de pequeno, usamos isso para nossa verdade básica, nosso cache de recursos e quaisquer saídas de inferência
tantos tensores que estão lá e apenas o desenho aqui, digamos que estes são a sua, uh, é a sua mesa que você
deseja armazenar, então é assim que ficaria se você implementasse no disco, então o que você faz é pegar qualquer coisa que você
deseja indexar, por exemplo, carimbos de data e hora de vídeo, você coloca todos eles no cabeçalho para que em seu cabeçalho inicial
leia, você sabe exatamente onde ir no disco, então se você tiver algum tensor, você vai tentar transpor o
dimensões para colocar uma dimensão diferente por último como a dimensão contígua e depois também tentar diferentes tipos de
compactação, então você verifica qual foi a mais ideal e depois armazena essa, isso é na verdade um grande passo se você fizer isso
recurso de cache de saída ininteligível da rede de aprendizado de máquina gira em torno do
dimensões um pouco, você pode obter até 20 aumentos na eficiência do armazenamento, então, quando você armazena isso, nós também
ordenou as colunas por tamanho para que todas as suas colunas pequenas e valores pequenos fiquem juntos para que quando você procurar por um
valor único, você provavelmente se sobreporá a uma leitura de mais valores que você usará mais tarde, para que não precise fazer
outra operação do sistema de arquivos para que eu pudesse continuar e continuei
Abordamos dois projetos que temos internamente, mas na verdade isso faz parte de um enorme esforço contínuo para otimizar o
calcular o que temos internamente, acumulando e agregando por meio de todas essas otimizações. Agora treinamos nossos
redes de ocupação duas vezes mais rápidas só porque são duas vezes mais eficientes e agora, se adicionarmos mais computação e pronto
paralelamente, não podemos treinar isso em horas em vez de dias e com isso gostaria de passar para
o maior usuário de computação John
oi pessoal, meu nome é John Emmons, lidero a equipe do piloto automático Vision, vou abordar dois tópicos com vocês
hoje o primeiro é como prevemos as faixas e o segundo é como prevemos o comportamento futuro de outros agentes na estrada
nos primeiros dias do piloto automático, modelamos o problema de detecção de faixa como uma tarefa de segmentação instantânea do espaço de imagem
nossa rede era super simples, embora na verdade só fosse capaz de imprimir pistas de alguns tipos diferentes de
geometrias especificamente, segmentaria a Eagle Lane, poderia segmentar adjacente
pistas e então tinha um invólucro especial para bifurcações e mescla essa modelagem simplista do problema
funcionou para estradas altamente estruturadas, como rodovias, mas hoje estamos tentando construir um sistema
que é capaz de manobras muito mais complexas, especificamente, queremos fazer curvas à esquerda e à direita nos cruzamentos
onde a topologia rodoviária pode ser um pouco mais complexa e diversificada quando tentamos aplicar esta modelagem simplista do
problema aqui, ele simplesmente desmorona, dando um passo para trás por um momento, o que
estamos tentando fazer aqui é prever o conjunto de instâncias fracas em sua conectividade e o que queremos fazer é ter um
rede neural que basicamente prevê este gráfico onde os nós são os segmentos da pista e as arestas codificam o
conectividades entre essas pistas, então o que temos é nossa detecção de pista
rede neural é composta por três componentes no primeiro componente temos um conjunto de
camadas convolucionais, camadas de atenção e outras camadas de rede neural que codificam os fluxos de vídeo de nossos oito
câmeras no veículo e produzem uma rica representação visual
em seguida, aprimoramos essa representação digital com um roteiro aproximado. Dados de mapa de nível de estrada que codificamos com
um conjunto de camadas adicionais de rede neural que chamamos de módulo de orientação de faixa, este mapa não é um mapa HD, mas é
fornece muitas dicas úteis sobre a topologia das faixas dentro dos cruzamentos, a faixa conta em várias estradas e um conjunto de outros atributos que
ajude-nos os dois primeiros componentes aqui produziram um
tensor denso que codifica o mundo, mas o que realmente queremos fazer é converter esse tensor denso em um
conjunto inteligente de pistas em suas conectividades, abordamos esse problema como uma imagem
tarefa de legendagem onde a entrada é este tensor denso e o texto de saída é previsto em uma linguagem especial que
desenvolvemos na Tesla para codificar Lanes em suas conectividades nesta linguagem de Lanes as palavras e
tokens são as posições da pista no espaço 3D em A ordem dos tokens introduziu modificadores nos tokens
codificar as relações conectivas entre essas pistas modelando a tarefa como uma linguagem
problema, podemos capitalizar em arquiteturas e técnicas autorregressivas recentes da comunidade linguística para lidar com os múltiplos
modalidade do problema, não estamos apenas resolvendo o problema de visão computacional no piloto automático, também estamos aplicando o que há de mais moderno e
modelagem de linguagem e aprendizado de máquina de forma mais geral. Agora vou me aprofundar um pouco mais detalhadamente neste componente de linguagem
o que representei na tela aqui é a imagem de satélite que representa a área local ao redor do
veículo, o conjunto de arestas de nariz é o que chamamos de gráfico de pista e é, em última análise, o que queremos que saia deste neural
rede, começamos do zero, vamos querer fazer nosso primeiro
previsão aqui neste ponto verde, esta posição dos pontos verdes é codificada como
um índice em uma grade de curso que discretiza o mundo 3D agora não prevemos esse índice diretamente
porque seria muito caro do ponto de vista computacional fazer isso, há muitos pontos de grade e a previsão de um valor categórico
distribuição sobre isso tem implicações tanto no tempo de treinamento quanto no tempo de teste, então, em vez disso, o que fazemos é desfazer o
mundo grosseiramente, primeiro prevemos um mapa de calor sobre os locais possíveis e depois fixamos o local mais provável
com isso, refinamos a previsão e obtemos o ponto preciso
agora sabemos onde está a posição deste token, não sabemos seu tipo neste caso, embora seja o início de um novo
Lane, então o abordamos como um token inicial e, por ser um token de estrela, não há
atributos adicionais em nossa linguagem, então pegamos as previsões dessa primeira passagem direta e as codificamos
usando uma incorporação adicional aprendida que produz um conjunto de tensores que combinamos
que é na verdade a primeira palavra em nossa linguagem de pistas, adicionamos isso à primeira posição que você conhece em nossa frase aqui
então continuamos esse processo imprimindo o próximo ponto da pista de maneira semelhante
agora este ponto da pista não é o início de uma nova pista, é na verdade uma continuação da pista anterior
então é um tipo de token de continuação agora não é suficiente apenas saber disso
esta pista está conectada ao plano anteriormente protegido, queremos codificar sua geometria precisa, o que fazemos por
regredindo um conjunto de coeficientes spline, então pegamos esta pista e a codificamos
novamente e adicioná-lo como a próxima palavra na frase, continuamos prevendo essas pistas de continuação até chegarmos ao
No final da grade de previsão, passamos para um segmento de pista diferente para que você possa ver aquele ponto ciano ali agora
não está topologicamente conectado a esse ponto rosa, na verdade está se ramificando daquele azul, desculpe, verde
aponte para lá, então ele tem um tipo de fork e tokens de Fork
na verdade, apontam para tokens anteriores dos quais o fork se origina, para que você
pode ver aqui que o preditor de ponto de bifurcação é na verdade o índice zero, então ele está se referindo aos tokens que já foram previstos, como você faria em
linguagem, continuamos esse processo repetidamente até enumerarmos todos os
tokens no gráfico Ling e então a rede prevê o token de final de frase
sim, só quero observar que a razão pela qual fazemos isso não é apenas porque queremos construir algo complicado, é
quase parece uma máquina completa aqui com redes neurais é que tentamos abordagens simples para
por exemplo, tentando apenas segmentar as faixas ao longo da estrada ou algo assim, mas o problema é quando
há incerteza, digamos que você não consegue ver a estrada claramente e pode haver duas ou três faixas e você não consegue dizer
uma abordagem simples baseada em segmentação apenas desenharia que ambos seriam uma situação de pista 2,5 e o
o algoritmo de pós-processamento falharia hilariantemente quando as previsões fossem tais, sim, os problemas não terminam aí, quero dizer
você precisa prever essas condições conectivas, como essas faixas conectivas dentro de interseções, o que simplesmente não é possível com a abordagem que
Ashok mencionou que é por isso que tivemos que atualizar para esse tipo de sobreposição, como se essa segmentação fosse descontrolada, mas mesmo se você tentar muito
você sabe, colocá-los em camadas separadas, é um problema muito difícil, qual linguagem oferece uma estrutura muito boa para a obtenção moderna de
amostra de uma posterior, em vez de tentar fazer tudo isso no pós-processamento
mas isso na verdade não para apenas no piloto automático, certo John, isso pode ser usado para o Optimus novamente, você sabe, acho que não seriam
chamado Lanes, mas você pode imaginar que sabe neste estágio aqui que você pode ter alguns caminhos que você sabe que codificam o possível
lugares onde as pessoas poderiam andar, sim, é basicamente se você estiver em uma fábrica ou em um ambiente doméstico que você conhece
você pode simplesmente perguntar ao robô, ok, deixe-me falar com a cozinha ou encaminhe para algum local na fábrica
e então prevemos um conjunto de caminhos que você saberia passar pelos corredores, pegar o robô e dizer ok, isso
é como você chega à cozinha, isso realmente nos dá uma boa estrutura para modelar esses diferentes caminhos que simplificam o problema de navegação ou o
planejador downstream, tudo bem, então, em última análise, o que obtemos
esta rede de detecção de pista é um conjunto de pistas em suas conectividades que vem diretamente da rede que existe
nenhuma etapa adicional aqui para simplificar essas previsões densas em indispersas
esta é apenas uma saída direta não filtrada da rede
ok, então falei um pouco sobre Lanes. Vou abordar brevemente como modelamos e prevemos os caminhos futuros em
outra semântica em objetos, então vou examinar rapidamente dois exemplos do vídeo no
bem aqui temos um carro que está realmente ultrapassando o sinal vermelho e virando na nossa frente o que fazemos para lidar com
situações como esta é que prevemos um conjunto de trajetórias futuras do Horizonte de curto prazo em todos os objetos que podemos usar
estes para antecipar a situação perigosa aqui e aplicar tudo o que você sabe que a ação de frenagem e direção é necessária para evitar uma colisão
no vídeo à direita tem dois veículos na nossa frente o da faixa da esquerda está estacionado aparentemente é
sendo carregado descarregado não sei porque o motorista resolveu estacionar ali mas o importante é que nossa rede neural previu que estava parado
que é a cor vermelha, o veículo na outra pista, como você percebe, também está parado, mas aquele é
obviamente, apenas esperando que a luz vermelha fique verde, então mesmo que ambos os objetos estejam estacionários e tenham velocidade zero, é a semântica que é
é muito importante aqui para não ficarmos presos atrás daquele carro mal estacionado
prever todos esses atributos do agente apresenta alguns problemas práticos ao tentar construir um sistema em tempo real
precisamos maximizar a taxa de quadros de nossa pilha de seções de objetos para que o piloto automático possa reagir rapidamente às mudanças no ambiente
cada milissegundo realmente importa aqui para minimizar a latência de inferência, nossa rede neural é dividida em duas fases
na primeira fase identificamos locais no espaço 3D onde existem agentes
no segundo estágio, retiramos tensores nesses locais 3D e acrescentamos dados adicionais que estão no
veículo e então você sabe que faz o resto do processamento, esta etapa de especificação permite que o
rede neural para focar a computação nas áreas mais importantes, o que nos proporciona desempenho superior por uma fração do custo de latência
então, juntando tudo, a pilha Vision do piloto automático prevê mais do que apenas a geometria e a cinemática de
o mundo, também prevê um rico conjunto de semânticas que permite uma condução segura e humana
Não vou entregar as coisas para Street, vamos nos contar como executamos todas essas redes neurais legais em nosso computador FSD, obrigado
[Aplausos]
oi a todos, hoje sou SRI, vou dar uma ideia do que é necessário para operar essas redes FSC no
carro e como otimizamos a latência de inferência. Hoje vou me concentrar apenas no
Rede FSG Lanes da qual John acabou de falar
então, quando você iniciou esta trilha, queríamos saber se podemos executar esta rede de pistas FSC nativamente no mecanismo de viagem
que é nosso acelerador de rede neural interno que construímos no computador FSD
quando construímos este hardware, mantivemo-lo simples e garantimos que ele pode funcionar
coisa ridiculamente rápida, produtos pontuais densos, mas essa arquitetura é automática
regressivo e iterativo, onde ele analisa vários blocos de atenção no Inner Loop
produzindo pontos esparsos diretamente em cada etapa, então o desafio aqui era como
podemos fazer esta análise Previsão de ponto e cálculo esparso em um mecanismo de produto escalar denso, vamos ver como fizemos isso
na viagem para que a rede preveja o mapa de calor de
localizações espaciais mais prováveis do ponto agora fazemos um Arc Max e um
operação cardíaca que fornece uma codificação rígida do índice da localização espacial
agora precisamos selecionar a incorporação associada a este índice a partir de uma tabela de incorporação que é aprendida durante
treinando para fazer isso em viagem, na verdade construímos uma tabela de pesquisa em SRAM e projetamos
as dimensões desta incorporação de modo que poderíamos conseguir tudo isso apenas com a multiplicação de matrizes
não apenas que também queríamos armazenar essa incorporação em um cache de token para
que não recalculamos isso para cada iteração, em vez disso, reutilizá-lo para previsão futura de pontos novamente, extraímos alguns
truques aqui onde fizemos todas essas operações apenas no mecanismo de produto escalar, é realmente legal que nossa equipe
encontrei maneiras criativas de mapear todas essas operações no mecanismo de viagem de maneiras
que nem imaginamos quando este Hardware foi projetado, mas não é só isso que temos que
fizemos para fazer isso funcionar, na verdade implementamos uma série de operações e recursos para fazer esse modelo
compilável para melhorar a precisão da ingestão, bem como para otimizar o desempenho
todas essas coisas nos ajudaram a executar o modelo de 75 milhões de parâmetros em pouco menos de 10
milissegundo de latência consumindo apenas 8 watts de energia
mas esta não é a única arquitetura rodando no carro, existem tantas outras arquiteturas, módulos e redes
precisamos correr no carro para dar uma noção de escala, existem cerca de um bilhão de parâmetros de todas as redes
combinados, produzindo cerca de 1.000 sinais de redes neurais, então precisamos ter certeza
nós os otimizamos em conjunto e de forma que maximizamos o cálculo
taxa de transferência de utilização e minimizar a latência, então construímos um compilador apenas para neural
redes que compartilham a estrutura com compiladores tradicionais, como você pode ver, é preciso um grande esforço
gráfico de redes neurais com 150 mil nós e 375 mil conexões leva essa coisa
os particiona em subgrafos independentes e obriga cada um desses
subgráficos nativamente para os dispositivos de inferência, então temos uma rede neural
Linker que compartilha a estrutura do Linker tradicional onde realizamos essa otimização de tempo de link
lá resolvemos um problema de otimização offline com memória de computação e memória
restrições de largura de banda para que venha com uma programação otimizada que seja executada no carro
no tempo de execução, projetamos um sistema de agendamento híbrido que basicamente faz
agendamento heterogêneo em um SOC e agendamento distribuído em ambos os socs para executar essas redes em um modelo
forma paralela para obter 100 quedas de utilização de computação, precisamos otimizar em todos os
camadas de software desde o ajuste da arquitetura de rede, o compilador
o caminho para implementar um link RDMA de baixa latência e alta largura de banda em ambos os srcs e, de fato, ir ainda mais fundo
entender e otimizar o cache de dados coerentes e não coerentes Caminhos do acelerador no soc isso é muito
de otimização em todos os níveis para garantir a maior taxa de quadros e cada milissegundo conta
aqui e este é este é apenas este é o
visualização das redes neurais que funcionam no carro, este é o nosso cérebro digital, essencialmente, como você pode ver
essas operações nada mais são do que apenas a convolução de multiplicação de matrizes, para citar algumas operações reais executadas no carro
para treinar ou treinar essa rede com um bilhão de parâmetros você precisa de muitos dados rotulados então aegon vai falar
sobre como podemos conseguir isso com o pipeline de rotulagem automática
obrigado, obrigado, Sherry
Olá a todos, sou Jurgen Zhang e estou liderando uma visão geométrica no piloto automático
então sim, vamos falar sobre rotulagem automática
então temos vários tipos de frameworks de rotulagem para suportar vários tipos de redes, mas hoje eu gostaria de
concentre-se na incrível rede Lanes aqui para treinar e generalizar com sucesso
esta rede para todos os lugares onde pensamos que fizemos dezenas de milhões de viagens de
provavelmente um cruzamento de um milhão ou até mais
então como fazer isso para que seja certamente possível obter fonte suficiente
quantidade de viagens porque já temos, como Tim explicou anteriormente, já temos cerca de 500.000 viagens por dia à vista
hum, no entanto, converter todos esses dados em um formulário de treinamento é um problema técnico muito desafiador
para resolver este desafio, tentamos várias formas de etiquetagem manual e automática, de
da primeira coluna para a segunda, da segunda para a terceira, cada avanço nos proporcionou quase 100x de melhoria em
rendimento, mas ainda assim ganhamos uma etiquetadora automática ainda melhor que pode fornecer
fornecer aos provedores diversidade e escalabilidade de boa qualidade
para atender a todos esses requisitos, apesar do enorme esforço de engenharia necessário aqui, desenvolvemos um
nova máquina de etiquetagem de pedidos alimentada por reconstrução multitrib, para que possa substituir 5 milhões de horas de
etiquetagem manual com apenas 12 horas no cluster para etiquetar 10.000 viagens
então, como resolvemos, há três grandes passos, o primeiro passo é uma trajetória de alta precisão e recuperação de estrutura por
odometria inercial visual multicâmera, então aqui todos os recursos, incluindo a superfície do solo, são inferidos a partir de vídeos
por redes neurais então rastreadas e reconstruídas no espaço vetorial
então a taxa de deriva típica dessa trajetória no carro é de 1,3 centímetro
por metro e 0,45 mili radianos por metro, o que é bastante decente, considerando seu cálculo compacto
requisito do que o serviço de recuperação e os detalhes brutos também são usados como um forte
orientação para a etapa posterior de verificação manual, isso também está habilitado em todos os FSD
veículo para obtermos trajetórias e estruturas pré-processadas junto com os dados da viagem
a segunda etapa é a reconstrução multi-2, que é a peça grande e central desta máquina
então o vídeo mostra como a viagem mostrada anteriormente é reconstruída e alinhada
com outras viagens basicamente outras viagens de pessoas diferentes e não do mesmo veículo, então isso é feito por vários
etapas da Internet, como alinhamento do curso, combinação de pares, otimização da junta e posterior refinamento da superfície
no final o analista humano chega e finaliza o rótulo
então cada etapa feliz já está totalmente paralelizada no cluster para que o
todo o processo geralmente leva apenas algumas horas
a última etapa é rotular automaticamente as novas viagens para que
aqui usamos o mesmo mecanismo de alinhamento multi-viagem, mas apenas entre a reconstrução pré-construída e cada novo
viagem, então é muito mais simples do que reconstruir completamente todos os clipes
é por isso que leva apenas 30 minutos por viagem para outra etiqueta em vez de manual
várias horas de rotulagem manual e esta também é a chave da escalabilidade
desta máquina, esta máquina pode ser facilmente dimensionada, desde que
têm dados de computação e viagem disponíveis, então cerca de 50 árvores foram encomendadas recentemente
rotulados desta cena e alguns deles são mostrados aqui, então 53 de veículos diferentes
então é assim que capturamos e transformamos as fatias do espaço-tempo do mundo em
a supervisão da rede, sim, uma coisa que gosto de observar é que acabei de falar sobre como nós Auto
rotular nossas pistas, mas temos trabalhadores automotivos para quase todas as tarefas que realizamos, incluindo nosso planejador e muitos de
estes são totalmente automáticos como nenhum ser humano envolvido, por exemplo, para objetos ou outras cinemáticas, as formas deles
No futuro, tudo vem da etiquetagem automática e o mesmo se aplica à ocupação e nós realmente acabamos de
construí uma máquina em torno disso, sim, então se você puder voltar um slide, não mais um
diz paralelizado no cluster, então parece bastante simples, mas
realmente não foi, talvez seja divertido compartilhar como algo assim acontece, então há um tempo atrás não tínhamos nenhum
rotulagem automática e então alguém faz um script que começa a funcionar, começa a funcionar melhor até chegarmos a um
volume que é bastante alto e claramente precisamos de uma solução e então havia outros dois engenheiros
nossa equipe, que era como você, sabe que isso é interessante, você sabe, o que precisávamos fazer era construir um gráfico completo de
essencialmente funções python que precisamos executar uma após a outra, primeiro você puxa o clipe, depois faz uma limpeza e depois faz
alguma inferência de rede e depois outra inferência de rede até que você finalmente consiga isso, mas você precisa fazer isso como um
em grande escala, então eu digo a eles que provavelmente precisamos filmar, você sabe, 100.000 clipes por dia ou cerca de 100.000 itens
isso parece bom, hum, então os engenheiros dizem bem, podemos fazer com que você conheça um pouco de postgres e um pouco
de graxa de cotovelo, podemos fazer isso enquanto estamos um pouco mais tarde e estamos fazendo 20
milhões dessas funções todos os dias, novamente, obtemos cerca de meio milhão
clipes e neles executamos uma tonelada de funções, cada uma delas em streaming e isso é meio que por trás
infra final que também é necessária não apenas para executar o treinamento, mas também para a rotulagem automática, sim, é realmente como uma fábrica que
produz rótulos e linhas de produção semelhantes geram estoque de qualidade, como todos os mesmos Conceitos aplicados a isso
etiqueta Fábrica uh que se aplica a você conhece a fábrica de nossos carros, isso mesmo
ok, obrigado, então sim, então concluindo
nesta seção, eu gostaria de compartilhar mais alguns exemplos desafiadores e interessantes para Network, com certeza e até
para os humanos, provavelmente, uh, então, do início, há exemplos como caso de falta de mentiras ou noite de neblina ou rotatória
e oclusões por oclusões pesadas por carros estacionados e até noite chuvosa com suas gotas de chuva nas lentes das câmeras uh
estes são desafiadores, mas uma vez que suas cenas originais são totalmente reconstruídas por outros clipes, todos eles podem ser
Rotulado automaticamente para que nossos cartões possam funcionar ainda melhor nesses cenários desafiadores
então agora deixe-me passar o microfone para David para saber mais sobre como Sim está criando o novo mundo em cima desses rótulos, obrigado
você
obrigado mais uma vez, meu nome é David e vou falar sobre simulação, então a simulação desempenha um papel fundamental
fornecendo dados que são difíceis de obter e/ou rotular, no entanto, as cenas 3D são notoriamente lentas
para produzir, tomemos por exemplo a cena simulada passando atrás de mim um
complexo cruzamento da Market Street, em São Francisco, levaria duas semanas para
artistas para completar e para nós isso é dolorosamente lento, mas vou falar sobre como usar
rótulos de verdade automatizados de Jaegan, juntamente com algumas ferramentas totalmente novas que nos permitem gerar isso de forma processual
cena e muitos gostam em apenas cinco minutos, isso é incrível, mil vezes mais rápido do que antes
então vamos mergulhar em nossa cena assim que for criada, começamos canalizando o solo automatizado
rótulos verdadeiros em nossas ferramentas de criação de mundo simulado dentro do software Houdini, começando com o limite da estrada
rótulos, podemos gerar uma malha rodoviária sólida e retopologizá-la com os rótulos do gráfico da pista, isso ajuda a informar informações importantes sobre estradas.
detalhes como inclinação da encruzilhada e mistura detalhada de materiais
em seguida, podemos usar os dados da linha e varrer a geometria em sua superfície e projetá-la na estrada criando a pintura Lane
decalques a seguir usando bordas medianas que podemos gerar
Geometria da ilha e preenchê-la com folhagem aleatória, isso muda drasticamente a visibilidade da cena
agora o mundo exterior pode ser gerado através de uma série de heurísticas aleatórias e geradores de edifícios modulares
criar obstruções visuais enquanto objetos colocados aleatoriamente, como hidrantes, podem mudar a cor das curvas enquanto
as árvores podem deixar cair folhas abaixo delas, obscurecendo linhas ou bordas
em seguida, podemos trazer dados de mapas para informar posições de coisas como semáforos ou sinais de parada que podemos rastrear
é normal coletar informações importantes como número de faixas e até obter nomes de ruas precisos nas
em seguida, usando o gráfico de pista, podemos determinar a conectividade da pista e gerar direcional
Marcações rodoviárias na estrada e elas acompanham os sinais de trânsito e, finalmente, com o próprio gráfico de pista,
pode determinar a adjacência da pista e outras métricas úteis para gerar permutações de tráfego aleatórias Simulador interno
e, novamente, tudo isso é automático, sem artistas envolvidos e acontece em minutos e agora isso nos prepara para fazer
algumas coisas bem legais, já que tudo é baseado em dados e heurísticas, podemos começar a confundir
parâmetros para criar variações visuais da verdade básica única, pode ser tão sutil quanto a colocação de objetos e aleatória
troca de materiais para mudanças mais drásticas, como biomas inteiramente novos ou locais de ambiente como Urbano
Suburbano ou rural, isso nos permite criar infinitas permutações direcionadas para
verdades básicas para as quais precisamos de mais verdades básicas e tudo isso acontece com um clique de um
botão e podemos até dar um passo adiante, alterando nossa verdade básica
em si diz que John quer que sua rede preste mais atenção às marcações direcionais da estrada
para detectar melhor uma próxima faixa cativa de conversão à esquerda, podemos começar a alterar processualmente nosso gráfico de faixa dentro
o simulador para ajudar as pessoas a criar fluxos inteiramente novos através desta interseção para ajudar
Concentre a atenção da Rede nas marcações rodoviárias para criar previsões mais precisas e este é um excelente exemplo de como isso
ferramentas nos permitem criar novos dados que nunca poderiam ser coletados no mundo real
e o verdadeiro poder desta ferramenta está em sua arquitetura e como podemos executar todas as tarefas em paralelo infinitamente
dimensione para que você veja a ferramenta Criador de blocos em ação, convertendo a verdade básica
rótulos em suas contrapartes, em seguida, podemos usar nossa ferramenta extrator de blocos
dividir esses dados em blocos geohash com cerca de 150 metros quadrados de tamanho
em seguida, salvamos esses dados em arquivos de geometria e instância separados, o que nos fornece uma fonte limpa de dados que é fácil de
carregar e nos permite tornar o mecanismo agnóstico para o futuro
então, usando uma ferramenta de carregamento de blocos, podemos invocar qualquer número desses blocos de cache usando um ID geohash que estamos fazendo atualmente
sobre esses blocos de cinco por cinco ou três por três, geralmente centrados em pontos de acesso da Frota ou em gráficos de terreno interessantes
locais no carregador de blocos também converte esses conjuntos de blocos em ativos U para consumo
pelo Unreal Engine e fornece um produto de projeto finalizado a partir do que você viu no primeiro slide
e isso realmente nos define em termos de tamanho e escala, como você pode ver no mapa atrás de nós
podemos facilmente gerar a maior parte das ruas da cidade de São Francisco e isso não levou anos ou mesmo meses de trabalho, mas
em vez de duas semanas por uma pessoa, podemos continuar a gerenciar e fazer crescer todos
esses dados usando nossa rede PDG dentro das ferramentas, isso nos permite lançar
calcule e regenere todos esses conjuntos de blocos durante a noite, isso garante que todos os ambientes sejam de
qualidade e recursos consistentes, o que é super importante para o treinamento, uma vez que novas ontologias e sinais são constantemente
liberado e agora para fechar o círculo porque nós
gerou todos esses conjuntos de peças a partir de dados reais que contêm todas as complexidades estranhas do mundo real
e podemos combinar isso com a variedade processual visual e de tráfego para criar dados direcionados ilimitados para o
rede para aprender e isso conclui a seção Sim. Vou passar para Kate falar sobre como podemos
use todos esses dados para melhorar o piloto automático, obrigado
obrigado David, oi a todos, meu nome é Kate Park e estou aqui para falar sobre o mecanismo de dados, que é o processo pelo qual nós
melhorar nossas redes neurais por meio de dados, vamos mostrar como resolvemos intervenções de forma determinística
por meio de dados e orientar você na vida desse clipe específico neste cenário
o piloto automático está se aproximando de uma curva e prevê incorretamente que o veículo atravessando está parado para o trânsito e, portanto,
um veículo que iríamos desacelerar, pois na realidade não há ninguém no carro, está apenas estacionado de maneira estranha, nós construímos isso
ferramentas para identificar as previsões erradas, corrigir o rótulo e categorizar isso
clipe em um conjunto de avaliação, este clipe em particular é um dos 126
que diagnosticamos como carros estacionados desafiadores nas curvas por causa disso
infra, podemos fazer a curadoria deste conjunto de avaliação sem nenhum recurso de engenharia personalizado
para este caso de desafio específico para realmente resolver esse caso de desafio
requer a mineração de milhares de exemplos como esse e é algo que Tesla pode fazer trivialmente, simplesmente usamos nossos dados
obter dados de solicitação de infra e usar as ferramentas mostradas anteriormente para corrigir o
rótulos, ao visar cirurgicamente as previsões erradas do modelo atual, estamos apenas adicionando o que há de mais valioso
exemplos para o nosso conjunto de treinamento, consertamos cirurgicamente 13.900 clipes e uh
porque esses foram exemplos em que o modelo atual tem dificuldades, nem precisamos mudar a arquitetura do modelo
A maneira simples de atualizar com esses novos dados valiosos é suficiente para resolver o caso desafiador, então você vê que não prevemos mais
aquele veículo de travessia parado conforme mostrado em laranja, mas estacionado conforme mostrado em vermelho
na academia, muitas vezes vemos que as pessoas mantêm os dados constantes, mas na Tesla é
muito pelo contrário, vemos repetidamente que os dados são uma das melhores, se não a mais determinística, alavanca
para resolver essas intervenções acabamos de mostrar o mecanismo de dados Loop
para um caso de desafio, nomeadamente estes carros estacionados nas curvas, mas há muitos casos de desafio, mesmo para um sinal de
Movimento de veículos, aplicamos esse mecanismo de dados Loop a cada caso desafiador que diagnosticamos, sejam ônibus
estradas sinuosas paradas Estacionamentos de veículos e não adicionamos dados apenas quando
faça isso repetidamente para aperfeiçoar a semântica. Na verdade, este ano atualizamos nosso sinal de movimento de veículos cinco vezes
e com cada atualização de peso treinada com base nos novos dados, aumentamos cada vez mais a precisão do movimento do veículo
esta estrutura de mecanismo de dados se aplica a todos os nossos sinais, sejam eles 3D
vídeo com várias câmeras, independentemente de os dados serem rotulados por humanos. Rotulado automaticamente ou simulado, seja um modelo off-line ou um
modelo de modelo online e a Tesla é capaz de fazer isso em escala por causa da frota
Aproveite a infra que nossa equipe de motores construiu e os recursos de rotulagem que alimentam nossas Redes
para treinar todos esses dados, precisamos de uma grande quantidade de computação, então vou passar para Pete e Ganesh falarem sobre
a plataforma de supercomputação dojo obrigado [Aplausos]
obrigado, obrigado Katia
obrigado a todos, obrigado por aguentarem, estamos quase lá, meu nome é Pete Bannon, eu administro a alfândega
equipes de silício e baixa tensão na Tesla e meu nome é Ganesh Venkat, eu administro o
programa doji
[Aplausos] obrigado Muitas vezes me perguntam por que um carro é
empresa construindo um supercomputador para treinamento e esta questão fundamentalmente
entende mal a natureza de Tesla em sua essência Tesla é uma tecnologia hardcore
empresa em toda a empresa as pessoas estão trabalhando duro em ciência e engenharia
para avançar a compreensão fundamental e os métodos que temos disponíveis
para construir carros, robôs da Energy Solutions e qualquer outra coisa, então podemos fazer para
melhorar a condição humana em todo o mundo, é algo super emocionante de se fazer parte e é um privilégio administrar um negócio muito
um pequeno pedaço disso no grupo de semicondutores hoje à noite vamos falar um pouco sobre dojo e dar uma ideia
atualizar sobre o que conseguimos fazer no ano passado, mas antes de fazermos isso, gostaria de dar um pouco de
histórico do projeto inicial que iniciamos há alguns anos, quando começamos, o objetivo era fornecer um
Melhoria substancial na latência de treinamento para nossa equipe de piloto automático, algumas das
as maiores redes neurais que treinaram hoje funcionam por mais de um mês, o que inibe sua capacidade de rapidamente
explore alternativas e avalie-as para saber que uma aceleração de 30X seria
seria muito bom se pudéssemos fornecê-lo a um custo competitivo e de forma competitiva em termos de energia
para fazer isso queríamos construir um chip com muita aritmética
unidades que poderíamos utilizar com uma eficiência muito alta e passamos muito tempo estudando se poderíamos fazer isso
usando DRM, várias ideias de embalagens, todas falharam e, no final, mesmo que
pareceu um ato antinatural, decidimos rejeitar o dram como meio de armazenamento primário para este sistema e, em vez disso, focar
na SRAM embutida no chip SRAM fornece, infelizmente, um modesto
quantidade de capacidade, mas largura de banda extremamente alta e latência muito baixa e isso nos permite alcançar alta utilização
com as unidades aritméticas essas escolhas
dessa escolha em particular levou a um monte de outras opções, por exemplo, se você quiser ter memória virtual, você precisa
tabelas de páginas ocupam muito espaço, não tínhamos espaço, então não há memória virtual, também não temos interrupções no
acelerador é uma peça de hardware simples que é apresentada a um compilador
no compilador é responsável por agendar tudo o que acontece de forma terminística para que não haja necessidade ou
mesmo desejo por interrupções no sistema, também optamos por seguir o modelo
paralelismo como metodologia de treinamento, o que não é a situação típica mais
a maioria das máquinas hoje usa paralelismo de dados que consome capacidade de memória adicional que obviamente não temos
então todas essas escolhas nos levaram a construir uma máquina que é radicalmente
diferente do que está disponível hoje, também tínhamos vários outros objetivos, um dos mais importantes era não
limites, então queríamos construir uma estrutura de computação que pudesse ser dimensionada de maneira ilimitada na maior parte, quero dizer, obviamente
há limites físicos de vez em quando, mas você sabe muito bem se o seu modelo foi
grande demais para o computador você só tinha que comprar um computador maior, era isso que estávamos procurando hoje no pacote
máquinas são empacotadas, há uma proporção bastante fixa de, por exemplo, CPUs GPU e
e capacidade de dram e capacidade de rede e queríamos realmente desagregar tudo isso para que, à medida que os modelos evoluíssem, pudéssemos
variar as proporções desses vários elementos e tornar o sistema mais flexível para atender às necessidades do
equipe do piloto automático, sim, e é tão verdade que a filosofia No Limits foi nossa estrela-guia
durante todo o caminho, todas as nossas escolhas foram centradas em torno disso e para o
ponto que não queríamos que a infraestrutura tradicional de data center limitasse nosso
capacidade de executar esses programas com velocidade, é por isso que
é por isso que sinto muito por isso, é por isso que integramos
verticalmente nosso data center, todo o data center, fazendo uma vertical
integração do data center poderíamos extrair novos níveis de eficiência poderíamos otimizar a energia
entrega Resfriamento e também gerenciamento de sistema em
toda a pilha do data center, em vez de fazer caixa por caixa e integrar isso
essas caixas em data centers e para fazer isso também queríamos
integrar antecipadamente para descobrir os limites de escala para o nosso
cargas de trabalho de software, então integramos o ambiente Dojo em nosso software de piloto automático muito cedo e aprendemos muito
lições e hoje, uh, Bill Chang irá falar sobre nossa atualização de hardware, bem como alguns
dos desafios que enfrentamos ao longo do caminho e Rajiv kurian lhe dará uma
vislumbre de nossa tecnologia de compilador, bem como alguns de nossos resultados interessantes
aí vai você
obrigado Pete, obrigado Ganesh, vou começar esta noite com um alto nível
visão do nosso sistema que ajudará a preparar o terreno para os desafios e problemas que enfrentamos
resolvendo e também como o software irá aproveitar isso para desempenho
agora nossa visão para o Dojo é construir um único e unificado acelerar um grande
um software veria um plano de computação contínuo com endereçável globalmente
memória muito rápida e todos conectados com alta largura de banda uniforme e
baixa latência agora para perceber isso, precisamos usar
densidade para alcançar desempenho agora aproveitamos a tecnologia para obter essa densidade a fim de quebrar os níveis de
hierarquia desde o chip até os sistemas de expansão
agora a tecnologia do silício tem usado isso tem feito isso há décadas os chips têm
seguiu a lei de Moore para densidade e integração para obter escala de desempenho
agora um passo fundamental para perceber que a Visão era nossa peça de treinamento, não apenas podemos integrar 25 dados em
largura de banda extremamente alta, mas podemos dimensioná-la para qualquer número de blocos adicionais apenas conectando-os
agora, no ano passado, apresentamos nosso primeiro bloco de treinamento funcional e naquela época já tínhamos cargas de trabalho em execução
e desde então a equipe aqui tem trabalhado duro e diligentemente para implantar
isso em grande escala, agora fizemos um progresso incrível e tivemos muitos marcos ao longo do caminho e, claro,
é claro que tivemos muitos desafios inesperados, mas é aqui que falhamos rapidamente
a filosofia nos permitiu ultrapassar nossos limites
agora, aumentar a densidade em prol do desempenho apresenta novos desafios, uma área é o fornecimento de energia
aqui precisamos fornecer energia para nossa matriz de computação e isso impacta diretamente
nosso desempenho de computação Top Line, mas precisamos fazer isso em uma densidade sem precedentes, precisamos ser capazes de corresponder ao nosso
passo da matriz com uma densidade de potência de quase um amp por milímetro quadrado
e devido à extrema integração, este precisa ser um sistema vertical de vários níveis
solução de energia e porque há um empilhamento de material heterogêneo complexo
temos que gerenciar cuidadosamente a transição material, especialmente CTE
agora, por que o coeficiente de expansão térmica importa neste caso CTE é uma propriedade fundamental do material
e se não for gerenciado com cuidado, o Stack Up literalmente se despedaçará
então começamos esse esforço trabalhando com fornecedores para desenvolver este
solução de energia, mas percebemos que na verdade precisávamos desenvolver essa solução internamente
agora, para equilibrar cronograma e risco, criamos iterações rápidas para dar suporte
nosso sistema traz à tona e desenvolvimento de software e também para encontrar o design ideal e
acumulação que atenderia às nossas metas finais de produção e, no final, conseguimos reduzir o CTE em mais de 50%
e atingir nosso desempenho em 3x em relação à nossa versão inicial
agora nem é preciso dizer que encontrar esse material ideal empilhando enquanto maximiza
o desempenho em densidade é extremamente difícil
agora tivemos desafios inesperados ao longo do caminho, aqui está um exemplo em que pressionamos o
limites de integração que levaram a falhas de componentes