Интеграция с Apple Core AI#
Ultralytics не поддерживает format=coreai или прямой экспорт в формат .aimodel от Apple. Используй поддерживаемую интеграцию с Core ML для развертывания на устройствах Apple.
Core AI — это новый фреймворк Apple для запуска нейронных сетей непосредственно на чипах Apple silicon. Он представляет формат модели .aimodel, современный API инференса на Swift, инструменты конвертации на базе PyTorch, компиляцию заранее (ahead-of-time), специализацию моделей, а также специализированные инструменты отладки и профилирования.
Apple описывает Core AI как следующий этап эволюции выполнения ИИ на устройстве и инфраструктуру логического вывода для Apple Intelligence, работающего локально. Она разработана для современных архитектур нейронных сетей — от компактных моделей машинного зрения до больших генеративных моделей — и может распределять нагрузку между CPU, GPU и Apple Neural Engine (ANE).
Core AI — это новый путь развертывания, а не просто новое название для Core ML. Эти инфраструктуры используют разные форматы моделей, инструменты преобразования, API среды выполнения и шаблоны интеграции с приложениями.
Сравнение Core AI и Core ML#
| Возможность | Core AI | Core ML |
|---|---|---|
| Артефакт модели | .aimodel | .mlpackage или .mlmodel |
| Экспорт из Ultralytics | Недоступно | Доступно с format=coreml |
| API среды выполнения Apple | AIModel, InferenceFunction и NDArray | MLModel, часто через VNCoreMLModel и VNCoreMLRequest |
| Рабочий процесс преобразования | PyTorch torch.export через coreai-torch | Конвертация TorchScript через coremltools |
| Основной фокус | Современные нейронные сети и генеративный ИИ | Широкое развертывание машинного обучения, включая нейронные и не нейронные модели |
| Интеграция изображений | Приложения подготавливают тензоры или используют дескрипторы и буферы изображений Core AI | Прямая интеграция с инфраструктурой Vision для масштабирования, ориентации и обработки запросов к изображениям |
| Оборудование | CPU, GPU и Apple Neural Engine | CPU, GPU и Apple Neural Engine |
| Подготовка модели | Специализация при установке или первом запуске, с опциональной предварительной компиляцией | Компиляция модели в Xcode или на устройстве |
| Пользовательские операции | Пользовательские реализации Core AI и ядра Metal | Пользовательские слои Core ML и поддерживаемые операции MIL |
| Доступность развертывания | Новое поколение ОС Apple; в настоящее время бета-версия | Широкая поддержка существующих операционных систем Apple |
| SDK Ultralytics для iOS и Flutter | Еще не поддерживается | Полностью поддерживается |
Core ML остается подходящим выбором, когда приложению необходим широкий охват устройств, интеграция с Vision или типы моделей, такие как деревья решений и табличные конвейеры. Apple продолжает поддерживать Core ML и направляет к нему разработчиков, использующих не нейронные типы моделей.
Как работает формат Core AI#
Рабочий процесс создания в Core AI начинается с модели PyTorch:
PyTorch model
↓ torch.export
ExportedProgram
↓ coreai-torch
Core AI program
↓ optimize and save
.aimodel
↓ specialize or compile ahead of time
Apple silicon executableПакет coreai-torch от Apple конвертирует torch.export.ExportedProgram, понижая операции PyTorch ATen до операций Core AI. Неподдерживаемые операции можно реализовать с помощью пользовательского понижения (custom lowering) или пользовательского ядра Metal.
Полученный .aimodel представляет собой неспециализированный ресурс модели. Когда приложение подготавливает модель, Core AI специализирует её для целевого устройства. Приложения могут позволить этому происходить при первом использовании, запросить специализацию раньше или поставлять скомпилированную заранее модель для уменьшения времени начальной загрузки.
В Swift приложения загружают ресурс с помощью фреймворка Core AI, выбирают функцию инференса, передают типизированные входы NDArray и получают именованные выходы. Это отличается от обертывания модели Core ML в запрос Vision, поэтому внедрение Core AI требует выполнения в приложении, разработанном для активов .aimodel.
Подробности реализации см. в документации Apple для AIModel, специализации и кэширования моделей и компиляции заранее.
Будущее использование в Ultralytics#
Следующие примеры иллюстрируют предполагаемую интеграцию и недоступны в текущем релизе Ultralytics. Используй format=coreml для поддерживаемого экспорта под Apple уже сегодня.
После выхода запланированной интеграции ожидается, что Python API сможет экспортировать модель YOLO26 в .aimodel с выделенным значением формата:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreai") # Planned: creates yolo26n.aimodelЭквивалентная запланированная команда CLI выглядит так:
yolo export model=yolo26n.pt format=coreai # Planned: not yet availableИтоговые аргументы, поддерживаемые задачи YOLO, параметры точности и поведение с динамическими формами будут задокументированы в разделе Режим экспорта после того, как экспортер будет реализован и проверен.
В iOS 27 или macOS 27 приложение сможет загружать и запускать экспортированный актив через API Swift Core AI от Apple. Имена функций и тензоров ниже приведены для иллюстрации; поддерживаемый контракт вывода Ultralytics будет опубликован вместе с экспортером:
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])В отличие от текущего рабочего процесса Core ML и Vision, будущий путь Core AI потребует определения предобработки изображений, создания NDArray, метаданных модели и декодирования выходов в SDK iOS от Ultralytics. Apple предоставляет текущие детали API в документации по фреймворку Core AI и рабочие примеры моделей в репозитории моделей Core AI.
Преимущества Core AI#
Core AI предлагает несколько многообещающих преимуществ для будущего развертывания Ultralytics:
- Современный путь экспорта PyTorch: Конвертация начинается с
torch.export, сохраняя более выразительный граф PyTorch, чем рабочий процесс трассировки, используемый многими существующими экспортерами. - Тонкий контроль среды выполнения: Приложения могут управлять специализацией, кэшами скомпилированных моделей, функциями логического вывода, памятью и размещением вычислений.
- Расширенная поддержка моделей: Stateful-выполнение, динамические формы, несколько функций в одном артефакте и пользовательские ядра Metal разработаны для современных архитектур машинного зрения и генеративных моделей.
- Специализированные инструменты разработчика: Отладчик Core AI может проверять графы и значения тензоров, а также отслеживать их до исходного кода Python. Xcode и Instruments обеспечивают профилирование среды выполнения.
- Возможности Zero-copy: Core AI предоставляет элементы управления хранилищем и буфером, предназначенные для уменьшения копирования между камерой, графикой и рабочими нагрузками логического вывода.
- Оптимизация под Apple silicon: Специализация устройства позволяет Apple оптимизировать модель для CPU, GPU и Neural Engine, доступных на конкретном устройстве.
- Гибкое сжатие: Инструменты оптимизации Apple Core AI поддерживают квантование, палетизацию и прунинг, включая форматы весов с низкой разрядностью.
Эти возможности могут быть особенно полезны для будущих моделей YOLO с динамическим выполнением, более крупными мультимодальными компонентами или пользовательскими операциями, которые нечетко отображаются на существующие операции Core ML.
Текущие недостатки и ограничения#
Core AI в настоящее время не является заменой промышленному пути Core ML:
- Требуются новые операционные системы: Публичная инфраструктура нацелена на поколение iOS 27 и macOS 27, в то время как Core ML поддерживает гораздо большую установленную базу.
- Бета-версия ПО: Инфраструктура Core AI от Apple и части её цепочки инструментов Python все еще являются предварительными и могут измениться до выпуска стабильных версий.
- Более узкая среда экспорта:
coreai-torchв настоящее время требует Python 3.11 или новее и недавние версии PyTorch, что гораздо уже поддерживаемого Ultralytics диапазона Python и PyTorch. - Отсутствие текущей команды Ultralytics:
yolo export format=coreaiне реализован, не протестирован и не покрывается гарантиями совместимости Ultralytics. - Среда выполнения приложений Ultralytics пока отсутствует: Официальное приложение YOLO для iOS и плагин Flutter в настоящее время загружают артефакты Core ML через
MLModelи Vision. - Требуется миграция приложения:
.aimodelнельзя заменить на.mlpackage; загрузка модели, предобработка, вызовы инференса, обработка метаданных и декодирование выходов требуют реализации на Core AI. - Ограниченные данные промышленного использования: Производительность, энергопотребление, время специализации при первом запуске, точность и сжатие требуют проверки по матрице поддерживаемых задач YOLO и устройств.
- Отсутствие устоявшегося устаревшего конвейера NMS: Core ML может упаковывать этап NMS для старых моделей детекции YOLO. Ожидается, что первая интеграция Core AI будет сосредоточена на моделях YOLO26 без NMS.
Какой формат Apple следует использовать?#
Используй Core ML сегодня, если тебе нужно:
- Поддерживаемая команда экспорта Ultralytics
- Развертывание на текущих и старых операционных системах Apple
- Интеграция с iOS или Flutter SDK от Ultralytics
- Обработка изображений инфраструктурой Vision
- Протестированное развертывание YOLO в FP16 и INT8
- Встроенный NMS для совместимых устаревших моделей детекции
Рассматривай Core AI в будущем, если можешь ограничиться iOS 27 или macOS 27 и тебе нужно:
- Новейшая инфраструктура нейронных сетей Apple для устройств
- Явное управление специализацией и кэшем
- Расширенное динамическое или stateful-выполнение моделей
- Пользовательские операции Core AI или ядра Metal
- Детальная отладка графов Core AI и профилирование среды выполнения
Ожидается, что Core ML и Core AI будут сосуществовать во время перехода приложений. Поддержка Core AI не означает немедленного отказа от Core ML, так как их цели развертывания и контракты приложений различаются.
Дорожная карта Ultralytics#
Ultralytics оценивает возможность создания выделенной цели экспорта coreai. Следи за дорожной картой и примечаниями к релизам, чтобы узнать о планах и доступности; Core ML по-прежнему остается поддерживаемой целью развертывания под Apple.
Прежде чем Core AI сможет стать поддерживаемым форматом экспорта, интеграции требуется:
- Экспорт и численная проверка для задач детекции, сегментации экземпляров, семантической сегментации, классификации, определения поз и ориентированных ограничивающих рамок.
- Тестирование точности FP16 и квантованных моделей относительно базовых показателей PyTorch и Core ML.
- Бенчмарки задержки, памяти, энергопотребления и специализации на устройстве.
- Загрузка моделей Core AI и предварительная обработка в iOS SDK Ultralytics.
- Интеграция с Flutter и стратегия совместимости для устройств ниже iOS 27.
- Выпуски стабильных инфраструктур Apple и инструментов преобразования.
Следи за дорожной картой Ultralytics и примечаниями к релизам для получения информации о доступности. До появления официальной поддержки любые команды или сторонние патчи, создающие файлы .aimodel, являются экспериментальными и находятся вне поддерживаемой матрицы экспорта Ultralytics.
Дополнительные ресурсы#
- Обзор Apple Core AI
- Документация по фреймворку Core AI
- Расширения Core AI для PyTorch
- Оптимизация Core AI
- Репозиторий моделей Apple Core AI
- Интеграция Ultralytics с Core ML
FAQ#
Нет. Ultralytics экспортирует модели Apple в виде файлов Core ML
.mlpackageчерезmodel.export(format="coreml", imgsz=640)(imgsz=224для классификации);.aimodelне является целью экспорта.Не сразу. Core AI — это более современный путь Apple для нейронных сетей, в то время как Core ML по-прежнему поддерживается и обеспечивает более широкий охват операционных систем, интеграцию с Vision и поддержку не нейросетевых моделей.
Нет. Они содержат разные представления моделей и загружаются разными фреймворками. Конвертация должна начинаться с исходной модели через соответствующий набор инструментов Apple.
Ожидается, что первоначальная интеграция будет сосуществовать с Core ML. Любое решение о будущей замене будет зависеть от внедрения в операционные системы, стабильности инструментов, производительности, а также поддержки в iOS и Flutter.