본문 바로가기

스터디

(4)
머신러닝 시스템 디자인 패턴 - 04. 추론 시스템 만들기 4.1 시스템을 만들어야하는 이유 로컬 pc에서만 추론할 수 있게 구성하는 것은 서비스 형태로 활용될 수 없음 다른 외부 시스템과 연계해 모델이 호출되는 구조를 갖춰야함 추론기(시스템) 패턴 종류 - 웹 싱글 패턴 : 하나의 작은 모델을 하나의 추론기로 동기적으로 추론 - 동기 추론 패턴 : 요청에 대해 동기적으로 추론 - 비동기 추론 패턴 : 요청에 대해 비동기적으로 추론 - 배치 추론 패턴 : 배치 작업으로 추론 실행 - 전처리 / 추론 패턴 : 전처리와 추론으로 서버를 분리 - 직렬 마이크로서비스 패턴 : 의존관계에 있는 추론을 차례로 실행 - 병렬 마이크로서비스 패턴 : 하나의 요청을 여러개의 추론기로 추론 - 시간차 추론 패턴 : 동기 추론과 비동기 추론을 조합하여 추론 - 추론 캐시 패턴 : ..
머신러닝 시스템 디자인 패턴 - 03. 모델 릴리스하기 3.1 학습환경과 추론환경 학습 페이즈 실험에 목적을 둔 페이즈이기도 하기 때문에 코드 리뷰나 단위 테스트, 리펙토링은 사실상 거의 이뤄지지 않음 추론 페이즈 모델과 추론 코드가 실제 시스템에 포함되어 다른 시스템과 연계 가동되고 운용 따라서 장애나 문제가 발생하면 이를 감지하고 트러블 슈팅을 통해 즉시 복구해야한다. 추론환경은 끊임없이 가동되어야 하므로, 필요한 자원의 사용량을 최소한으로 조정하는것이 이익으로 이어지는 구조가 될 수 있음. 사용하는 라이브러리나 툴이 다름 학습환경 주피터 노트북 사용, 필요한 라이브러리 추가하며 개발 추론환경 주피터 노트북 사용 X, 요건에 따라 Java나 C++에서 모델을 로드하고 실행 추론을 위한 전용 라이브러리 존재 (TensorFlow Serving, ONNX R..
머신러닝 시스템 디자인 패턴 - 02. 모델 만들기 2.1 모델 작성 모델 개발의 흐름 데이터 분석과 수집 가장 긴 시간과 인력이 투입되어야할 수 있음 데이터 간의 관계 정리 필요 주의할 점 - 같은 칼럼일지라도 실제 의미하는 바가 다를 수 있음 - 갱신되는 주기가 다를 수 있음 - 타입이 일치하지 않을 수 있음 데이터 어노테이션 필요. 잘못된 지시나 재작업이 발생하면 박대한 손실과 프로젝트의 지연으로 이어짐 모델 선정과 파라미터 정의 평가 결과가 좋은 모델과 실제 시스템에서 사용할 수 있는 모델은 다름 유저-인터랙티브한 어플리케이션에서 모델의 정확도가 높아도 추론 시간이 오래걸리면 좋은 모델이 아님 전처리 이 시점부터 자동화 가능 학습 처음부터 복잡한 모델로 학습하지 않아야함. 복잡한 모델일수록 정확도는 높지만, 연산량이 많고 학습에 소모되는 비용도 커..
머신러닝 시스템 디자인 패턴 - 01. 머신러닝 시스템이란 1.1 머신러닝, ML옵스 및 시스템 머신러닝에 필요한 시스템 컴포넌트 머신러닝 시스템 워크플로 머신러닝에 초첨을 맞췄을 때는 학습 페이즈와 추론 페이즈로 나눌 수 있음 학습 페이즈와 추론 페이즈 학습 페이즈 : - 데이터 수집 - 데이터 정제(클렌징) - 모델 학습 - 실험 및 검증 - 목적에 맞는 알고리즘 선택 - 파라미터 튜닝 - 모델 평가 추론 페이즈(소프트웨어 엔지니어링 요소) - 인프라 구축 - 외부 시스템과의 네트워크 설계 - 보안 - 입출력 인터페이스 정의 - 코딩 - 각종 테스트 로그 수집 - 감시 통보의 설정 - 운용체제 머신러닝 모델은 실제로 활용되어야 가치가 생김. 1.2 사용자 중심의 머신러닝 1.3 머신러닝 시스템에 필요한 요소 머신러닝이 운용되는 시스템 워크플로 배포~활용 단계..