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 (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, 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 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, 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, 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.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
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 (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, 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.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
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, 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.
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.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
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".
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, 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.
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, 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 (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, 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, 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.
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.
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
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.