Core ML Apple का मशीन लर्निंग फ्रेमवर्क है जो आपको पूर्व-प्रशिक्षित ML मॉडलों को सीधे iOS, iPadOS, macOS, watchOS और tvOS एप्लिकेशनों में एकीकृत करने की अनुमति देता है। फ्रेमवर्क न्यूरल नेटवर्क्स, डिसीशन ट्रीज़, लीनियर रिग्रेशन और एंसेबल विधियों का समर्थन करता है, साथ ही TensorFlow, PyTorch, Keras और ONNX से Apple के स्वयं के प्रारूप में मॉडल रूपांतरण का समर्थन करता है। Apple Machine Learning Research (2025) के अनुसार, Core ML पूर्णतः डिवाइस पर इन्फरेंस करता है, डेटा गोपनीयता सुनिश्चित करता है और अधिकांश मॉडलों के लिए 10 मिलीसेकंड से कम विलंब सुनिश्चित करता है।
मुख्य बातें
Core ML Apple के मशीन लर्निंग इकोसिस्टम का एक मुख्य घटक है, जिसे WWDC 2017 पर पेश किया गया था। Core ML से पहले, iOS डेवलपर डिवाइस पर ML मॉडल चलाने के लिए तीसरे पक्ष की लाइब्रेरियाँ (TensorFlow Mobile, Caffe2) या कस्टम हल का उपयोग करते थे। Core ML ने सभी मॉडल प्रकारों — शास्त्रीय रिग्रेशनों से लेकर गहरे न्यूरल नेटवर्क्स तक — के लिए एक एकीकृत इंटरफ़ेस प्रदान किया और विशिष्ट डिवाइस के लिए निम्न-स्तरीय ऑप्टिमाइजेशन संभाला।
Core ML (2017) का पहला संस्करण केवल निश्चित इनपुट आकारों के साथ स्थैतिक मॉडल का समर्थन करता था। Core ML 2 (2018) ने बैच प्रेडिक्शन और ऑन-द-फ़्लाई मॉडल अपडेट का समर्थन जोड़ा। Core ML 3 (2019) ने डिवाइस पर प्रशिक्षण और दर्जनों नए न्यूरल नेटवर्क परतों का समर्थन लाया। Core ML 4 (2021) ने मल्टि-आउटपुट मॉडल और बेहतर छवि प्रोसेसिंग का समर्थन पेश किया। Core ML 5 (2024) ने डायनामिक न्यूरल नेटवर्क्स और नए ML परतों का उपयोग करके डिवाइस पर पर्यवेक्षित लर्निंग का समर्थन जोड़ा।
डिवाइस पर मशीन लर्निंग चलाने से तीन मुख्य लाभ मिलते हैं: गोपनीयता — डेटा कभी डिवाइस नहीं छोड़ता (GDPR और HIPAA आवश्यकताओं को पूरा करता है), गति — इन्फरेंस बिना नेटवर्क विलंब के मिलीसेकंड में पूरा होता है, ऑफलाइन उपलब्धता — मॉडल इंटरनेट कनेक्शन के बिना काम करता है। Apple Privacy Report (2025) के अनुसार, Apple प्लेटफ़ॉर्म पर 90% से अधिक ML इन्फरेंस Core ML के कारण डिवाइस पर किए जाते हैं।
Core ML आर्किटेक्चर बहु-स्तरीय सिद्धांत पर बना है: सबसे ऊपर के स्तर पर — डेवलपर API (MLModel, MLFeatureProvider, MLPredictionOptions), मध्य स्तर पर — .mlpackage प्रारूप में मॉडल, निचले स्तर पर — कंप्यूट बैकएंड: Apple Neural Engine (ANE), GPU (Metal Shaders), और CPU (BNNS, Accelerate framework)। Core ML मॉडल और डिवाइस हार्डवेयर के अनुसार स्वचालित रूप से सबसे अच्छा बैकएंड चुनता है।
| बैकएंड | डिवाइस | प्रदर्शन |
|---|---|---|
| Neural Engine | iPhone Xs+, iPad A12+, Mac M1+ | अधिकतम (TOPS) |
| GPU (Metal) | सभी Apple डिवाइस | उच्च (समांतर कंप्यूटिंग) |
| CPU (BNNS) | सभी Apple डिवाइस | मूल (अनुकूलता) |
Neural Engine (ANE) Apple A12+ और M1+ चिप्स में निर्मित एक विशेषज्ञ न्यूरल प्रोसेसर है। ANE A17 Pro पर 15.8 TOPS और M4 पर 38 TOPS तक के प्रदर्शन के साथ कन्वोल्यूशनल न्यूरल नेटवर्क (CNN) संचालनों और मैट्रिक्स गुणक के लिए ऑप्टिमाइज़्ड है। Core ML स्वचालित रूप से निर्धारित करता है कि मॉडल ANE पर चल सकता है या नहीं, और यदि है, तो उसे वहां लोड करता है। यदि मॉडल में ANE द्वारा समर्थित नहीं किए जाने वाले ऑपरेशन हैं, तो Core ML गणना को GPU और CPU के बीच वितरित करता है।
GPU गणनाओं के लिए, Core ML Metal Performance Shaders Graph (MPSGraph) का उपयोग करता है, जो GPU पर गणनात्मक ग्राफ़ बनाने और निष्पादित करने के लिए एक फ्रेमवर्क है। MPSGraph Core ML से न्यूरल नेटवर्क ग्राफ़ लेता है और इसे विशिष्ट GPU आर्किटेक्चर (7-कोर A17 GPU या 40-कोर M4 Ultra GPU) के लिए ऑप्टिमाइज़्ड Metal Shaders में संकलित करता है। MPSGraph के स्वचालित ऑप्टिमाइजेशन में परत संलयन, अनावश्यक संचालनों का उन्मूलन और ऑप्टिमल डेटा प्रारूप चयन शामिल है।
Core ML तीन श्रेणियों में विभाजित सभी प्रमुख मशीन लर्निंग मॉडल प्रकारों का समर्थन करता है: न्यूरल नेटवर्क्स (कन्वोल्यूशनल CNN, आवर्ती RNN/LSTM, ट्रांसफ़ॉर्मर), एंसेबल मॉडल (Random Forest, Gradient Boosting, XGBoost, डिसीशन ट्रीज़) और रिग्रेशन मॉडल (रैखिक रिग्रेशन, SVM, CRF)। प्रत्येक मॉडल प्रकार का अपना MLModelType उप-प्रोटोकॉल है, और Core ML स्वचालित रूप से उपयुक्त बैकएंड और निष्पादन प्रारूप चुनता है।
Core ML न्यूरल नेटवर्क परतों के 150 से अधिक प्रकारों का समर्थन करता है: Convolution (1D/2D/3D), BatchNormalization, Pooling (Max/Average), Activation (ReLU, Sigmoid, Tanh, LeakyReLU, PReLU), Recurrent (LSTM/GRU/SimpleRNN), Transformers (MultiHeadAttention, LayerNorm), Metal-विशिष्ट परतें। असमर्थित परतों के लिए, Core ML कस्टम लेयर तंत्र प्रदान करता है — Metal Shading Language या Swift में परत कार्यान्वयन लिखने की क्षमता।
let model = try MLModel(contentsOf: modelURL)
let input = try MLMultiArray(shape: [1, 224, 224, 3], dataType: .float32)
let prediction = try model.prediction(from: input)
2021 से पहले, Core ML .mlmodel प्रारूप का उपयोग करता था — एक बाइनरी फ़ाइल जिसमें सभी मॉडल वजन और मेटाडेटा होते थे। Xcode 13 और Core ML 4 से शुरू करके, Apple ने नया .mlpackage प्रारूप पेश किया — एक निर्देशिका-आधारित पैकेज संरचना जिसमें मॉडल, मेटाडेटा, इनपुट/आउटपुट विवरण और JSON में पूर्व/पश्चात-प्रोसेसिंग फ़ाइलें शामिल हैं। mlpackage git वर्शनिंग का समर्थन करता है, जो टीम डेवलपमेंट को सरल बनाता है। .mlmodel से .mlpackage में रूपांतरण Xcode Model Compiler युति या coremltools Python स्क्रिप्ट का उपयोग करके किया जाता है।
रूपांतरण तीसरे पक्ष के फ्रेमवर्कों से Core ML में Python में coremltools लाइब्रेरी का उपयोग करके किया जाता है। coremltools TensorFlow 1.x/2.x (SavedModel, PB, HDF5), PyTorch (TorchScript, traced/scripted मॉडल), Keras (H5), ONNX और Create ML से बनाए गए मॉडलों से आयात का समर्थन करता है। समान रूपांतरण पाइपलाइन में तीन चरण हैं: मूल प्रारूप में मॉडल लोड करना, MIL (Model Intermediate Language) — Core ML का आंतरिक प्रतिनिधित्व — में रूपांतरित करना, और .mlpackage में निर्यात करना।
import coremltools as ct
model = ct.converters.pytorch.convert(
source = "model.pt",
inputs = [ct.TensorType(shape=(1, 3, 224, 224))]
)
model.author = "IT Sectr"
model.short_description = "Image classifier"
model.save("MyModel.mlpackage")
रूपांतरण के बाद, आपको समान डेटा पर मूल मॉडल और रूपांतरित Core ML मॉडल की भविष्यवाणियों की तुलना करके मॉडल सथूलता सत्यापित करनी चाहिए। स्वीकार्य विचलन Float32 के लिए 1e-3 (0.1%) और Float16/Int8 के लिए 1e-2 (1%) से अधिक नहीं है। coremltools स्वचालित तुलना के लिए ct.utils.compare_models() युति प्रदान करता है। यदि विचलन मानक से अधिक है, तो असमर्थित संचालनों में समस्या हो सकती है — उन्हें कस्टम परतों से बदलने या मॉडल को सरल बनाने की आवश्यकता है।
ऑप्टिमाइजिंग Core ML मॉडल मॉडल आकार को कम करने और महत्वपूर्ण सथूलता हानि के बिना इन्फरेंस गति बढ़ाने की प्रक्रिया है। Apple coremltools और Xcode में निर्मित कई ऑप्टिमाइजेशन उपकरण प्रदान करता है: क्वांटिज़ेशन (वजन सथूलता कम करना), प्रूनिंग (मामूली न्यूरॉन्स का हटाना), अनावश्यक परतों का हटाना और गणनात्मक ग्राफ़ को कम करने के लिए परत संलयन।
क्वांटिज़ेशन Float32 की तुलना में मॉडल आकार को लगभग 2 गुना (Float16) या 4 गुना (Int8) कम करता है। Core ML तीन क्वांटिज़ेशन मोड का समर्थन करता है: एक अंशांकन डेटासेट के साथ प्रशिक्षण-पश्चात् क्वांटिज़ेशन (PTQ), coremltools के माध्यम से रूपांतरण के दौरान, और क्वांटिज़ेशन-अवगत प्रशिक्षण (QAT)। अधिकांश कंप्यूटर विजन मॉडलों के लिए, PTQ से Float16 में इन्फरेंस गति दोगुनी होने पर 0.5% से कम सथूलता हानि होती है।
Xcode Core ML Model Profiler उपकरण प्रदान करता है, जो आपको सिमुलेटर में या वास्तविक डिवाइस पर विभिन्न उपकरणों पर मॉडल प्रदर्शन मापने की अनुमति देता है। प्रोफ़ाइलर प्रत्येक परत के लिए निष्पादन समय, बैकएंड लोड (ANE/GPU/CPU), पीक मेमोरी उपयोग और मॉडल अवरोध दिखाता है। Apple Performance Optimization Guide के अनुसार, 80% से अधिक मॉडलों में कम से कम एक परत है जो बाकी की तुलना में काफी धीमी चलती है (परत विसंगति), जिसे प्रतिस्थापन या संलयन द्वारा ऑप्टिमाइज़ किया जा सकता है।
आइए Swift का उपयोग करके iOS एप्लिकेशन में एक प्रशिक्षित Core ML मॉडल के एकीकरण पर नज़र डालें। Xcode प्रोजेक्ट में .mlpackage फ़ाइल जोड़ने के बाद (खींचकर या Swift Package Manager के माध्यम से), Xcode स्वचालित रूप से टाइप की गई इनपुट और आउटपुट के साथ एक Swift मॉडल क्लास उत्पन्न करता है। डेवलपर को मैन्युअली इनपुट डेटा पार्स करने की आवश्यकता नहीं है — जनरेटेड क्लास मॉडल मेटाडेटा के आधार पर UIImage, MLMultiArray, String या अन्य प्रकार स्वीकार करता है।
import CoreML
import Vision
guard let model = try? VNCoreMLModel(
for: MyImageClassifier().model
) else { return }
let request = VNCoreMLRequest(model: model) { request, error in
guard let results = request.results
as? [VNClassificationObservation]
else { return }
if let topResult = results.first {
print("Class: \(topResult.identifier)")
print("Confidence: \(topResult.confidence)")
}
}
let handler = VNImageRequestHandler(
cgImage: image.cgImage!,
options: [:]
)
try handler.perform([request])
Core ML को एकीकृत करते समय, आपको त्रुटि संभालना लागू करनी चाहिए: मॉडल डिवाइस असंगति (बहुत पुराना iOS संस्करण), अपर्याप्त मेमोरी या मॉडल फ़ाइल भ्रष्टाचार के कारण लोड होने में विफल हो सकता है। फ़ॉलबैक तर्क लागू करने की अनुशंसा है: यदि मॉडल क्वांटिज़्ड Int8 प्रारूप में लोड होने में विफल होता है, तो Float16 संस्करण लोड करें, और यदि वह भी विफल होता है — Float32। Apple Crash Analytics के अनुसार, 5% से अधिक ML एप्लिकेशन क्रैश गलत मॉडल लोडिंग के कारण होते हैं।
Core ML और Create ML Apple ML इकोसिस्टम के दो पूरक उपकरण हैं। Core ML डिवाइस पर मॉडल निष्पादन (इन्फरेंस) संभालता है, जबकि Create ML मॉडल प्रशिक्षण संभालता है। Create ML में बनाए गए मॉडल एप्लिकेशनों में बाद के एकीकरण के लिए विशेष रूप से Core ML प्रारूप (.mlpackage) में निर्यात किए जाते हैं। वेब डेवलपमेंट शब्दावली में, Core ML ब्राउज़र (निष्पादन) है, और Create ML कोड लिखने के लिए IDE (प्रशिक्षण) है।
| पैरामीटर | Core ML | Create ML |
|---|---|---|
| उद्देश्य | मॉडल निष्पादन (इन्फरेंस) | मॉडल प्रशिक्षण |
| प्लेटफ़ॉर्म | iOS, iPadOS, macOS, watchOS, tvOS | macOS (केवल) |
| प्रारूप | .mlpackage (उपभोग करता है) | .mlpackage (बनाता है) |
| कोड | Swift / Objective-C API | Xcode UI या Swift API |
| उपयोगकर्ता | एप्लिकेशन डेवलपर | डेवलपर / डेटा वैज्ञानिक |
अक्सर पूछे जाने वाले प्रश्न
Core ML iOS, iPadOS, macOS, watchOS और tvOS उपकरणों पर पूर्व-प्रशिक्षित ML मॉडल चलाने के लिए Apple का मशीन लर्निंग फ्रेमवर्क है। यह न्यूरल नेटवर्क्स, डिसीशन ट्रीज़ और रिग्रेशन का समर्थन करता है, स्वचालित रूप से सबसे अच्छा कंप्यूट बैकएंड (Neural Engine, GPU या CPU) चुनता है।
TensorFlow सर्वर और मोबाइल उपकरणों पर मॉडल प्रशिक्षित करने और चलाने के लिए एक सार्वभौमिक फ्रेमवर्क है। Core ML हार्डवेयर-विशिष्ट ऑप्टिमाइजेशन (ANE, GPU, Metal) के साथ अधिकतम प्रदर्शन के लिए विशेष रूप से केवल Apple उपकरणों पर मॉडल चलाने (प्रशिक्षित नहीं) के लिए एक विशेषज्ञ इंजन है। TensorFlow Mobile अब iOS पर समर्थित नहीं है — Apple अपने प्लेटफ़ॉर्म पर सभी ML कार्यों के लिए Core ML की अनुशंसा करता है।
रूपांतरण Python में coremltools लाइब्रेरी का उपयोग करके किया जाता है: PyTorch मॉडल को TorchScript (torch.jit.trace) में निर्यात करें, फिर .mlpackage बनाने के लिए ct.converters.pytorch.convert() का उपयोग करें। coremltools स्वचालित रूप से PyTorch परतों को समर्थित Core ML परतों से मैप करता है और ANE के लिए ग्राफ़ को ऑप्टिमाइज़ करता है।
Core ML iOS 11 और उसके बाद के सभी iPhone पर काम करता है। हालाँकि, प्रदर्शन हार्डवेयर पर निर्भर करता है: iPhone 5s/6 — केवल CPU (धीमा इन्फरेंस), iPhone 8/X — GPU (Metal), iPhone Xs और नए — Neural Engine (A17 Pro पर 15.8 TOPS तक अधिकतम प्रदर्शन)। बेहतरीन प्रदर्शन के लिए, न्यूनतम iOS संस्करण 12+ निर्धारित करने की अनुशंसा है।
आधुनिक प्रारूप .mlpackage है (एक निर्देशिका जिसमें मॉडल, मेटाडेटा और इनपुट/आउटपुट विवरण है)। लगेसी प्रारूप .mlmodel (एकल बाइनरी फ़ाइल) है। Xcode बिल्ड के दौरान .mlmodel को .mlpackage में स्वचालित रूप से परिवर्तित करता है, लेकिन नए प्रोजेक्टों के लिए सीधे .mlpackage का उपयोग करने की अनुशंसा है।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।
यह भी पढ़ें