Create ML é a ferramenta da Apple para treinar modelos de aprendizado de máquina sem escrever código, integrada ao Xcode e também disponível como um aplicativo independente para macOS. A ferramenta permite criar, treinar e testar modelos Core ML usando uma interface gráfica: basta carregar um conjunto de dados, selecionar o tipo de tarefa e iniciar o treinamento. De acordo com a documentação Apple Create ML Documentation (2025), a ferramenta suporta transfer learning usando redes neurais integradas, ajusta automaticamente os hiperparâmetros e exporta o modelo final no formato .mlpackage.
Principais pontos
Create ML é um componente do ecossistema de aprendizado de máquina da Apple, apresentado na WWDC 2018 como uma ferramenta para treinar modelos Core ML sem necessidade de escrever código. Antes do Create ML, os desenvolvedores usavam bibliotecas Python (TensorFlow, PyTorch, scikit-learn) e depois convertiam os modelos para Core ML via coremltools. Create ML abstraiu todo esse processo fornecendo uma interface visual, redes neurais integradas para transfer learning e exportação automática para o formato Core ML.
A primeira versão do Create ML (iOS 11/macOS 10.14) suportava apenas tarefas básicas: classificação de imagens e análise de texto. A versão para macOS 10.15 adicionou detecção de objetos, análise de som e regressão. Create ML 3 (macOS 13, 2022) trouxe suporte para sistemas de recomendação, dados tabulares com seleção automática de algoritmos e visualização aprimorada do treinamento. Create ML 4 (macOS 14, 2024) adicionou suporte para modelos dinâmicos, treinamento em dados de streaming e integração com serviços em nuvem da Apple para treinamento distribuído.
Create ML é projetado para três categorias de usuários: desenvolvedores iOS sem experiência em ML que desejam adicionar funcionalidades inteligentes ao seu aplicativo; gerentes de produto e designers que desejam prototipar rapidamente recursos de ML; e pesquisadores de dados que precisam de validação rápida de hipóteses antes de migrar um modelo para a infraestrutura de produção. Para modelos complexos com arquitetura não padronizada, Create ML não é adequado — nesses casos, são utilizados frameworks Python com conversão posterior para Core ML.
Create ML oferece sete tipos de tarefas, cada um com um modelo pré-configurado: Classificação de Imagens, Detecção de Objetos, Classificação de Texto e Marcação de Palavras, Regressão Tabular, Classificação Tabular, Classificação de Som e Recomendação. Cada modelo inclui uma arquitetura de rede neural pré-selecionada otimizada para aquele tipo de tarefa.
| Tipo de tarefa | Dados de entrada | Exemplo de uso |
|---|---|---|
| Classificação de Imagens | Imagens rotuladas | Identificar raça de cachorro por foto |
| Detecção de Objetos | Imagens anotadas | Encontrar rostos em uma foto |
| Classificação de Texto | Textos rotulados | Filtro de spam para mensagens |
| Regressão Tabular | Dados tabulares (CSV) | Previsão de preço de imóveis |
| Classificação de Som | Arquivos de áudio rotulados | Reconhecer sons da natureza |
Classificação de Imagens é o modelo mais popular do Create ML. Para treinar um modelo, basta fornecer um conjunto de imagens organizadas em pastas (nome da pasta = rótulo da classe). Create ML aplica automaticamente aumento de dados (rotação, dimensionamento, alteração de cor) para aumentar o tamanho efetivo do conjunto de dados e usa a rede Vision FeaturePrint pré-treinada (ResNet-50 modificada) para extração de características. O treinamento com transfer learning leva de 2 a 15 minutos dependendo do tamanho do conjunto de dados e do desempenho do Mac.
O modelo Detecção de Objetos requer imagens anotadas com caixas delimitadoras (bounding boxes) para cada objeto. Create ML usa a arquitetura YOLOv5 (You Only Look Once) adaptada para Core ML, com pesos pré-treinados no conjunto COCO. Mínimo exigido — 30 imagens anotadas por classe, recomendado — 200+. Create ML suporta importação de anotações nos formatos PASCAL VOC, COCO JSON e Create ML JSON.
O fluxo de trabalho no Create ML dentro do Xcode consiste em três etapas: preparação de dados, treinamento e validação, e exportação. Durante a preparação de dados, os conjuntos de treinamento e teste são importados. Create ML divide automaticamente os dados (padrão 80/20) e exibe a distribuição das classes. Durante o treinamento, a ferramenta mostra gráficos de precisão e perda em tempo real, além de métricas: acurácia, precisão, revocação, pontuação F1. Durante a validação, é possível testar o modelo com novos dados diretamente na janela do Create ML.
import CreateML
let data = try MLImageClassifierData.labeledDirectories(
at: URL(fileURLWithPath: "/path/to/training-data")
)
let model = try MLImageClassifier(
trainingData: data,
parameters: MLImageClassifier.Parameters(
featureExtractor: .scenePrint(revision: 1)
)
)
try model.write(
to: URL(fileURLWithPath: "/path/to/MyModel.mlpackage")
)
A interface gráfica do Create ML no Xcode aparece no editor lateral após selecionar um arquivo de modelo de categoria. A interface contém abas: Data (carregamento e visualização de dados), Features (seleção de características e parâmetros), Model (arquitetura da rede neural), Training (gráficos de treinamento e métricas), Evaluation (teste em dados reservados), Preview (teste interativo do modelo). O desenvolvedor pode alternar entre as abas durante o treinamento sem interromper o processo.
Transfer Learning (aprendizado por transferência) é a tecnologia chave na qual os modelos do Create ML se baseiam. Em vez de treinar uma rede neural do zero (o que requer milhões de exemplos rotulados), Create ML usa uma rede pré-treinada (FeaturePrint) como extrator de características e treina apenas as últimas camadas do classificador. Isso permite alcançar alta precisão (90-95%) em conjuntos de dados de 10 a 50 imagens por classe com um tempo de treinamento de 2 a 5 minutos.
Create ML usa vários extratores FeaturePrint pré-treinados: .scenePrint (baseado em ResNet-50, treinado no Places365), .objectPrint (baseado em YOLOv5, treinado no COCO), .textPrint (baseado em BERT, treinado na Wikipedia). A escolha do extrator depende do tipo de tarefa e do domínio dos dados. Por exemplo, .scenePrint é mais adequado para classificar imagens de ambientes internos e paisagens, enquanto .objectPrint é melhor para detectar objetos específicos (carros, pessoas, animais).
Create ML aplica automaticamente aumento de dados durante o treinamento: inversão horizontal, rotação de até 20 graus, alteração de cor, ajuste de brilho e contraste. O aumento é aplicado aleatoriamente a cada imagem em cada época, aumentando o tamanho efetivo do conjunto de dados em 10 a 20 vezes. Isso é especialmente importante para conjuntos de dados pequenos onde o sobreajuste (overfitting) é o principal problema. Os parâmetros de aumento podem ser ajustados na aba Features.
Além da interface visual, o Create ML fornece uma Swift API para treinamento programático de modelos, permitindo automatizar pipelines de treinamento e integrá-los em processos CI/CD. A Swift API inclui as classes MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier e MLRecommender. Cada classe implementa o protocolo MLModelTrainer com os métodos train(), evaluate() e write().
import CreateML
let csvFile = try MLDataTable(
contentsOf: URL(fileURLWithPath: "data.csv")
)
let (trainingData, testData) = csvFile.randomSplit(by: 0.8)
let regressor = try MLTabularRegressor(
trainingData: trainingData,
targetColumn: "price",
parameters: MLTabularRegressor.Parameters(
algorithm: .randomForest
)
)
let evaluation = regressor.evaluation(on: testData)
print("RMSE: \(evaluation.rootMeanSquaredError)")
A Swift API do Create ML pode ser executada em scripts de build phases do Xcode ou em GitLab/GitHub Actions em runners macOS. Isso permite retreinar o modelo automaticamente sempre que o conjunto de dados de treinamento no repositório for atualizado. Por exemplo, é possível configurar um pipeline: push de dados para o repositório → GitLab Runner executa o script Swift do Create ML → o modelo .mlpackage exportado é commitado de volta ao repositório → o aplicativo é compilado com o modelo atualizado.
Apesar de sua conveniência, o Create ML tem várias limitações importantes a considerar ao escolher uma ferramenta para tarefas de ML. As principais: funciona apenas no macOS, controle limitado sobre a arquitetura da rede neural, impossibilidade de usar camadas personalizadas, dependência de extratores FeaturePrint integrados e falta de suporte para treinamento multi-GPU ou em cluster.
Create ML não foi projetado para treinamento em produção em grandes conjuntos de dados (mais de 100.000 exemplos). O tamanho máximo do conjunto de dados é limitado pela RAM do Mac. Para tarefas em grande escala, a Apple recomenda usar frameworks Python (TensorFlow, PyTorch) em infraestrutura de servidor com conversão posterior para Core ML via coremltools. Create ML é uma ferramenta para prototipagem e projetos pequenos, não para ML empresarial.
Para dados tabulares, Create ML suporta apenas três algoritmos: Random Forest, Gradient Boosting (XGBoost) e Regressão Linear. Não há suporte para redes neurais para dados tabulares (TabNet, FT-Transformer), SVM, kNN ou métodos ensemble disponíveis no scikit-learn. Para tarefas com dados tabulares que exigem alta precisão, Create ML muitas vezes fica aquém em comparação com bibliotecas ML clássicas.
O treinamento de modelos só é possível no macOS, pois Create ML usa Metal Performance Shaders e frameworks exclusivos do macOS. Essa limitação torna impossível o treinamento em servidores Linux ou clusters GPU em nuvem. Para equipes que usam infraestrutura em nuvem, coremltools + Python continuam sendo a única opção.
Vamos examinar três cenários reais de uso do Create ML em aplicações comerciais: moderação de conteúdo do usuário, recomendações personalizadas e classificação automática de documentos. Esses cenários demonstram tarefas típicas que podem ser resolvidas com Create ML sem conhecimento profundo de aprendizado de máquina.
Um aplicativo de compartilhamento de fotos pode usar Classificação de Imagens para moderação automática: treinar um modelo com 100-200 imagens rotuladas como “aceitável” e “violação” pode filtrar 85-95% do conteúdo indesejado sem um moderador. Create ML permite atualizar o modelo à medida que novos exemplos de violação chegam, retreinando-o em 3-5 minutos.
Usando Classificação de Texto, Create ML pode ensinar um aplicativo a classificar automaticamente as consultas dos usuários em categorias: problema de pagamento, falha técnica, solicitação de recurso, reclamação. O treinamento requer 50-100 exemplos de texto por categoria. A precisão da classificação atinge 90% usando o Word Tagger integrado baseado em BERT.
MLRecommender no Create ML permite construir um sistema de recomendação baseado nas ações do usuário sem escrever filtragem colaborativa manualmente. O modelo treina com dados de Usuário → Item → Avaliação (por exemplo, um usuário curtiu um artigo). Create ML escolhe automaticamente entre filtragem colaborativa e abordagem baseada em conteúdo com base no volume de dados e gera as N principais recomendações.
Perguntas frequentes
Create ML é a ferramenta da Apple para treinar modelos de aprendizado de máquina sem código, integrada ao Xcode e disponível como um aplicativo independente para macOS. Permite criar modelos Core ML através de uma interface gráfica, suportando classificação de imagens, análise de texto, detecção de objetos e outras tarefas.
Create ML é usado para treinar modelos (criar arquivos .mlpackage), enquanto Core ML é usado para executar modelos treinados no dispositivo (inferência). Create ML funciona apenas no macOS e gera modelos no formato Core ML. São etapas diferentes do mesmo processo: primeiro o treinamento no Create ML, depois a integração via Core ML no aplicativo.
A quantidade mínima de dados depende do tipo de tarefa. Para classificação de imagens com transfer learning, 10-15 imagens por classe são suficientes. Para detecção de objetos, são necessárias 30 imagens anotadas por classe. Para classificação de texto — 50-100 exemplos por categoria. A quantidade recomendada é de 100-200 exemplos por classe para alcançar 90%+ de precisão.
Não, Create ML funciona exclusivamente no macOS. Ele usa Metal Performance Shaders para aceleração de GPU e integração com Xcode, que não estão disponíveis em outras plataformas. Se você não tem um Mac, use Python (TensorFlow/PyTorch) para treinamento e coremltools para converter o modelo para .mlpackage.
Sim, Create ML está incluído no Xcode e é completamente gratuito para desenvolvedores Apple. Para usá-lo, basta instalar o Xcode em um Mac (gratuito pela Mac App Store). Nenhuma licença ou assinatura adicional é necessária — todos os recursos de treinamento estão disponíveis sem restrições.
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.
Leia também