ML trên thiết bị trong phát triển di động: nó là gì, framework nào và cách hoạt động

Tác giả: IT Sectr Đã đăng: 2026-07-29 Thời gian đọc: 11 phút

ML trên thiết bị (on-device ML) — thực thi mô hình máy học trực tiếp trên thiết bị di động mà không gửi dữ liệu đến máy chủ. Theo báo cáo từ Google AI, 2025, hơn 70% người dùng thích ứng dụng có on-device ML vì quyền riêng tư và không có độ trễ mạng. Core ML của Apple, TensorFlow Lite của Google và ML Kit cho phép giải quyết các tác vụ Vision, NLP, nhận diện khuôn mặt và đối tượng hoàn toàn trên thiết bị — không cần internet và với mức tiêu thụ năng lượng tối thiểu.

Điểm chính

  • ML trên thiết bị — chạy mô hình máy học trực tiếp trên thiết bị di động mà không xử lý dữ liệu phía máy chủ.
  • Core ML — framework của Apple với tăng tốc phần cứng trên Neural Engine cho iOS và macOS.
  • TensorFlow Lite — giải pháp đa nền tảng của Google với lượng tử hóa và các delegate GPU, NNAPI, XNNPACK.
  • ML Kit — SDK với API có sẵn để nhận diện văn bản, khuôn mặt, mã vạch và đối tượng mà không cần tạo mô hình.
  • Vision và NaturalLanguage — công cụ ML tích hợp trên iOS để phân tích hình ảnh và văn bản.

ML trên thiết bị là gì và tại sao cần trong ứng dụng di động

ML trên thiết bị (on-device ML) là cách tiếp cận trong đó mô hình máy học được thực thi trực tiếp trên thiết bị di động mà không gửi dữ liệu đến máy chủ từ xa. Quyền riêng tư là lợi thế chính: dữ liệu người dùng không rời khỏi thiết bị. Theo nghiên cứu của Google (2024), 63% người dùng từ chối các tính năng ML yêu cầu gửi dữ liệu đến máy chủ. On-device ML loại bỏ độ trễ mạng, hoạt động ngoại tuyến và giảm tiêu thụ năng lượng nhờ tăng tốc phần cứng.

Lợi ích của on-device ML so với giải pháp đám mây

On-device ML xử lý dữ liệu trong mili giây thay vì giây — rất quan trọng cho nhận diện khuôn mặt và đối tượng theo thời gian thực. Không cần kết nối internet là một lợi thế khác: tính năng ML khả dụng ở chế độ máy bay và ở những khu vực có kết nối không ổn định. Core ML sử dụng Neural Engine trong chip Apple A12+, cung cấp 11 nghìn tỷ phép tính mỗi giây với mức tiêu thụ dưới 1 W. Đối với ứng dụng di động, on-device ML đã trở thành tiêu chuẩn thực tế trong các tác vụ Vision, NLP và nhận diện đối tượng.

Các kịch bản chính của on-device ML trong ứng dụng di động

ML trong ứng dụng di động được sử dụng cho xác thực khuôn mặt (Face ID), bộ lọc AR trong Snapchat và Instagram, trình theo dõi thể dục với Pose Detection, quét OCR trong Adobe Scan và nhập liệu dự đoán trong bàn phím. Mô hình tùy chỉnh cho các tác vụ cụ thể được tạo qua Core ML (iOS) hoặc TensorFlow Lite (Android). ML Kit phù hợp cho các kịch bản điển hình — nhận diện văn bản, khuôn mặt và mã vạch mà không cần huấn luyện mô hình.

Core ML: framework của Apple cho ML trên thiết bị trên iOS

Core ML là framework của Apple để chạy mô hình ML trên iPhone, iPad, Mac và Apple Watch. Nó tự động chọn tăng tốc phần cứng tối ưu: Neural Engine cho mạng nơ-ron trên thiết bị có A12+ (11 TOPS), GPU cho tác vụ xử lý hình ảnh và CPU cho tính toán tuần tự. Core ML hỗ trợ định dạng .mlmodel (gốc) và .mlmodelc (đã biên dịch). Chuyển đổi mô hình từ PyTorch và TensorFlow được thực hiện qua coremltools — thư viện Python bảo toàn cấu trúc liên kết và trọng số.

Create ML và coremltools

Create ML là ứng dụng của Apple để huấn luyện mô hình đơn giản mà không cần viết mã. Cho sản xuất, sử dụng coremltools — công cụ chuyển đổi từ PyTorch, TensorFlow và scikit-learn. Coremltools hỗ trợ lượng tử hóa float32 → float16 và int8, tạo bảng màu không gian màu và loại bỏ các thao tác dư thừa để giảm kích thước mô hình.

python
import coremltools as ct

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

Neural Engine và tăng tốc phần cứng Core ML

Neural Engine là bộ xử lý thần kinh chuyên dụng trong chip Apple A12 trở lên. 16 lõi thực hiện tới 11 nghìn tỷ phép tính mỗi giây với mức tiêu thụ dưới 1 W. Core ML tự động định tuyến tính toán mạng nơ-ron đến Neural Engine và tính toán tương thích GPU đến Metal GPU. Nhà phát triển không cần chọn thiết bị — Core ML thực hiện điều này qua Performance Report, phân tích mô hình và phần cứng khả dụng.

TensorFlow Lite: ML trên thiết bị đa nền tảng từ Google

TensorFlow Lite (TFLite) là giải pháp đa nền tảng của Google để chạy mô hình ML trên Android, iOS và Linux. Mô hình có định dạng .tflite và được tạo qua TFLiteConverter từ hệ sinh thái TensorFlow. TFLite hỗ trợ lượng tử hóa float32 → int8, giúp giảm kích thước mô hình 4 lần trong khi duy trì độ chính xác 97–99% trên các tác vụ phân loại. Google Play Services for TFLite tự động cập nhật runtime mà không cần phát hành lại ứng dụng.

TFLiteConverter và lượng tử hóa mô hình

TFLiteConverter là công cụ chính để chuyển đổi mô hình TensorFlow sang định dạng .tflite. Lượng tử hóa int8 sau huấn luyện nén mô hình từ 300 MB xuống 75 MB mà không cần truy cập toàn bộ tập dữ liệu. Huấn luyện nhận biết lượng tử hóa (QAT) cho tổn thất độ chính xác tối thiểu — dưới 1% trên ImageNet. TFLiteConverter cũng hỗ trợ cắt tỉa đồ thị và loại bỏ các thao tác không được runtime TFLite hỗ trợ.

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

Delegate TFLite: GPU, NNAPI và XNNPACK

Không có delegate, TFLite chạy mô hình trên CPU chậm hơn 3–5 lần so với khi có tăng tốc phần cứng. GPU Delegate sử dụng OpenCL và OpenGL ES 3.1 trên Android, Core ML Delegate sử dụng Neural Engine trên iOS. NNAPI Delegate tận dụng NPU và DSP trên Android 8.1+. XNNPACK Delegate cung cấp tăng tốc đa nền tảng trên ARM CPU với tối ưu hóa cho bộ xử lý di động. Để chọn delegate, sử dụng TfLiteGpuDelegate.create() với kiểm tra null trên kết quả.

ML Kit: giải pháp có sẵn cho ML trong phát triển di động

ML Kit là SDK của Google với API có sẵn cho on-device ML. Trong ứng dụng di động, ML Kit được sử dụng cho nhận diện văn bản (hơn 50 ngôn ngữ, bao gồm chữ viết tay), Face Detection (468 điểm chính trên khuôn mặt), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) và Object Detection. Tất cả API hoạt động hoàn toàn trên thiết bị không cần internet. ML Kit có sẵn trên iOS và Android với API thống nhất.

Face Detection và Text Recognition trong ML Kit

Face Detection trả về tọa độ đường viền khuôn mặt, lông mày, mắt, mũi và môi, cùng với góc nghiêng đầu và trạng thái mắt. Mặt nạ AR và bộ lọc camera là trường hợp sử dụng phổ biến nhất. Text Recognition trích xuất văn bản từ ảnh với độ chính xác lên tới 99% trên ký tự in. API hỗ trợ nhận diện thời gian thực qua CameraX.

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

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

Barcode Scanning và Object Detection trong ML Kit

Barcode Scanning nhận diện mã vạch trong luồng video từ camera theo thời gian thực. Object Detection xác định đối tượng trong hình ảnh với khung bao và nhãn lớp (người, xe hơi, động vật). Pose Detection xác định 33 điểm chính trên cơ thể cho ứng dụng thể dục và phân tích chuyển động. Image Labeling trả về tối đa 10 nhãn ngữ nghĩa của hình ảnh — "thiên nhiên", "thành phố", "thức ăn".

Vision và NaturalLanguage: công cụ ML tích hợp trên iOS và Android

Apple cung cấp giải pháp ML tích hợp qua Vision và NaturalLanguage mà không cần cài đặt SDK bên thứ ba. Vision (VNRequest) thực hiện phát hiện khuôn mặt, văn bản, mã vạch và đường viền trên thiết bị. NaturalLanguage (NLTokenizer) cung cấp token hóa, phân tích hình thái, nhận dạng ngôn ngữ và phân tích cảm xúc. Trên Android, các chức năng tương đương được triển khai qua ML Kit (nhận diện) và SpeechRecognizer từ android.speech (giọng nói). Công cụ tích hợp không yêu cầu tải xuống mô hình — chúng được cài đặt sẵn trong hệ thống.

Vision framework: VNRequest và VNCoreMLRequest

Vision bao gồm VNDetectFaceRectanglesRequest (phát hiện khuôn mặt), VNRecognizeTextRequest (nhận diện văn bản), VNDetectBarcodesRequest (mã vạch) và VNDetectHumanBodyPoseRequest (bộ xương). VNCoreMLRequest tích hợp mô hình Core ML tùy chỉnh vào pipeline Vision — ví dụ, phân loại cảm xúc trên khuôn mặt được phát hiện. Tất cả yêu cầu được thực thi trên Neural Engine với độ trễ tối thiểu.

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 và SFSpeechRecognizer trên iOS

NaturalLanguage cung cấp NLTokenizer để chia văn bản thành token, NLLanguageRecognizer để nhận dạng ngôn ngữ (72 ngôn ngữ) và NLSentimentAnalyzer để phân tích cảm xúc văn bản. SFSpeechRecognizer là API nhận dạng giọng nói hỗ trợ hơn 50 ngôn ngữ trên thiết bị (iOS 13+). Yêu cầu quyền SFSpeechRecognizerAuthorizationStatus trước khi sử dụng. Kết quả đến bất đồng bộ qua SFSpeechRecognitionResultHandler.

Câu hỏi thường gặp

ML trên thiết bị là gì?

ML trên thiết bị (on-device ML) là cách tiếp cận trong đó mô hình máy học được chạy trực tiếp trên thiết bị di động mà không gửi dữ liệu đến máy chủ. Core ML, TensorFlow Lite và ML Kit là các framework chính cho on-device ML.

Core ML khác TensorFlow Lite như thế nào?

Core ML là framework của Apple cho iOS và macOS với tăng tốc trên Neural Engine. TensorFlow Lite là giải pháp đa nền tảng của Google cho Android, iOS và Linux. Core ML cung cấp hiệu suất tốt hơn trên thiết bị Apple, TFLite cung cấp tính linh hoạt.

ML Kit giải quyết những tác vụ nào?

ML Kit giải quyết các tác vụ thị giác máy tính và NLP điển hình: nhận diện văn bản, khuôn mặt, mã vạch, đối tượng và tư thế cơ thể. Tất cả API hoạt động trên thiết bị không cần internet và không yêu cầu tạo mô hình riêng.

Có cần internet cho on-device ML không?

Không, on-device ML hoạt động hoàn toàn cục bộ. Mô hình được tải lên thiết bị và thực thi mà không cần kết nối internet. ML Kit cũng cung cấp phiên bản API đám mây với độ chính xác cao hơn, nhưng chế độ on-device có sẵn ngoại tuyến.

Nên chọn framework nào cho ML trong phát triển di động?

Chỉ dành cho iOS, chọn Core ML — nó sử dụng Neural Engine và tích hợp chặt chẽ với hệ sinh thái Apple. Cho dự án đa nền tảng, chọn TensorFlow Lite. Cho tác vụ điển hình không cần mô hình tùy chỉnh, chọn ML Kit với API có sẵn.

Tổng kết

  • ML trên thiết bị — chạy mô hình trực tiếp trên thiết bị di động mà không gửi dữ liệu đến máy chủ, với độ trễ mạng bằng không.
  • Core ML — framework của Apple với tăng tốc phần cứng trên Neural Engine cho iOS và macOS.
  • TensorFlow Lite — giải pháp đa nền tảng của Google với lượng tử hóa int8 và delegate GPU, NNAPI, XNNPACK.
  • ML Kit — SDK với API có sẵn để nhận diện văn bản, khuôn mặt và mã vạch mà không cần tạo mô hình.
  • Vision và NaturalLanguage — công cụ ML tích hợp trên iOS không cần cài đặt thư viện bên thứ ba.
  • Lượng tử hóa giảm kích thước mô hình 4 lần với tổn thất độ chính xác tối thiểu — tiêu chuẩn cho ứng dụng di động.
  • On-device ML là tiêu chuẩn bắt buộc cho ứng dụng có dữ liệu nhạy cảm và kịch bản sử dụng ngoại tuyến.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án