Glossário / Como ele ouve você

Core ML

Também: CoreML, Apple Core ML

Atualizado em

Pergunte a uma IA ChatGPT Claude Perplexity Grok

Definição

O Core ML é o framework da Apple para rodar modelos de aprendizado de máquina dentro de um app, no dispositivo. Usa a CPU, a GPU e o Neural Engine, e não precisa de rede para fazer uma previsão.

O Core ML faz parte dos sistemas da Apple desde 2017, no macOS 10.13 e no iOS 11. Um app entrega a ele um modelo e uma entrada, como áudio, uma imagem ou texto, e ele devolve a resposta do modelo. Onde as contas são feitas é o Core ML que decide.

Você não instala nem abre o Core ML. Ele faz parte do macOS. Você encontra o nome na descrição de um app, no nome de arquivo de um modelo ou quando um download diz que contém pesos do Core ML.

O que faz

A descrição da Apple: o Core ML oferece uma representação unificada para todos os modelos, e um app o usa para fazer previsões e para treinar ou fazer ajuste fino de modelos, tudo no dispositivo da pessoa.

Sobre desempenho, a Apple diz que o Core ML otimiza o desempenho no dispositivo aproveitando a CPU, a GPU e o Neural Engine, enquanto minimiza o uso de memória e o consumo de energia. O Neural Engine é a parte dos chips da Apple feita para esse tipo de conta, e o Core ML é o caminho habitual para um app chegar até ele.

Por que rodar no dispositivo importa

A própria Apple apresenta o argumento: rodar um modelo estritamente no dispositivo da pessoa elimina qualquer necessidade de conexão de rede, o que ajuda a manter os dados da pessoa privados e o app ágil.

Na fala, isso significa que o áudio não precisa sair do Mac para virar texto. Se um app específico o mantém ali depende do app, mas o framework torna isso possível.

Os tipos de arquivo

Os modelos do Core ML vêm em três formas, e a extensão diz qual é.

  • `.mlmodel`: o arquivo original de definição do modelo.
  • `.mlpackage`: o formato de pacote mais novo, que guarda os pesos separados do programa. É suportado a partir do Xcode 13.
  • `.mlmodelc`: um modelo compilado, que é o que um app carrega. Uma pasta com essa terminação dentro de um app ou dos downloads dele é um modelo do Core ML pronto para rodar.

De onde vêm os modelos

A maioria dos modelos é treinada com outras ferramentas e depois convertida. Para isso, a Apple publica o Core ML Tools, que converte modelos de bibliotecas de treinamento como PyTorch e TensorFlow para o formato do Core ML.

As mesmas ferramentas podem comprimir um modelo durante a conversão, por quantização ou por paletização, o que o deixa menor e muitas vezes mais rápido no Neural Engine.

Core ML e MLX

A Apple descreve os dois de formas diferentes. O Core ML serve para integrar modelos a apps. O MLX é um framework de arrays de código aberto para experimentar, treinar e fazer ajuste fino de modelos generativos em Apple silicon. A documentação da Apple diz que o MLX roda na CPU e na GPU, enquanto o Core ML também pode usar o Neural Engine.

As páginas da Apple agora também indicam um framework separado, o Core AI, para desenvolvedores que trabalham com as arquiteturas de modelo mais novas. O Core ML continua sendo o jeito consolidado de rodar um modelo num app.

Perguntas que as pessoas fazem.

Para que serve o Core ML?

Para rodar modelos de aprendizado de máquina dentro de apps em dispositivos da Apple: reconhecer fala, classificar imagens, ler texto e tarefas parecidas, sem enviar os dados para um servidor.

O Core ML precisa de internet?

Não. A Apple diz que rodar um modelo estritamente no dispositivo elimina qualquer necessidade de conexão de rede.

O Core ML usa o Neural Engine?

Sim. A Apple diz que o Core ML aproveita a CPU, a GPU e o Neural Engine.

O que é um arquivo .mlmodelc?

Um modelo do Core ML compilado, a forma que um app carrega e roda.

Qual é a diferença entre Core ML e MLX?

A Apple descreve o Core ML como o jeito de integrar modelos a apps, e o MLX como um framework de arrays para experimentar e fazer ajuste fino de modelos generativos em Apple silicon. O Core ML pode usar o Neural Engine; o MLX roda na CPU e na GPU.

O Core ML existe em Macs com Intel?

Sim. O Core ML faz parte do macOS desde a versão 10.13. O Neural Engine só existe no Apple silicon, então num Mac com Intel ele usa a CPU e a GPU.

Termos relacionados

Sua voz sempre foi mais rápida.

7 dias grátis, depois $19 USD em pagamento único. Sem conta, sem assinatura, sem enviar nada.

macOS 14 ou posterior · Apple silicon