Aceleração de ML no dispositivo na família de apps da Meta com ExecuTorch
Sources: https://engineering.fb.com/2025/07/28/android/executorch-on-device-ml-meta-family-of-apps, engineering.fb.com
TL;DR
- ExecuTorch é o framework de inferência no dispositivo de código aberto da Meta, implantado na família de apps, baseado em tecnologias PyTorch 2.x.
- A implantação entrega ML no dispositivo mais rápido e privado, com exemplos como Cutouts no Instagram (SqueezeSAM), estimativa de banda larga no WhatsApp e LID no Messenger.
- Melhorias de segurança e confiabilidade ocorreram por meio de testes de fuzzing, com várias migrações de modelos para ExecuTorch para reduzir carga no servidor e viabilizar capacidades de E2EE.
- A abordagem reduz tempos de carregamento de modelos e inferência, melhora a experiência do usuário em Android e iOS e sustenta escalabilidade global.
Contexto e histórico
Ao longo do último ano, o ExecuTorch chegou como solução de código aberto para inferência no dispositivo em dispositivos móveis e de borda, implantada na família de apps da Meta (FoA). Desenvolvido em colaboração com líderes da indústria, ele usa tecnologias PyTorch 2.x para converter modelos em uma representação estável e compacta para implantação eficiente no dispositivo. Seu runtime compacto, modularidade e extensibilidade permitem que desenvolvedores componham e personalizem componentes, mantendo a portabilidade entre plataformas, a compatibilidade com PyTorch e alto desempenho. A migração para ML no dispositivo está alinhada ao objetivo de melhorar a experiência do usuário e a privacidade para bilhões de usuários em todo o mundo.
O que há de novo
A implantação do ExecuTorch trouxe capacidades de ML no dispositivo com impacto significativo:
- Instagram Cutouts: Cutouts permite transformar fotos e vídeos em adesivos animados e personalizados. A migração para ExecuTorch ocorreu com a habilitação do SqueezeSAM, uma versão leve do Meta Segment Anything Model (SAM). Em Android e iOS, o ExecuTorch entregou desempenho consideravelmente mais rápido que o stack anterior, contribuindo para aumentos na base de usuários ativos diários (DAU) do Cutouts.
- Estimativa de banda no WhatsApp: Modelos de estimativa de banda foram desenvolvidos para várias plataformas para assegurar qualidade de chamadas de vídeo e streams sob condições de rede diversas. Com o ExecuTorch, esses modelos mostraram melhorias em desempenho, confiabilidade e eficiência, com reduções no tempo de carregamento do modelo, no tempo médio de inferência e em métricas de ANR. Garantias de segurança foram reforçadas por meio de testes de fuzzing que avaliam entradas inválidas ou aleatórias.
- Migração no WhatsApp: Com sinais positivos, várias demais modelos do WhatsApp migraram para ExecuTorch, incluindo recurso de cancelamento de ruído no dispositivo e melhoria de vídeo.
- Messenger e E2EE: A criptografia de ponta a ponta (E2EE) no Messenger é suportada movendo modelos do servidor para o dispositivo, preservando transferências criptografadas. Um modelo de identificação de idioma no dispositivo (LID) foi implantado para acelerar tarefas downstream como tradução e resumos. Outros modelos do Messenger, incluindo otimização de qualidade de video chamadas e recortes de imagem, também migraram para o dispositivo, liberando capacidade do servidor e permitindo escalabilidade global.
- SceneX e experiências de conteúdo: o modelo central de IA SceneX agora é executado no ExecuTorch para sugerir música de fundo em Stories com base em imagens. Em dispositivos de diferentes níveis de performance, houve melhorias em comparação com o stack anterior. Outros modelos de melhoria de qualidade de imagem e redução de ruído em chamadas estão em fases de testes A/B.
- Segurança e participação da comunidade: além dos ganhos de confiabilidade, os testes de fuzzing aumentam as garantias de segurança. A Meta convida contribuições para o ExecuTorch por meio da página no GitHub e a participação na comunidade pelo servidor Discord do ExecuTorch.
Por que isso importa (impacto para desenvolvedores/empresas)
O ML no dispositivo com ExecuTorch traz benefícios estratégicos: redução de latência e melhoria de experiência do usuário, funcionamento offline ou com redes limitadas, maior privacidade ao manter dados no dispositivo, além de reduzir carga de servidor e tráfego de rede. A arquitetura modular facilita implantação e experimentação entre Android e iOS, mantendo desempenho. Para a Meta, ExecuTorch contribui para liberar capacidade de servidor e possibilitar escalabilidade global mantendo garantias de privacidade e segurança.
Detalhes técnicos ou Implementação
ExecuTorch é um framework de inferência de código aberto para ML no dispositivo, baseado em tecnologias PyTorch 2.x. Ele converte modelos para uma representação estável e compacta para execução eficiente em hardware móvel e de borda, com um runtime enxuto para reduzir o uso de recursos. A arquitetura modular permite que equipes componham, troquem ou estendam componentes mantendo compatibilidade com PyTorch e alto desempenho. Como parte das melhorias de segurança, foram introduzidos testes de fuzzing para verificar robustez a entradas inválidas. A migração para o ExecuTorch pode liberar capacidade de servidor e largura de banda, viabilizando novas experiências em escala. Uma capacidade-chave é suportar casos de uso ricos em FoA. Por ejemplo, Cutouts no Instagram demonstra como variantes leves de modelos de segmentação podem ser executadas no dispositivo para alimentar respostas rápidas. A estimativa de banda no WhatsApp ilustra como inferência orientada por rede pode melhorar qualidade sem desperdiçar recursos. O LID no Messenger acelera tarefas de tradução e resumo mantendo a privacidade. A implantação de SceneX no ExecuTorch ilustra como IA de alto nível pode enriquecer Stories com música de fundo. Além disso, há experimentos contínuos com redução de ruído em chamadas e melhoria de qualidade de imagem no dispositivo. O time enfatiza melhorias consistentes em tempo de carregamento, tempo de inferência e confiabilidade, com um ciclo de testes A/B para orientar a evolução. A título ilustrativo, uma tabela simples compara características típicas entre ExecuTorch no dispositivo e o stack anterior: | Dimensão | ExecuTorch no dispositivo |
| Stack anterior |
|---|
| --- |
| --- |
| Tempo de carregamento do modelo |
| Maior tempo de carregamento |
| Tempo de inferência |
| Inferência mais lenta |
| Métricas ANR |
| Maior risco de ANR |
| Postura de privacidade |
| Mais dependente de servidor |
Principais conclusões
- ExecuTorch é o framework de inferência de código aberto da Meta para uso no dispositivo, baseado em PyTorch 2.x.
- A arquitetura prioriza runtime compacto, modularidade e portabilidade entre Android e iOS, com foco na experiência do usuário.
- A adoção em apps como Instagram, WhatsApp e Messenger trouxe melhorias de desempenho, privacidade e eficiência com cases como Cutouts e LID no dispositivo.
- Testes de fuzzing aumentam a segurança, e várias migrações de modelos para ExecuTorch fortalecem o ecossistema de E2EE e escalabilidade.
- O projeto continua aberto a contribuições da comunidade via repositório oficial e pelo servidor Discord do ExecuTorch.
FAQ
-
O que é o ExecuTorch?
Um framework de inferência no dispositivo de código aberto utilizado na família de apps da Meta, desenvolvido com PyTorch 2.x para converter modelos para execução eficiente em dispositivos móveis e de borda.
-
Como o ExecuTorch melhora desempenho e privacidade?
Executando modelos no dispositivo reduz latência, diminui carga do servidor e fortalece a privacidade, viabilizando recursos como LID no dispositivo e recortes de imagem sem expor dados.
-
Desenvolvedores podem participar ou contribuir?
Sim. A Meta convida a participação da comunidade por meio da página no GitHub e do servidor Discord do ExecuTorch.
-
uais medidas de segurança foram adicionadas?
Foram incluídos testes de fuzzing para validar robustez contra entradas inválidas ou aleatórias, mantendo garantias de segurança no modelo no dispositivo.
Referências
More news
Nova Estrutura de Classificação com Foco em Diversidade para Melhor Qualidade de Notificações no Instagram
Meta apresenta uma estrutura de classificação de notificações com foco em diversidade, adicionando uma camada de diversidade aos modelos de engajamento para reduzir a repetição, ampliar a variedade de conteúdo e manter a CTR no Instagram.
Habilitando Compilação Incremental de Kotlin no Buck2 com a Build Tools API KEEP
Meta traz compilação incremental de Kotlin para o Buck2, acelerando builds com ações incrementais, snapshots de classpath e integração cuidadosa de plugins para ferramentas Android mais rápidas e escaláveis.
Criando Soluções de Agentes de IA para Acesso e Segurança de Dados em Armazém
Meta apresenta um fluxo de trabalho de acesso a dados orientado por agentes para o seu data warehouse, usando agentes de usuário de dados e agentes de proprietário de dados para simplificar o acesso, impor salvaguardas e permitir exploração de dados contextualizada em escala.
Diff Risk Score: IA orientada ao risco no desenvolvimento de software da Meta
Diff Risk Score (DRS) usa um modelo Llama ajustado para prever risco de produção de mudanças de código, viabilizando desbloqueio de código com segurança e ampliando ferramentas de gerenciamento de risco.
Construindo uma interface humano-máquina para todos
A Reality Labs da Meta explora dispositivos de pulso com sEMG para ampliar a interação humano-computador. Este texto resume a discussão do Meta Tech Podcast sobre generalização e o caminho rumo a uma interface neuromotora genérica.
Como a Meta Mantém Seu Hardware de IA Confiável: Detecção e Mitigação de Neutralizações Silenciosas de Dados
Abordagem robusta de confiabilidade de hardware de IA da Meta: taxonomia de falhas, SDCs (neutralizações silenciosas de dados), mecanismos de detecção e mitigação em toda a frota para treinar e gerar inferência com confiabilidade em larga escala.