Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save choiseoungho/2720ac1c4022d9dd4680b6928ffa2796 to your computer and use it in GitHub Desktop.
Save choiseoungho/2720ac1c4022d9dd4680b6928ffa2796 to your computer and use it in GitHub Desktop.
배치 처리 및 실시간 처리 시스템
1. 배치 처리로 일괄 학습 (배치 학습, Batch learning)
2. 배치 처리로 순차 학습 (실시간 학습, Online Learning)
3. 실시간 처리로 순차 학습
배치 처리를 적용한 학습 패턴 3가지와 실시간 처리로 학습하는 패턴
1. 배치 처리로 학습 + 예측 결과를 웹 애플리케이션에서 직접 산출 (예측을 실시간 처리)
2. 배치 처리로 학습 + 예측 결과를 API 를 통해 사용 (예측을 실시간 처리)
3. 배치 처리로 학습 + 예측 결과를 DB 에 저장하고 사용 (예측을 배치 처리)
4. 실시간 처리로 학습
배치 처리로 학습 + 예측 결과를 웹 애플리케이션에서 직접 산출 (예측을 실시간 처리)
- 배치 처리로 학습해서 예측 모델을 생성, 웹 애플리케이션에서 예측을 실시간으로 처리, 예측 결과 자체는 API를 통해 구현한 다음 이 결과를 웹 애플리케이션에서 이용
- 학습 단계
- 배치 시스템이 미리 DB에 축적한 로그와 사용자 정보를 이용하여 특징을 추출하고, 모델을 학습해 직렬화하여 저장소에 저장
- 예측 단계
- 특정 이벤트가 발생하면 웹 애플리케이션이 예측을 요청
- 예측해야할 대상에 관한 정보를 DB 에서 얻은 다음 특징을 추출해서 예측 모델을 태워 예측 결과를 출력
- 현재 적용된 패턴은 테스트 목적에 소규모 시스템에 적합한 패턴
- 전체 과정의 수행시간이 짧아야 되므로 전처리된 데이터 혹은 추출된 특징을 관계형 데이터베이스나 키 값 저장소에 캐싱해 두기도 함
- 예측 모델은 메모리에 올리기 부담스럽지 않은 크기로 관리
- 예측 처리에 드는 연산 부하가 낮은 알고리즘을 택하여 모델의 시간 복잡도와 공간 복잡도를 억제하는 것이 좋음
- 웹 애플리케이션과 머신러닝을 수행하는 배치 시스템이 동일한 언어로 구현되어야 함
참고 :
https://eunhye-zz.tistory.com/5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment