YouMind
Iniciar sessão

Uma nova camada de dados para aprendizado de robôs

@NikolausWest
INGLÊS14/05/2026
319K
172
26
5
218

TL;DR

O Rerun 0.32 apresenta uma camada de dados criada especificamente para robótica, incluindo um formato .rrd estável, integração com PyTorch e visualização avançada para preencher a lacuna entre dados brutos de sensores e o treinamento de modelos.

A Inteligência Física vai remodelar indústrias em todo o mundo físico, mas a robótica ainda carece da camada de dados unificada necessária para iterar na velocidade que a IA moderna exige. O desafio central é que o aprendizado de robôs opera com dados físicos: fluxos multimodais e multitaxa, vinculados a tempo, espaço e corporificação. A infraestrutura existente foi construída em grande parte em torno de dados da web e tem dificuldades com essas propriedades.

Na @rerundotio, estamos construindo uma camada de dados unificada para dados físicos, ajudando equipes a treinar e implantar inteligência para o mundo real.

O maior lançamento da Rerun até agora

A Rerun é mais conhecida por visualizar dados de séries temporais multimodais. No último ano e meio, temos construído silenciosamente as outras peças de uma camada de dados unificada para apoiar toda a jornada, da coleta ao treinamento. Com o lançamento do Rerun SDK 0.32, essas capacidades estão chegando ao código aberto!

Este é o maior lançamento desde que a Rerun foi originalmente disponibilizada como código aberto há três anos, e representa uma enorme expansão dos tipos de trabalho que você pode fazer com a Rerun.

Estamos estabilizando o formato de arquivo e adicionando um novo conjunto de APIs de leitura e escrita de baixo nível para os arquivos. Estamos adicionando uma nova API para manipular blocos de dados da Rerun, projetada para organizar e normalizar dados reais de robótica. Estamos expandindo nosso suporte a mensagens MCAP e ROS 2 para melhorar a experiência pronta para uso. Estamos adicionando uma nova interface de revisão de conjuntos de dados para tornar a revisão de conjuntos de dados de treinamento muito mais rápida. O servidor de catálogo de código aberto agora indexa arquivos .rrd no disco, permitindo que você ou seu agente façam consultas genéricas sobre diretórios de gravações de robótica. Construído sobre essa mesma base, também estamos lançando um carregador de dados PyTorch para que você possa treinar modelos de robôs diretamente em arquivos .rrd, sem precisar exportar para um formato específico de treinamento.

O ecossistema de robótica carecia de uma estrutura unificada flexível o suficiente para suportar todo o ciclo de vida dos dados de aprendizado de robôs. Com o 0.32, essa base está agora emergindo.

Além deste enorme lançamento de código aberto, também estamos anunciando o Rerun Hub, nosso catálogo de dados comercial e mecanismo de armazenamento. O Rerun Hub está agora em pré-visualização privada e estende o Rerun SDK para conjuntos de dados apoiados por armazenamento de objetos. Ele fornece um catálogo compartilhado e uma camada de acesso para transformar, consultar, visualizar e transmitir dados de robôs em uma escala muito maior, preservando o mesmo modelo de dados e APIs.

Use o Rerun Hub se sua ambição é escalar dados além do que cabe em sua máquina local – enquanto se move rápido! Se você é uma equipe construindo um produto em torno do aprendizado de robôs e está pensando em sua camada de dados, entre em contato.

O restante deste post tem duas partes. Primeiro, uma introdução à arquitetura de dados que acreditamos ser necessária para a IA Física escalar. Segundo, um tour pelas novas capacidades do Rerun SDK 0.32 que colocam essa arquitetura em prática.

O aprendizado de robôs precisa de uma camada de dados construída especificamente para dados físicos

Conforme descrito em \O Imposto da Camada de Dados para o Aprendizado de Robôs\, grande parte do atrito que retarda o progresso da IA Física vem da tentativa de forçar dados físicos através de infraestrutura projetada para cargas de trabalho tradicionais de software e análise. O que é necessário é uma camada de dados construída para dados multitaxa e multimodais, que suporte tudo o que você precisa para iterar na inteligência do robô, desde a coleta até o treinamento e a implantação.

