Mobil Geliştirmede Cihazda ML: Nedir, Hangi Çerçeveler ve Nasıl Çalışır

Yazar: IT Sectr Yayınlanma: 2026-07-29 Okuma süresi: 11 dk

Cihazda ML (on-device ML) — verileri sunucuya göndermeden doğrudan mobil cihazda makine öğrenimi modellerini çalıştırma. Google AI, 2025 raporuna göre, kullanıcıların %70'inden fazlası gizlilik ve ağ gecikmesi olmaması nedeniyle on-device ML'li uygulamaları tercih ediyor. Apple'ın Core ML'i, Google'ın TensorFlow Lite'ı ve ML Kit, Vision, NLP, yüz ve nesne tanıma görevlerini tamamen cihazda çözmeye olanak tanır — internet olmadan ve minimum güç tüketimiyle.

Ana Noktalar

  • Cihazda ML — sunucu tarafı veri işleme olmadan doğrudan mobil cihazda makine öğrenimi modellerini çalıştırma.
  • Core ML — iOS ve macOS için Neural Engine'de donanım hızlandırmalı Apple çerçevesi.
  • TensorFlow Lite — niceleme ve GPU, NNAPI, XNNPACK temsilcileriyle Google'ın platformlar arası çözümü.
  • ML Kit — model oluşturmadan metin, yüz, barkod ve nesne tanıma için hazır API'lere sahip SDK.
  • Vision ve NaturalLanguage — iOS'ta görüntü ve metin analizi için yerleşik ML araçları.

Cihazda ML Nedir ve Mobil Uygulamalarda Neden Gereklidir

Cihazda ML (on-device ML), makine öğrenimi modellerinin uzak bir sunucuya veri göndermeden doğrudan mobil cihazda çalıştırıldığı bir yaklaşımdır. Gizlilik temel avantajdır: kullanıcı verileri cihazdan asla ayrılmaz. Google araştırmasına (2024) göre, kullanıcıların %63'ü sunucuya veri göndermeyi gerektiren ML özelliklerini reddediyor. On-device ML, ağ gecikmesini ortadan kaldırır, çevrimdışı çalışır ve donanım hızlandırma yoluyla güç tüketimini azaltır.

On-device ML'nin Bulut Çözümlere Göre Avantajları

On-device ML, verileri saniyeler yerine milisaniyeler içinde işler — gerçek zamanlı yüz ve nesne tanıma için kritik öneme sahiptir. İnternet bağlantısı gerekmemesi başka bir avantajdır: ML özellikleri uçak modunda ve istikrarsız bağlantıya sahip bölgelerde kullanılabilir. Core ML, Apple A12+ yongalarındaki Neural Engine'i kullanarak 1 W'ın altında güç tüketimiyle saniyede 11 trilyon işlem sağlar. Mobil uygulamalar için on-device ML, Vision, NLP ve nesne tanıma görevlerinde fiili standart haline gelmiştir.

Mobil Uygulamalarda On-device ML'nin Temel Senaryoları

Mobil uygulamalarda ML, yüz kimlik doğrulaması (Face ID), Snapchat ve Instagram'da AR filtreleri, Pose Detection ile fitness takipçileri, Adobe Scan'de OCR taraması ve klavyelerde tahmini giriş için kullanılır. Belirli görevler için özel modeller Core ML (iOS) veya TensorFlow Lite (Android) aracılığıyla oluşturulur. ML Kit, model eğitmeye gerek kalmadan metin, yüz ve barkod tanıma gibi tipik senaryolar için uygundur.

Core ML: iOS'ta Cihazda ML için Apple'ın Çerçevesi

Core ML, iPhone, iPad, Mac ve Apple Watch'ta ML modellerini çalıştırmak için Apple'ın çerçevesidir. Optimum donanım hızlandırmayı otomatik olarak seçer: A12+'lı cihazlarda sinir ağları için Neural Engine (11 TOPS), görüntü işleme görevleri için GPU ve sıralı hesaplamalar için CPU. Core ML, .mlmodel (orijinal) ve .mlmodelc (derlenmiş) formatlarını destekler. PyTorch ve TensorFlow'dan model dönüşümü, topolojiyi ve ağırlıkları koruyan bir Python kütüphanesi olan coremltools aracılığıyla yapılır.

Create ML ve coremltools

Create ML, kod yazmadan basit modelleri eğitmek için Apple'ın uygulamasıdır. Üretim için coremltools kullanılır — PyTorch, TensorFlow ve scikit-learn'den dönüşüm aracı. Coremltools, float32'den float16 ve int8'e niceleme, renk uzayı paletleme ve model boyutunu küçültmek için gereksiz işlemleri kaldırmayı destekler.

