12주 완성 AI 온디바이스 앱 실전 커리큘럼으로 돌아가기
Mobile & System•4 / 12주차
4주차 마일스톤약 9시간 소요난이도: 중급
온디바이스 텍스트 & 임베딩 모델 인퍼런스 최적화
MobileBERT 및 경량 임베딩 모델 포팅, Hugging Face 토크나이저 연동 및 코사인 유사도 벡터 연산
#NLP#Embedding#Tokenizer#CosineSimilarity
이번 주 핵심 학습 목표
- 1자연어 처리의 핵심인 토크나이저(BPE/WordPiece)의 Kotlin 네이티브 구현 원리를 이해한다.
- 2텍스트를 고차원 밀집 벡터(Dense Vector)로 변환하는 온디바이스 인퍼런스를 수행한다.
- 3두 문장 간의 코사인 유사도를 로컬에서 수 밀리초(ms) 이내에 연산한다.
실전 학습 가이드 & 코드 워크스루
1. 온디바이스 텍스트 인퍼런스 파이프라인
텍스트 모델은 문자열을 바로 입력받을 수 없습니다. 다음 4단계 파이프라인이 로컬에서 끊김 없이 동작해야 합니다:
text
Raw Text ("안녕하세요") ➔ Tokenizer ➔ Input IDs [101, 7520, 2341, 102] ➔ Model Inference ➔ Pooling & L2 Normalization ➔ 384차원 Embedding Vector2. 코사인 유사도 고속 연산 (Kotlin Vector Math)
두 벡터 \vec{A}와 \vec{B}의 유사도는 다음과 같이 계산됩니다:
$\text{Cosine Similarity} = \frac{\vec{A} \cdot \vec{B}}{\|\vec{A}\| \|\vec{B}\|}$
kotlin
fun cosineSimilarity(v1: FloatArray, v2: FloatArray): Float {
require(v1.size == v2.size) { "벡터 차원이 일치해야 합니다." }
var dotProduct = 0.0f
var normA = 0.0f
var normB = 0.0f
for (i in v1.indices) {
dotProduct += v1[i] * v2[i]
normA += v1[i] * v1[i]
normB += v2[i] * v2[i]
}
val denominator = (Math.sqrt(normA.toDouble()) * Math.sqrt(normB.toDouble())).toFloat()
return if (denominator > 0.0f) dotProduct / denominator else 0.0f
}📂 이번 주차 학습 자료 & 실습 파일 다운로드
2개 파일 제공강의 교안 PDF, 실습 스타터 코드, 치트시트 등 학습에 필요한 자료를 별도로 열람하거나 다운로드하여 학습하세요.
4주차_핵심요약_치트시트.pdf
PDF•1.8 MB
4주차 핵심 이론 및 아키텍처 다이어그램 치트시트
4주차_실전_스타터코드.zip
ZIP•3.4 MB
Android Studio 프로젝트 템플릿 및 실습 코드 예제
실전 체크리스트 & 셀프 점검
0 / 4 완료직접 코드를 구현하고 테스트를 완료할 때마다 체크해 보세요. 브라우저에 자동 보관됩니다.
vocab.txt 파싱 및 WordPiece 토크나이저 구현
입력 텍스트를 input_ids, attention_mask 텐서로 변환
임베딩 모델 추론 실행 및 L2 정규화(Normalization) 함수 작성
코사인 유사도(Cosine Similarity) 계산 유틸리티 구현
ADVERTISEMENTfirststep.kr ad
1st
firststep.kr 12주 완성 실전 커리어 로드맵
파이썬, 소프트웨어설계, DB, 데이터과학, 딥러닝, LLM 9종 코스 100% 무료
공식 문서 & 추천 자료
12주 완성 AI 온디바이스 앱 실전 커리큘럼
[1주차] 코틀린(Kotlin) 핵심 언어 체계 & 안드로이드 런타임 이해[2주차] Jetpack Compose 기반 선언형 UI 기초 및 상태 관리[3주차] 로컬 경량 AI 모델(ONNX / MediaPipe) 구동 환경 세팅[4주차] 온디바이스 텍스트 & 임베딩 모델 인퍼런스 최적화[5주차] 실시간 컴퓨터 비전(MediaPipe) 객체 인식 & 포즈 추정[6주차] 안드로이드 NNAPI & GPU/NPU 하드웨어 가속기 연동[7주차] 로컬 벡터 DB(ObjectBox / SQLite-VSS) 기반 온디바이스 RAG 구축[8주차] 음성 인식(Whisper.tflite) & 온디바이스 음성 AI 어시스턴트[9주차] 모델 경량화 & 양자화 파이프라인(PyTorch ➔ ONNX ➔ TFLite)[10주차] 백그라운드 비동기 추론 & WorkManager 배터리 최적화[11주차] AI 앱 보안 & 모델 가중치 암호화(EncryptedSharedPreferences / NDK)[12주차] 독자적인 온디바이스 AI 앱 포트폴리오 완성 & 구글 플레이 배포