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 টool প্রদান করে: ডেভেলপার একটি মডেল আপলোড করে, গ্রহণযোগ্য গুণমান হ্রাস (সাধারণত 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 }
// শীর্ষ-৩ ভবিষ্যদ্বাণী আউটপুট
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 |
| অন্তর্নির্মিত API | Vision, Natural Language-এর মাধ্যমে | 15+ অন্তর্নির্মিত API |
| কাস্টম মডেল | .mlpackage (PyTorch, TF) | TFLite (অ্যাডাপ্টারের মাধ্যমে) |
| হার্ডওয়্যার ত্বরণ | ANE, GPU, CPU | GPU (Android), CPU |
| শুরু করার সহজতা | মডেল রূপান্তর প্রয়োজন | ডেটা সায়েন্স ছাড়াই প্রস্তুত API |
| পারফরম্যান্স | 2–50 ms (ANE) | 80–200 ms (CPU/GPU) |
Core ML বেছে নিন যদি আপনার ইকোসিস্টেম শুধুমাত্র Apple হয় এবং আপনার ANE-এর মাধ্যমে সর্বোচ্চ পারফরম্যান্সের প্রয়োজন হয়। যদি ক্রস-প্ল্যাটফর্ম সমর্থন বা রূপান্তর ছাড়াই প্রস্তুত API প্রয়োজন হয়, তাহলে 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 অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন