Integração do Apple Core AI#
A Ultralytics não suporta format=coreai ou a exportação direta para o formato .aimodel da Apple. Usa a integração Core ML suportada para implantação na Apple.
Core AI é o novo framework da Apple para executar redes neurais diretamente no silício da Apple. Ele introduz o formato de modelo .aimodel, uma API de inferência Swift moderna, ferramentas de conversão baseadas em PyTorch, compilação antecipada (ahead-of-time), especialização de modelos e ferramentas dedicadas de depuração e perfilagem.
A Apple descreve o Core AI como a próxima evolução da execução de IA no dispositivo e o framework de inferência por trás da Apple Intelligence no dispositivo. Ele foi projetado para as arquiteturas de rede neural atuais, desde modelos de visão compactos até grandes modelos generativos, e pode agendar tarefas através da CPU, GPU e Apple Neural Engine (ANE).
O Core AI é um novo caminho de implementação em vez de apenas um novo nome para o Core ML. Os frameworks utilizam diferentes formatos de modelo, ferramentas de conversão, APIs de runtime e padrões de integração de aplicações.
Comparação entre Core AI e Core ML#
| Capacidade | Core AI | Core ML |
|---|---|---|
| Artefato do modelo | .aimodel | .mlpackage ou .mlmodel |
| Exportação Ultralytics | Não disponível | Disponível com format=coreml |
| API de runtime da Apple | AIModel, InferenceFunction e NDArray | MLModel, frequentemente através de VNCoreMLModel e VNCoreMLRequest |
| Fluxo de trabalho de conversão | torch.export do PyTorch através de coreai-torch | Conversão TorchScript através de coremltools |
| Foco principal | Redes neurais modernas e IA generativa | Implementação ampla de machine learning, incluindo modelos neurais e não neurais |
| Integração de imagem | Aplicações preparam tensores ou utilizam descritores e buffers de imagem do Core AI | Integração direta com o framework Vision para redimensionamento de imagem, orientação e solicitações |
| Hardware | CPU, GPU e Apple Neural Engine | CPU, GPU e Apple Neural Engine |
| Preparação do modelo | Especialização na instalação ou no primeiro uso, com compilação antecipada opcional | Xcode ou compilação de modelo no dispositivo |
| Operações customizadas | Lowerings customizados do Core AI e kernels Metal | Camadas customizadas do Core ML e operações MIL suportadas |
| Disponibilidade de implementação | Nova geração de sistema operacional Apple; atualmente em beta | Amplo suporte em sistemas operacionais Apple existentes |
| SDKs Ultralytics para iOS e Flutter | Ainda não suportado | Totalmente suportado |
O Core ML continua sendo a escolha apropriada quando uma aplicação precisa de ampla cobertura de dispositivos, integração com o framework Vision ou tipos de modelo como árvores de decisão e pipelines tabulares. A Apple continua a suportar o Core ML e direciona desenvolvedores com tipos de modelos não neurais para ele.
Como funciona o formato Core AI#
O fluxo de trabalho de criação do Core AI começa a partir de um modelo PyTorch:
PyTorch model
↓ torch.export
ExportedProgram
↓ coreai-torch
Core AI program
↓ optimize and save
.aimodel
↓ specialize or compile ahead of time
Apple silicon executableO pacote coreai-torch da Apple converte um torch.export.ExportedProgram rebaixando operações ATen do PyTorch em operações Core AI. Operações não suportadas podem ser implementadas com um rebaixamento personalizado ou um kernel Metal personalizado.
O .aimodel resultante é um ativo de modelo não especializado. Quando uma aplicação prepara o modelo, o Core AI o especializa para o dispositivo de destino. As aplicações podem permitir que isso aconteça no primeiro uso, solicitar a especialização mais cedo ou fornecer um modelo compilado antecipadamente para reduzir o tempo de carregamento inicial.
Em Swift, as aplicações carregam o ativo com o framework Core AI, selecionam uma função de inferência, fornecem entradas NDArray tipadas e recebem saídas nomeadas. Isto é diferente de envolver um modelo Core ML em uma requisição Vision, portanto, adotar o Core AI requer um tempo de execução de aplicação projetado para ativos .aimodel.
Para detalhes de implementação, consulta a documentação da Apple para AIModel, especialização e cache de modelos e compilação antecipada.
Uso futuro do Ultralytics#
Os exemplos seguintes ilustram a integração pretendida e não estão disponíveis no lançamento atual da Ultralytics. Usa format=coreml para uma exportação Apple suportada hoje.
Após o lançamento da integração planejada, espera-se que a API Python exporte um modelo YOLO26 para .aimodel com um valor de formato dedicado:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreai") # Planned: creates yolo26n.aimodelO comando CLI equivalente planejado é:
yolo export model=yolo26n.pt format=coreai # Planned: not yet availableOs argumentos finais, tarefas YOLO suportadas, opções de precisão e comportamento de formato dinâmico serão documentados no modo Export após o exportador ser implementado e validado.
No iOS 27 ou macOS 27, uma aplicação carregaria e executaria o ativo exportado através da API Swift Core AI da Apple. Os nomes de funções e tensores abaixo são ilustrativos; o contrato de saída suportado pelo Ultralytics será publicado com o exportador:
import CoreAI
let modelURL = Bundle.main.url(forResource: "yolo26n", withExtension: "aimodel")!
let model = try await AIModel(contentsOf: modelURL)
guard let function = try model.loadFunction(named: "main") else {
throw AppError.missingInferenceFunction
}
let outputs = try await function.run(inputs: ["image": imageTensor])Ao contrário do fluxo de trabalho Core ML e Vision atual, o futuro caminho do Core AI precisará definir o pré-processamento de imagens, a construção de NDArray, os metadados do modelo e a decodificação de saída no SDK iOS da Ultralytics. A Apple fornece detalhes atuais da API na documentação do framework Core AI e exemplos de modelos funcionais no repositório de modelos Core AI.
Vantagens do Core AI#
O Core AI oferece várias vantagens promissoras para futuras implementações do Ultralytics:
- Caminho moderno de exportação do PyTorch: A conversão começa a partir de
torch.export, preservando um grafo do PyTorch mais expressivo do que o fluxo de trabalho de rastreamento usado por muitos exportadores existentes. - Controle de runtime detalhado: As aplicações podem gerenciar especialização, caches de modelos compilados, funções de inferência, memória e posicionamento de computação.
- Suporte avançado a modelos: Execução com estado, formas dinâmicas, múltiplas funções em um artefato e kernels Metal customizados são projetados para arquiteturas modernas de visão e generativas.
- Ferramentas dedicadas para desenvolvedores: O Core AI Debugger pode inspecionar grafos e valores de tensores e rastreá-los de volta ao código Python original. O Xcode e o Instruments fornecem análise de runtime.
- Oportunidades de cópia zero: O Core AI expõe controles de armazenamento e buffer destinados a reduzir cópias entre a câmera, gráficos e cargas de trabalho de inferência.
- Otimização para Apple silicon: A especialização do dispositivo permite que a Apple otimize um modelo para a CPU, GPU e Neural Engine disponíveis no dispositivo específico.
- Compressão flexível: As ferramentas de otimização Core AI da Apple suportam quantização, paletização e poda, incluindo formatos de peso de baixa precisão (low-bit).
Essas capacidades podem ser particularmente úteis para futuros modelos YOLO com execução dinâmica, componentes multimodais maiores ou operações customizadas que não mapeiam claramente para as operações existentes do Core ML.
Desvantagens e limitações atuais#
O Core AI não é atualmente um substituto para o caminho de produção do Core ML:
- Novos sistemas operacionais necessários: O framework público tem como alvo a geração iOS 27 e macOS 27, enquanto o Core ML suporta uma base instalada muito maior.
- Software Beta: O framework Core AI da Apple e partes de sua cadeia de ferramentas Python ainda são preliminares e podem mudar antes de seus lançamentos estáveis.
- Ambiente de exportação mais restrito: O
coreai-torchatualmente requer Python 3.11 ou mais recente e versões recentes do PyTorch, o que é muito mais restrito do que o intervalo de Python e PyTorch suportado pela Ultralytics. - Nenhum comando atual da Ultralytics: O
yolo export format=coreainão é implementado, testado ou coberto pelas garantias de compatibilidade da Ultralytics. - Ainda não há tempo de execução de aplicação da Ultralytics: O aplicativo YOLO para iOS oficial e o plugin Flutter atualmente carregam artefatos Core ML através de
MLModele Vision. - Migração de aplicação necessária: Um
.aimodelnão pode ser substituído por um.mlpackage; o carregamento do modelo, pré-processamento, chamadas de inferência, manipulação de metadados e decodificação de saída precisam de uma implementação Core AI. - Evidência de produção limitada: Desempenho, uso de energia, tempo de especialização na primeira execução, precisão e compressão precisam de validação em toda a matriz de tarefas YOLO e dispositivos suportados.
- Nenhum pipeline NMS legado estabelecido: O Core ML pode empacotar um estágio NMS para modelos de detecção YOLO mais antigos. Espera-se que a primeira integração do Core AI foque em modelos YOLO26 sem NMS.
Qual formato da Apple você deve usar?#
Use Core ML hoje quando você precisar de:
- Um comando de exportação Ultralytics suportado
- Implementação em sistemas operacionais Apple atuais e antigos
- Integração com o SDK Ultralytics para iOS ou Flutter
- Tratamento de imagem pelo framework Vision
- Implementação YOLO testada em FP16 e INT8
- NMS embutido para modelos de detecção legados compatíveis
Avalie o Core AI no futuro quando puder exigir o iOS 27 ou macOS 27 e precisar de:
- O mais novo runtime de rede neural da Apple no dispositivo
- Especialização explícita e gerenciamento de cache
- Execução avançada de modelos dinâmicos ou com estado
- Operações Core AI customizadas ou kernels Metal
- Depuração detalhada de grafos Core AI e análise de runtime
Espera-se que o Core ML e o Core AI coexistam enquanto as aplicações fazem a transição. Suportar o Core AI não remove imediatamente a necessidade do Core ML, pois seus alvos de implementação e contratos de aplicação diferem.
Roadmap do Ultralytics#
A Ultralytics está avaliando um destino de exportação dedicado para coreai. Segue o roteiro vinculado e as notas de lançamento para planos e disponibilidade; o Core ML continua sendo o destino de implantação Apple suportado.
Antes que o Core AI possa se tornar um formato de exportação suportado, a integração precisa de:
- Exportação e validação numérica em detecção, segmentação de instância, segmentação semântica, classificação, pose e caixas delimitadoras orientadas.
- Testes de precisão em FP16 e quantizados em relação às linhas de base do PyTorch e Core ML.
- Benchmarks de latência, memória, energia e especialização no dispositivo.
- Carregamento e pré-processamento de modelos Core AI no SDK iOS do Ultralytics.
- Integração com Flutter e uma estratégia de compatibilidade para dispositivos abaixo do iOS 27.
- Lançamentos estáveis do framework Apple e das ferramentas de conversão.
Segue o roteiro da Ultralytics e as notas de lançamento para disponibilidade. Até que o suporte seja lançado, comandos ou patches de terceiros que produzem arquivos .aimodel são experimentais e estão fora da matriz de exportação suportada pela Ultralytics.
Recursos adicionais#
- Visão geral do Apple Core AI
- Documentação do framework Core AI
- Extensões PyTorch do Core AI
- Otimização do Core AI
- Repositório de modelos Apple Core AI
- Integração Core ML da Ultralytics
FAQ#
Não. A Ultralytics exporta modelos da Apple como arquivos Core ML
.mlpackageatravés demodel.export(format="coreml", imgsz=640)(imgsz=224para classificação);.aimodelnão é um destino de exportação.Não imediatamente. O Core AI é o caminho mais recente da Apple para redes neurais modernas, enquanto o Core ML continua sendo suportado e oferece uma cobertura mais ampla do sistema operacional, integração com Vision e suporte a modelos não neurais.
Não. Eles contêm representações de modelo diferentes e são carregados por frameworks diferentes. A conversão deve começar a partir do modelo de origem por meio da cadeia de ferramentas apropriada da Apple.
Espera-se que a integração inicial coexista com o Core ML. Qualquer decisão de substituição futura dependerá da adoção pelo sistema operacional, estabilidade das ferramentas, desempenho e suporte subsequente para iOS e Flutter.