Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[2024 창구 성장 지원 세미나] LLM과 온디바이스LM으로 스팸필터 앱 서비스 만들기
Search
Beomi
September 03, 2024
Programming
0
16
[2024 창구 성장 지원 세미나] LLM과 온디바이스LM으로 스팸필터 앱 서비스 만들기
Beomi
September 03, 2024
Tweet
Share
More Decks by Beomi
See All by Beomi
[2024.08.30] Gemma-Ko, 오픈 언어모델에 한국어 입히기 @ 머신러닝부트캠프2024
beomi
0
480
[PyConKR 2019] 온라인 뉴스 댓글은 정말 사람들의 목소리일까? - PART2
beomi
3
2.9k
AWS Lambda를 통한 Tensorflow 및 Keras 기반 추론 모델 서비스하기
beomi
4
1.1k
GDG Campus SummerParty: 쓸데많은 웹 크롤러 만들기 with Python
beomi
3
1.3k
PYCON KR 2017 튜토리얼: 나만의 웹 크롤러 만들기
beomi
1
790
PYCON KR 2017: 처음부터 알아보는 웹 크롤러
beomi
3
16k
굥대생의 "HelloWorld!"
beomi
0
870
로지스틱 회귀 분석 | 밑바닥부터 시작하는 데이터 과학 16장
beomi
0
450
DjangoGirls Seoul | Django Study #2 Django MTV
beomi
0
140
Other Decks in Programming
See All in Programming
オートマトン学習しろ / Do automata learning
makenowjust
3
130
Regular Expressions, REXML, Automata Learning
makenowjust
0
220
ドメイン駆動設計を実践するために必要なもの
bikisuke
4
330
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
1
550
いまから追い上げる、Jetpack Compose トレーニング
nyafunta9858
0
530
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
210
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
390
GraphQL あるいは React における自律的なデータ取得について
quramy
11
2.9k
Swiftコードバトル必勝法
toshi0383
0
150
Jakarta EE meets AI
ivargrimstad
0
380
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
3
140
Jakarta EE meets AI
ivargrimstad
1
480
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.4k
The Invisible Customer
myddelton
119
13k
Raft: Consensus for Rubyists
vanstee
135
6.5k
In The Pink: A Labor of Love
frogandcode
139
22k
How to name files
jennybc
75
98k
The Invisible Side of Design
smashingmag
295
50k
Designing on Purpose - Digital PM Summit 2013
jponch
114
6.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Web Components: a chance to create the future
zenorocha
308
42k
Transcript
None
LLM과 온디바이스 LM으로 스팸필터 앱 서비스 만들기 이준범 (Beomi) AI/ML
GDE
AI/ML GDE로 활동하고 있어요 KcBERT, KoAlpaca, Llama-Ko와 같은 한국어 오픈
언어모델 연구를 합니다. 이번 세션에서 개발기를 다루는 "Smart Spam Filter", AI 기반 스팸차단 앱 서비스를 만들었어요. 안녕하세요, 이준범(Beomi)입니다👋
스마트 스팸 필터? - 언어모델이 탐지하는 스팸 문자
앱스토어 #2
매일같이 쏟아지는 스팸/스미싱 문자
한땀 한땀 키워드?
이거, 사람이 해야할 일일까? (개개인이 각자 해결해야할 문제일까?)
이거, 사람이 해야할 일일까?🙅 (개개인이 각자 해결해야할 문제일까?)
“1개는 사람이 할 수 있어. 10개도 할 수 있겠지. 하지만
1000개, 1만개는 할 수 없어. 그건 기계가 해야하는 영역이야.”
LLM은 강력한 분류기
"이거 스팸이야?" 한 문장 Prompt으로도 가능! LLM은 그 자체로 강력한
스팸 분류기
"이거 스팸이야?" 한 문장 Prompt으로도 가능! + 개발용 JSON으로도 가능!
LLM은 그 자체로 강력한 스팸 분류기
간단히 LLM을 API로 만들어도 OK LLM을 서비스로 만들어보자
간단히 LLM을 API로 만들어도 OK LLM을 서비스로 만들어보자
LLM은 "비싼" 분류기
LLM을 서비스하려면 얼마나 들지? (e.g., GPT4o) System prompt 합쳐서 대략
103 tokens → $0.005 / 1K tokens → $0.0005 / 1 SMS → 0.7원 / 1문자 한사람: 10문자/day = 7원 나혼자(1) = 1달에 210원 가족+친구들(10) = 1달에 2,100원 일반사용자(1만) = 1달에 210만원 if 5만명 유저 → 1달에 1050만원(!!)
1년 API 비용, 1.2억? 😨
Q1. 정말 큰 모델이 필요한가? Q2. 직접 학습한 LM으로도 가능한가?
다양하게 제공되는 작은 LLM (e.g., Gemini-Flash 1.5) 문자 하나당 약
100 tokens → $0.00008 / 1K tokens → $0.000008 / 1 SMS → 0.01원 / 1문자 한사람: 10문자/day = 0.1원 나혼자(1) = 1달에 3원 일반사용자(1만) = 1달에 3만원 if 5만명 유저 → 1달에 15만원(!)
작은 모델의 문제: 성능!
한국 스팸을 잘 모르는 LLM 🤔
데이터를 모아보자, 어디서?
None
몇년동안 쌓인 1만3천개 문자, 스팸 3천개+
1. 수동 라벨링 → 고성능, 알고있는 스팸 분류는 완벽하게 가능.
→ 시간이 엄청나게 오래 걸림 2. LLM 라벨링 → Prompt engineering이 필수. → 성능이 낮음 데이터 라벨링은 어떻게?
OpenAI GPT4o + Gemini 1.5 Pro + Claude 3.5 Sonnet
여러 LLM으로 라벨링 하기
여러 LLM으로 라벨링 하기
None
어떤 모델을 쓸까?
어떤 모델을 쓸까?
Encoder 모델과 Decoder 모델
Encoder BERT Fine Tune
Encoder 모델과 Decoder 모델 Llama-3-Open-Ko Fine Tuned KcBERT-tiny Fine Tuned
Inference Server, GPU?
Text Generation Inference
Text Embedding Inference (feat. Apple Silicon)
LM API Latency
LM API Security: CloudFlare Zero Trust Tunnel
LM API Security: CloudFlare Zero Trust Tunnel
CF Tunnel 이슈: Latency ++
Argo Smart Routing (유료)
CF Tunnel Argo로 ICN 서버: Low Latency
On Device LM
개인 데이터에 대한 우려
On Device Machine Learning
On Device Machine Learning
Hugging Face models → TFLite / Core ML
Hugging Face models → TFLite / Core ML
On Device, 잘 동작!
서버가 죽어도 앱은 동작한다!
ML 모델 사이클
주기별로 모델 업데이트 1) Raw 데이터 (로그 등)
주기별로 모델 업데이트 2) 데이터 라벨링
주기별로 모델 업데이트 3) 모델 학습 & 평가
주기별로 모델 업데이트 4) 모델 서빙
LLM으로, 지속 가능한 On Device 모델 성능 향상 LLM으로 자동화
EOD