-
AI 및 머신러닝 확장성 문제에 대한 방안OpenShift AI 2024. 7. 14. 02:58
Uber가 겪었던 AI 및 머신러닝 확장성 문제에는 여러 가지가 있습니다. 이 문제들을 해결하기 위해 Uber는 Michelangelo라는 내부 머신러닝 플랫폼을 구축했습니다. 주요 문제점과 그에 대한 해결책을 아래에 정리했습니다.
1. 복잡한 데이터 파이프라인
- 문제점: Uber의 다양한 서비스는 실시간 데이터를 필요로 합니다. 이를 위해 데이터의 일관성과 신뢰성을 유지하면서도 실시간으로 데이터를 처리하고 제공하는 것이 매우 복잡했습니다.
- 해결책: Uber는 중앙화된 Feature Store를 구축하여 데이터 팀들이 생성한 피처들을 쉽게 공유하고 관리할 수 있도록 했습니다. 이를 통해 데이터 일관성을 유지하고 재사용성을 높였습니다.
2. 모델 학습 및 배포의 확장성 문제
- 문제점: 대규모 데이터를 처리하고 모델을 학습시키는 과정에서 병목 현상이 발생했습니다. 특히, 실시간 예측 서비스에서는 높은 지연 시간(latency)이 문제가 되었습니다.
- 해결책: Uber는 Spark ML 파이프라인을 사용하여 모델을 표현하고, 성능 향상을 위해 특정 튜닝을 적용했습니다. 또한, 실시간 서빙을 위해 경량화된 인터페이스(OnlineTransformer)를 도입하여 지연 시간을 줄였습니다.
3. 지속적인 모델 업데이트와 유지 보수
- 문제점: 모델의 성능을 유지하기 위해서는 지속적인 업데이트와 유지 보수가 필요했습니다. 하지만, 이는 많은 인적 자원과 시간이 소요되는 작업이었습니다.
- 해결책: Michelangelo는 모델의 지속적인 재학습을 자동화하여 이러한 문제를 해결했습니다. 이를 통해 모델 업데이트 주기를 단축하고 유지 보수의 효율성을 높였습니다.
4. 분산된 팀 간의 협업 문제
- 문제점: 다양한 팀들이 각기 다른 머신러닝 도구와 워크플로우를 사용하면서 협업과 지식 공유가 어려워졌습니다.
- 해결책: Uber는 내부 커뮤니티를 구축하고, 정기적인 교육 세션과 ML 컨퍼런스를 통해 지식 공유와 협업을 촉진했습니다. 이를 통해 팀 간의 일관된 워크플로우를 유지하고, 협업을 강화했습니다.
5. 모델 서빙 일관성 문제
- 문제점: 학습된 모델을 배포하는 과정에서 오프라인 학습과 온라인 서빙 간의 일관성을 유지하는 것이 어려웠습니다.
- 해결책: Uber는 모델의 학습과 서빙 모두에 동일한 파이프라인을 사용하도록 하여 일관성을 유지했습니다. 또한, 모델 서빙 성능을 향상시키기 위해 특정 성능 튜닝을 적용했습니다.
이와 같은 문제들을 해결함으로써 Uber는 대규모 머신러닝 모델의 학습, 배포, 유지 보수의 효율성을 극대화할 수 있었습니다. Uber의 사례는 OpenShift AI와 같은 통합 플랫폼의 필요성과 그 효과를 잘 보여줍니다.
'OpenShift AI' 카테고리의 다른 글
피처 엔지니어링(Feature Engineering) (1) 2024.08.10 GPU와 VPU의 차이점은 (4) 2024.08.10 모델 서빙(Model Serving) (1) 2024.08.10 데이터셋(dataset) (0) 2024.08.09 OpenShift AI 기반 AI 인프라 구축 백서 (1) 2024.07.14