ML روی دستگاه در توسعه موبایل: چیست، چه فریم‌ورک‌هایی و چگونه کار می‌کند

نویسنده: IT Sectr منتشر شده: 2026-07-29 زمان مطالعه: 11 دقیقه

ML روی دستگاه (on-device ML) — اجرای مدل‌های یادگیری ماشین مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور. طبق گزارش Google AI، 2025، بیش از ۷۰٪ کاربران برنامه‌های دارای on-device ML را به دلیل حریم خصوصی و عدم تأخیر شبکه ترجیح می‌دهند. Core ML اپل، TensorFlow Lite گوگل و ML Kit امکان حل وظایف Vision، NLP، تشخیص چهره و اشیاء را کاملاً روی دستگاه فراهم می‌کنند — بدون اینترنت و با حداقل مصرف انرژی.

نکات کلیدی

  • ML روی دستگاه — اجرای مدل‌های یادگیری ماشین مستقیماً روی دستگاه موبایل بدون پردازش داده در سمت سرور.
  • Core ML — فریم‌ورک اپل با شتاب‌دهی سخت‌افزاری روی Neural Engine برای iOS و macOS.
  • TensorFlow Lite — راه‌حل چندسکویی گوگل با کمی‌سازی و نمایندگان GPU، NNAPI و XNNPACK.
  • ML Kit — SDK با APIهای آماده برای تشخیص متن، چهره، بارکد و اشیاء بدون ایجاد مدل.
  • Vision و NaturalLanguage — ابزارهای ML داخلی در iOS برای تحلیل تصاویر و متن.

ML روی دستگاه چیست و چرا در برنامه‌های موبایل نیاز است

ML روی دستگاه (on-device ML) رویکردی است که در آن مدل‌های یادگیری ماشین مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور راه دور اجرا می‌شوند. حریم خصوصی مزیت کلیدی است: داده‌های کاربر هرگز دستگاه را ترک نمی‌کند. طبق تحقیقات گوگل (۲۰۲۴)، ۶۳٪ کاربران ویژگی‌های ML را که نیاز به ارسال داده به سرور دارند رد می‌کنند. On-device ML تأخیر شبکه را حذف می‌کند، به صورت آفلاین کار می‌کند و مصرف انرژی را از طریق شتاب‌دهی سخت‌افزاری کاهش می‌دهد.

مزایای on-device ML نسبت به راه‌حل‌های ابری

On-device ML داده‌ها را در میلی‌ثانیه به جای ثانیه پردازش می‌کند — برای تشخیص چهره و اشیاء در زمان واقعی حیاتی است. عدم نیاز به اتصال اینترنت مزیت دیگری است: ویژگی‌های ML در حالت هواپیما و در مناطق با اتصال ناپایدار در دسترس هستند. Core ML از Neural Engine در تراشه‌های Apple A12+ استفاده می‌کند که ۱۱ تریلیون عملیات در ثانیه با مصرف کمتر از ۱ وات ارائه می‌دهد. برای برنامه‌های موبایل، on-device ML به استاندارد عملی در وظایف Vision، NLP و تشخیص اشیاء تبدیل شده است.

سناریوهای اصلی on-device ML در برنامه‌های موبایل

ML در برنامه‌های موبایل برای احراز هویت چهره (Face ID)، فیلترهای AR در Snapchat و Instagram، ردیاب‌های تناسب اندام با Pose Detection، اسکن OCR در Adobe Scan و ورود پیش‌بینی‌کننده در صفحه‌کلیدها استفاده می‌شود. مدل‌های سفارشی برای وظایف خاص از طریق Core ML (iOS) یا TensorFlow Lite (Android) ایجاد می‌شوند. ML Kit برای سناریوهای معمولی مناسب است — تشخیص متن، چهره و بارکد بدون نیاز به آموزش مدل.

Core ML: فریم‌ورک اپل برای ML روی دستگاه در iOS

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

Create ML برنامه اپل برای آموزش مدل‌های ساده بدون نوشتن کد است. برای تولید از coremltools استفاده می‌شود — ابزار تبدیل از PyTorch، TensorFlow و scikit-learn. Coremltools از کمی‌سازی float32 → float16 و int8، پالت‌سازی فضای رنگی و حذف عملیات اضافی برای کاهش اندازه مدل پشتیبانی می‌کند.

python
import coremltools as ct

model = ct.convert(
    "resnet50.mlmodel",
    source="pytorch",
    convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")

Neural Engine و شتاب‌دهی سخت‌افزاری Core ML

Neural Engine یک پردازنده عصبی تخصصی در تراشه‌های Apple A12 و جدیدتر است. ۱۶ هسته تا ۱۱ تریلیون عملیات در ثانیه با مصرف کمتر از ۱ وات انجام می‌دهند. Core ML به طور خودکار محاسبات شبکه عصبی را به Neural Engine و محاسبات سازگار با GPU را به Metal GPU هدایت می‌کند. توسعه‌دهنده نیازی به انتخاب دستگاه ندارد — Core ML این کار را از طریق Performance Report با تحلیل مدل و سخت‌افزار موجود انجام می‌دهد.

TensorFlow Lite: ML روی دستگاه چندسکویی از گوگل

TensorFlow Lite (TFLite) راه‌حل چندسکویی گوگل برای اجرای مدل‌های ML در Android، iOS و Linux است. مدل‌ها با فرمت .tflite هستند و از طریق TFLiteConverter از اکوسیستم TensorFlow ایجاد می‌شوند. TFLite از کمی‌سازی float32 → int8 پشتیبانی می‌کند که اندازه مدل را ۴ برابر کاهش می‌دهد در حالی که ۹۷–۹۹٪ دقت را در وظایف طبقه‌بندی حفظ می‌کند. Google Play Services for TFLite به طور خودکار runtime را بدون نیاز به انتشار مجدد برنامه به‌روز می‌کند.

TFLiteConverter و کمی‌سازی مدل‌ها

TFLiteConverter ابزار اصلی تبدیل مدل‌های TensorFlow به فرمت .tflite است. کمی‌سازی int8 پس از آموزش مدل را از ۳۰۰ مگابایت به ۷۵ مگابایت بدون دسترسی به مجموعه داده کامل فشرده می‌کند. آموزش آگاه از کمی‌سازی (QAT) حداقل کاهش دقت — کمتر از ۱٪ در ImageNet — را ارائه می‌دهد. TFLiteConverter همچنین از هرس گراف و حذف عملیات پشتیبانی‌نشده توسط runtime TFLite پشتیبانی می‌کند.

python
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: GPU، NNAPI و XNNPACK

بدون نماینده، 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: راه‌حل‌های آماده برای ML در توسعه موبایل

ML Kit SDK گوگل با APIهای آماده برای on-device ML است. در برنامه‌های موبایل، ML Kit برای تشخیص متن (بیش از ۵۰ زبان، از جمله دست‌نویس)، تشخیص چهره (۴۶۸ نقطه کلیدی چهره)، اسکن بارکد (QR، EAN-13، Code 128، PDF417، Data Matrix) و تشخیص اشیاء استفاده می‌شود. همه APIها کاملاً روی دستگاه بدون اینترنت کار می‌کنند. ML Kit در iOS و Android با API یکپارچه در دسترس است.

تشخیص چهره و تشخیص متن در ML Kit

تشخیص چهره مختصات خطوط چهره، ابروها، چشم‌ها، بینی و لب‌ها و همچنین زاویه شیب سر و وضعیت چشم‌ها را برمی‌گرداند. ماسک‌های AR و فیلترهای دوربین محبوب‌ترین سناریوی استفاده هستند. تشخیص متن با دقت تا ۹۹٪ در کاراکترهای چاپی متن را از عکس‌ها استخراج می‌کند. API از تشخیص بیدرنگ از طریق CameraX پشتیبانی می‌کند.

kotlin
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)

recognizer.process(image)
    .addOnSuccessListener { result ->
        result.textBlocks.forEach { block ->
            println(block.text)
        }
    }

اسکن بارکد و تشخیص اشیاء در ML Kit

اسکن بارکد بارکدها را در جریان ویدیوی دوربین به صورت بیدرنگ تشخیص می‌دهد. تشخیص اشیاء اشیاء را در تصویر با جعبه محدودکننده و برچسب کلاس (فرد، ماشین، حیوان) شناسایی می‌کند. تشخیص وضعیت ۳۳ نقطه کلیدی بدن را برای برنامه‌های تناسب اندام و تحلیل حرکت تعیین می‌کند. برچسب‌گذاری تصویر تا ۱۰ برچسب معنایی تصویر را برمی‌گرداند — "طبیعت"، "شهر"، "غذا".

Vision و NaturalLanguage: ابزارهای ML داخلی در iOS و Android

اپل راه‌حل‌های ML داخلی را از طریق Vision و NaturalLanguage بدون نصب SDK شخص ثالث ارائه می‌دهد. Vision (VNRequest) تشخیص چهره، متن، بارکد و خطوط را روی دستگاه انجام می‌دهد. NaturalLanguage (NLTokenizer) توکن‌سازی، ریشه‌یابی، شناسایی زبان و تحلیل احساسات را ارائه می‌دهد. در Android، معادل‌ها از طریق ML Kit (تشخیص) و SpeechRecognizer از android.speech (گفتار) پیاده‌سازی شده‌اند. ابزارهای داخلی نیاز به دانلود مدل ندارند — آنها از پیش در سیستم نصب شده‌اند.

