YOLO Vision 2026:

Apple Core AI Entegrasyonu#

Core AI dışa aktarımı, Apple silicon üzerinde macOS 26 veya sonraki bir sürümü gerektirir

coreai-core yalnızca macosx_26_0_arm64 wheel'lerini yayımlar; bu nedenle dışa aktarma Apple silicon Mac'lerde çalışır. Dışa aktarılan .aimodel, iOS 27 ve macOS 27 üzerinde çalışır. Ultralytics iOS ve Flutter SDK'ları henüz .aimodel varlıklarını yüklemiyor — bunlar için Core ML kullan.

Core AI, sinir ağlarını doğrudan Apple silicon üzerinde çalıştırmaya yönelik Apple'ın yeni framework'üdür. .aimodel model formatını, modern bir Swift çıkarım API'sini, PyTorch tabanlı dönüştürme araçlarını, önceden derlemeyi, model özelleştirmeyi ve özel hata ayıklama ile profil oluşturma araçlarını sunar.

Apple, Core AI'ı cihaz üzerinde AI çalıştırmanın ve cihaz üzerindeki Apple Intelligence'ın arkasındaki çıkarım framework'ünün bir sonraki evrimi olarak tanımlar. Kompakt görüntü modellerinden büyük üretken modellere kadar güncel sinir ağı mimarileri için tasarlanmıştır ve işleri CPU, GPU ve Apple Neural Engine (ANE) arasında zamanlayabilir.

Core AI, Core ML'in yeni bir adı değil, yeni bir dağıtım yoludur. Framework'ler farklı model formatları, dönüştürme araçları, çalışma zamanı API'leri ve uygulama entegrasyonu kalıpları kullanır.

Core AI ve Core ML Karşılaştırması#

YetenekCore AICore ML
Model çıktısı.aimodel.mlpackage veya .mlmodel
Ultralytics dışa aktarımıformat=coreai ile kullanılabilirformat=coreml ile kullanılabilir
Apple çalışma zamanı API'siAIModel, InferenceFunction ve NDArrayMLModel; çoğunlukla VNCoreMLModel ve VNCoreMLRequest üzerinden
Dönüştürme iş akışıPyTorch torch.export üzerinden coreai-torch'ecoremltools üzerinden TorchScript dönüştürmesi
Temel odakModern sinir ağları ve üretken AISinirsel ve sinirsel olmayan modeller dahil geniş kapsamlı makine öğrenimi dağıtımı
Görüntü entegrasyonuUygulamalar tensörleri hazırlar veya Core AI görüntü tanımlayıcılarını ve buffer'larını kullanırGörüntü ölçekleme, yönlendirme ve istekler için Vision framework'üyle doğrudan entegrasyon
DonanımCPU, GPU ve Apple Neural EngineCPU, GPU ve Apple Neural Engine
Model hazırlamaKurulumda veya ilk kullanımda özelleştirme; isteğe bağlı önceden derleme ileXcode veya cihaz üzerinde model derleme
Özel işlemlerÖzel Core AI lowering'leri ve Metal kernel'larıCore ML özel katmanları ve desteklenen MIL işlemleri
Dağıtım kullanılabilirliğiYeni Apple işletim sistemi nesli; şu anda betaMevcut Apple işletim sistemleri genelinde geniş destek
Ultralytics iOS ve Flutter SDK'larıHenüz desteklenmiyorTamamen destekleniyor

Bir uygulamanın geniş cihaz kapsamına, Vision framework entegrasyonuna veya karar ağaçları ve tablo biçimli pipeline'lar gibi model türlerine ihtiyacı olduğunda Core ML uygun seçenek olmaya devam eder. Apple, Core ML'i desteklemeyi sürdürüyor ve sinirsel olmayan model türlerine sahip geliştiricileri Core ML'e yönlendiriyor.

Core AI Formatı Nasıl Çalışır#

Core AI geliştirme iş akışı bir PyTorch modeliyle başlar:

PyTorch model
    ↓ torch.export
ExportedProgram
    ↓ coreai-torch
Core AI program
    ↓ optimize and save
.aimodel
    ↓ specialize or compile ahead of time
Apple silicon executable

Apple'ın coreai-torch paketi, PyTorch ATen işlemlerini Core AI işlemlerine indirgeyerek bir torch.export.ExportedProgram dosyasını dönüştürür. Desteklenmeyen işlemler, özel bir lowering veya özel bir Metal kernel'ı ile uygulanabilir.