python
import coremltools as ct

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

Neural Engine ve Core ML Donanım Hızlandırma

Neural Engine, Apple A12 ve sonraki yongalarda özel bir nöroişlemcidir. 16 çekirdek, 1 W'ın altında güç tüketimiyle saniyede 11 trilyona kadar işlem gerçekleştirir. Core ML, sinir ağı hesaplamalarını otomatik olarak Neural Engine'e ve GPU uyumlu hesaplamaları Metal GPU'ya yönlendirir. Geliştiricinin cihaz seçmesi gerekmez — Core ML bunu Performance Report aracılığıyla modeli ve mevcut donanımı analiz ederek yapar.

TensorFlow Lite: Google'ın Platformlar Arası Cihazda ML'si

TensorFlow Lite (TFLite), Android, iOS ve Linux'ta ML modellerini çalıştırmak için Google'ın platformlar arası çözümüdür. Modeller .tflite formatındadır ve TensorFlow ekosisteminden TFLiteConverter aracılığıyla oluşturulur. TFLite, sınıflandırma görevlerinde %97–99 doğruluğu korurken model boyutunu 4 kat azaltan float32'den int8'e nicelemeyi destekler. Google Play Services for TFLite, uygulamayı yeniden yayınlamadan çalışma zamanını otomatik olarak günceller.

TFLiteConverter ve Model Niceleme

TFLiteConverter, TensorFlow modellerini .tflite formatına dönüştürmek için ana araçtır. Eğitim sonrası int8 niceleme, tam veri kümesine erişmeden bir modeli 300 MB'tan 75 MB'a sıkıştırır. Niceleme bilinçli eğitim (QAT), ImageNet'te %1'den az minimum doğruluk kaybı sağlar. TFLiteConverter ayrıca grafik budama ve TFLite çalışma zamanı tarafından desteklenmeyen işlemleri kaldırmayı da destekler.

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 Temsilcileri: GPU, NNAPI ve XNNPACK

Bir temsilci olmadan TFLite, modeli CPU'da donanım hızlandırmaya göre 3–5 kat daha yavaş çalıştırır. GPU Temsilcisi Android'de OpenCL ve OpenGL ES 3.1 kullanır, Core ML Temsilcisi iOS'ta Neural Engine kullanır. NNAPI Temsilcisi Android 8.1+'da NPU ve DSP'den yararlanır. XNNPACK Temsilcisi, mobil işlemciler için optimizasyonlarla ARM CPU'da platformlar arası hızlandırma sağlar. Bir temsilci seçmek için, sonuçta null kontrolü ile TfLiteGpuDelegate.create() kullanın.

ML Kit: Mobil Geliştirmede ML için Hazır Çözümler

ML Kit, on-device ML için hazır API'lere sahip Google'ın SDK'sıdır. Mobil uygulamalarda ML Kit, metin tanıma (el yazısı dahil 50+ dil), Yüz Algılama (468 yüz ana noktası), Barkod Tarama (QR, EAN-13, Code 128, PDF417, Data Matrix) ve Nesne Algılama için kullanılır. Tüm API'ler internet olmadan tamamen cihazda çalışır. ML Kit, birleşik bir API ile iOS ve Android'de kullanılabilir.

ML Kit'te Yüz Algılama ve Metin Tanıma

Yüz Algılama, yüz konturu, kaşlar, gözler, burun ve dudakların koordinatlarının yanı sıra baş eğim açısı ve göz durumunu döndürür. AR maskeleri ve kamera filtreleri en popüler kullanım senaryosudur. Metin Tanıma, basılı karakterlerde %99'a varan doğrulukla fotoğraflardan metin çıkarır. API, CameraX aracılığıyla gerçek zamanlı tanımayı destekler.

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

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

ML Kit'te Barkod Tarama ve Nesne Algılama

Barkod Tarama, kameranın video akışından gerçek zamanlı olarak barkodları tanır. Nesne Algılama, sınırlayıcı kutu ve sınıf etiketi (insan, araba, hayvan) ile bir görüntüdeki nesneleri tanımlar. Poz Algılama, fitness uygulamaları ve hareket analizi için 33 vücut ana noktasını belirler. Görüntü Etiketleme, en fazla 10 anlamsal görüntü etiketi döndürür — "doğa", "şehir", "yemek".

Vision ve NaturalLanguage: iOS ve Android'de Yerleşik ML Araçları

Apple, üçüncü taraf SDK'ları kurmadan Vision ve NaturalLanguage aracılığıyla yerleşik ML çözümleri sağlar. Vision (VNRequest) cihazda yüz, metin, barkod ve kontur algılama gerçekleştirir. NaturalLanguage (NLTokenizer) tokenizasyon, lemmatizasyon, dil tanımlama ve duygu analizi sağlar. Android'de eşdeğerleri ML Kit (tanıma) ve android.speech'ten SpeechRecognizer (konuşma) aracılığıyla uygulanır. Yerleşik araçlar model indirme gerektirmez — sistemde önceden yüklüdürler.

Vision Çerçevesi: VNRequest ve VNCoreMLRequest

Vision, VNDetectFaceRectanglesRequest (yüz algılama), VNRecognizeTextRequest (metin tanıma), VNDetectBarcodesRequest (barkodlar) ve VNDetectHumanBodyPoseRequest (iskelet) içerir. VNCoreMLRequest, özel bir Core ML modelini Vision hattına entegre eder — örneğin, algılanan yüzlerde duygu sınıflandırması. Tüm istekler minimum gecikmeyle Neural Engine'de çalıştırılır.

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])

iOS'ta NaturalLanguage ve SFSpeechRecognizer

NaturalLanguage, metni tokenlara ayırmak için NLTokenizer, dil tanımlama için NLLanguageRecognizer (72 dil) ve NLSentimentAnalyzer metin duygu analizi sağlar. SFSpeechRecognizer, cihazda 50+ dili destekleyen bir konuşma tanıma API'sidir (iOS 13+). Kullanımdan önce SFSpeechRecognizerAuthorizationStatus izni gerektirir. Sonuçlar SFSpeechRecognitionResultHandler aracılığıyla eşzamansız olarak gelir.

Sıkça Sorulan Sorular

Cihazda ML nedir?

Cihazda ML (on-device ML), makine öğrenimi modellerinin sunucuya veri göndermeden doğrudan mobil cihazda çalıştırıldığı bir yaklaşımdır. Core ML, TensorFlow Lite ve ML Kit, on-device ML için ana çerçevelerdir.

Core ML, TensorFlow Lite'dan nasıl farklıdır?

Core ML, Neural Engine hızlandırmalı iOS ve macOS için Apple'ın çerçevesidir. TensorFlow Lite, Android, iOS ve Linux için Google'ın platformlar arası çözümüdür. Core ML, Apple cihazlarında daha iyi performans sunar, TFLite çok yönlülük sunar.

ML Kit hangi görevleri çözer?

ML Kit, tipik bilgisayarlı görü ve NLP görevlerini çözer: metin, yüz, barkod, nesne ve vücut duruşu tanıma. Tüm API'ler internet olmadan cihazda çalışır ve kendi modelinizi oluşturmanızı gerektirmez.

On-device ML için internet gerekli mi?

Hayır, on-device ML tamamen yerel olarak çalışır. Modeller cihaza yüklenir ve internet bağlantısı olmadan çalıştırılır. ML Kit ayrıca daha yüksek doğruluklu bulut tabanlı API sürümleri sunar, ancak on-device modu çevrimdışı kullanılabilir.

Mobil geliştirmede hangi ML çerçevesini seçmeliyim?

Yalnızca iOS için Core ML'i seçin — Neural Engine'i kullanır ve Apple ekosistemiyle sıkıca entegredir. Platformlar arası projeler için TensorFlow Lite'ı seçin. Özel model gerektirmeyen tipik görevler için hazır API'leriyle ML Kit'i seçin.

Özet

  • Cihazda ML — sunucuya veri göndermeden, sıfır ağ gecikmesiyle doğrudan mobil cihazda modelleri çalıştırma.
  • Core ML — iOS ve macOS için Neural Engine'de donanım hızlandırmalı Apple'ın çerçevesi.
  • TensorFlow Lite — int8 niceleme ve GPU, NNAPI, XNNPACK temsilcileriyle Google'ın platformlar arası çözümü.
  • ML Kit — model oluşturmadan metin, yüz ve barkod tanıma için hazır API'lere sahip SDK.
  • Vision ve NaturalLanguage — üçüncü taraf kütüphaneleri kurmadan iOS'ta yerleşik ML araçları.
  • Niceleme, minimum doğruluk kaybıyla model boyutunu 4 kat azaltır — mobil uygulamalar için standart.
  • On-device ML, hassas verileri ve çevrimdışı kullanım senaryoları olan uygulamalar için zorunlu bir standarttır.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış