VISION HONG
article thumbnail
[ML Design Pattern] 추론 시스템 / 4. 배치 추론 패턴
MLOps 2022. 11. 10. 10:38

배치추론 패턴 대량의 데이터를 하나로 정리하여 추론하고 싶은 경우, 배치 추론 패턴을 사용할 수 있다. 배치 추론 패턴에서는 작업(job)으로서 전처리와 추론을 실행하고 추론 결과를 저장한다. Use Case 실시간 또는 실시간에 준하는 추론을 할 필요가 없는 경우 과거의 데이터를 정리해 추론하고 싶은 경우 야간, 시간 단위 또는 월 단위 등 정기적으로 쌓인 데이터를 추론하고 싶은 경우 해결하려는 과제 머신러닝의 역할은 실시간으로 흐르는 데이터를 추론하는 것에 그치지 않는다. 지금까지 축적된 데이터에 대해 의미를 부여하기 위해 배치 처리로 데이터는 추론하는 경우가 있다. 예를 들어 클라이언트용 웹 서비스에 새로운 위반행위를 발견했을 경우, 해당 위반행위를 실시간으로 검지하는 머신러닝 모델을 준비하고 과거..

article thumbnail
[ML Design Pattern] 추론 시스템 / 3. 비동기 추론 패턴
MLOps 2022. 11. 3. 16:29

비동기 추론 패턴 시스템에 따라 클라이언트는 추론 요청만을 보내놓고, 추론 결과는 클라이언트에서 사용하지 않는 경우도 존재한다. 추론 요청에 대해서 추론 결과를 바로 응답하지 않고 요청과는 다른 과정으로 가져오는 것을 비동기 추론 패턴이라고 한다. 머신러닝으로 실현 가능한 시스템의 폭을 넓힐 수 있는 비동기 추론 패턴에 대해 알아보자. Use Case 클라이언트 애플리케이션에서 추론 요청 직후의 처리가 추론 결과에 의존하지 않는 workflow일 경우 클라이언트와 추론 결과의 output destination을 분리하고 싶은 경우 추론에 시간이 걸려 클라이언트를 기다리게 하고 싶지 않은 경우 해결하려는 과제 최근 DALL-E와 같이 텍스트를 통해 새로운 이미지를 창조하거나 이미지 편집, 변형 등 복잡한 ..

article thumbnail
[ML Design Pattern] 추론 시스템 / 2. 동기 추론 패턴
MLOps 2022. 10. 13. 20:35

동기 추론 패턴 외부 클라리언트에서 웹 API로 추론 요청이 있을 때의 처리 방법에는 크게 동기처리와 비동기처리 두 가지가 있다. 이번 포스팅에서는 동기적인 처리 방법을 TensorFlow Serving을 활용해서 정리한다. Use Case workflow가 추론 결과에 의존할 경우 시스템의 workflow에서 추론 결과가 나올 때까지 다음 단계로 진행이 되지 않는 경우 해결하려는 과제 클라이언트의 애플리케이션은 추론 결과에 따라 이어지는 처리를 달리하는 경우가 있다. 예를 들어, 핸드폰 액정필름 생산라인에서 제조되는 액정필름 표면의 이상을 검지하는 시스템을 생각해 보자. 이때, 시스템은 액정필름을 카메라로 촬영하여 정상이면 출품 라인으로, 이상이 발견되면 사람이 재차 확인하는 라인으로 내보내는 work..

article thumbnail
[ML Design Pattern] 추론 시스템 / 1. 웹 싱글 패턴
MLOps 2022. 10. 6. 18:30

지금까지 머신러닝 모델을 학습하고 릴리스하는 방법에 대해 살펴봤다. 이번 포스팅 부터는 머신러닝을 통해 시스템을 만드는 여러가지 패턴을 정리하려고 한다. 시스템이 필요한 이유 하나의 머신러닝 모델을 만들어 내기 위해서는 다양한 데이터와 알고리즘, 파라미터를 조합해야 한다. 이 조합에 따라 만들어지는 모델의 성능은 달라지는데, 도대체 어떤 데이터나 파라미터를 통해 학습되었는지를 이미 학습된 모델 자체를 통해서 알아내기는 어렵다. 따라서 머신러닝을 활용하기 위해서는 어떤 설정을 바탕으로 모델을 학습했는지 철저히 관리하고 버저닝해야 한다. 머신러닝을 효과적인 프로덕트나 서비스의 형태로 활용하기 위해서는 시스템이 모델을 포함해야 한다. 머신러닝 모델을 로컬 PC에서만 추론할 수 있게 구성하는 것은 도움이 되지 ..

article thumbnail
[ML Design Pattern] 모델 릴리스 / 2.모델 로드 패턴
MLOps 2022. 10. 1. 11:42

모델 로드 패턴 지난 포스팅에서는 릴리스 과정에 있어서 모델을 서버 이미지에 포함하는 방법인 모델 인 이미지 패턴에 대해 알아보았다. 이번에는 모델을 서버 이미지에 built-in 하지 않고 추론기를 가동할 때 다운로드 받아 적용하는 모델 로드 패턴에 대해 알아보자 Use Case 서버 이미지 버전보다 추론 모델의 버전을 더 빈번하게 갱신하는 경우 동일한 서버 이미지로 여로 종류의 추론 모델 가동이 가능한 경우 해결하려는 과제 모델 인 이미지 패턴은 서버 이미지의 빌드가 빈번하게 발생하고 서버 이미지의 사이즈가 증가한다는 단점이 있었다. 예를 들어 동일한 전처리 기법과 동일한 알고리즘을 다른 데이터셋으로 여러 번 학습하는 경우, 학습할 때마다 서버 이미지를 빌드하는 것은 운용면에서 합리적이라고 볼 수 없..

article thumbnail
[ML Design Pattern] 모델 릴리스 / 1. 모델 인 이미지 패턴
MLOps 2022. 9. 27. 18:59

머신러닝 모델을 만드는 확습환경과 모델을 사용해 추론을 수행하는 추론환경은 다르다. 학습환경에서는 풍부한 컴퓨팅 자원과 학습용 라이브러리를 함께 활용해 모델을 개발하고, 추론환경에서는 한정된 자원과 추론용 라이브러리를 통해 추론을 수행한다. 머신러닝 모델을 릴리스하기 위해서는 반드시 추론환경을 기준으로 모델을 제공해야 할 뿐만 아니라, 추론환경에 적합한 프로그램이나 라이브러리도 같이 작성해야 한다. 학습 방법이나 학습 결과를 연구논문으로 집필하고 학회에서 발표하는 경우는 보통 학습 자체에서 학술적인 가치를 찾을 수 있다. 그러나 비즈니스의 목적으로 모델을 개발한다면 모델이 과제 해결에 직접적인 역할을 해야한다. 즉 학습한 모델을 실제 시스템으로 릴리스해서 가치를 창출해내는 것이 중요하다. 모델을 릴리스하..