엔지니어링

Aug 4, 2021

엔지니어링

Backend.AI와 Pure Storage로 AI를 쉽고 간편하게 활용하기

  • 이펑 지앙

    이펑 지앙

    Software & solutions engineer(PureStorage)

Aug 4, 2021

엔지니어링

Backend.AI와 Pure Storage로 AI를 쉽고 간편하게 활용하기

  • 이펑 지앙

    이펑 지앙

    Software & solutions engineer(PureStorage)

About Pure Storage

PureStorage는 전 세계 기업들에게 AI와 머신러닝을 위한 올플래시(Flash) 스토리지 솔루션을 제공하는 글로벌 스토리지 기업입니다. Lablup은 Pure Storage의 Technology Alliance Partner(TAP)로서, Backend.AI에 Pure Storage FlashBlade 전용 스토리지 플러그인을 제공해 AI 개발자와 데이터 사이언티스트가 최적의 환경에서 AI 개발에 집중할 수 있도록 지원하고 있습니다.

Pure Storage의 데이터 사이언스 총괄 수석 솔루션 아키텍트(Principal Solutions Architect)인 Yifeng Jiang 씨는 빅데이터와 머신러닝 분야에서 다년간의 경험을 쌓은 전문가로, AI 인프라 내에서 GPU 서버와 스토리지를 최적으로 운영하는 방법을 주제로 한 아래 글을 작성했습니다.

클릭 몇 번으로 AI 인프라의 GPU와 데이터 관리 문제를 해결하기

회사에서 여러분과 동료 데이터 사이언티스트들을 위해 강력한 GPU 서버를 몇 대 마련했다고 가정해봅시다. 이제는 더 이상 노트북 앞에서 훈련이 끝나길 기다리지 않아도 되니 기대가 큽니다. 당장이라도 GPU를 사용하고 싶지만, 현실은 그렇게 간단하지 않을 수 있습니다. 사용에 앞서 IT 팀이 다음과 같은 질문을 던질지도 모릅니다.

얼마나 많은 CPU와 GPU 자원이 필요한가요?

작업은 언제 시작해서 언제쯤 끝날까요?

공유 스토리지가 필요하다면, 어느 정도 용량이 필요한가요?

데이터셋은 얼마나 크며, 어떻게 업로드할 계획인가요?

이런 질문은 팀에서 누군가가 GPU를 사용할 때마다 반복될 수 있습니다. 사실 AI를 누구나 쉽게 접근할 수 있도록 만드는 일은 결코 간단하지 않습니다. AI는 단순히 머신러닝 모델을 위한 Python 코드를 작성하는 것을 넘어, 방대한 기술과 복잡한 인프라를 포함하는 영역입니다. Google의 이 논문에 따르면 실제 머신러닝 시스템에서 핵심 모델 코드는 전체 시스템의 극히 일부에 불과합니다. 나머지는 이를 둘러싼 다양한 인프라가 차지합니다.

Backend.AI Architecture
Hidden Technical Debt in Machine Learning Systems by Google

지금은 모델 코드, 즉 이 작은 '검은 상자'에 집중해 봅시다. GPU나 TPU를 사용해 모델을 훈련한다는 점에서 AI 개발은 일반적인 소프트웨어 개발과 매우 다릅니다. GPU는 비싸고, 드라이버와 라이브러리 설치도 만만치 않습니다. 팀 내에서 GPU를 어떻게 효율적으로 공유하고 스케줄링할 수 있을까요?

실제로 어떤 팀들은 서드파티 툴이나 자체 제작한 스크립트, 심지어는 스프레드시트를 이용해 리소스를 관리하기도 합니다. 물론 이런 방식은 “스마트”하다고 보긴 어렵습니다.

최근 Lablup Inc. 팀과 이야기를 나누면서 AI가 가진 과제와 기회, 그리고 기술에 대해 논의할 기회가 있었습니다. 그들이 보여준 Backend.AI는 오픈소스 기반의 AI/ML 컴퓨팅 리소스 오케스트레이터로, AI 접근성을 크게 높이려는 시도입니다. 이 시스템이 너무 인상적이어서, 그 내용을 여러분께도 소개하고자 합니다.

AI를 누구나 쉽게 접근할 수 있도록

많은 기업이 데이터 사이언티스트를 채용하면서 GPU가 탑재된 노트북을 제공해 AI 프로젝트를 시작합니다. 하지만 프로젝트가 커지면 더 많은 GPU 자원이 필요해지고, 결국 데이터센터나 클라우드로 눈을 돌리게 됩니다. 여기서부터 인프라 관련 문제가 시작됩니다.

모든 기업이 GPU 리소스를 잘 관리할 수 있는 것은 아닙니다. Backend.AI는 GPU를 비롯한 컴퓨팅 자원을 팀 내에서 쉽게 접근하고 공유할 수 있도록 해, 복잡한 리소스 관리 없이도 데이터 사이언티스트가 본연의 업무에 집중할 수 있도록 도와줍니다. 여러 서버에 흩어진 GPU 리소스를 하나의 풀로 묶어 필요한 만큼 할당해주는 구조입니다.