چارچوب Vision: VNRequest و VNCoreMLRequest

Vision شامل VNDetectFaceRectanglesRequest (تشخیص چهره)، VNRecognizeTextRequest (تشخیص متن)، VNDetectBarcodesRequest (بارکد) و VNDetectHumanBodyPoseRequest (اسکلت) است. VNCoreMLRequest یک مدل Core ML سفارشی را در خط لوله Vision ادغام می‌کند — به عنوان مثال، طبقه‌بندی احساسات روی چهره‌های تشخیص‌داده‌شده. همه درخواست‌ها با حداقل تأخیر روی Neural Engine اجرا می‌شوند.

swift
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 و SFSpeechRecognizer در iOS

NaturalLanguage NLTokenizer را برای تقسیم متن به توکن، NLLanguageRecognizer را برای شناسایی زبان (۷۲ زبان) و NLSentimentAnalyzer را برای تحلیل احساسات متن ارائه می‌دهد. SFSpeechRecognizer API تشخیص گفتار با پشتیبانی از بیش از ۵۰ زبان روی دستگاه است (iOS 13+). قبل از استفاده نیاز به مجوز SFSpeechRecognizerAuthorizationStatus دارد. نتایج به صورت ناهمگام از طریق SFSpeechRecognitionResultHandler می‌رسند.

سوالات متداول

ML روی دستگاه چیست؟

ML روی دستگاه (on-device ML) رویکردی است که در آن مدل‌های یادگیری ماشین مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور اجرا می‌شوند. Core ML، TensorFlow Lite و ML Kit فریم‌ورک‌های اصلی برای on-device ML هستند.

Core ML چه تفاوتی با TensorFlow Lite دارد؟

Core ML فریم‌ورک اپل برای iOS و macOS با شتاب‌دهی روی Neural Engine است. TensorFlow Lite راه‌حل چندسکویی گوگل برای Android، iOS و Linux است. Core ML عملکرد بهتری در دستگاه‌های اپل ارائه می‌دهد، TFLite تطبیق‌پذیری.

ML Kit چه وظایفی را حل می‌کند؟

ML Kit وظایف معمول بینایی کامپیوتر و NLP را حل می‌کند: تشخیص متن، چهره، بارکد، اشیاء و وضعیت بدن. همه APIها روی دستگاه بدون اینترنت کار می‌کنند و نیازی به ایجاد مدل شخصی ندارند.

آیا on-device ML نیاز به اینترنت دارد؟

خیر، on-device ML کاملاً محلی کار می‌کند. مدل‌ها روی دستگاه بارگذاری می‌شوند و بدون اتصال اینترنت اجرا می‌شوند. ML Kit همچنین نسخه‌های API ابری با دقت بالاتر ارائه می‌دهد، اما حالت on-device به صورت آفلاین در دسترس است.

کدام فریم‌ورک را برای ML در توسعه موبایل انتخاب کنم؟

برای iOS-only، Core ML را انتخاب کنید — از Neural Engine استفاده می‌کند و با اکوسیستم اپل یکپارچه است. برای پروژه‌های چندسکویی، TensorFlow Lite را انتخاب کنید. برای وظایف معمول بدون مدل سفارشی، ML Kit را با APIهای آماده انتخاب کنید.

خلاصه

  • ML روی دستگاه — اجرای مدل‌ها مستقیماً روی دستگاه موبایل بدون ارسال داده به سرور، با تأخیر شبکه صفر.
  • Core ML — فریم‌ورک اپل با شتاب‌دهی سخت‌افزاری روی Neural Engine برای iOS و macOS.
  • TensorFlow Lite — راه‌حل چندسکویی گوگل با کمی‌سازی int8 و نمایندگان GPU، NNAPI، XNNPACK.
  • ML Kit — SDK با APIهای آماده برای تشخیص متن، چهره و بارکد بدون ایجاد مدل.
  • Vision و NaturalLanguage — ابزارهای ML داخلی در iOS بدون نصب کتابخانه‌های شخص ثالث.
  • کمی‌سازی اندازه مدل را ۴ برابر با حداقل کاهش دقت کاهش می‌دهد — استانداردی برای برنامه‌های موبایل.
  • On-device ML یک استاندارد اجباری برای برنامه‌های با داده‌های حساس و سناریوهای استفاده آفلاین است.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه