DIY Edge AI

Gemini Nano on Banana Pro (Part 2): 실전 설치 및 구동 가이드

단돈 $60로 구축하는 개인용 LLM 서버. 인터넷이 끊겨도 당신의 AI 비서는 살아있습니다.

By MUMULAB Maker Team 2025년 11월 26일 20 min read
Banana Pro Board Setup
Banana Pro에 쿨링 팬을 장착하고 전원을 켠 모습. 작지만 강력합니다.
"모든 데이터가 클라우드로 전송되는 것이 찜찜하신가요? Gemini Nano가 답입니다. 내 방 안에서, 내 하드웨어로 돌아가는 가장 안전한 AI를 직접 만들어 봅니다."

서론: 준비물 및 환경설정

Part 1에서 우리는 온디바이스 AI의 필요성에 대해 이야기했습니다. Part 2는 100% 실전입니다. 라즈베리파이 5보다 가성비가 뛰어난 **Banana Pi BPI-M7 (Banana Pro)**를 사용하여 구글의 최신 엣지용 모델인 Gemini Nano를 구동해 보겠습니다.

  • 하드웨어: Banana Pi BPI-M7 (RK3588 칩셋, 16GB RAM 권장), NVMe SSD 256GB, 쿨링 팬
  • 소프트웨어: Android 15 (AOSP) 또는 Armbian Linux (우리는 안드로이드 AICore 활용을 위해 Android 15를 사용합니다)

Part 1. 시스템 설치 및 AICore 활성화

1. Android 15 이미지 플래싱

Banana Pro 제조사 홈페이지에서 RK3588용 Android 15 이미지를 다운로드합니다. 이 이미지는 NPU(Neural Processing Unit) 드라이버가 포함되어 있어 AI 가속이 가능합니다.

Tip: 이미지를 SD카드에 굽는 대신, NVMe SSD에 직접 설치하면 부팅 속도와 모델 로딩 속도가 5배 이상 빨라집니다. RockChip DevTool을 사용하세요.

2. Google AICore 설정

Android 15부터는 'AICore'라는 시스템 서비스가 내장되어 있습니다. 이를 활성화해야 앱들이 Gemini Nano 모델에 접근할 수 있습니다.

  1. 개발자 옵션 활성화: 설정 > 휴대전화 정보 > 빌드 번호 7번 터치
  2. AICore 설정: 개발자 옵션 > AICore Settings 진입
  3. Enable On-device GenAI Features: 스위치 ON
  4. Download Model: 'Gemini Nano (3.2B)' 모델 다운로드 (약 2GB)

Part 2. Android Studio로 '나만의 AI 비서' 앱 만들기

이제 하드웨어는 준비되었습니다. 코틀린(Kotlin)으로 간단한 채팅 앱을 만들어 Gemini Nano와 대화해 봅시다.

1. Generative AI Client SDK 추가

build.gradle.kts 파일에 구글의 엣지 AI 라이브러리를 추가합니다.

dependencies {
    implementation("com.google.ai.edge.aicore:aicore:1.0.0-alpha01")
}

2. 모델 추론 코드 작성

클라우드 API를 호출하는 것과 비슷하지만, 인터넷 권한(Permission)이 필요 없다는 것이 가장 큰 차이점입니다.

val generativeModel = GenerativeModel(
    modelName = "gemini-nano",
    context = applicationContext
)

lifecycleScope.launch {
    // 텍스트 생성 요청
    val response = generativeModel.generateContent("Banana Pro로 무엇을 할 수 있어?")
    
    // 스트리밍 답변 처리
    response.text?.let { output ->
        chatTextView.text = output
    }
}

Part 3. 성능 최적화: NPU 100% 활용하기

1. 양자화 (Quantization)

Gemini Nano는 기본적으로 4-bit 양자화가 되어 있습니다. 하지만 Banana Pro의 RK3588 NPU는 INT8(8비트 정수) 연산에 최적화되어 있습니다. 모델을 INT8로 변환하면 정확도는 약간 떨어지지만 속도는 2배 빨라집니다.

2. 발열 관리 (Throttling)

AI 모델을 돌리면 칩셋 온도가 80도까지 치솟습니다. 쓰로틀링(성능 제한)이 걸리면 답변 생성 속도가 느려집니다. 대형 방열판과 액티브 쿨링 팬은 필수이며, 필요하다면 CPU 클럭을 약간 낮추는 언더볼팅(Undervolting)도 고려해 볼 만합니다.


Part 4. 활용 사례: 무엇을 만들 수 있나?

1. 오프라인 여행 번역기

인터넷이 터지지 않는 오지 여행 중에도 작동하는 실시간 통역기. 음성 인식(STT) 모델인 Whisper-tiny와 Gemini Nano를 결합하면 완벽한 오프라인 번역기가 됩니다.

2. 프라이버시 일기장

내 속마음을 털어놓는 일기장. 클라우드로 데이터가 전송되지 않으므로, 그 누구도(구글조차도) 내 일기를 훔쳐볼 수 없습니다. Gemini Nano가 일기의 감정을 분석해 주고 위로의 한마디를 건넸니다.

3. 스마트 홈 허브

"거실 불 켜줘" 같은 단순 명령어가 아니라, "나 오늘 기분이 우울한데 조명 좀 아늑하게 바꾸고 슬픈 노래 틀어줘"라는 복합 명령을 이해하고 홈 IoT 기기들을 제어하는 똑똑한 허브가 됩니다.


결론: 내 손안의 작은 뇌

Raspberry Pi가 코딩 교육의 혁명을 가져왔다면, Banana Pro와 Gemini Nano의 조합은 '개인용 AI'의 민주화를 이끌 것입니다. 거대 테크 기업의 서버에 의존하지 않고도, 우리는 충분히 똑똑한 지능을 소유할 수 있습니다. 이것이 진정한 기술의 자유입니다. 지금 바로 시작해 보세요.


자주 묻는 질문 (FAQ)

Q1: 라즈베리파이 5에서도 Gemini Nano가 돌아가나요?

가능은 하지만 추천하지 않습니다. 라즈베리파이 5는 NPU가 없어 CPU로만 연산해야 하므로 속도가 매우 느립니다(답변 하나에 1분 소요). NPU가 6 TOPS 성능을 내는 Banana Pro나 Orange Pi 5를 추천합니다.

Q2: 모델을 직접 미세조정(Fine-tuning) 할 수 있나요?

온디바이스에서는 어렵습니다. PC(고성능 GPU)에서 LoRA(Low-Rank Adaptation) 기법으로 학습시킨 후, 가중치(Weights) 파일만 Banana Pro로 옮겨서 적용하는 방식을 사용해야 합니다.

Q3: 어떤 OS를 쓰는 게 가장 좋나요?

앱 개발 편의성은 Android가 좋지만, 시스템 자원을 효율적으로 쓰고 싶다면 리눅스(Armbian) 환경에서 'llama.cpp'와 같은 경량화 라이브러리를 쓰는 것이 성능 면에서는 더 유리할 수 있습니다.