Agentes de codificação significam que os usuários precisam de controle total sobre a camada de computação e aplicação

Para atender a todo o fluxo de trabalho de coleta, normalização, pós-processamento, curadoria e treinamento, as equipes precisam de uma variedade de ferramentas e tarefas de computação diferentes. Essas ferramentas e tarefas podem, por exemplo, codificar as maneiras específicas como uma equipe opera ou as técnicas que usam para impulsionar a qualidade dos dados em escala, o que as torna uma área-chave de diferenciação que as equipes precisam possuir.

Agentes de codificação estão tornando cada vez mais viável para as equipes projetar essas ferramentas e tarefas de computação exatamente da maneira que desejam, desde que tenham controle em nível de código. Por causa disso, pouquíssimas equipes aceitarão não ter esse controle. É por isso que o Rerun SDK é totalmente de código aberto e projetado como uma estrutura com a qual você pode construir, em vez de uma plataforma SaaS de jardim murado. Até o visualizador é projetado como uma biblioteca para que você nunca fique preso. A Rerun sempre foi primeiro o código e estamos reforçando ainda mais para torná-lo ainda mais fácil de usar para agentes. Isso inclui até mesmo trabalhos futuros em renderização headless e navegação do visualizador para ajudar agentes a ver dados físicos como os humanos.

A maioria das equipes já está construindo aplicativos personalizados e scripts de processamento adaptados aos seus próprios fluxos de trabalho. Sem construir sobre uma base sólida, você acaba com peças verticais que são difíceis de raciocinar e não se compõem bem, o que limita os ganhos de produtividade.

A camada de dados deve lidar com as partes difíceis do uso de dados físicos em grande escala

Nikolaus West - inline image

As capacidades principais necessárias para atender toda a jornada de dados, da coleta ao modelo, são visualização, consulta analítica, transformação e treinamento. Todas essas capacidades precisam lidar com dados multitaxa e multimodais que podem carregar semânticas de robótica, como relacionamentos 3D ou forma. Para evitar bugs e dados inconsistentes, você deseja lidar com as sutilezas desse tipo de dados de forma consistente onde quer que seja usado. Por exemplo, o alinhamento temporal e as transformações 3D devem se comportar de forma consistente em pré-processamento, consulta, visualização e revisão de conjuntos de dados.

Para facilitar a iteração tanto no ciclo de experimentação de dados quanto nas ferramentas que o alimentam, você deseja construir sobre uma única camada de dados unificada que torne as transferências triviais e os aplicativos acima simples. Isso significa que a camada de dados precisa ser flexível o suficiente para lidar com os requisitos de todas as capacidades principais de aplicação e computação. Por exemplo, a visualização e a computação exigem acesso aleatório rápido a séries temporais multimodais, enquanto as consultas analíticas exigem varreduras eficientes de colunas, e tanto a computação de pós-processamento em grande escala (CPU) quanto o treinamento (GPU) exigem streaming de dados paralelo de alta largura de banda.

Os dados físicos se comportam fundamentalmente de forma diferente dos dados da web e de negócios, o que significa que se beneficiam de diferentes abstrações de armazenamento e consulta.

A unidade de armazenamento central para dados físicos é um bloco de colunas

Os dados físicos têm duas características diferenciadoras:

A primeira é que são multitaxa: diferentes sensores gravarão dados em frequências extremamente diferentes. O GPS pode estar a 1-10Hz, as câmeras a 10-30Hz, os ângulos das juntas a 100-200Hz e a IMU a 1kHz. No pós-processamento, você pode calcular embeddings semânticos para cada 10º quadro da câmera ou descrições de cena no início e no final de cada episódio.

A segunda é que são multimodais: diferentes sensores gravam dados de tamanhos extremamente diferentes. A IMU e o GPS precisam apenas de alguns bytes para codificar alguns números, enquanto uma câmera RGB pode usar muitos MBs para cada quadro de imagem.

Se você armazenasse uma gravação de robótica em uma tabela onde uma linha representa um carimbo de data/hora e uma coluna representa um fluxo de dados, o aspecto multitaxa geralmente tornaria essa tabela muito esparsa; para qualquer linha, a maioria das colunas provavelmente estaria vazia. O aspecto multimodal dos dados leva a um grande desequilíbrio de memória, já que uma única linha pode conter células que diferem em tamanho por ordens de magnitude. A infraestrutura de dados tabulares existente lida muito mal com essa combinação.

