Core ML — Apple کا مشین لرننگ فریم ورک، جو iOS، macOS، watchOS اور tvOS آلات پر براہ راست ML ماڈل چلانے کے لیے بہتر بنایا گیا ہے۔ کلاؤڈ بیسڈ ML سروسز کے برعکس، Core ML Apple کے ہارڈویئر ایکسلریٹر استعمال کرتا ہے: Neural Engine، GPU اور CPU، ڈیٹا پروسیسنگ کے دوران کم سے کم تاخیر کو یقینی بناتا ہے۔ Apple Core ML Documentation (2026) کے مطابق، فریم ورک متحد .mlpackage فارمیٹ میں PyTorch، TensorFlow اور Create ML ماڈلز کو سپورٹ کرتا ہے جس کا اوسط استدلال وقت 5–50 ms ہے۔
اہم نکات
Core ML ایک مشین لرننگ فریم ورک ہے جسے Apple نے WWDC 2017 میں iPhone، iPad، Mac، Apple Watch اور Apple TV کے لیے ڈویلپمنٹ ایکو سسٹم کے حصے کے طور پر متعارف کرایا تھا۔ Core ML ڈیوائس پر ML ماڈلز چلانے کے لیے رن ٹائم فراہم کرتا ہے، ڈویلپر کو ہارڈویئر آپٹیمائزیشن کی تفصیلات سے آزاد کرتا ہے۔ فریم ورک ہر ماڈل آپریشن کے لیے بہترین کمپیوٹ انجن — A12+ چپس پر Neural Engine، GPU یا CPU — خود بخود منتخب کرتا ہے۔
Core ML کا اہم فائدہ Apple Silicon کے ساتھ گہرا انضمام ہے۔ نیورل نیٹ ورک آپریشنز وقف کردہ Neural Engine پر چلتے ہیں، جو پروسیسر کے مرکزی کور پر بوجھ نہیں ڈالتا۔ Apple (WWDC 2025) کے مطابق، Core ML ماڈل ایک جیسے Android آلات پر TensorFlow Lite کے مقابلے میں 6 گنا تیز چلتے ہیں۔
Core ML مشین لرننگ کے وسیع کاموں کو سپورٹ کرتا ہے: تصویر کی درجہ بندی، آبجیکٹ کا پتہ لگانا، معنوی تقسیم، قدرتی زبان کی پروسیسنگ، آواز کا تجزیہ اور جدولی ڈیٹا۔ فریم ورک مختلف اقسام کے ماڈلز کے ساتھ کام کرتا ہے: نیورل نیٹ ورکس (کنولوشنل، ریکرنٹ، ٹرانسفارمرز)، ٹری اینسبلز، لکیری ریگریشن اور گاؤشی عمل۔
Core ML ان پٹ کے طور پر .mlpackage فارمیٹ میں تربیت یافتہ ماڈل لیتا ہے، اسے مخصوص ڈیوائس کے لیے بہتر کردہ مشین کوڈ میں کمپائل کرتا ہے اور متحد API کے ذریعے استدلال چلاتا ہے۔ پوری پائپ لائن — ماڈل لوڈ کرنے سے نتیجہ حاصل کرنے تک — Swift کوڈ کی 3–5 لائنوں میں مکمل ہوتی ہے۔
.mlpackage ایک کنٹینر فارمیٹ ہے جسے Apple نے 2020 میں پرانے .mlmodel کو تبدیل کرنے کے لیے متعارف کرایا تھا۔ پیکیج ایک ڈائریکٹری ہے جس میں JSON مینی فیسٹ، بائنری MLProgram فارمیٹ میں ماڈل فائل، میٹا ڈیٹا (مصنف، ورژن، تفصیل) اور کلاس لیبل جیسے وسائل شامل ہیں۔ Apple کے مطابق، .mlpackage وزن کی بہتری کے ذریعے .mlmodel کے مقابلے میں ماڈل کا حجم 30–50% کم کرتا ہے۔
Apple Neural Engine (ANE) ایک وقف کردہ نیورل پروسیسر ہے جو A12 Bionic (2018) سے شروع ہو کر Apple چپس میں بنایا گیا ہے۔ ANE اسی توانائی کی کھپت پر CPU سے دسیوں گنا زیادہ مؤثر طریقے سے میٹرکس آپریشنز پروسیس کرتا ہے۔ ANE کی کارکردگی A12 پر 5 TOPS سے بڑھ کر M4 Ultra (2025) پر 35 TOPS ہو گئی ہے، جو اربوں پیرامیٹرز والے ماڈلز چلانے کے قابل بناتی ہے۔ ANE خود بخود نیورل نیٹ ورک آرکیٹیکچر والے تمام Core ML ماڈلز کے لیے استعمال ہوتا ہے۔
Core ML کی ایک اہم خصوصیت درستگی کھونے کے بغیر ماڈلز کو FP16 اور INT8 میں کوانٹائزیشن کی حمایت ہے۔ کوانٹائزیشن ماڈل کا حجم 2–4 گنا کم کرتی ہے اور ANE پر استدلال کو 40–60% تیز کرتی ہے۔ Apple خودکار بہترین درستگی کے انتخاب کے لیے Xcode Model Quantization ٹول فراہم کرتا ہے: ڈویلپر ایک ماڈل اپ لوڈ کرتا ہے، قابل قبول معیار کے نقصان (عام طور پر 0.1–0.5%) کی وضاحت کرتا ہے، اور Xcode وزن کی نمائندگی کا بہترین فارمیٹ منتخب کرتا ہے۔
| چپ | TOPS (ANE) | ResNet-50 استدلال | سال |
|---|---|---|---|
| A12 Bionic | 5 | 18 ms | 2018 |
| A14 Bionic | 11 | 9 ms | 2020 |
| M1 Max | 22 | 4 ms | 2021 |
| M4 Ultra | 35 | 2 ms | 2025 |
زیادہ تر ML ماڈل PyTorch یا TensorFlow میں بنائے جاتے ہیں اور Core ML میں استعمال کے لیے .mlpackage فارمیٹ میں تبدیلی کی ضرورت ہوتی ہے۔ Apple ماڈلز کو تبدیل کرنے، بہتر بنانے اور توثیق کرنے کے لیے coremltools یوٹیلیٹی فراہم کرتا ہے — ایک Python پیکیج۔
coremltools ML ماڈلز کو تبدیل کرنے کے لیے Apple کی سرکاری یوٹیلیٹی ہے۔ یہ PyTorch (torch.onnx کے ذریعے یا براہ راست)، TensorFlow (SavedModel، H5، Frozen Graph) اور ONNX سے درآمد کرنے کی حمایت کرتا ہے۔ تبدیلی کے بعد، FP16 یا INT8 کوانٹائزیشن کو فعال کیا جا سکتا ہے، جو اہم درستگی کے نقصان کے بغیر ماڈل کا حجم 2–4 گنا کم کرتا ہے۔
آئیے coremltools ورژن 8.0 استعمال کرتے ہوئے ایک تربیت یافتہ PyTorch ماڈل کو Core ML فارمیٹ میں تبدیل کرنے کا جائزہ لیتے ہیں۔ یہ عمل Python میں 2–3 مراحل لیتا ہے۔
import torch
import coremltools as ct
# تربیت یافتہ PyTorch ماڈل لوڈ ہو رہا ہے
model = torch.load('model.pth')
model.eval()
# نمونہ ان پٹ کے ساتھ ماڈل ٹریس ہو رہا ہے
example_input = torch.randn(1, 3, 224, 224)
traced_model = torch.jit.trace(model, example_input)
# Core ML .mlpackage میں تبدیل ہو رہا ہے
mlmodel = ct.convert(
traced_model,
convert_to='mlprogram',
inputs=[ct.TensorType(shape=(1, 3, 224, 224))]
)
mlmodel.save('Model.mlpackage')
کوڈ تربیت یافتہ PyTorch ماڈل کو لوڈ کرتا ہے، نمونہ ان پٹ کے ساتھ JIT ٹریسنگ کرتا ہے اور اسے mlprogram فارمیٹ (Core ML بائنری فارمیٹ) میں تبدیل کرتا ہے۔ نتیجہ خیز .mlpackage کو Xcode میں گھسیٹا جا سکتا ہے اور Swift کوڈ میں فوری طور پر استعمال کیا جا سکتا ہے۔
ماڈل کی تبدیلی کے بعد، Swift میں iOS ایپ میں اس کا انضمام چند سطروں میں مکمل ہوتا ہے۔ Xcode خود بخود .mlpackage میٹا ڈیٹا کی بنیاد پر ماڈل کے لیے Swift کلاس تیار کرتا ہے۔
آئیے Core ML اور Vision فریم ورک کا استعمال کرتے ہوئے تصویر کی درجہ بندی کی مثال دیکھتے ہیں۔ Vision خود بخود تصویر کو مطلوبہ سائز اور پکسل فارمیٹ میں تبدیل کرتا ہے۔
import CoreML
import Vision
// Core ML ماڈل لوڈ ہو رہا ہے
guard let model = try? VNCoreMLModel(
for: MobileNetV2.configuration.model
) else { return }
// VNCoreMLRequest بنایا جا رہا ہے
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results
as? [VNClassificationObservation]
else { return }
// ٹاپ 3 پیش گوئیاں آؤٹ پٹ کریں
for result in results.prefix(3) {
print("\(result.identifier):
\(result.confidence)")
}
}
// تصویر کی پروسیسنگ شروع ہو رہی ہے
let handler = VNImageRequestHandler(
url: imageURL
)
try? handler.perform([request])
Swift کوڈ Vision فریم ورک کے ذریعے MobileNetV2 ماڈل کو لوڈ کرتا ہے، درجہ بندی کی درخواست بناتا ہے اور نتیجہ پر کارروائی کرتا ہے — کلاس لیبلز اور اعتماد کے فیصد کے ساتھ VNClassificationObservation آبجیکٹس کی ایک صف۔ لوڈنگ سے آؤٹ پٹ تک پوری پائپ لائن ماڈل کے لحاظ سے 5–50 ms لیتی ہے۔
شروع ہونے کے وقت کو بہتر بنانے کے لیے، Core ML پہلے استعمال پر ماڈل کو کمپائل کرتا ہے۔ پہلے سے کمپائل شدہ ماڈل کولڈ اسٹارٹ کو 2–3 سیکنڈ سے کم کرکے 100–200 ms کر دیتا ہے۔ ایپ کے پہلے لانچ پر نہیں بلکہ Xcode میں بلڈ ٹائم پر ماڈل کو کمپائل کرنے کی سفارش کی جاتی ہے۔ یہ خاص طور پر ایک سے زیادہ ML ماڈلز والی ایپس کے لیے اہم ہے — مثال کے طور پر، آبجیکٹ کا پتہ لگانا + درجہ بندی + NLP۔
Core ML اور ML Kit ایک جیسے آن ڈیوائس ML کام حل کرتے ہیں لیکن مختلف ایکو سسٹمز کے لیے ہیں۔ Core ML Apple Silicon کے ساتھ گہرائی سے مربوط ہے اور صرف Apple پلیٹ فارمز کو سپورٹ کرتا ہے۔ Google کا ML Kit Android اور iOS کے لیے ایک کراس پلیٹ فارم حل ہے۔
| خصوصیت | Core ML | ML Kit |
|---|---|---|
| پلیٹ فارمز | iOS، macOS، watchOS، tvOS | Android، iOS |
| بلٹ ان APIs | Vision، Natural Language کے ذریعے | 15+ بلٹ ان APIs |
| کسٹم ماڈلز | .mlpackage (PyTorch, TF) | TFLite (اڈاپٹر کے ذریعے) |
| ہارڈویئر ایکسلریشن | ANE, GPU, CPU | GPU (Android), CPU |
| شروع کرنے میں آسانی | ماڈل کی تبدیلی درکار | ڈیٹا سائنس کے بغیر تیار APIs |
| کارکردگی | 2–50 ms (ANE) | 80–200 ms (CPU/GPU) |
اگر آپ کا ایکو سسٹم صرف Apple ہے اور آپ کو ANE کے ذریعے زیادہ سے زیادہ کارکردگی درکار ہے تو Core ML منتخب کریں۔ اگر کراس پلیٹ فارم سپورٹ یا تبدیلی کے بغیر تیار APIs کی ضرورت ہو تو ML Kit زیادہ عملی ہوگا۔
عملی طور پر، بہت سے پروجیکٹس دونوں فریم ورکس کا استعمال کرتے ہیں: اعلی کارکردگی کے لیے iOS Core ML، اور Android پر ML Kit یا TensorFlow Lite۔ ایک متحد PyTorch ماڈل Apple کے لیے .mlpackage اور Android کے لیے .tflite میں تبدیل کیا جاتا ہے، جو دونوں پلیٹ فارمز پر یکساں ML فیچر کوالٹی برقرار رکھنے کی اجازت دیتا ہے۔ اس طریقہ کار میں DevOps پر تھوڑی زیادہ محنت درکار ہوتی ہے لیکن زیادہ سے زیادہ سامعین کوریج فراہم کرتا ہے۔
اکثر پوچھے گئے سوالات
iOS 11+ بنیادی ماڈلز کے لیے، iOS 14+ .mlpackage فارمیٹ کے لیے۔ Apple Neural Engine کے لیے A12 Bionic یا نئی چپ درکار ہے۔ Core ML 2017 سے تمام iPhone، iPad اور Mac کو سپورٹ کرتا ہے۔
جی ہاں، coremltools ٹول کے ذریعے۔ TensorFlow ماڈل درستگی برقرار رکھتے ہوئے .mlpackage میں تبدیل ہوتے ہیں۔ معاون فارمیٹس میں TensorFlow 2.x، SavedModel، H5 اور Frozen Graph شامل ہیں۔
.mlpackage ایک جدید کنٹینر فارمیٹ ہے، جو میٹا ڈیٹا، بائنری MLProgram فائل اور وسائل کے ساتھ ایک ڈائریکٹری کے طور پر تشکیل شدہ ہے۔ یہ پرانے .mlmodel سے 2–3 گنا زیادہ کمپیکٹ ہے اور کوانٹائزیشن کو سپورٹ کرتا ہے۔
تمام حسابات سختی سے ڈیوائس پر انجام پاتے ہیں۔ Core ML Apple سرورز کو ڈیٹا نہیں بھیجتا۔ فریم ورک ہوائی جہاز موڈ میں کام کرتا ہے اور استدلال کے لیے انٹرنیٹ کنکشن کی ضرورت نہیں ہوتی۔
Swift iOS/macOS ایپس میں Core ML کو ضم کرنے کے لیے بنیادی زبان ہے۔ Python coremltools کے ذریعے ماڈل کی تبدیلی کے لیے استعمال ہوتی ہے۔ Objective-C بھی پسماندہ مطابقت کے لیے سپورٹ ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں