Gemini Nano

Gemini Nano를 사용하면 네트워크 연결이나 클라우드로 데이터를 전송할 필요 없이 풍부한 생성형 AI 경험을 제공할 수 있습니다. 온디바이스 AI는 저렴한 비용과 개인 정보 보호가 주요 관심사인 사용 사례에 적합한 솔루션입니다.

온디바이스 사용 사례의 경우 Google의 Gemini Nano 파운데이션 모델을 활용할 수 있습니다. Gemini Nano는 Android의 AICore 시스템 서비스에서 실행되며, 이 서비스는 기기 하드웨어를 활용하여 추론 지연 시간을 줄이고 모델을 최신 상태로 유지합니다.

ML Kit 생성형 AI API

ML Kit의 GenAI API는 Gemini Nano의 강력한 기능을 활용하여 앱이 기기 내 생성형 AI 작업을 실행할 수 있도록 지원합니다. 이러한 API는 AICore를 기반으로 빌드됩니다. AICore는 생성형 AI 기반 모델의 온디바이스 실행을 지원하는 Android 시스템 서비스로, 데이터를 로컬에서 처리하여 앱 기능 향상, 사용자 개인 정보 보호 개선과 같은 기능을 지원합니다. 자세히 알아보기

주요 특징

ML Kit는 생성형 AI 기능을 다음 카테고리로 구성합니다.

커스텀 생성 및 에이전트

맞춤 사용 사례를 위해 Gemini Nano 파운데이션 모델을 직접 사용합니다.

  • 직접 모델 액세스(GenerativeModel 클래스 사용): 커스텀 텍스트 전용 또는 멀티모달 프롬프트에서 텍스트 또는 유형이 지정된 구조화된 출력을 생성하거나 USER 및 MODEL 역할과 sessionId 값이 있는 List<Content> 객체를 사용하여 자체 멀티턴 채팅 기록을 직접 관리합니다.
  • 에이전트 워크플로(AgentRunner 클래스 사용): GenerativeModel 클래스를 기반으로 빌드되며, 멀티턴 세션 관리 (메모리 내 대화 기록 포함) 및 멀티스텝 도구 호출 루프를 자동화합니다.

음성 및 오디오

온디바이스에서 음성 오디오를 스크립트로 작성, 번역, 합성합니다.

  • 음성 인식: 음성 오디오 콘텐츠를 동일한 언어의 텍스트로 변환합니다.
  • Speech Translation: 음성 오디오를 다른 언어의 텍스트로 실시간 번역합니다.
  • Text to Speech: 텍스트에서 자연스러운 음성 오디오를 합성합니다.

텍스트 및 이미지 작업

상위 수준 인터페이스를 통해 일반적인 비전, 작성, 검색 작업에 최적화된 작업별 API를 사용합니다.

  • 이미지 설명: 지정된 이미지에 대한 간단한 설명을 생성합니다.
  • 요약: 기사 또는 대화를 글머리기호 목록으로 요약합니다.
  • 교정: 짧은 채팅 메시지를 교정합니다.
  • 다시 작성: 짧은 채팅 메시지를 다양한 어조나 스타일로 다시 작성합니다.
  • 시맨틱 검색: Embedding API를 사용하여 텍스트 및 이미지의 벡터 임베딩을 생성하고 AndroidX AppSearch와 페어링하여 의미별로 콘텐츠를 찾습니다.

AICore를 통한 아키텍처

시스템 수준 모듈로서, 일련의 API를 통해 AICore에 액세스하여 온디바이스에서 추론을 실행합니다. 또한 AICore에는 여러 안전 기능이 내장되어 있어 Google의 안전 필터에 대한 철저한 평가가 가능합니다. 다음 다이어그램은 앱이 AICore에 액세스하여 온디바이스에서 Gemini Nano를 실행하는 방법을 보여줍니다.

Android 앱이 Google AI Edge SDK를 사용하여 AICore에 액세스하는 방법을 보여주는 다이어그램. AICore에서는 Gemini Nano, LoRA, 안전 기능이 관리되고 하드웨어 가속기에서 실행됩니다.
그림 1. AICore는 앱과 Gemini Nano 모델 간의 인터페이스 역할을 하며, 온디바이스 하드웨어를 활용하면서 모델 업데이트와 안전을 관리합니다.

사용자 데이터를 비공개로 안전하게 유지

온디바이스 생성형 AI는 프롬프트를 로컬에서 실행하므로 서버 호출이 필요하지 않습니다. 이렇게 하면 네트워크 지연 시간이 제거되지만 추론 속도는 기기 하드웨어에 따라 달라집니다. 이 접근 방식은 민감한 정보를 기기에 보관하여 개인 정보 보호를 강화하고, 오프라인 기능을 지원하며, 추론 비용을 절감합니다.

AICore는 프라이빗 컴퓨트 코어 원칙을 준수하며 다음과 같은 주요 특성을 갖습니다.

  • 제한된 패키지 결합: AICore는 대부분의 다른 패키지와 격리되며 특정 시스템 패키지에 대한 제한된 예외가 있습니다. 이 허용 목록에 대한 수정은 전체 Android OTA 업데이트 중에만 발생할 수 있습니다.
  • 간접 인터넷 액세스: AICore는 인터넷에 직접 액세스할 수 없습니다. 모델 다운로드를 포함한 모든 인터넷 요청은 오픈소스 프라이빗 컴퓨트 서비스 호환 APK를 통해 라우팅됩니다. 프라이빗 컴퓨트 서비스 내의 API는 개인 정보 보호 중심의 특성을 명시적으로 보여주어야 합니다.

또한 AICore는 각 요청을 격리하도록 빌드되었으며, 사용자 개인 정보 보호를 위해 입력 데이터 또는 결과 출력을 처리한 후에는 해당 기록을 저장하지 않습니다. 자세한 내용은 블로그 게시물 Gemini Nano의 개인 정보 보호 및 안전 소개를 참고하세요.

요청 흐름을 보여주는 AICore의 상세 아키텍처 다이어그램: API 표면, 안전 신호를 사용한 입력 처리, 기능 구성, 모델 가중치 및 LoRA를 사용한 런타임, 안전 신호를 사용한 출력 처리 또한 프라이빗 컴퓨트 서비스를 통한 모델 다운로드도 표시됩니다.
그림 2. AICore 아키텍처는 입력 및 출력 안전, 요청 처리, 모델 가중치를 관리하여 온디바이스 AI를 위한 안전한 환경을 제공합니다.

AICore를 사용하여 AI 파운데이션 모델에 액세스할 때의 이점

AICore를 사용하면 Android OS에서 AI 파운데이션 모델을 제공하고 관리할 수 있습니다. 이렇게 하면 주로 다음과 같은 이유로 앱에서 이러한 대규모 모델을 사용하는 비용이 크게 줄어듭니다.

  • 간편한 배포: AICore는 Gemini Nano의 배포를 관리하고 향후 업데이트를 처리합니다. 네트워크를 통해 대규모 모델을 다운로드하거나 업데이트하는 것에 대해 걱정할 필요가 없으며 앱의 디스크 및 런타임 메모리 예산에 영향을 미치지 않습니다.
  • 추론 가속화: AICore는 온디바이스 하드웨어를 활용하여 추론을 가속화합니다. 앱은 각 기기에서 최상의 성능을 발휘하며 기본 하드웨어 인터페이스에 관해 걱정할 필요가 없습니다.

하이브리드 추론을 사용해야 하는 경우

Gemini Nano는 오프라인 및 개인 정보 보호에 민감한 작업에 적합하지만 토큰 한도, 기기 하드웨어 제한, 모델 기능 경계와 같은 기기 내 제약 조건이 있습니다. 이러한 시나리오에서는 하이브리드 추론을 사용하여 로컬 기기와 클라우드 간에 AI 워크로드의 균형을 맞출 수 있습니다.

모든 기기에서 일관된 사용자 환경을 보장하고 복잡한 쿼리를 처리하려면 Firebase AI Logic Hybrid API를 사용하면 됩니다. 이렇게 하면 앱에서 다음을 실행할 수 있습니다.

  • 원활한 대체: 사용자의 기기에서 Gemini Nano를 사용할 수 없거나 지원되지 않는 경우 요청을 클라우드의 Gemini Flash 또는 Gemini Pro 모델로 자동 라우팅합니다.
  • 보안 적용: Firebase 앱 체크 (및 Play Integrity와 같은 지원되는 증명 제공업체)를 사용하여 클라우드 추론을 보호하고 민감한 시스템 프롬프트를 서버 측에 보관합니다.