7가지 기계 학습 인프라 플랫폼에서 ML 모델 실행
컴퓨터가 데이터를 학습하고, 패턴과 경향을 파악하여 비즈니스 의사 결정이나 지원에 활용하는 것이 기계 학습의 핵심입니다.
하지만 기계 학습은 상당한 수학적 지식과 프로그래밍 기술을 필요로 하는 복잡한 분야입니다. 그렇다고 해서 학습이 불가능한 것은 아닙니다. 오히려 충분히 가능하며, 이 글에서 소개할 플랫폼들을 이용하면 기술적인 어려움을 피할 수도 있습니다. 이러한 플랫폼들은 모델 구축 과정을 간소화할 뿐만 아니라, 인프라 운영에 필요한 복잡한 세부 사항들을 숨겨줍니다.
기계 학습이란 무엇인가?
기계 학습은 명시적인 프로그래밍 없이 컴퓨터 스스로 의사 결정을 내릴 수 있도록 하는 연구 분야입니다. 이전에는 컴퓨터가 오직 프로그래머가 명확하게 정의한 작업만을 수행할 수 있었습니다.
프로그래머는 컴퓨터가 어떤 결정을 내려야 하는지를 상세히 알려줘야 했으며, 이는 일부 작업에는 적합했지만, 너무 복잡해서 직접 코딩하기 어려운 경우도 많았습니다. 예를 들어, 하나의 이미지를 다양한 각도, 방향, 조명 조건에서 어떻게 인식해야 할지를 프로그램으로 작성하는 것은 거의 불가능에 가깝습니다. 기계 학습은 이러한 문제를 해결하여 컴퓨터가 프로그래밍 없이도 특정 작업을 수행할 수 있도록 합니다.
기계 학습 플랫폼을 왜 사용해야 할까요?
기계 학습 플랫폼은 모델 구축을 보다 쉽고 빠르게 할 수 있는 방법을 제공합니다. 대부분의 플랫폼은 로우코드 또는 노코드 빌더를 제공하므로, 사용자는 학습 데이터를 제공하는 것 외에 많은 코드를 작성할 필요가 없습니다. 또한, 인프라를 비용 효율적으로 설정하고 모델을 배포하는 데 필요한 복잡한 과정을 걱정할 필요가 없습니다.
특히, 소규모 모델을 가끔씩 구축하는 중소기업의 경우, 직접 기계 학습 환경을 구축하는 것보다 플랫폼을 사용하는 것이 비용 효율적입니다. 자체적인 기계 학습 환경을 구축하려면 고가의 GPU를 구입해야 하지만, 플랫폼을 사용하면 사용량에 따라 비용을 지불하면 됩니다. 물론 더 크거나 자주 훈련하는 모델의 경우에는 상황이 달라질 수 있습니다.
플랫폼은 MLOps 관리 또한 단순화하여, 재현성을 위한 로그와 메트릭 유지를 돕습니다. 이제부터 다양한 기계 학습 인프라 플랫폼에 대해 자세히 알아보겠습니다.
바세텐

Baseten은 Truss라는 오픈 소스 표준을 사용하여 기계 학습 모델을 배포하는 간단한 방법을 제공합니다. Truss는 다양한 기계 학습 프레임워크로 구축된 모델 패키징을 위한 표준입니다.
모델 배포 후, Baseten은 배포된 모델의 상태를 기록하고 모니터링합니다. 또한, 수신 트래픽에 따라 모델 서비스 인프라를 자동으로 확장하여 인프라 관리 부담을 줄여줍니다.
Baseten을 사용하면 FLAN-T5, Llama, Stable Diffusion과 같은 모델을 미세 조정할 수 있습니다. 이 플랫폼은 기존 CI/CD 워크플로와 통합되어 있어, 기존 프로세스에 맞춰 개발할 수 있습니다. 또한, 모델과 통합되는 서버리스 Python 함수를 작성하는 것도 가능합니다. 비용은 모델이 배포, 확장 또는 예측을 수행하는 시점을 기준으로 부과되어 비용 관리가 용이합니다.
리플리케이트

Replicate는 기계 학습 모델을 쉽게 실행할 수 있는 플랫폼입니다. Python SDK와 Rest API를 제공하여 모델 개발 및 학습 과정을 간소화합니다. Replicate는 로우코드 빌더를 제공하며, 이미지 복원, 비디오 생성 및 편집, 대규모 언어 모델을 사용한 텍스트 생성, 이미지-텍스트 변환, 이미지 해상도 증가와 같은 일반적인 기계 학습 작업을 위한 모델을 제공합니다.
Replicate는 Docker 컨테이너에 구축된 프로덕션 준비 모델을 배포하는 도구인 Cog를 사용합니다. 또한, 사용량에 따라 확장되는 프로덕션 런타임 환경을 제공하며, REST API를 통해 접근할 수 있도록 합니다. 비용 청구는 사용 시간 단위로 이루어집니다.
허깅 페이스

Hugging Face는 최첨단 기계 학습 모델을 구축, 학습 및 배포하는 데 필요한 도구를 제공하는 AI 커뮤니티이자 데이터 과학 플랫폼입니다. Hugging Face의 가장 큰 매력 중 하나는 AutoTrain이라는 노코드 기능으로, 학습 데이터 세트만 업로드하면 머신 러닝 모델을 구축할 수 있습니다.
AutoTrain은 학습 데이터에 가장 적합한 모델을 찾기 위해 다양한 모델을 자동으로 시도합니다. 학습된 모델은 Hugging Face Hub라는 모델 제공 서비스에 배포할 수 있습니다. AutoTrain을 통해 이미지 분류, 텍스트 분류, 토큰 분류, 질의응답, 번역, 요약, 텍스트 회귀, 표 데이터 분류 및 표 데이터 회귀 모델을 구축할 수 있으며, 배포된 모델은 HTTP를 통해 사용 가능합니다.
구글 AutoML

Google AutoML은 최소한의 노력과 전문 지식으로 기계 학습 모델을 구축할 수 있는 쉬운 방법을 제공합니다. 여기에는 AI 모델을 구축, 배포 및 확장하기 위한 통합 플랫폼인 Vertex AI가 포함됩니다.
Google AutoML을 사용하면 데이터 세트를 저장하고 Google 팀이 사용하는 것과 동일한 기계 학습 도구에 접근할 수 있습니다. 구조화된 데이터(AutoML Tabular)를 관리하고, 이미지에서 객체를 감지하고, AutoML Image를 사용하여 이미지를 분류할 수 있습니다. 또한, AutoML Video를 사용하여 비디오 파일에 대해서도 동일한 작업을 수행할 수 있으며, AutoML Text를 사용하여 텍스트에 대한 감정 분석을 수행하고 AutoML Translation을 사용하여 50개 이상의 언어 쌍을 번역할 수 있습니다. 배포된 모델은 REST 및 RPC API를 통해 액세스할 수 있습니다.
애저 OpenAI

Azure OpenAI Service는 OpenAI에서 개발한 다양한 모델에 대한 접근을 제공합니다. 여기에는 자연어와 코드를 이해하고 생성하는 모델인 GPT-3 및 GPT-4가 포함됩니다. GPT-3.5는 ChatGPT를 구동합니다. 또한, 이 서비스는 텍스트를 기반으로 이미지를 생성하는 DALL-E와 자연어에서 코드를 이해하고 생성하는 Codex에 대한 액세스를 제공합니다. 마지막으로, 임베딩이라는 특수한 데이터 세트를 처리하는 임베딩 모델도 제공됩니다. 이러한 모델은 REST API, Python SDK 또는 웹 기반 Azure OpenAI Studio를 통해 접근할 수 있습니다. Azure 플랫폼은 개인 네트워킹, 지역별 가용성, 책임 있는 AI 콘텐츠 필터링과 같은 Azure 클라우드 보안을 제공합니다.
AWS 세이지메이커

SageMaker는 AWS 서비스 제품군의 일부로 제공되는 관리형 서비스입니다. 기계 학습 모델을 구축, 학습 및 배포할 수 있는 도구를 제공합니다. SageMaker는 프로덕션 수준의 AI/ML 모델 개발 파이프라인 구축 과정을 자동화하는 데 도움을 줍니다. AWS 퍼블릭 클라우드에서 AI 모델을 대규모로 구축, 호스팅, 학습 및 배포할 수 있는 프레임워크를 제공합니다. 또한, 선형 회귀 및 이미지 분류와 같은 작업을 수행하는 기본 제공 알고리즘을 제공하며, 사용자 정의 모델을 만들 때 사용할 수 있는 Jupyter Notebook을 지원합니다. SageMaker는 알고리즘에 대한 최적의 결과를 생성하는 매개변수와 하이퍼파라미터를 자동으로 찾으려는 지속적인 모델 모니터도 제공합니다. SageMaker는 HTTP 엔드포인트로 다양한 가용성 영역에 모델을 쉽게 배포할 수 있도록 도와주며, AWS Cloudwatch를 사용하여 시간 경과에 따른 모델 성능을 모니터링할 수 있습니다.
데이터브릭스

Databricks는 데이터 준비 및 처리를 지원하는 데이터 레이크하우스입니다. 전체 수명 주기 동안 기계 학습 모델 개발을 보다 쉽게 관리할 수 있도록 도와줍니다. Databricks를 사용하면 생성형 AI와 대규모 언어 모델을 보다 쉽게 구축할 수 있습니다. Python, R, SQL, Scala와 같은 프로그래밍 언어를 지원하는 협업 Databricks Notebook과 같은 다양한 기능을 제공합니다. Databricks는 또한 기계 학습에 최적화된 클러스터로 미리 구성된 Machine Learning Runtime을 제공합니다. 배포를 돕기 위해 모델 서비스 및 모니터링 기능을 제공하며, AutoML과 MLFLow를 사용하여 개발 파이프라인을 관리할 수 있습니다.
마지막으로
기계 학습은 모든 비즈니스에 유용할 가능성이 높지만, 기계 학습 모델을 구축하고 학습하는 데 필요한 심층적인 기술 지식은 많은 기업에 진입 장벽이 될 수 있습니다. 하지만 이 글에서 소개된 플랫폼들은 프로세스를 단순화하고 기계 학습 개발에 더욱 쉽게 접근할 수 있도록 도와줍니다. 다음으로는 DataBricks와 Snowflake에 대한 자세한 기사를 확인해 보십시오.