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
29
[2024 창구 성장 지원 세미나] LLM과 온디바이스LM으로 스팸필터 앱 서비스 만들기
Beomi
September 03, 2024
Tweet
Share
More Decks by Beomi
See All by Beomi
[PyCon Korea 2024 Keynote] 커뮤니티와 파이썬, 그리고 우리
beomi
0
120
[PyCon Korea 2024 Session] 우리 모두는 스팸에서 자유로울 권리가 있다 - Smart Spam Filter 개발기
beomi
0
99
[2024.08.30] Gemma-Ko, 오픈 언어모델에 한국어 입히기 @ 머신러닝부트캠프2024
beomi
0
720
[PyConKR 2019] 온라인 뉴스 댓글은 정말 사람들의 목소리일까? - PART2
beomi
3
2.9k
AWS Lambda를 통한 Tensorflow 및 Keras 기반 추론 모델 서비스하기
beomi
4
1.2k
GDG Campus SummerParty: 쓸데많은 웹 크롤러 만들기 with Python
beomi
3
1.3k
PYCON KR 2017 튜토리얼: 나만의 웹 크롤러 만들기
beomi
1
820
PYCON KR 2017: 처음부터 알아보는 웹 크롤러
beomi
3
16k
굥대생의 "HelloWorld!"
beomi
0
880
Other Decks in Programming
See All in Programming
【Kaigi on Rails 2024】YOUTRUST スポンサーLT
krpk1900
1
330
Ethereum_.pdf
nekomatu
0
460
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
Amazon Qを使ってIaCを触ろう!
maruto
0
400
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
Contemporary Test Cases
maaretp
0
140
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Click-free releases & the making of a CLI app
oheyadam
2
110
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Visualization
eitanlees
145
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
Teambox: Starting and Learning
jrom
133
8.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
RailsConf 2023
tenderlove
29
900
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
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