Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1인개발로 AI서비스앱 만들기: 1, 10, 100, 1000, 10000, 그리고 ...

Avatar for Beomi Beomi
April 23, 2025

1인개발로 AI서비스앱 만들기: 1, 10, 100, 1000, 10000, 그리고 100000명까지 (feat. Smart Spam Filter)

Title: 1인개발로 AI서비스앱 만들기
Subtitle: 1, 10, 100, 1000, 10000, 그리고 100000명까지 (feat. Smart Spam Filter)

Date: 2025.04.23
Revenue: WandB Seoul Meeeup #6

Avatar for Beomi

Beomi

April 23, 2025
Tweet

More Decks by Beomi

Other Decks in Technology

Transcript

  1. 1인개발로 AI서비스앱 만들기: 1, 10, 100, 1000, 10000, 그리고 100000명까지

    (feat. Smart Spam Filter) 이준범:Beomi ([email protected]) WandB Seoul Meetup #6 2025.04.23.
  2. 안녕하세요 :) 언어모델 연구도 하고 개발도 하는 연구형개발자 Beomi 닉네임으로

    활동 중. AI/ML GDE KoAlpaca / Llama-Ko / KcBERT 등 모델 굽기가 취미 + 앱스토어 #2까지 올라갔던 Smart Spam Filter 개발 → 첫 100명, 1만명, 그리고 지금 10만명 대상 서비스
  3. 1명 사용자 = 개발자 = 앱 안에서 모든 로직이 돌아도

    된다 그냥 단순히 ChatGPT API Call 하는 앱이어도 OK. App 내부에 API Key가 들어가 있어도 괜찮다.
  4. 10명 사용자: 서버를 만들어야 할까? API Call을 하더라도 API Key

    유출은 되지 않게 Proxy 서버를 두기 → 서버비용은? Oracle Cloud Free Tier! (0.5vCPU + 0.5GB RAM 평생무료) ← 초창기 Online AI 모드만 있었던 앱
  5. 100명 사용자: 직접 모델을 학습시키는게 낫겠다. LLM API 비용 걱정

    시작 GPT4o 기준: System prompt 합쳐서 대략 100 tokens 이라면… → $0.005 / 1K tokens → $0.0005 / 1 SMS → 0.7원 / 1문자 한사람: 10문자/day = 7원 나혼자(1) = 1달에 210원 가족+친구들(10) = 1달에 2,100원 (나쁘지 않아) 커뮤니티 유저(600+) = 1달에 12만원 이상? (무료 제품인데 부담스럽네..)
  6. 100명 사용자: 직접 모델을 학습시키는게 낫겠다. LM을 서빙하자. 어떤 LM을?

    → KcBERT Fine Tuned Model (110M params) LM 서빙은 어디서 → CPU는 느리니까 작은 GPU달린 M1 맥미니 Metal GPU 가속 되는 Hugging Face Text Embedding Inference 사용
  7. 1000명 사용자: 서버가 터진다! 서버가 모자라. → 서버를 업그레이드하자! ⇒

    M1 mac mini → M1 Max Mac Studio 100% 동일한 환경에 성능만 업그레이드! 집 한 구석에 돌아가는 M1max 맥스튜디오 (아주 조용함)
  8. 온디바이스 AI를 위한 Pretraining ~10M params 수준의 정말 작은 BERT를

    Pretrain → KcBERT, 문자 데이터, 기타 한국어 말뭉치로 약 25B tokens 학습
  9. 100000명 사용자: (당연히) 서버가 터진다! 대부분의 스팸은 비슷..하지 않다! →

    단순 Exact Match로는 해소 불가능 우측 예시의 경우: - 내용은 거의 동일함 - 발신인은 다름 - 내용이 앞뒤가 섞임 - 띄어쓰기가 달라짐 ⇒ Exact Match 되지 않음 ⇒ 매번 새로 LM Inference 필요
  10. Embedding based Cache match 임베딩 기반의 유사도 비교: - LaBSE/BGE-m3

    등 문장임베딩 - 어떤 문자가 스팸으로 분류된 경우 - 해당 문자 + Embedding Vec 저장 - LM Inference 이전에 임베딩 - 문제: 여전히 임베딩 모델이 큼 - 더 작은 모델로 Distillation - 1B params → 약 50M params
  11. 데이터 로그 & 모델 추가 학습 LLM Auto Labeling Input

    GPT4o Gemini-Pro 2.5 Gemini-Flash 2.5 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 1 / 0 / 1 → 1
  12. 서버가 죽는 이유 1. 전기선이 뽑혀서 2. 인터넷 선이 끊겨서

    3. 집 인터넷이 끊겨서 4. macOS 자동 업데이트 → 재부팅 → 서버안켜짐 5. 공유기 불량 6. 집이 더워서 CPU 쓰로틀링 (...) 7. macOS 저장공간이 부족 ← iCloud 사진 보관함 동기화 … → 그럼에도 90일 기준 99.75%+ 서비스 가동률
  13. Tailscale: 자동관리되는 E2E VPN macOS 서버 / 맥북에 각각 설치

    내부 IP 대역인 100.x.x.x IP를 할당 → 외부에서도 쉽게 접속 가능 복잡한 OpenVPN등 설정하지 않아도 된다! + Cloudflare Tunnel 대체 가능
  14. EOF