Ortaya çıkan .aimodel, özelleştirilmemiş bir model varlığıdır. Bir uygulama modeli hazırladığında Core AI, modeli hedef cihaz için özelleştirir. Uygulamalar bunun ilk kullanımda gerçekleşmesine izin verebilir, özelleştirmeyi daha erkene alabilir veya ilk yükleme süresini azaltmak için önceden derlenmiş bir model gönderebilir.

Swift'te uygulamalar varlığı Core AI framework'üyle yükler, bir çıkarım işlevi seçer, türü belirlenmiş NDArray girdileri sağlar ve adlandırılmış çıktılar alır. Bu, bir Core ML modelini Vision isteği içine sarmaktan farklıdır; dolayısıyla Core AI'ı benimsemek, .aimodel varlıkları için tasarlanmış bir uygulama çalışma zamanı gerektirir.

Uygulama ayrıntıları için Apple'ın AIModel, model özelleştirme ve önbelleğe alma ve önceden derleme belgelerine bak.

YOLO26 Modellerini Core AI'a Dışa Aktarma#

Örnek
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreai")  # creates 'yolo26n.aimodel'
model.export(format="coreai", quantize=16)  # FP16 asset

# Run the exported model
coreai_model = YOLO("yolo26n.aimodel")
results = coreai_model("https://ultralytics.com/images/bus.jpg")

Tam bağımsız değişken listesi için Export mode sayfasına bak. Grafik statiktir: export'ye verilen imgsz sırasında izlenir; bu nedenle aynı boyutta tahmin yap. Ultralytics meta verileri varlığın kendi metadata.json alanında taşınır; bu nedenle sınıf adları, stride ve görev gidiş-dönüşte korunur.

Başlığı seçme#

nms=False ile YOLO26, grafik içindeki algılamaları seçen uçtan uca başlığını dışarı aktarır. Core AI'da en üst k (top-k) ilkel bileşeni yoktur, bu nedenle bu seçim tam bir sıralamaya indirgenir ve Apple Neural Engine bölüm sınırında sabit bir maliyete tabidir — max_det ne olursa olsun yaklaşık 1,7 ms. nms=None ile dışarı aktarma, bunun yerine ham (1, 84, 8400) tahminlerini üretir ve maksimum olmayan bastırma (NMS) işlemini öngörücüye bırakır:

yolo export model=yolo26n.pt format=coreai nms=None quantize=16

iOS 27.0 çalıştıran bir iPhone 17 Pro üzerinde, başlıklı 640 boyutundaki YOLO26n, grafik içinde 3,01 ms ve grafik olmadan 1,28 ms ölçülür (FP16, önceden derlenmiş, 50 yinelemeden oluşan üç iç içe blok). Her ikisi de çıkarım için YOLO(...) üzerinden gidiş-dönüş yapar. Tek bir grafik çağrısının bitmiş algılamaları döndürmesi gerektiğinde nms=False kullan ya da harici NMS için varsayılan nms=None seçeneğini koru.

iOS 27 veya macOS 27 üzerinde bir uygulama, dışa aktarılan varlığı Apple'ın Core AI Swift API'si üzerinden yükleyip çalıştırır. Dışa aktarılan varlıklar main giriş noktasını kullanır, [batch, 3, imgsz, imgsz] şekline sahip tek bir images girdisi alır ve output0 döndürür:

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: ["images": imageTensor])

Mevcut Core ML ve Vision iş akışından farklı olarak gelecekteki Core AI yolu, görüntü ön işleme, NDArray oluşturma, model meta verileri ve çıktı kod çözümünü Ultralytics iOS SDK içinde tanımlamayı gerektirecek. Apple, güncel API ayrıntılarını Core AI framework belgelerinde, çalışan model örneklerini ise Core AI modelleri deposunda sunar.

Core AI'ın Avantajları#

