[NAVER] ML gpu model server 성능을 유지하며 cpu server로 전환한 경험 공유 (feat. torchserve)

  • 이 글은 GPT-4를 사용하여 자동 생성한 설명으로, 잘못된 내용이 있을 수 있습니다. :smile:
  • 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다! :bowing_man:

image

소개

이 글은 네이버 플레이스 개발팀에서 ML 모델 서버를 GPU에서 CPU로 전환하는 과정을 공유하는 것입니다. 이 전환은 서버 비용을 절감하고, 서버 운영을 더 효율적으로 만들기 위한 목표를 가지고 있습니다.

요약

1. 모델 서버의 GPU에서 CPU로 전환

  • 네이버 플레이스 개발팀은 모델 서버를 GPU에서 CPU로 전환하는 작업을 진행했습니다. 이는 서버 비용을 절감하고, 서버 운영을 더 효율적으로 만들기 위한 목표를 가지고 있습니다. 이 작업은 모델 학습(training)에 사용되는 GPU를 CPU로 대체하는 것을 포함합니다.
    image

2. 모델 서버의 구조

  • 모델 서버는 크게 세 가지 부분으로 구성되어 있습니다: 모델 학습, 모델 서버, 그리고 클라이언트. 모델 학습은 데이터셋(dataset)을 사용하여 모델을 학습하는 과정을 포함하며, 모델 서버는 학습된 모델을 호스팅하고, 클라이언트는 모델 서버에 요청을 보내고 응답을 받습니다.

image

3. GPU에서 CPU로의 전환

  • GPU에서 CPU로의 전환은 여러 단계를 포함합니다. 먼저, 모델 학습 코드를 CPU에서 실행할 수 있도록 수정합니다. 그런 다음, 모델 서버를 CPU에서 실행할 수 있도록 설정합니다. 마지막으로, 클라이언트 코드를 수정하여 CPU에서 실행되는 모델 서버에 요청을 보낼 수 있도록 합니다.

image

4. 전환 후의 결과

  • 전환 후에, 서버 비용이 크게 절감되었고, 서버 운영이 더 효율적으로 이루어졌습니다. 또한, CPU에서 실행되는 모델 서버는 GPU에서 실행되는 모델 서버와 비교하여 성능 저하 없이 잘 작동했습니다.

image

참조

  • 이 블로그는 네이버 플레이스 개발팀의 다양한 프로젝트와 경험을 공유합니다. 이 글에서 언급된 GPU에서 CPU로의 전환 작업에 대한 더 많은 정보를 얻을 수 있습니다.

원문