이 가이드는 Google의 생성형 인공지능 및 머신러닝 (AI/ML) 솔루션을 애플리케이션에 통합하는 데 도움이 되도록 설계되었습니다. 다양한 인공지능 및 머신러닝 솔루션을 살펴보고 필요에 가장 적합한 솔루션을 선택하는 데 도움이 되는 안내를 제공합니다. 이 문서의 목표는 요구사항과 사용 사례에 중점을 두어 어떤 도구를 사용해야 하는지, 그 이유는 무엇인지 파악하는 데 도움을 주는 것입니다.
특정 요구사항에 가장 적합한 AI/ML 솔루션을 선택하는 데 도움이 되도록 이 문서에는 솔루션 가이드가 포함되어 있습니다. 프로젝트의 목표와 제약 조건에 관한 일련의 질문에 답하면 가이드에서 가장 적합한 도구와 기술을 안내합니다.
이 가이드는 앱에 가장 적합한 AI 솔루션을 선택하는 데 도움이 됩니다. 데이터 유형 (텍스트, 이미지, 오디오, 동영상), 작업의 복잡성(간단한 요약부터 전문 지식이 필요한 복잡한 작업), 데이터 크기 (짧은 입력 대 대형 문서) 등의 요소를 고려하세요. 이를 통해 기기에서 Gemini Nano를 사용할지 아니면 Firebase의 클라우드 기반 AI (Gemini Flash 또는 Gemini Pro)를 사용할지 결정할 수 있습니다.
온디바이스 추론의 강력한 기능 활용하기
Android 앱에 AI 및 ML 기능을 추가할 때 기기에서 또는 클라우드를 사용하여 기능을 제공하는 다양한 방법을 선택할 수 있습니다.
Gemini Nano와 같은 온디바이스 솔루션은 추가 비용 없이 결과를 제공하고, 입력 데이터가 로컬로 처리되므로 사용자 개인 정보 보호를 강화하며, 안정적인 오프라인 기능을 제공합니다. 이러한 이점은 메시지 요약과 같은 특정 사용 사례에 매우 중요할 수 있으므로 적절한 솔루션을 선택할 때 온디바이스가 우선순위가 됩니다.
Gemini Nano를 사용하면 Android 기반 기기에서 직접 추론을 실행할 수 있습니다. 텍스트, 이미지 또는 오디오로 작업하는 경우 ML Kit의 GenAI API를 사용하여 바로 사용할 수 있는 솔루션을 시작하세요. ML Kit GenAI API는 Gemini Nano로 구동되며, AICore를 기본 시스템 서비스로 활용하고 특정 온디바이스 작업에 맞게 미세 조정됩니다. ML Kit 생성형 AI API는 상위 수준 인터페이스와 확장성으로 인해 앱의 프로덕션에 적합합니다. 이러한 API를 사용하면 텍스트와 이미지 입력이 모두 포함된 자연어 요청을 전송할 수 있으므로 이미지 이해, 짧은 번역, 안내 요약 등 다양한 사용 사례를 지원할 수 있습니다.
기존 머신러닝 작업의 경우 자체 맞춤 모델을 유연하게 구현할 수 있습니다. Google은 ML Kit, MediaPipe, LiteRT, Google Play 전송 기능과 같은 강력한 도구를 제공하여 개발 프로세스를 간소화합니다.
고도로 전문화된 솔루션이 필요한 애플리케이션의 경우 Gemma와 같은 자체 맞춤 모델이나 특정 사용 사례에 맞게 조정된 다른 모델을 사용할 수 있습니다. 최적화된 성능을 위해 사전 설계된 모델 아키텍처를 제공하는 LiteRT를 사용하여 사용자의 기기에서 직접 모델을 실행합니다.
온디바이스 모델과 클라우드 모델을 모두 활용하여 하이브리드 솔루션을 빌드하는 것도 고려할 수 있습니다.
모바일 앱은 일반적으로 채팅 대화나 블로그 게시물과 같은 작은 텍스트 데이터에 로컬 모델을 활용합니다. 하지만 더 큰 데이터 소스 (예: PDF)의 경우 또는 추가 지식이 필요한 경우 더 강력한 Gemini 모델이 있는 클라우드 기반 솔루션이 필요할 수 있습니다.
고급 Gemini 모델 통합
Android 개발자는 Firebase AI Logic SDK를 사용하여 강력한 Gemini Pro 및 Gemini Flash 모델을 비롯한 Google의 고급 생성형 AI 기능을 애플리케이션에 통합할 수 있습니다. 이 SDK는 대규모 데이터 요구사항을 위해 설계되었으며, 이러한 고성능 멀티모달 AI 모델에 대한 액세스를 지원하여 확장된 기능과 적응성을 제공합니다.
개발자는 Firebase AI Logic SDK를 사용하여 최소한의 노력으로 Google의 AI 모델을 클라이언트 측에서 호출할 수 있습니다. 이러한 모델(예: Gemini Pro, Gemini Flash)은 클라우드에서 추론을 실행하며 Android 앱이 이미지, 오디오, 동영상, 텍스트를 비롯한 다양한 입력을 처리할 수 있도록 지원합니다. Gemini Pro는 복잡한 문제에 대한 추론과 광범위한 데이터 분석에 탁월하며, Gemini Flash 시리즈는 대부분의 작업에 충분한 속도와 컨텍스트 윈도우를 제공합니다.
기존 머신러닝을 사용해야 하는 경우
생성형 AI는 텍스트, 이미지, 코드와 같은 콘텐츠를 만들고 수정하는 데 유용하지만, 많은 실제 문제는 기존 머신러닝 (ML) 기법을 사용하여 해결하는 것이 더 좋습니다. 이러한 기존 방법은 예측, 분류, 감지, 기존 데이터 내 패턴 이해와 관련된 작업에서 뛰어난 성능을 발휘하며, 생성형 모델보다 효율성이 높고 계산 비용이 낮으며 구현이 더 간단한 경우가 많습니다.
기존 ML 프레임워크는 완전히 새로운 출력을 생성하는 대신 입력을 분석하거나, 특징을 식별하거나, 학습된 패턴을 기반으로 예측하는 데 중점을 두는 애플리케이션을 위한 강력하고 최적화된 실용적인 솔루션을 제공하는 경우가 많습니다. Google의 ML Kit, LiteRT, MediaPipe와 같은 도구는 이러한 생성형이 아닌 사용 사례, 특히 모바일 및 에지 컴퓨팅 환경에 맞게 조정된 강력한 기능을 제공합니다.
ML Kit으로 머신러닝 통합 시작하기
ML Kit는 사전 ML 전문 지식이 필요 없는 일반적인 머신러닝 작업을 위한 프로덕션 지원 모바일 최적화 솔루션을 제공합니다. 사용하기 쉬운 이 모바일 SDK는 Google의 ML 전문 지식을 Android 및 iOS 앱에 직접 제공하므로 모델 학습 및 최적화 대신 기능 개발에 집중할 수 있습니다. ML Kit는 바코드 스캔, 텍스트 인식 (OCR), 얼굴 인식, 이미지 라벨 지정, 객체 감지 및 추적, 언어 식별, 스마트 답장과 같은 기능을 위한 사전 빌드된 API와 즉시 사용 가능한 모델을 제공합니다.
이러한 모델은 일반적으로 기기 내 실행에 최적화되어 있어 데이터가 기기에 남아 있는 경우가 많으므로 지연 시간이 짧고 오프라인 기능이 있으며 사용자 개인 정보 보호가 강화됩니다. 모델을 학습시키거나 생성형 출력이 필요하지 않고도 모바일 앱에 확립된 ML 기능을 빠르게 추가하려면 ML Kit를 선택하세요. Google의 최적화된 모델을 사용하거나 맞춤 TensorFlow Lite 모델을 배포하여 '스마트' 기능으로 앱을 효율적으로 개선하는 데 적합합니다.
ML Kit 개발자 사이트에서 종합 가이드와 문서를 확인하여 시작하세요.
LiteRT를 사용한 맞춤 ML 배포
더 세부적으로 제어하거나 자체 ML 모델을 배포하려면 LiteRT 및 Google Play 서비스에 기반한 맞춤 ML 스택을 사용하세요. 이 스택은 고성능 ML 기능을 배포하는 데 필요한 필수 요소를 제공합니다. LiteRT는 리소스가 제한된 모바일, 삽입형, 에지 기기에서 TensorFlow 모델을 효율적으로 실행하도록 최적화된 툴킷으로, 메모리, 전력, 저장용량을 적게 사용하는 훨씬 작고 빠른 모델을 실행할 수 있습니다. LiteRT 런타임은 에지 기기의 다양한 하드웨어 가속기 (GPU, DSP, NPU)에 맞게 고도로 최적화되어 지연 시간이 짧은 추론을 지원합니다.
스마트폰, IoT 기기, 마이크로컨트롤러와 같이 컴퓨팅 성능이나 배터리 수명이 제한된 기기에 학습된 ML 모델 (일반적으로 분류, 회귀 또는 감지용)을 효율적으로 배포해야 하는 경우 LiteRT를 선택하세요. 속도와 리소스 보존이 중요한 에지에서 맞춤 예측 모델이나 표준 예측 모델을 배포하는 데 권장되는 솔루션입니다.
LiteRT를 사용한 ML 배포에 대해 자세히 알아보세요.
MediaPipe로 앱에 실시간 인식 기능 빌드
MediaPipe는 라이브 및 스트리밍 미디어를 위해 설계된 오픈소스, 크로스 플랫폼, 맞춤설정 가능한 머신러닝 솔루션을 제공합니다. 핸드 트래킹, 자세 추정, 얼굴 메쉬 감지, 객체 감지와 같은 복잡한 작업을 위해 최적화된 사전 빌드 도구를 활용하여 모바일 기기에서도 고성능의 실시간 상호작용을 지원합니다.
MediaPipe의 그래프 기반 파이프라인은 맞춤설정이 가능하므로 Android, iOS, 웹, 데스크톱, 백엔드 애플리케이션용 솔루션을 맞춤설정할 수 있습니다. 애플리케이션에서 실시간 센서 데이터(특히 동영상 스트림)를 즉시 이해하고 반응해야 하는 경우(예: 동작 인식, AR 효과, 피트니스 추적, 아바타 제어와 같은 사용 사례) MediaPipe를 선택하세요. MediaPipe는 입력 분석 및 해석에 중점을 둡니다.
솔루션을 살펴보고 MediaPipe로 빌드를 시작하세요.
앱을 기기 어시스턴트와 통합
기존 AI 통합은 '앱에 AI를 통합'하는 데 중점을 두지만 '앱을 AI에 통합'할 수도 있습니다. 앱의 기능을 시스템 AI 기능에 제공하면 Gemini와 같은 시스템 수준 어시스턴트가 앱의 기능을 에이전트 방식으로 검색하고 호출할 수 있습니다. AppFunctions는 이러한 통합을 달성하는 기본 방법으로, 앱이 더 광범위한 Android AI 생태계에 참여할 수 있도록 지원합니다. 반대로 앱이 사용자에게 대화형 UI를 반환해야 하는 인앱 에이전트를 호스팅하는 경우 Jetpack Compose A2UI 렌더러를 사용하여 에이전트 기반 인터페이스를 네이티브로 표시합니다.
접근 방식 선택
AI를 통합하여 Android 앱을 개선할 때는 기기에서 처리를 실행하거나, 클라우드 기반 모델을 활용하거나, 앱의 기능을 시스템 수준 AI에 추가하는 세 가지 기본 접근 방식을 고려해야 합니다. ML Kit, Gemini Nano, LiteRT와 같은 도구는 온디바이스 기능을 지원하고, Firebase AI Logic이 적용된 Gemini 클라우드 API는 강력한 클라우드 기반 처리를 제공합니다. AppFunctions는 세 번째 경로를 나타내며, 기능을 시스템에서 에이전트 방식으로 사용할 수 있도록 하여 '앱을 AI에 통합'할 수 있습니다.
접근 방식을 선택할 때 다음 요소를 고려하세요.
| 요소 | 온디바이스 솔루션 | 클라우드 솔루션 |
|---|---|---|
| 연결 및 오프라인 기능 | 오프라인 사용에 적합하며 네트워크 연결 없이 작동합니다. | 원격 서버와 통신하려면 네트워크 연결이 필요합니다. |
| 데이터 개인 정보 보호 | 민감한 정보를 기기에 로컬로 처리하고 저장합니다. | 데이터가 클라우드로 전송되므로 제공업체 보안을 신뢰해야 합니다. |
| 검색 가능성 및 도달범위 | 직접 OS 통합 (AppFunctions)을 통해 어시스턴트가 기능을 검색할 수 있습니다. | 일반적으로 검색은 앱의 내부 UI 또는 특정 API 통합으로 제한됩니다. |
| 모델 기능 | 짧은 지연 시간과 특정하고 강도가 낮은 작업에 최적화되어 있습니다. | 높은 복잡성과 대규모 입력을 처리할 수 있는 강력한 모델 |
| 비용 고려사항 | 사용당 직접 요금이 부과되지 않으며 기존 기기 하드웨어를 활용합니다. | 일반적으로 사용량 기반 요금 또는 지속적인 구독 비용이 포함됩니다. |
| 기기 리소스 | 로컬 스토리지, RAM, 배터리 수명을 활용합니다. | 로컬 영향이 최소화됩니다. 무거운 작업은 서버로 오프로드됩니다. |
| 세부 조정 | 유연성이 제한적이며 로컬 하드웨어 기능에 의해 제한됩니다. | 광범위한 맞춤설정 및 대규모 조정에 더 높은 유연성을 제공합니다. |
| 크로스 플랫폼 일관성 | 사용 가능 여부는 OS 및 하드웨어 지원에 따라 다를 수 있습니다. | 인터넷 액세스가 가능한 모든 플랫폼에서 일관된 환경을 제공합니다. |
사용 사례 요구사항과 사용 가능한 옵션을 신중하게 고려하면 Android 앱을 개선하고 사용자에게 지능적이고 맞춤화된 경험을 제공할 수 있는 완벽한 AI/ML 솔루션을 찾을 수 있습니다.
AI/ML 솔루션 가이드
이 솔루션 가이드는 Android 프로젝트에 AI/ML 기술을 통합하는 데 적합한 개발자 도구를 식별하는 데 도움이 됩니다.
AI 기능의 기본 목표는 무엇인가요?
- A) 새로운 콘텐츠 (텍스트, 이미지 설명)를 생성하거나 간단한 텍스트 처리 (텍스트 요약, 교정, 다시 쓰기)를 수행하는가? → 생성형 AI로 이동
- B) 예측, 분류, 감지, 패턴 이해 또는 실시간 스트림 (예: 동영상/오디오) 처리를 위해 기존 데이터/입력을 분석하시나요? → 기존 ML 및 인식으로 이동
- C) 시스템 AI 기능과 통합되도록 앱의 기능을 개선하시나요(앱을 AI에 포함)? → AI에 앱을 포함하기로 이동
- D) AI 에이전트가 생성한 동적 대화형 UI를 렌더링하시나요? → 에이전트를 사용하여 UI를 생성하는 방법 알아보기
기존 ML 및 인식
완전히 새로운 출력을 생성하는 대신 입력을 분석하고, 특성을 식별하거나, 학습된 패턴을 기반으로 예측해야 합니다.
어떤 작업을 수행하고 있나요?
- A) 사전 빌드된 일반적인 모바일 ML 기능을 빠르게 통합해야 하나요?
(예: 바코드 스캔, 텍스트 인식 (OCR), 얼굴 감지, 이미지 라벨 지정, 객체 감지 및 추적, 언어 ID, 기본 스마트 답장)
- → 사용: ML Kit (기존 API)
- 이유: 기존 모바일 ML 작업을 가장 쉽게 통합할 수 있으며, 기기 내 사용 (짧은 지연 시간, 오프라인, 개인 정보 보호)에 최적화되어 있는 경우가 많습니다.
- B) 인식 작업을 위해 실시간 스트리밍 데이터 (예: 동영상 또는 오디오)를 처리해야 하나요? (예: 핸드 트래킹, 자세 추정, 얼굴 메쉬, 동영상의 실시간 객체 감지 및 분할)
- → 사용: MediaPipe
- 이유: 다양한 플랫폼에서 고성능 실시간 인식 파이프라인에 특화된 프레임워크입니다.
- C) 성능과 낮은 리소스 사용량을 우선시하면서 기기에서 자체 맞춤 학습 ML 모델 (예: 분류, 회귀, 감지)을 효율적으로 실행해야 하나요?
- → 사용: LiteRT (TensorFlow Lite 런타임)
- 이유: 모바일 및 에지 기기에 맞춤 모델을 효율적으로 배포하기 위해 최적화된 런타임 (작은 크기, 빠른 추론, 하드웨어 가속)
- D) 특정 작업을 위해 자체 맞춤 ML 모델을 학습해야 하나요?
- → 사용: LiteRT (TensorFlow Lite 런타임) + 맞춤 모델 학습
- 이유: 모바일 및 에지 기기에 최적화된 맞춤 모델을 학습하고 배포하는 도구를 제공합니다.
- E) 미묘한 차이가 많은 다양한 언어의 고급 콘텐츠 분류, 감정 분석 또는 번역이 필요한가요?
- 기존 ML 모델 (LiteRT 또는 클라우드를 사용하여 배포 가능)이 적합한지 또는 고급 NLU에 생성형 모델이 필요한지 고려합니다 (시작으로 돌아가 A 선택). 클라우드 기반 분류, 감정 또는 번역의 경우:
- → 사용: 클라우드 기반 솔루션 (예: Google Cloud Natural Language API, Google Cloud Translation API, 맞춤 백엔드 또는 Gemini Enterprise Agent Platform을 사용하여 액세스할 수 있음) (오프라인 또는 개인 정보 보호가 중요한 경우 온디바이스 옵션보다 우선순위가 낮음)
- 이유: 클라우드 솔루션은 강력한 모델과 광범위한 언어 지원을 제공하지만 연결이 필요하며 비용이 발생할 수 있습니다.
생성형 AI
새 콘텐츠를 만들거나, 요약하거나, 재작성하거나, 복잡한 이해 또는 상호작용 작업을 수행해야 합니다.
AI가 오프라인으로 작동해야 하나요? 최대 데이터 개인 정보 보호(사용자 데이터를 기기에 유지)가 필요하거나 클라우드 추론 비용을 피하고 싶으신가요?
- A) 예, 오프라인, 최대 개인 정보 보호 또는 클라우드 비용 없음이 중요합니다.
- → 온디바이스 생성형 AI로 이동
- B) 아니요. 연결이 가능하고 허용되며, 클라우드 기능과 확장성이 더 중요하거나 특정 기능에 클라우드가 필요합니다.
- → 클라우드 생성형 AI로 이동
기기 내 생성형 AI (Gemini Nano 사용)
주의사항: 호환되는 Android 기기가 필요하며, iOS 지원이 제한적이고, 모델이 클라우드 대응 모델보다 성능이 떨어집니다.
ML Kit의 Prompt API를 사용하면 이미지 이해, 간단한 번역, 가이드 요약과 같은 다양한 사용 사례에 텍스트 전용 또는 텍스트와 이미지 입력으로 자연어 요청을 보낼 수 있습니다. 이 토큰 한도로 사용 사례를 충족할 수 있다면 ML Kit GenAI API가 기기 내 생성형 AI에 가장 적합한 옵션입니다. ML Kit은 요약, 스마트 답장과 같은 일반적인 작업을 위한 간소화된 API도 제공합니다.
- → 사용: ML Kit 생성형 AI API (Gemini Nano 기반)
- 이유: 자연어 프롬프트를 사용하여 기기에서 생성형 AI 작업을 통합하는 가장 쉬운 방법이며 기기 내 솔루션의 우선순위가 가장 높습니다.
클라우드 생성형 AI
더 강력한 모델을 사용하고, 연결이 필요하며, 일반적으로 추론 비용이 발생하고, 더 넓은 기기 도달범위와 더 쉬운 크로스 플랫폼 (Android 및 iOS) 일관성을 제공합니다.
Firebase 내에서의 통합 용이성 또는 최대한의 유연성/제어 중 무엇을 우선시하시나요?
- A) 더 쉬운 통합, 관리형 API 환경을 선호하고 이미 Firebase를 사용하고 있나요?
- → 사용: Firebase AI Logic SDK → Firebase AI Logic으로 이동
- B) 최대한의 유연성, 광범위한 모델(서드 파티/맞춤 포함) 액세스, 고급 미세 조정이 필요하며 자체 백엔드 통합 (더 복잡함)을 관리할 의향이 있나요?
- → 사용: 맞춤 Cloud 백엔드 (Google Cloud Platform 사용)가 있는 Gemini API
- 이유: 가장 많은 제어 기능, 가장 광범위한 모델 액세스, 맞춤 학습 옵션을 제공하지만 상당한 백엔드 개발 노력이 필요합니다. 복잡하거나 대규모이거나 맞춤설정이 많이 필요한 경우에 적합합니다.
(Firebase AI Logic SDK를 선택한 경우) 어떤 종류의 생성 작업과 성능 프로필이 필요한가요?
- A) 속도가 중요한 일반 텍스트 생성, 요약 또는 채팅 애플리케이션에 적합한 성능과 비용의 균형이 필요하신가요?
- → 사용: Gemini Flash가 포함된 Firebase AI Logic SDK
- 이유: Google Cloud의 관리형 환경 내에서 속도와 효율성을 위해 최적화되어 있습니다.
- B) 복잡한 텍스트 생성, 추론, 고급 NLU 또는 요청 사항 수행을 위해 더 높은 품질과 기능이 필요한가요?
- → 사용: Gemini Pro가 포함된 Firebase AI Logic SDK
- 이유: Firebase를 통해 액세스할 수 있는 까다로운 작업을 위한 더 강력한 텍스트 모델
AppFunctions
시스템 AI 기능과 통합하려면 앱의 기능을 개선해야 합니다 (앱을 AI에 통합).
- → 사용: AppFunctions
- 이유: 어시스턴트와 같은 시스템 AI 기능이 앱의 기능을 검색하고 호출할 수 있도록 지원합니다.
에이전트를 사용하여 Jetpack Compose 및 Material 3을 사용하는 UI 생성
앱에서 AI 에이전트가 생성하거나 요청한 대화형 UI를 렌더링해야 합니다.
- → 사용: Jetpack Compose A2UI 렌더러
- 이유: 에이전트가 에이전트-UI (A2UI) 프로토콜을 사용하여 'UI를 말'할 수 있도록 지원하여 동적 에이전트 응답을 전체 상태 및 이벤트 처리와 함께 기본 Jetpack Compose 및 Material 3 구성요소로 렌더링합니다.