Dados multitaxa e multimodais devem ser armazenados em blocos que cada um contenha subconjuntos das linhas e colunas de um conjunto de dados. A capacidade de, por exemplo, colocar um milhão de amostras de IMU em um bloco e apenas alguns pacotes de vídeo em outro bloco permite resolver tanto os problemas de esparsidade quanto de desequilíbrio de memória.

Nikolaus West - inline image

Dentro do bloco, o armazenamento orientado a colunas otimiza para melhor compressão e consultas de varredura de colunas, enquanto o armazenamento orientado a linhas otimiza para escritas simples.

Na Rerun, acreditamos que os blocos de colunas representam o melhor trade-off para sistemas de dados de aprendizado de robôs, e padronizamos nossa arquitetura em torno deles como a abstração de armazenamento central.

O formato de arquivo .rrd da Rerun é construído em torno de blocos de colunas

O formato de arquivo nativo da Rerun, .rrd, é a representação em disco da abstração de bloco de colunas. Internamente, cada bloco de colunas é codificado como um lote de registros Apache Arrow, juntamente com metadados semânticos descrevendo como os dados devem ser interpretados. Apache Arrow é o padrão da indústria para ciência de dados, e usar o Arrow significa que temos um caminho rápido de cópia zero para DataFusion, Pandas e Polars.

Nikolaus West - inline image

Os metadados em cada bloco contêm informações semânticas sobre como interpretar os dados ("este é um sensor IMU, este é um GPS, …") para que possam ser transportados através de pipelines de processamento e ainda serem automaticamente interpretados e visualizados.

Os blocos de colunas codificados são encapsulados em mensagens protobuf e concatenados para formar um arquivo .rrd. Um rodapé no final do arquivo aponta para um índice, permitindo acesso aleatório rápido a blocos individuais sem varrer o arquivo inteiro.

Nikolaus West - inline image

Comparações com outros formatos

Apache Parquet é um formato colunar em disco, comumente usado junto com o Arrow. Ele organiza seus dados em grupos de linhas, mas, diferentemente dos blocos no .rrd, esses grupos não podem se sobrepor: cada grupo de linhas contém todas as colunas em um intervalo denso de linhas. Isso o torna inadequado para dados de robótica multitaxa e multimodais. Você pode anexar novas linhas, mas não pode anexar novas colunas (sem evolução de esquema).

MCAP é um formato para gravar logs de robótica em seu robô. Ele é projetado para ser rápido e flexível de escrever, com forte compatibilidade com ROS. No entanto, é essencialmente um formato de contêiner de mensagens opacas (codificadas com JSON, protobuf, CBOR, etc.) e não é otimizado para consultas analíticas colunares. Varreduras grandes e junções também são lentas, pois você precisa decodificar cada mensagem.

Lance é um novo formato, explicitamente construído para dados multimodais e acesso aleatório (extremamente importante para treinamento). Ao contrário do Parquet, ele suporta evolução de esquema. No entanto, um conjunto de dados Lance ainda é uma pilha vertical de fragmentos alinhados por linha, então fluxos multitaxa incharão com nulos.

NCore é um novo formato da Nvidia, construído para reconstrução neural. O multitaxa é suportado nativamente por meio de carimbos de data/hora por componente e alinhamento espacial por meio de um grafo de pose. No entanto, o esquema é fechado (componentes de sensor canônicos, não dados arbitrários definidos pelo usuário), é baseado em Zarr em vez de nativo do Arrow e não é construído para atender a um mecanismo de consulta SQL/dataframe genérico.

Cada recurso que sua equipe precisa e que um formato de arquivo não fornece significa outro pipeline para manter sincronizado e ferramentas adicionais para sua equipe aprender para ter sucesso. O formato da Rerun é a única opção que pode atender a todos os casos de uso necessários para transformar gravações de robôs em inteligência. Ele permite que você mantenha os dados nos carimbos de data/hora originais, enquanto ainda pode consultar e visualizar da mesma fonte de dados e transmitir para treinamento. Ele tem estrutura suficiente para construir sistemas de dados unificados sobre ele, mas é flexível o suficiente para otimizar para diferentes padrões de leitura e escrita.

