top of page

ChatGPT 서비스 운영 인프라의 비밀


100백만명 이상의 사용자를 호스팅하는 ChatGPT를 구동하는 데 필요한 인프라는 무엇인지 그리고 이 인프라가 Azure에서 어떻게 운영되는지 궁금하지 않으세요? 이를 소개하는 마이크로소프트 유튜브 영상이 있어 간단히 핵심만 추려 보았습니다. 상세 내용은 다음 영상을 참조 바랍니다.



강력한 성능


ChatGPT 같이 글로벌 스케일로 서비스를 하는 생성형 AI 서비스는 시쳇말로 달러를 태워 가며 서비스를 한다고 표현합니다. 그 만큼 비용이 많이 들어 간다는 것인데요, 그도 그럴 것이 초거대 언어 모델(LLM) 기반 서비스다 보니 상상 이상의 성능이 필요합니다. 안정성, 확장성 등도 물론 기본이고요.


LLM 모델 학습은 매우 자원이 많이 들고 비싸기 때문에 효율적인 인프라 구축이 필수입니다. 서버나 네트워크 연결 등의 문제로 인해 오류가 발생하게 되면, 이를 신속하게 진단하고 해결할 수 있는 시스템도 필요합니다. 이를 위해 마이크로소프트 Azure는 데이터센터 인프라에 많은 투자를 하였고, 고성능 네트워크로 GPU 클러스터를 제공하여 효율적인 학습을 지원하도록 하였습니다.

2020년에 마이크로소프트가 OpenAI를 위해 구축한 슈퍼컴퓨터는 285,000개 이상의 AMD Infiniband 연결 CPU 코어와 별도로 10,000개의 NVIDIA V100 Tensor Core GPU를 포함하고 있습니다. 이 시스템은 당시 세계에서 다섯 번째로 큰 슈퍼컴퓨터이며, 퍼블릭 클라우드에서 구축된 가장 큰 슈퍼컴퓨터였습니다.


OpenAI의 ChatGPT 서비스는 날이 갈수록 강력해지고 있습니다. 최근에는 NVIDIA H100까지 투입이 되고 있습니다. Azure에서 제공하는 새로운 H100 VM 시리즈는 Nvidia H100 Tensor Core GPU를 사용하며, 필요에 따라 수천 개의 GPU로 확장할 수 있습니다. 이는 이전 세대의 Nvidia A100 GPU에 비해 성능이 30배 높고, 학습은 4배 더 높습니다. 이러한 GPU는 멀티테넌트 클라우드 컴퓨팅을 위해 특별히 설계되었습니다.

또한, 마이크로소프트는 단일 노드에서 NV 스위치와 NVLink 4.0를 사용하여 양방향 대역폭을 3.6TB/s로 늘렸습니다. 이는 4K 비디오를 1초에 80개 다운로드하는 속도와 같습니다. 그리고 더 많은 노드를 사용하여 확장할 때 Infiniband 링크는 GPU당 400Gb, 서버당 총 3.2Tb를 제공합니다.


오류 진단과 처리


LLM 모델 기반 생성형 AI 서비스 같은 서비스를 Azure를 통해 제공함에 있어 신뢰성을 어떻게 보장해야 할까요? LLM 모델 훈련과 LLM 기반 서비스는 자원 집약적입니다. 따라서 서버나 네트워크 링크 같은 문제로 인해 오류가 발생할 수 있습니다. 따라서 신뢰성을 보장하려면 오류를 신속하게 진단하고 해결할 수 있는 시스템이 필요합니다. 마이크로소프트는 어떻게 이런 과제를 해결할까요?


바로 Project Forge가 GPU 백업과 커널에 연결된 상태에서 코드 수정이나 수동 체크포인트 실행 없이 투명하게 백그라운드에서 실행됩니다. 이것이 가능한 것은 하드웨어 파트너와 협력 덕분으로, 마이크로소프트는 GPU 파트너와 협력해 GPU에서 메모리를 체크포인트하고 복원하는 데 필요한 사용자 모드에서의 체크포인트 및 복원 기능을 구현했습니다. 이는 CPU에서 수행하는 체크포인트와 일관성을 유지하는 것을 가능하게 합니다.


LLM 기반 PaaS의 차별점 및 사례


Azure는 파인 튜닝 관련 자원 효율도 극대화합니다. 가령 GPT3 모델을 효율적으로 파인 튜닝하기 위해Microsoft Research에서 개발한 '낮은 순위 적응' 또는 'LoRa 파인 튜닝'이라는 기술을 사용하여 모델의 일부만 개선합니다. 이로 인해 GPT와 같은 모델을 파인 튜닝할 때 전체 매개변수의 1% 미만만 파인 튜닝하면 됩니다. 따라서 96개의 GPU가 아니라 24개의 GPU만 필요하게 되고, 테라바이트 크기의 체크포인트 대신 200메가바이트 크기의 체크포인트만 필요하게 됩니다.


Azure 슈퍼컴퓨터 기능은 모든 사람이 자신의 작업을 위해 사용할 수 있습니다. AI 인프라는 매우 작은 작업부터 OpenAI 규모와 같은 매우 큰 작업까지 모든 것을 지원합니다. 마이크로소프트가 제공하는 최적화된 하드웨어 인프라를 활용하면 최신 GPU, Infiniband 네트워킹, 네트워크 튜닝 등을 통해 최적의 상태로 가상 머신을 사용할 수 있습니다. 또한, 모델 구축 및 실행에 중점을 두려면, Onyx 런타임이나 더 효율적인 분산 훈련을 위한 Deep Speed 훈련 프레임워크 등의 프레임워크와 MLOps 서비스를 이용할 수 있습니다. Azure 머신러닝의 PaaS 서비스는 우리의 인프라와 자연스럽게 통합되어 모델을 구축할 수 있게 해줍니다. AML을 이용하면 GPT-4와 같은 모델을 쉽게 파인 튜닝하고 파인 튜닝된 모델을 자신의 애플리케이션에서 사용할 수 있는 관리 서비스로 배포할 수 있습니다.


오늘날 여러 조직들은 자신들의 솔루션을 위해 Azure의 AI 슈퍼컴퓨터를 활용하고 있습니다. 대표적인 사례로는 Wayve라는 회사가 있습니다. 이 회사는 영국에 위치한 자율주행 기술의 선두 주자로 분산 AI를 기반으로 한 자율주행 시스템에 특화하고 있습니다. 주로 비전 기반 머신러닝을 사용하며 Azure 슈퍼컴퓨터를 이용해 연간 수백만 시간의 운전 데이터에서 모델을 수집, 관리, 훈련합니다.


이상으로 ChatGPT 및 LLM 기반 PaaS 제공을 위해 마이크로소프트의 인프라 투자 및 운영 방안을 간단히 알아 보았습니다. 더 자세한 내용은 영상을 참조 바랍니다.


조회수 40회댓글 0개
bottom of page