ML روی دستگاه (on-device ML) — اجرای مدلهای یادگیری ماشین مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور. طبق گزارش Google AI، 2025، بیش از ۷۰٪ کاربران برنامههای دارای on-device ML را به دلیل حریم خصوصی و عدم تأخیر شبکه ترجیح میدهند. Core ML اپل، TensorFlow Lite گوگل و ML Kit امکان حل وظایف Vision، NLP، تشخیص چهره و اشیاء را کاملاً روی دستگاه فراهم میکنند — بدون اینترنت و با حداقل مصرف انرژی.
نکات کلیدی
ML روی دستگاه (on-device ML) رویکردی است که در آن مدلهای یادگیری ماشین مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور راه دور اجرا میشوند. حریم خصوصی مزیت کلیدی است: دادههای کاربر هرگز دستگاه را ترک نمیکند. طبق تحقیقات گوگل (۲۰۲۴)، ۶۳٪ کاربران ویژگیهای ML را که نیاز به ارسال داده به سرور دارند رد میکنند. On-device ML تأخیر شبکه را حذف میکند، به صورت آفلاین کار میکند و مصرف انرژی را از طریق شتابدهی سختافزاری کاهش میدهد.
On-device ML دادهها را در میلیثانیه به جای ثانیه پردازش میکند — برای تشخیص چهره و اشیاء در زمان واقعی حیاتی است. عدم نیاز به اتصال اینترنت مزیت دیگری است: ویژگیهای ML در حالت هواپیما و در مناطق با اتصال ناپایدار در دسترس هستند. Core ML از Neural Engine در تراشههای Apple A12+ استفاده میکند که ۱۱ تریلیون عملیات در ثانیه با مصرف کمتر از ۱ وات ارائه میدهد. برای برنامههای موبایل، on-device ML به استاندارد عملی در وظایف Vision، NLP و تشخیص اشیاء تبدیل شده است.
ML در برنامههای موبایل برای احراز هویت چهره (Face ID)، فیلترهای AR در Snapchat و Instagram، ردیابهای تناسب اندام با Pose Detection، اسکن OCR در Adobe Scan و ورود پیشبینیکننده در صفحهکلیدها استفاده میشود. مدلهای سفارشی برای وظایف خاص از طریق Core ML (iOS) یا TensorFlow Lite (Android) ایجاد میشوند. ML Kit برای سناریوهای معمولی مناسب است — تشخیص متن، چهره و بارکد بدون نیاز به آموزش مدل.
Core ML فریمورک اپل برای اجرای مدلهای ML در iPhone، iPad، Mac و Apple Watch است. به طور خودکار بهترین شتابدهی سختافزاری را انتخاب میکند: Neural Engine برای شبکههای عصبی در دستگاههای دارای A12+ (۱۱ TOPS)، GPU برای وظایف پردازش تصویر و CPU برای محاسبات ترتیبی. Core ML از فرمتهای .mlmodel (اصلی) و .mlmodelc (کامپایلشده) پشتیبانی میکند. تبدیل مدلها از PyTorch و TensorFlow از طریق coremltools انجام میشود — کتابخانه Python که توپولوژی و وزنها را حفظ میکند.
Create ML برنامه اپل برای آموزش مدلهای ساده بدون نوشتن کد است. برای تولید از coremltools استفاده میشود — ابزار تبدیل از PyTorch، TensorFlow و scikit-learn. Coremltools از کمیسازی float32 → float16 و int8، پالتسازی فضای رنگی و حذف عملیات اضافی برای کاهش اندازه مدل پشتیبانی میکند.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine یک پردازنده عصبی تخصصی در تراشههای Apple A12 و جدیدتر است. ۱۶ هسته تا ۱۱ تریلیون عملیات در ثانیه با مصرف کمتر از ۱ وات انجام میدهند. Core ML به طور خودکار محاسبات شبکه عصبی را به Neural Engine و محاسبات سازگار با GPU را به Metal GPU هدایت میکند. توسعهدهنده نیازی به انتخاب دستگاه ندارد — Core ML این کار را از طریق Performance Report با تحلیل مدل و سختافزار موجود انجام میدهد.
TensorFlow Lite (TFLite) راهحل چندسکویی گوگل برای اجرای مدلهای ML در Android، iOS و Linux است. مدلها با فرمت .tflite هستند و از طریق TFLiteConverter از اکوسیستم TensorFlow ایجاد میشوند. TFLite از کمیسازی float32 → int8 پشتیبانی میکند که اندازه مدل را ۴ برابر کاهش میدهد در حالی که ۹۷–۹۹٪ دقت را در وظایف طبقهبندی حفظ میکند. Google Play Services for TFLite به طور خودکار runtime را بدون نیاز به انتشار مجدد برنامه بهروز میکند.
TFLiteConverter ابزار اصلی تبدیل مدلهای TensorFlow به فرمت .tflite است. کمیسازی int8 پس از آموزش مدل را از ۳۰۰ مگابایت به ۷۵ مگابایت بدون دسترسی به مجموعه داده کامل فشرده میکند. آموزش آگاه از کمیسازی (QAT) حداقل کاهش دقت — کمتر از ۱٪ در ImageNet — را ارائه میدهد. TFLiteConverter همچنین از هرس گراف و حذف عملیات پشتیبانینشده توسط runtime TFLite پشتیبانی میکند.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
بدون نماینده، TFLite مدل را روی CPU ۳–۵ برابر کندتر از شتابدهی سختافزاری اجرا میکند. نماینده GPU در Android از OpenCL و OpenGL ES 3.1 استفاده میکند، نماینده Core ML در iOS از Neural Engine استفاده میکند. نماینده NNAPI در Android 8.1+ از NPU و DSP بهره میبرد. نماینده XNNPACK شتاب چندسکویی را در ARM CPU با بهینهسازیهایی برای پردازندههای موبایل فراهم میکند. برای انتخاب نماینده، از TfLiteGpuDelegate.create() با بررسی null روی نتیجه استفاده کنید.
ML Kit SDK گوگل با APIهای آماده برای on-device ML است. در برنامههای موبایل، ML Kit برای تشخیص متن (بیش از ۵۰ زبان، از جمله دستنویس)، تشخیص چهره (۴۶۸ نقطه کلیدی چهره)، اسکن بارکد (QR، EAN-13، Code 128، PDF417، Data Matrix) و تشخیص اشیاء استفاده میشود. همه APIها کاملاً روی دستگاه بدون اینترنت کار میکنند. ML Kit در iOS و Android با API یکپارچه در دسترس است.
تشخیص چهره مختصات خطوط چهره، ابروها، چشمها، بینی و لبها و همچنین زاویه شیب سر و وضعیت چشمها را برمیگرداند. ماسکهای AR و فیلترهای دوربین محبوبترین سناریوی استفاده هستند. تشخیص متن با دقت تا ۹۹٪ در کاراکترهای چاپی متن را از عکسها استخراج میکند. API از تشخیص بیدرنگ از طریق CameraX پشتیبانی میکند.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
اسکن بارکد بارکدها را در جریان ویدیوی دوربین به صورت بیدرنگ تشخیص میدهد. تشخیص اشیاء اشیاء را در تصویر با جعبه محدودکننده و برچسب کلاس (فرد، ماشین، حیوان) شناسایی میکند. تشخیص وضعیت ۳۳ نقطه کلیدی بدن را برای برنامههای تناسب اندام و تحلیل حرکت تعیین میکند. برچسبگذاری تصویر تا ۱۰ برچسب معنایی تصویر را برمیگرداند — "طبیعت"، "شهر"، "غذا".
اپل راهحلهای ML داخلی را از طریق Vision و NaturalLanguage بدون نصب SDK شخص ثالث ارائه میدهد. Vision (VNRequest) تشخیص چهره، متن، بارکد و خطوط را روی دستگاه انجام میدهد. NaturalLanguage (NLTokenizer) توکنسازی، ریشهیابی، شناسایی زبان و تحلیل احساسات را ارائه میدهد. در Android، معادلها از طریق ML Kit (تشخیص) و SpeechRecognizer از android.speech (گفتار) پیادهسازی شدهاند. ابزارهای داخلی نیاز به دانلود مدل ندارند — آنها از پیش در سیستم نصب شدهاند.
Vision شامل VNDetectFaceRectanglesRequest (تشخیص چهره)، VNRecognizeTextRequest (تشخیص متن)، VNDetectBarcodesRequest (بارکد) و VNDetectHumanBodyPoseRequest (اسکلت) است. VNCoreMLRequest یک مدل Core ML سفارشی را در خط لوله Vision ادغام میکند — به عنوان مثال، طبقهبندی احساسات روی چهرههای تشخیصدادهشده. همه درخواستها با حداقل تأخیر روی Neural Engine اجرا میشوند.
let request = VNRecognizeTextRequest { request, error in
guard let observations = request.results
as? [VNRecognizedTextObservation] else { return }
for observation in observations {
let topCandidate = observation
.topCandidates(1).first
print(topCandidate?.string as? String ?? "")
}
}
let handler = VNImageRequestHandler(
cgImage: image, options: [:]
)
try? handler.perform([request])
NaturalLanguage NLTokenizer را برای تقسیم متن به توکن، NLLanguageRecognizer را برای شناسایی زبان (۷۲ زبان) و NLSentimentAnalyzer را برای تحلیل احساسات متن ارائه میدهد. SFSpeechRecognizer API تشخیص گفتار با پشتیبانی از بیش از ۵۰ زبان روی دستگاه است (iOS 13+). قبل از استفاده نیاز به مجوز SFSpeechRecognizerAuthorizationStatus دارد. نتایج به صورت ناهمگام از طریق SFSpeechRecognitionResultHandler میرسند.
سوالات متداول
ML روی دستگاه (on-device ML) رویکردی است که در آن مدلهای یادگیری ماشین مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور اجرا میشوند. Core ML، TensorFlow Lite و ML Kit فریمورکهای اصلی برای on-device ML هستند.
Core ML فریمورک اپل برای iOS و macOS با شتابدهی روی Neural Engine است. TensorFlow Lite راهحل چندسکویی گوگل برای Android، iOS و Linux است. Core ML عملکرد بهتری در دستگاههای اپل ارائه میدهد، TFLite تطبیقپذیری.
ML Kit وظایف معمول بینایی کامپیوتر و NLP را حل میکند: تشخیص متن، چهره، بارکد، اشیاء و وضعیت بدن. همه APIها روی دستگاه بدون اینترنت کار میکنند و نیازی به ایجاد مدل شخصی ندارند.
خیر، on-device ML کاملاً محلی کار میکند. مدلها روی دستگاه بارگذاری میشوند و بدون اتصال اینترنت اجرا میشوند. ML Kit همچنین نسخههای API ابری با دقت بالاتر ارائه میدهد، اما حالت on-device به صورت آفلاین در دسترس است.
برای iOS-only، Core ML را انتخاب کنید — از Neural Engine استفاده میکند و با اکوسیستم اپل یکپارچه است. برای پروژههای چندسکویی، TensorFlow Lite را انتخاب کنید. برای وظایف معمول بدون مدل سفارشی، ML Kit را با APIهای آماده انتخاب کنید.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.