ML no dispositivo (on-device ML) — execução de modelos de aprendizado de máquina diretamente no dispositivo móvel sem enviar dados para um servidor. De acordo com um relatório da Google AI, 2025, mais de 70% dos usuários preferem aplicativos com on-device ML devido à privacidade e ausência de latência de rede. Core ML da Apple, TensorFlow Lite do Google e ML Kit permitem resolver tarefas de Vision, NLP, reconhecimento facial e de objetos completamente no dispositivo — sem internet e com consumo mínimo de energia.
Pontos principais
ML no dispositivo (on-device ML) é uma abordagem na qual modelos de aprendizado de máquina são executados diretamente no dispositivo móvel sem enviar dados para um servidor remoto. Privacidade é a principal vantagem: os dados do usuário nunca saem do dispositivo. De acordo com uma pesquisa do Google (2024), 63% dos usuários recusam funcionalidades ML que exigem envio de dados para um servidor. On-device ML elimina a latência de rede, funciona offline e reduz o consumo de energia através de aceleração por hardware.
On-device ML processa dados em milissegundos em vez de segundos — crucial para reconhecimento facial e de objetos em tempo real. Sem necessidade de conexão com a internet é outra vantagem: as funcionalidades ML estão disponíveis no modo avião e em regiões com conectividade instável. Core ML usa o Neural Engine em chips Apple A12+, fornecendo 11 trilhões de operações por segundo com consumo inferior a 1 W. Para aplicativos móveis, on-device ML tornou-se o padrão de facto em tarefas de Vision, NLP e reconhecimento de objetos.
ML em aplicativos móveis é usado para autenticação facial (Face ID), filtros AR no Snapchat e Instagram, rastreadores fitness com Pose Detection, digitalização OCR no Adobe Scan e entrada preditiva em teclados. Modelos personalizados para tarefas específicas são criados através de Core ML (iOS) ou TensorFlow Lite (Android). ML Kit é adequado para cenários típicos — reconhecimento de texto, rostos e códigos de barras sem necessidade de treinar um modelo.
Core ML é o framework da Apple para executar modelos ML no iPhone, iPad, Mac e Apple Watch. Ele seleciona automaticamente a aceleração por hardware ideal: Neural Engine para redes neurais em dispositivos com A12+ (11 TOPS), GPU para tarefas de processamento de imagem e CPU para cálculos sequenciais. Core ML suporta formatos .mlmodel (original) e .mlmodelc (compilado). A conversão de modelos do PyTorch e TensorFlow é feita através do coremltools — uma biblioteca Python que preserva a topologia e os pesos.
Create ML é o aplicativo da Apple para treinar modelos simples sem escrever código. Para produção, usa-se coremltools — uma ferramenta de conversão do PyTorch, TensorFlow e scikit-learn. Coremltools suporta quantização float32 → float16 e int8, paletização de espaço de cor e remoção de operações redundantes para reduzir o tamanho do modelo.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine é um neuroprocessador especializado nos chips Apple A12 e posteriores. 16 núcleos realizam até 11 trilhões de operações por segundo com consumo inferior a 1 W. Core ML direciona automaticamente os cálculos de redes neurais para o Neural Engine e os compatíveis com GPU para o Metal GPU. O desenvolvedor não precisa escolher o dispositivo — Core ML faz isso através do Performance Report, analisando o modelo e o hardware disponível.
TensorFlow Lite (TFLite) é a solução multiplataforma do Google para executar modelos ML no Android, iOS e Linux. Os modelos têm formato .tflite e são criados através do TFLiteConverter do ecossistema TensorFlow. TFLite suporta quantização float32 → int8, o que reduz o tamanho do modelo em 4 vezes mantendo 97–99% de precisão em tarefas de classificação. Google Play Services for TFLite atualiza automaticamente o runtime sem necessidade de relançar o aplicativo.
TFLiteConverter é a ferramenta principal para converter modelos TensorFlow para o formato .tflite. A quantização int8 pós-treinamento comprime um modelo de 300 MB para 75 MB sem acesso ao conjunto de dados completo. O treinamento consciente de quantização (QAT) oferece perda mínima de precisão — menos de 1% no ImageNet. TFLiteConverter também suporta poda de grafo e remoção de operações não suportadas pelo runtime TFLite.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
Sem um delegado, o TFLite executa o modelo na CPU 3–5 vezes mais lento do que com aceleração por hardware. GPU Delegate usa OpenCL e OpenGL ES 3.1 no Android, Core ML Delegate usa Neural Engine no iOS. NNAPI Delegate utiliza NPU e DSP no Android 8.1+. XNNPACK Delegate fornece aceleração multiplataforma em CPU ARM com otimizações para processadores móveis. Para selecionar um delegado, use TfLiteGpuDelegate.create() com verificação de null no resultado.
ML Kit é o SDK do Google com APIs prontas para on-device ML. Em aplicativos móveis, o ML Kit é usado para reconhecimento de texto (mais de 50 idiomas, incluindo manuscrito), Face Detection (468 pontos faciais chave), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) e Object Detection. Todas as APIs funcionam completamente no dispositivo sem internet. ML Kit está disponível no iOS e Android com uma API unificada.
Face Detection retorna as coordenadas do contorno facial, sobrancelhas, olhos, nariz e lábios, bem como o ângulo de inclinação da cabeça e o estado dos olhos. Máscaras AR e filtros de câmera são o caso de uso mais popular. Text Recognition extrai texto de fotos com até 99% de precisão em caracteres impressos. A API suporta reconhecimento em tempo real através do CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Barcode Scanning reconhece códigos de barras no fluxo de vídeo da câmera em tempo real. Object Detection identifica objetos em uma imagem com caixa delimitadora e rótulo de classe (pessoa, carro, animal). Pose Detection determina 33 pontos chave do corpo para aplicativos fitness e análise de movimento. Image Labeling retorna até 10 rótulos semânticos de imagem — "natureza", "cidade", "comida".
A Apple fornece soluções ML integradas através do Vision e NaturalLanguage sem instalar SDKs de terceiros. Vision (VNRequest) realiza detecção de rostos, texto, códigos de barras e contornos no dispositivo. NaturalLanguage (NLTokenizer) fornece tokenização, lematização, identificação de idioma e análise de sentimento. No Android, os equivalentes são implementados através do ML Kit (reconhecimento) e SpeechRecognizer do android.speech (fala). Ferramentas integradas não exigem download de modelos — elas vêm pré-instaladas no sistema.
Vision inclui VNDetectFaceRectanglesRequest (detecção facial), VNRecognizeTextRequest (reconhecimento de texto), VNDetectBarcodesRequest (códigos de barras) e VNDetectHumanBodyPoseRequest (esqueleto). VNCoreMLRequest integra um modelo Core ML personalizado no pipeline do Vision — por exemplo, classificação de emoções em rostos detectados. Todas as solicitações são executadas no Neural Engine com latência mínima.
let request = VNRecognizeTextRequest { request, error in
guard let observations = request.results
as? [VNRecognizedTextObservation] else { return }
for observation in observations {
let topCandidate = observation
.topCandidates(1).first
print(topCandidate?.string as? String ?? "")
}
}
let handler = VNImageRequestHandler(
cgImage: image, options: [:]
)
try? handler.perform([request])
NaturalLanguage fornece NLTokenizer para dividir texto em tokens, NLLanguageRecognizer para identificação de idioma (72 idiomas) e NLSentimentAnalyzer para análise de sentimento do texto. SFSpeechRecognizer é uma API de reconhecimento de fala com suporte a mais de 50 idiomas no dispositivo (iOS 13+). Requer permissão SFSpeechRecognizerAuthorizationStatus antes do uso. Os resultados chegam assincronamente através do SFSpeechRecognitionResultHandler.
Perguntas frequentes
ML no dispositivo (on-device ML) é uma abordagem na qual modelos de aprendizado de máquina são executados diretamente em um dispositivo móvel sem enviar dados para um servidor. Core ML, TensorFlow Lite e ML Kit são os principais frameworks para on-device ML.
Core ML é o framework da Apple para iOS e macOS com aceleração no Neural Engine. TensorFlow Lite é a solução multiplataforma do Google para Android, iOS e Linux. Core ML oferece melhor desempenho em dispositivos Apple, TFLite oferece versatilidade.
ML Kit resolve tarefas típicas de visão computacional e NLP: reconhecimento de texto, rostos, códigos de barras, objetos e posturas. Todas as APIs funcionam no dispositivo sem internet e não exigem a criação do seu próprio modelo.
Não, on-device ML funciona completamente localmente. Os modelos são carregados no dispositivo e executados sem conexão com a internet. ML Kit também oferece versões de API em nuvem com maior precisão, mas o modo on-device está disponível offline.
Para apenas iOS, escolha Core ML — ele usa o Neural Engine e é fortemente integrado com o ecossistema Apple. Para projetos multiplataforma, escolha TensorFlow Lite. Para tarefas típicas sem modelo personalizado, escolha ML Kit com APIs prontas.
Resumo
Vamos desenvolver um aplicativo móvel chave na mão
A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.