Uma camada de indexação, esquema e metadados sobre blocos de colunas simplifica o uso de dados físicos em escala

Varrer todos os blocos em um conjunto de dados para analisar um único sinal escala mal, mesmo para conjuntos de dados pequenos, portanto, para usá-los efetivamente, você precisa de uma camada de metadados e indexação que possa ajudar a encontrar os blocos certos para qualquer consulta. Isso se parece muito com o padrão clássico de data lakehouse. No nosso caso, um único conjunto de dados ou gravação é composto por blocos heterogêneos que não compartilham o mesmo esquema. As ferramentas clássicas de processamento de dados são construídas para lidar com tabelas que têm um esquema uniforme. Uma camada de indexação e metadados no estilo lakehouse para dados físicos também precisa, portanto, acompanhar esses esquemas individuais para que possa materializar esquemas mesclados de qualquer fluxo em tempo real, para que as ferramentas de dados clássicas possam trabalhar com eles. Por exemplo, se você atualizar sua IMU para uma que publique dados de campo magnético em suas mensagens, essa adição é compatível com sua IMU mais antiga que não continha esse campo, sem necessidade de reescrever dados históricos para compatibilidade.

Nikolaus West - inline image

Blocos de colunas emparelhados com indexação eficiente permitem que você busque exatamente os dados de que precisa sem pagar uma penalidade por fluxos não relacionados armazenados ao lado. Você não precisa escolher entre tornar as operações comuns rápidas e ser capaz de perseguir bugs de cauda longa porque exportou dados comuns para um data warehouse separado.

Além dos benefícios de desempenho, essa camada nos permite abstrair arquivos e apresentar uma API unificada para todos os usuários de dados físicos nas camadas acima. Muitas vezes, os dados do robô são armazenados em um arquivo e a calibração em outro; abstrair esses detalhes de implementação é uma parte importante da redução do atrito dos dados e da simplificação da camada de computação e aplicação.

O processamento e treinamento em grande escala exigem streaming seletivo diretamente do armazenamento de objetos

Os conjuntos de dados de aprendizado de robôs já podem se tornar muito grandes e se tornarão muito maiores à medida que as equipes seguirem as leis de escala para alcançar modelos cada vez mais capazes. Para processar essa escala de dados, muitas vezes você precisa distribuir o trabalho para um grande número de CPUs para pós-processamento ou GPUs para treinamento. Nesses casos, é importante que a taxa de transferência de dados possa escalar com as necessidades dessa computação.

Tanto para maximizar o desempenho quanto para minimizar os custos de saída, você deseja executar a computação perto dos dados. Ao mesmo tempo, a computação GPU pode ser difícil de obter, então muitas equipes acabam alugando em locais diferentes ao longo do tempo. Todos esses fatores significam que você deseja ser capaz de separar o armazenamento dos serviços que lidam com indexação e metadados.

Nikolaus West - inline image

Na Rerun, as consultas começam no Rerun SDK que então consulta o Rerun Hub, que é responsável por saber quais blocos são necessários para resolver a consulta. Dependendo da configuração, o SDK solicita blocos por meio de um proxy em cache no Rerun Hub ou por intervalos de bytes no armazenamento de objetos. Isso permite uma API de acesso simplificada, streaming seletivo de blocos e a largura de banda máxima de streaming do armazenamento de objetos subjacente.

Rerun SDK 0.32 é um kit de ferramentas de dados unificado para aprendizado de robôs

O Rerun 0.32 é o maior lançamento desde que foi originalmente disponibilizado como código aberto em fevereiro de 2023. Ele expande os casos de uso práticos do SDK, de registro, visualização e consulta mais simples para toda a jornada de dados, da coleta ao treinamento. O que se segue é um tour pelos novos recursos que destacam essa expansão. Confira as notas de lançamento para mais detalhes.

Um formato de arquivo estável com APIs Python em nível de bloco

No Rerun 0.23, anunciamos compatibilidade retroativa versão a versão para o formato de arquivo .rrd da Rerun. Na prática, não quebramos a compatibilidade entre nenhuma versão desde então e agora nos sentimos confiantes para prometer compatibilidade retroativa geral no formato de arquivo. Continuaremos a evoluir o formato para impulsionar capacidades e desempenho, mas os dados antigos sempre serão carregados.

Antes do 0.32, você só podia escrever arquivos .rrd usando um importador de outro formato ou as APIs de nível superior log ou send_columns, e a única maneira de ler dados era por meio de consultas dataframe ou SQL. Com este lançamento, estamos agora introduzindo APIs de leitura e escrita em nível de bloco, que lhe dão controle preciso sobre a forma exata de seus dados.

Juntos, esses duas mudanças significam que o .rrd é maduro o suficiente para que um amplo conjunto de equipes construa suas camadas de dados sobre ele.

APIs de processamento de blocos para manipulação de dados nativos de robótica

Os dados de robótica são frequentemente confusos. Normalizar dados de várias fontes em algo que as equipes possam analisar e treinar fica complexo rapidamente. Esta parte do pipeline de dados geralmente consiste em scripts Python improvisados que são lentos e cheios de bugs sutis.

Para resolver esses problemas, estamos introduzindo um novo conjunto de (experimentais) APIs de processamento de blocos. Elas fornecem uma interface de carregador uniforme para formatos como .rrd, MCAP, Parquet e URDF que produzem fluxos de blocos Apache Arrow. Você pode então definir facilmente pipelines de processamento sobre esses fluxos.

Os dados de robótica geralmente vêm na forma de estruturas profundamente aninhadas, e a normalização e manipulação de dados geralmente significam remodelar, converter e transformar seu conteúdo. Para atender a essa necessidade, também estamos lançando Lenses, uma linguagem declarativa para selecionar e transformar esse tipo de dados, inspirada em jq.

Essas APIs foram explicitamente projetadas e testadas pensando em agentes de codificação, e descobrimos que eles têm muito mais facilidade em produzir código correto e eficiente com as APIs de processamento de blocos da Rerun do que com Python genérico. No futuro, essas transformações de processamento de blocos poderão ser executadas no visualizador e na nuvem por meio do Rerun Hub, além do executor atual do lado do SDK.

Suporte integrado expandido para MCAP, tipos ROS 2 e visualizações de robótica

Achamos que é fundamental que seja fácil ingerir e tornar todos os dados de robótica úteis na Rerun. Ao mesmo tempo, há muitos dados que podem ser perfeitamente tratados sem personalização, e continuamos a melhorar essa experiência em cada lançamento. O 0.32 traz desempenho melhorado e mais suporte pronto para uso para MCAP e tipos comuns de ROS 2, bem como uma expansão das visualizações disponíveis. Veja a lista atualizada de mensagens com suporte integrado aqui.

Grades de ocupação, ou mapas 2D em 3D, são importantes para robôs móveis e têm sido um recurso muito solicitado na Rerun por um tempo. O 0.32 adiciona, portanto, o novo GridMap archetype e visualizador, emparelhado com suporte integrado para as mensagens ROS 2 correspondentes.

Outro pedido comum tem sido a capacidade de visualizar mudanças de estado ao longo do tempo. O 0.32 traz uma nova State Timeline View experimental. Se você estava esperando por esta visualização na Rerun, adoraríamos seu feedback sobre o que mais gostaria de ver nela.

Servidor de catálogo com consultas SQL ou dataframe indexadas sobre o conteúdo de várias gravações em disco

As APIs de Catálogo no Rerun SDK permitem que você escreva consultas SQL ou Dataframe totalmente genéricas em conjuntos de dados de robótica. Quando conectado ao Rerun Hub, isso já suporta conjuntos de dados em grande escala há algum tempo, enquanto o servidor de código aberto só suportava conjuntos de dados que cabiam inteiramente na memória. Com o 0.32, estamos expandindo o servidor de catálogo de código aberto para indexar intervalos de bytes de arquivos no disco local, para que você possa agora analisar facilmente qualquer diretório local de gravações de robôs em arquivos .rrd apenas com o SDK de código aberto.

Uma nova interface para revisão rápida de conjuntos de dados para treinamento e avaliação

No 0.32, estamos lançando a primeira versão de nossa ferramenta de revisão de conjuntos de dados (experimental). Ela permite que você examine rapidamente muitas gravações de uma só vez, para caçar anomalias e construir intuição para seus dados. Ela também permite que você sinalize gravações, tornando-a útil como uma ferramenta de anotação simples. A visualização é configurada usando um blueprint normal da Rerun.

Muitas equipes de aprendizado de robôs pediram essa funcionalidade, e adoraríamos todo o seu feedback sobre como transformar isso na ferramenta de revisão de conjuntos de dados mais eficiente possível.

Um carregador de dados para aprendizado de robôs que suporta mistura simples de conjuntos de dados e buscas aleatórias em arquivos .rrd

Começamos a trabalhar em um dos recursos mais solicitados: um carregador de dados PyTorch para a Rerun! O novo módulo rerun.experimental.dataloader expõe gravações da Rerun como conjuntos de dados PyTorch iteráveis ou no estilo mapa, transmitindo imagens codificadas, escalares e vídeo compactado (h264/h265/av1) em tempo real. Acesso aleatório, pré-busca multiworker e suporte DDP funcionam prontamente. É compatível tanto com o servidor de catálogo OSS quanto com nosso produto comercial Rerun Hub para quando você quiser treinar diretamente em grandes conjuntos de dados apoiados por armazenamento de objetos.

Estamos incrivelmente animados em lançar este carregador de dados de treinamento para a comunidade começar a experimentar. Pretendemos torná-lo o melhor carregador de dados de streaming para aprendizado de robôs imaginável e adoraríamos todo o seu feedback e solicitações.

Ser capaz de treinar diretamente na mesma camada de dados que você usa para visualização, análise e transformação é crucial para que as equipes possam realmente unificar suas camadas de dados, que é como podem realmente simplificar sistemas e acelerar ciclos de experimentação.

Rerun Hub está em pré-visualização privada e construído para escala

No último ano e meio, temos construído silenciosamente a camada de dados necessária para acelerar a aplicação do aprendizado de robôs em aplicações valiosas do mundo real, juntamente com um conjunto inicial de ótimas startups e laboratórios. Atualmente, estamos lidando com petabytes de dados de treinamento de robôs e estamos em um ponto em que estamos prontos para integrar mais equipes ao nosso produto comercial Rerun Hub, que agora está entrando em pré-visualização privada.

O Rerun Hub é um catálogo e mecanismo de armazenamento que se conecta ao Rerun SDK de código aberto para facilitar o trabalho com dados de aprendizado de robôs, desde a coleta até o treinamento e a implantação. Ele atua como uma camada de gerenciamento e acesso uniforme que alimenta todas as capacidades principais de dados, desde ingestão, visualização, consultas analíticas, transformação e treinamento. Os dados podem ser armazenados em qualquer armazenamento de objetos compatível com S3, e o Rerun Hub media eficientemente o streaming seletivo direto do armazenamento de objetos para o Rerun SDK em seu treinamento ou trabalhos de pós-processamento massivamente paralelos. O hub centralizado também simplifica a colaboração e a revisão automatizada, facilitando a construção de links de dados compartilháveis, seja por meio de código ou interativamente no visualizador.

Nikolaus West - inline image

Se você está construindo robôs inteligentes e está interessado em atualizar sua camada de dados para poder iterar mais rápido, entre em contato. Para equipes que já atingiram alguma escala com sistemas existentes complexos, a Rerun é fácil de adotar gradualmente, e também podemos oferecer engenheiros destacados para ajudá-lo a atualizar sem desviar pessoas-chave de outras prioridades principais.

Guardar com um clique

Faça leitura aprofundada de artigos virais com IA no YouMind

Guarde a fonte, faça perguntas específicas, resuma o argumento e transforme um artigo viral em notas reutilizáveis num único espaço de trabalho com IA.

Explorar o YouMind
Para criadores

Transforme o seu Markdown num artigo 𝕏 impecável

Quando publica os seus próprios textos longos, formatar imagens, tabelas e blocos de código para o 𝕏 é uma dor de cabeça. O YouMind transforma um rascunho completo em Markdown num artigo 𝕏 impecável e pronto a publicar.

Experimente Markdown para 𝕏

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais