단위 4 / 11

온디바이스 AI: Core ML, TensorFlow Lite 및 ML Kit

이득:

  • 개인 정보 보호, 오프라인 요구 사항, 모델 크기 및 배터리 기준에 따라 온디바이스 또는 클라우드를 결정하고 올바른 도구(ML Kit, Core ML, TensorFlow Lite)를 선택할 수 있는 기능
  • 모델 통합 시 모델의 문서에서 입력 전처리(크기 및 정규화)를 검증하여 자동 오류를 방지하는 기능
  • 낮은 신뢰도 예측을 절대적인 진실로 제시하지 않고 신뢰도 점수를 평가하고 사용자 승인을 통해 실제 장치에서 결과를 측정할 수 있는 기능입니다.

지금까지 우리는 개발 프로세스 속도를 높이기 위한 보조 수단으로 AI를 사용해 왔습니다. 이제 우리는 AI의 두 번째 역할인 애플리케이션에 내장된 인재로 넘어갑니다. 최신 전화기에는 이미지 인식, 텍스트 번역, 음성 전사 등과 같은 AI 모델을 장치에서 직접 실행할 수 있는 기능이 있습니다(기기 내 - 서버로 이동하지 않고 전화기 자체 프로세서에서). 장치의 AI; 속도, 개인 정보 보호 및 오프라인 작업 측면에서 클라우드 솔루션에 비해 큰 이점을 제공합니다. 이번 단원에서는 iOS의 Core ML, 크로스 플랫폼 TensorFlow Lite(현재 LiteRT로 알려짐) 및 Google의 기성 솔루션 ML Kit를 사용하여 애플리케이션에 AI를 삽입하는 방법과 이 통합에서 AI를 보조자로 사용하는 방법을 알아봅니다.

온디바이스인가요, 아니면 클라우드인가요?

이것이 첫 번째이자 가장 중요한 아키텍처 결정입니다. 온디바이스 AI는 휴대폰에서 데이터를 제거하지 않습니다. 이는 개인정보 보호 측면에서 큰 승리입니다. 또한 네트워크 대기 시간이 없으므로 즉각적이고 오프라인으로 작동합니다. 그러나 이는 장치의 처리 능력과 메모리에 의해 제한됩니다. 매우 큰 모델(예: 거대한 혀 모델)은 휴대폰에 맞지 않거나 배터리가 소모됩니다. 반면 클라우드 AI는 무제한의 전력을 제공하지만 서버에 데이터를 전송하고 네트워크가 필요하며 대기 시간이 발생합니다.

기준

기기 내

클라우드(클라우드 API)

개인 정보 보호

데이터는 기기에 유지되며 강력함

데이터가 서버로 이동하므로 주의가 필요함

속도

즉시, 네트워크 없음

네트워크 대기 시간에 따라 다름

오프라인

작동합니다

작동하지 않음

모델 크기

제한됨(전화 리소스)

무제한

배터리/열

많이 사용하면 효과

서버 부하가 낮고 장치가 느슨함

비용

무료(장치 소스)

사용 당 요금

결정 규칙: 개인/민감한 데이터를 처리 중이거나, 오프라인으로 작업해야 하거나, 즉각적인 응답이 필요한 경우 온디바이스를 선택하세요. 매우 큰 모델이 필요한 경우 클라우드로 전환하십시오. 이 단위는 기기 중심입니다. 다음 단원에서는 클라우드 AI를 다루겠습니다.

팁: 민감한 데이터(건강, 생체 인식, 위치)를 처리하는 기능에 대해 항상 기기를 기본값으로 설정하세요. "데이터는 기기 외부로 유출되지 않습니다"라는 문구는 개인 정보 보호 규정 준수와 사용자 신뢰 모두에 매우 중요하며 매장 개인 정보 보호 라벨에 큰 차이를 만듭니다.

세 가지 방법: ML Kit, Core ML, TensorFlow Lite

ML Kit(Google)는 시작하는 가장 쉬운 방법입니다. 텍스트 인식(OCR - 이미지의 텍스트 읽기), 얼굴 감지, 바코드 읽기, 몇 줄 번역과 같은 기성 기능을 제공합니다. 자신만의 모델을 학습시킬 필요가 없습니다. Core ML(Apple)은 iOS에서 자체 모델이나 기성 모델을 실행하는 가장 효율적인 방법입니다. Apple의 Neural Engine(인공 신경망 프로세서) 하드웨어를 사용합니다. TensorFlow Lite/LiteRT는 Android와 iOS 모두에서 학습된 자체 모델을 실행할 수 있는 크로스 플랫폼 솔루션입니다.

AI와의 일반적인 통합 흐름은 다음과 같습니다.

  1. 인재 정의. "사진 속의 글을 읽고 싶다"와 같은 명확한 목표.
  2. 경로 선택. 준비된 인재가 있다면 ML Kit; 특수 모델을 사용할 수 있는 경우 Core ML/TF Lite.
  3. 모델 형식. .mlmodel(코어 ML), .tflite(TF Lite). AI 변환 단계를 설명합니다.
  4. 통합 코드. 모델 로드, 입력 전처리, 출력 해석.
  5. 성능 테스트. 실제 장치의 속도, 메모리, 배터리 측정.
주의: 온디바이스 모델 통합에서 가장 흔한 AI 실수는 입력 전처리, 즉 이미지를 모델이 기대하는 크기 및 색상 형식으로 변환하는 것입니다. 모델이 224x224픽셀을 예상하고 300x300픽셀을 제공하면 결과는 의미가 없지만 오류 메시지는 수신되지 않습니다. 모델 문서에서 전처리 값을 확인합니다.

모델의 한계를 아는 것

온디바이스 모델은 훈련된 데이터를 기반으로 결정을 내립니다. 낮에 촬영한 사진으로만 훈련된 객체 인식 모델은 밤 이미지에서는 틀릴 것입니다. 모델에는 신뢰도 점수(신뢰도 - 모델이 답변에 대해 얼마나 확신하는지, 일반적으로 0에서 1 사이)가 있습니다. 신뢰도가 낮은 결과를 사용자에게 정확한 것으로 제시하는 것은 위험합니다. 예를 들어, 피부 반점 스캐닝 애플리케이션은 "확실히 양성"이라고 말해서는 안 되며 "모델의 예측은 다음과 같습니다. 의사와 상담하십시오"라고 말해야 합니다. 모델 결과는 진단이 아니라 권장 사항입니다.

세 개의 미니 케이스

사례 1 — OCR을 통한 가속화. 비용 추적 앱은 ML Kit 텍스트 인식을 통해 영수증을 수동으로 입력해야 하는 부담을 없앴습니다. 사용자가 영수증을 사진으로 찍으면 금액과 날짜가 자동으로 입력된다. 영수증당 수동 입력 시간이 40초에서 8초로 감소했습니다. 팀은 항상 AI가 읽은 양을 사용자에게 확인하도록 했습니다. 구겨진 영수증에는 6%의 오차범위가 있었기 때문입니다. 자동화 + 사람의 승인이 적절한 균형을 이루었습니다.

사례 2 - 전처리 오류. 한 팀은 식물 인식 모델을 TensorFlow Lite와 통합했습니다. 테스터에서 결과는 무작위였습니다. 문제는 AI가 생성한 코드가 모델이 예상한 [0,1] 범위로 이미지를 정규화하지 않았다는 것입니다(픽셀 값은 0~255로 남아 있었습니다). 정규화를 추가하면 정확도가 30%에서 89%로 증가했습니다. 교훈: 전처리는 조용하지만 치명적입니다.

사례 3 - 개인 정보 보호 이득. 건강 애플리케이션이 온디바이스 Core ML 모델을 사용하여 심박수 데이터에서 이상 징후를 감지했습니다. 데이터가 서버로 이동하지 않았습니다. 이러한 선택을 통해 해당 애플리케이션은 App Store 개인 정보 보호 라벨에 "데이터를 수집하지 않습니다"라는 문구를 받을 수 있었고 경쟁사에 비해 다운로드 속도가 높아졌습니다. 온디바이스 선택은 윤리적이고 상업적으로 이익이 되었습니다.

약한 프롬프트 / 강한 프롬프트

약한 프롬프트: "내 앱에 이미지 인식을 추가해 주세요."

강력한 프롬프트: "내 Android/Kotlin 애플리케이션에 금액 및 날짜 읽기 기능을 추가합니다. - Google ML Kit 텍스트 인식(기기 내, 오프라인)을 사용합니다. - 카메라 또는 갤러리에서 이미지를 가져옵니다. - 정규식을 사용하여 인식된 텍스트에서 금액과 날짜를 추출합니다. - 편집 가능 필드에서 승인을 위해 사용자에게 결과를 제시하고 자동 저장합니다. - 카메라 권한 흐름 및 거부를 처리합니다. 전처리 및 오류 상황을 기록하고 단계를 설명합니다."

복사 가능한 템플릿

경로 선택 템플릿: "다음 기능을 만들고 싶습니다: [기능]. 온디바이스에 있어야 할까요, 아니면 클라우드에 있어야 할까요? 개인 정보 보호, 오프라인 요구 사항, 모델 크기, 배터리, 비용을 기준으로 비교합니다. 적절한 도구(ML Kit/Core ML/TF Lite)를 추천하고 타당성을 입증합니다."

통합 템플릿:"[플랫폼]에 대한 [모델/기능] 통합 작성:1) 모델 로드2) 입력 전처리(예상 크기 및 정규화)3) 추론 호출4) 출력 해석 및 신뢰도 점수 확인5) 신뢰도가 낮은 결과에 대해 사용자에게 경고 모델 문서에서 전처리 값을 확인하도록 알림."

신뢰도 점수 템플릿:"이 추론 코드에서 신뢰도 점수를 고려합니다. - 임계값(예: 0.6)보다 낮은 '정확한' 결과를 제시합니다. - 사용자에게 '이것은 추정치입니다' 메모를 표시합니다. - 중요한 영역(건강, 안전)[코드]인 경우 전문가에게 문의합니다."

성능 검증 템플릿: "이 온디바이스 모델 통합을 위해 실제 디바이스에서 측정해야 하는 측정항목(추론 시간, 메모리 증가, 배터리 영향, 발열)을 나열합니다. 각각에 대한 측정 방법을 알려주세요."

일반적인 실수

  • 전처리를 건너뛰거나 잘못 수행합니다. 잘못된 크기/정규화는 자동으로 잘못된 결과를 생성합니다.
  • 신뢰도 점수를 무시합니다. 신뢰도가 낮은 추정치를 정확한 것으로 제시하면 사용자에게 오해를 불러일으킬 수 있습니다.
  • 에뮬레이터에서 모델을 테스트합니다. 실제 장치 속도와 배터리는 매우 다릅니다. 항상 실제 하드웨어를 기준으로 측정하세요.
  • 민감한 데이터를 불필요하게 클라우드로 전송합니다. 온디바이스가 가능할 때 클라우드를 선택하는 것은 개인 정보 보호 위험이 있습니다.
  • 모델 크기를 무시합니다. 대형 모델 앱은 다운로드 크기를 늘리고 낮은 하드웨어에서 충돌이 발생합니다.
  • 모델의 훈련 한계를 잊어버렸습니다. 모델이 보이지 않는 상태(밤, 다른 언어)로 착각합니다. 이 점을 사용자에게 명확하게 설명하세요.

요약하면

온디바이스 AI는 휴대폰에 데이터를 보관하여 개인 정보 보호, 속도 및 오프라인 작업을 제공합니다. 제한은 장치 전력 및 모델 크기입니다. ML Kit는 기본 기능에 사용되며, Core ML(iOS) 및 TensorFlow Lite(크로스 플랫폼)는 맞춤형 모델에 사용됩니다. 통합의 조용한 살인자는 부적절한 전처리입니다. 입력 크기와 정규화는 모델 문서에서 확인됩니다. 각 결과에는 신뢰도 점수가 제공되며 신뢰도가 낮은 예측은 절대적인 진실로 제시되지 않습니다. 결정은 에뮬레이터가 아닌 실제 장치에서 측정됩니다.

응용과제

"사진에서 텍스트 읽기" 또는 "바코드 읽기" 기능의 경우 AI에 "경로 선택 템플릿"을 사용하여 기기에 있어야 하는지 클라우드에 있어야 하는지 물어본 다음 "통합 템플릿"으로 ML Kit 기반 청사진을 요청하세요. 코드에 전처리 단계와 사용자 승인/편집 흐름이 있는지 확인하세요. 신뢰 점수 임계값을 설정하고 결과가 신뢰도가 낮을 ​​경우 어떻게 할지 작성하세요.

체크리스트

  • [ ] 기준에 따라 온디바이스/클라우드 결정을 내렸습니다.
  • [ ] 올바른 도구를 선택했습니다(ML Kit / Core ML / TF Lite).
  • [ ] 모델 문서에서 전처리 차원과 정규화를 확인했습니다.
  • [ ] 신뢰도를 확인하고 신뢰도가 낮은 결과를 경고했습니다.
  • [ ] 결과를 승인/수정하여 사용자에게 제시하였고, 무턱대고 저장한 것은 아닙니다.
  • [ ] 에뮬레이터가 아닌 실제 기기에서 성능을 측정했습니다.