Core AI, gelecekteki Ultralytics dağıtımları için umut vadeden çeşitli avantajlar sunar:

  • Modern PyTorch dışa aktarma yolu: Dönüştürme torch.export üzerinden başlar ve mevcut birçok dışa aktarıcıda kullanılan izleme iş akışına kıyasla daha ifade gücü yüksek bir PyTorch grafiğini korur.
  • İnce ayrıntılı çalışma zamanı denetimi: Uygulamalar özelleştirmeyi, derlenmiş model önbelleklerini, çıkarım işlevlerini, belleği ve hesaplamanın nereye yerleştirileceğini yönetebilir.
  • Gelişmiş model desteği: Durum bilgili çalıştırma, dinamik şekiller, tek bir varlıkta birden fazla işlev ve özel Metal kernel'ları modern görüntü ve üretken mimariler için tasarlanmıştır.
  • Özel geliştirici araçları: Core AI Debugger grafikleri ve tensör değerlerini inceleyebilir ve bunları kaynak Python koduna kadar izleyebilir. Xcode ve Instruments çalışma zamanı profillemesi sunar.
  • Kopyasız çalışma fırsatları: Core AI, kamera, grafik ve çıkarım iş yükleri arasındaki kopyaları azaltmak üzere tasarlanmış depolama ve buffer denetimleri sunar.
  • Apple silicon optimizasyonu: Cihaz özelleştirmesi, Apple'ın bir modeli belirli cihazda bulunan CPU, GPU ve Neural Engine için optimize etmesini sağlar.
  • Esnek sıkıştırma: Apple'ın Core AI Optimization araçları, düşük bitli ağırlık formatları dahil niceleme, paletleme ve budamayı destekler.

Bu özellikler, dinamik çalıştırmaya, daha büyük çok modlu bileşenlere veya mevcut Core ML işlemlerine temiz şekilde eşlenemeyen özel işlemlere sahip gelecekteki YOLO modelleri için özellikle yararlı olabilir.

Güncel Dezavantajlar ve Sınırlamalar#

Core AI şu anda üretim Core ML yolunun yerini almıyor:

  • Yeni işletim sistemleri gerekli: Genel framework iOS 27 ve macOS 27 neslini hedeflerken Core ML çok daha geniş bir kurulu tabanı destekler.
  • Beta yazılımı: Apple'ın Core AI framework'ü ve Python araç zincirinin bazı bölümleri hâlâ ön hazırlık aşamasında; kararlı sürümlerinden önce değişebilir.
  • Daha dar dışa aktarma ortamı: coreai-torch şu anda Python 3.11 veya daha yenisini, ancak 3.14'ten eski bir sürümü ve güncel PyTorch sürümlerini gerektirir; bu, Ultralytics'in desteklediği Python ve PyTorch aralığından çok daha dardır.
  • Dışa aktarma yalnızca macOS'ta çalışır: coreai-core yalnızca macosx_26_0_arm64 wheel'lerini yayımlar; bu nedenle format=coreai, macOS 26 veya sonraki bir sürümde Apple silicon Mac gerektirir.
  • Henüz Ultralytics uygulama çalışma zamanı yok: Resmî YOLO iOS uygulaması ve Flutter eklentisi, şu anda Core ML varlıklarını MLModel ve Vision üzerinden yükler.
  • Uygulamanın taşınması gerekir: Bir .aimodel, bir .mlpackage yerine kullanılamaz; model yükleme, ön işleme, çıkarım çağrıları, meta veri işleme ve çıktı kod çözümü için bir Core AI uygulaması gerekir.
  • Üretim kanıtı sınırlı: Performans, güç kullanımı, ilk çalıştırma özelleştirme süresi, doğruluk ve sıkıştırma; desteklenen YOLO görevleri ve cihaz matrisinin tamamında doğrulanmalıdır.
  • NMS ardışık düzeni yok: Core ML, daha eski YOLO algılama modelleri için bir NMS aşamasını paketleyebilir. Core AI varsayılan olarak ham bire-çok tahminler dışarı aktarır; YOLO26'nın NMS'siz başlığı için nms=False kullan. Gömülü NMS (nms=True) ve dynamic=True desteklenmez. coreai-torch, torchvision::nms için indirgeme içermez, bu nedenle NMS ana makinede kalır.
  • Sabit girdi boyutu: Dışa aktarılan grafik tek bir imgsz değerinde izlenir ve dinamik şekillere sahip değildir; bu nedenle dışa aktarıldığı boyutta tahmin yap.
  • FP16 varlıkları yükleme sırasında işlemi sonlandırabilir: Bazı FP16 .aimodel varlıkları Apple Neural Engine programlarını yükleyemez ve MPSGraph başarısız bir assertion oluşturur; bu durum geri dönüş yapmak yerine işlemi sonlandırır. Bu, herhangi bir Ultralytics kodu çalışmadan önce Apple'ın çalışma zamanında gerçekleşir ve aynı varlık yalnızca CPU kullanan bir özelleştirmeyle yüklenir. Bu sorun üst akışta düzeltilene kadar FP32'yi tercih et.

Hangi Apple Formatını Kullanmalısın?#

Şunlara ihtiyacın varsa bugün Core ML kullan:

  • Mevcut ve eski Apple işletim sistemleri genelinde dağıtım
  • Ultralytics iOS veya Flutter SDK ile entegrasyon
  • Vision framework görüntü işleme
  • Test edilmiş FP16 ve INT8 YOLO dağıtımı
  • Uyumlu eski tespit modelleri için gömülü NMS

iOS 27 veya macOS 27 gerektirebildiğin ve şunlara ihtiyaç duyduğun durumlarda Core AI'ı değerlendir:

  • En yeni Apple cihaz üzeri sinir ağı çalışma zamanı
  • Açık özelleştirme ve önbellek yönetimi
  • Gelişmiş dinamik veya durum bilgili model çalıştırma
  • Özel Core AI işlemleri veya Metal kernel'ları
  • Ayrıntılı Core AI grafik hata ayıklama ve çalışma zamanı profillemesi

Uygulamalar geçiş yaparken Core ML ve Core AI'ın birlikte bulunması bekleniyor. Dağıtım hedefleri ve uygulama sözleşmeleri farklı olduğundan Core AI desteği, Core ML ihtiyacını hemen ortadan kaldırmaz.

Ultralytics Yol Haritası#

Özel coreai dışa aktarma hedefi uygulanmıştır: dışa aktarma ve sayısal doğrulama, desteklenen YOLO26 görev modellerini kapsar ve macOS 26 üzerinde Ultralytics CI'da sürekli çalışır; FP16 gecikmesi de cihaz üzerinde ölçülür. Core AI'ın Core ML yoluyla eşdeğerliğe ulaşmasından önce kalan yol haritası:

  1. Ultralytics iOS SDK'da Core AI model yükleme ve ön işleme.
  2. Flutter entegrasyonu ve iOS 27'nin altındaki cihazlar için uyumluluk stratejisi.
  3. Kararlı Apple framework ve dönüştürme aracı sürümleri (iOS 27 ve macOS 27 nesli şu anda beta aşamasındadır).
  4. Desteklenen cihaz matrisi genelinde bellek, güç ve özelleştirme karşılaştırmaları.

Ultralytics iOS veya Flutter SDK'ya ya da iOS 27'nin altındaki sürümler için kapsama ihtiyaç duyan uygulamalarda Core ML önerilen hedef olmaya devam eder; kalan maddeler için Ultralytics yol haritasını ve sürüm notlarını takip et.

Ek Kaynaklar#

SSS#

  • Evet. macOS 26 veya sonraki sürümleri çalıştıran Apple silicon Mac'te model.export(format="coreai") ya da yolo export format=coreai ile dışa aktarım yapabilirsin; dışa aktarılan .aimodel, iOS 27 ve macOS 27'de çalışır. Ultralytics iOS ve Flutter SDK'ları için ve bu sürümden daha eski işletim sistemlerinde Core ML .mlpackage dosyalarını format="coreml" ile dışa aktar.

  • Hemen değil. Core AI, modern sinir ağları için Apple'ın daha yeni yaklaşımıdır; Core ML ise desteklenmeye devam eder ve daha geniş işletim sistemi kapsamı, Vision entegrasyonu ve sinir ağı tabanlı olmayan model desteği sunar.

  • Hayır. Farklı model temsilleri içerirler ve farklı framework'ler tarafından yüklenirler. Dönüştürme işlemi, uygun Apple araç zinciri kullanılarak kaynak modelden başlatılmalıdır.

  • İlk entegrasyonun Core ML ile birlikte var olması bekleniyor. Gelecekteki değiştirme kararı, işletim sistemi kullanıma sunulmasına, kararlı araçlara, performansa ve sonraki iOS ve Flutter desteğine bağlıdır.

Katkıda Bulunanlar
GLglenn-jocher3DADaisuke Majima1

Yorumlar