Backend.AI Architecture
Backend.AI에서 새 세션 시작하기
세션은 단일 GPU, 여러 GPU 또는 GPU의 일부 자원으로 실행될 수 있어, 추론이나 소규모 훈련에 매우 유용합니다. 몇 번의 클릭만으로 웹 브라우저에서 원하는 ML 프레임워크를 사용할 수 있는 GPU 세션을 바로 시작할 수 있습니다. 별도의 드라이버 설치나 환경 구성도 필요 없습니다.
One-click launch of various tools from Backend.AI
Backend.AI에서 다양한 도구의 원클릭 실행

저는 Jupyter를 자주 사용하는데, Backend.AI에서는 클릭 한 번으로 JupyterLab 인스턴스를 시작할 수 있어 매우 편리합니다.

Backend.AI Architecture
JupyterLab 인스턴스 실행 화면

또한 웹 기반 터미널(CLI)을 사용할 수 있어 세션에 대한 제어와 유연성도 확보할 수 있습니다.

Web-base CLI from Backend.AI
Backend.AI의 웹 기반 CLI

세션은 팀원과 격리되어 있어 리소스 충돌 없이 안전하게 작업할 수 있으며, 훈련이 끝난 후 세션을 종료하면 GPU 리소스가 다시 풀에 반환됩니다.

어떻게 작동하나요?

Backend.AI는 전형적인 클라이언트-서버 구조로 구성되어 있습니다. 클라이언트는 SDK나 툴을 통해 요청을 전달하고, 서버에서는 이를 처리합니다. 특히 저는 Visual Studio Code 통합 기능을 선호하는데, 코딩과 문서 작성을 한 곳에서 할 수 있어 편리합니다.

Backend.AI Architecture
Backend.AI 아키텍처 구성
Docker나 Kubernetes 스택과의 차이점이 궁금할 수 있는데, Backend.AI의 차별점은 다음과 같습니다.

Kubernetes 없이도 클러스터 접근이 가능

고밀도 노드에서 GPU 활용 극대화를 위한 컨테이너 격리 기술

AI/HPC 워크로드에 최적화된 리소스 할당 및 성능

기존 CUDA 프로그램 수정 없이도 GPU 분할 사용 가능

NAS와의 네이티브 통합으로 데이터 I/O 성능 향상

필요 시 Kubernetes 클러스터도 백엔드로 연동 가능

스토리지 통합

빠르고 안정적인 데이터 흐름 AI 시스템은 결국 데이터와 모델입니다. Backend.AI는 다양한 NAS 시스템과의 통합을 지원하며, 세션 간 데이터를 유지하기 위한 가상 폴더(vfolder)를 제공합니다. 이 중 Pure Storage FlashBlade NFS는 Backend.AI에 최적화된 NAS로 추천됩니다.

FlashBlade integration and monitoring on Backend.AI
lashBlade와 Backend.AI의 통합
FlashBlade는 높은 성능과 관리 편의성, 그리고 Rapidfile Toolkit을 통해 수백만 개의 파일도 빠르게 처리할 수 있다는 장점이 있습니다. 예를 들어 일반적인 find, ls, chmod 등의 Linux 명령어를 최대 30배 빠르게 실행하는 pfind, pls 등으로 대체할 수 있습니다.
Rapidfile Toolkit
120만 개 파일 작업 처리 시간 비교: Rapidfile Toolkit vs. 기존 Linux 명령어

Rapidfile Toolkit은 Backend.AI와 FlashBlade를 함께 사용하는 고객들에게 특히 인기가 많습니다.

요약

AI는 큰 기대를 받고 있지만, 실제 도입에는 인프라 구축이라는 큰 장벽이 존재합니다. 특히 GPU와 데이터의 효율적인 관리 및 공유는 많은 조직이 처음 부딪히는 문제입니다.

Lablup의 Backend.AI는 GPU를 서비스처럼 쉽게 사용할 수 있게 해주고, Pure Storage FlashBlade는 빠르고 간편하게 데이터를 공급합니다. 이 두 기술은 AI 인프라의 진입 장벽을 낮추고, 더 많은 사람들이 AI를 활용할 수 있는 길을 열어줍니다.

도움이 필요하신가요?

내용을 작성해 주시면 곧 연락 드리겠습니다.

문의하기

본사 및 HPC 연구소

KR Office: 서울특별시 강남구 선릉로 577 CR타워 8층 US Office: 3003 N First st, Suite 221, San Jose, CA 95134

© Lablup Inc. All rights reserved.

개인정보를 소중히 여깁니다

사용자 경험 향상, 사이트 트래픽 분석 및 방문자 동향 파악을 위해 쿠키를 사용합니다. "모두 수락"을 클릭하면 쿠키 사용에 동의하는 것입니다. 자세히 보기