공유

게시 February 13, 2024

저자 Sarika Mehta, Wayne Gao, Yi Wang

기사

AI 스토리지 발전에서 솔리다임 SSD의 역할

인공 지능이 빠르게 발전하여 인류에게 새로운 미래를 제시함에 따라, 더욱 높은 컴퓨팅 능력이 필요해졌습니다. 높은 처리량, 대기 시간이 짧은 네트워크 및 딥 러닝 모델 덕분에 수천 개의 GPU 클러스터가 도처에 생겨나고 있습니다. 이렇게 진화하는 시장 때문에 AI 설계자들은 깊은 고민에 빠져 있습니다. 가장 중요한 질문은 다음과 같습니다. 어떤 종류의 AI 스토리지 인프라를 사용해야 AI 가속기(GPU, CPU 등)와 네트워크 장치를 대기 시간 없이 최대 성능으로 실행할 수 있을까요?

AI 프로젝트 주기 단계

업계 사례를 분석한 결과, 일반적인 AI 프로젝트 주기는 크게 다음과 같은 3단계로 구성됩니다: 

  1. 데이터 가져오기 및 준비
  2. 모델 개발(교육)
  3. 모델 배포(추론)

네 번째(선택 사항) 단계에서는 실제 추론 결과와 새로운 데이터를 기반으로 모델을 반복적으로 개선할 수 있습니다.

1단계: 데이터 수집 및 준비

훈련을 시작하기 전에 훈련 클러스터에 공급할 데이터를 철저히 준비하는 것이 중요합니다.

1. 데이터 변환: 검색, 추출 및 전처리

AI 모델링에 사용되는 원시 데이터는 기존 데이터의 전형적인 '3V' 특성인 볼륨, 속도, 다양성을 그대로 상속합니다. 데이터 소스는 이벤트 로그, 거래 기록, IoT 입력부터 CRM, ERP, 소셜 미디어, 위성 이미지, 경제, 주식 거래에 이르기까지 다양합니다. 이러한 다양한 소스에서 데이터를 추출하여 데이터 파이프라인 내의 임시 저장 영역에 통합해야 합니다. 이 단계를 일반적으로 '추출'이라고 합니다.

그런 다음 데이터는 추가 분석에 적합한 형식으로 변환됩니다. 원래 소스 시스템에서는 데이터가 혼란스러워 해석하기 어려운 경우가 많습니다. 변환 목표의 일부는 데이터 품질을 향상시크는 것입니다. 여기에는 다음이 포함됩니다: 

  1. 유효하지 않은 데이터 정리
  2. 중복된 항목 제거
  3. 측정 단위 표준화
  4. 유형에 따라 데이터 구성

변환 단계에서는 특정 비즈니스 목적에 맞게 데이터를 구조화하고 형식을 다시 지정합니다. 이 단계를 변환이라고 합니다.

2. 데이터 탐색 및 데이터 세트 분할

데이터 분석가는 시각화 및 통계 기법을 사용하여 규모, 수량, 정확도 등의 특성을 설명합니다. 탐색을 통해 다양한 변수 간의 관계, 데이터 집합의 구조, 이상 징후 유무, 값의 분포를 파악하고 조사합니다. 데이터 탐색을 통해 분석가는 원시 데이터를 더 심층적으로 파악할 수 있습니다.

탐색은 눈에 띄는 오류를 식별하고, 데이터 내의 패턴을 더 잘 이해하며, 이상값이나 비정상적인 이벤트를 감지하고, 변수 간의 흥미로운 관계를 파악하는 데 도움이 됩니다. 데이터 탐색이 완료되면 데이터 집합은 일반적으로 훈련 및 테스트 하위 집합으로 분할됩니다. 이러한 하위 집합은 모델 개발 중에 훈련 및 테스트 목적으로 별도로 사용됩니다.

3. 특징 추출, 특징 선택 및 패턴 마이닝

AI 모델의 성공 여부는 선택한 특징이 연구 중인 분류 문제를 효과적으로 나타낼 수 있는지 여부에 달려 있습니다. 

예를 들어, 합창단의 각 단원에 대해 생각해 보세요. 특징에 성별, 키, 피부색, 교육 수준을 포함할 수도 있고, 성량에만 초점을 맞출 수도 있습니다.

앞의 4가지 차원이 아닌 성량을 특징으로 사용하면, 차원수가 1/4로 줄어들지만(훨씬 더 적은 데이터를 의미함) 합창단원과 관련된 본질을 더 잘 압축할 수 있습니다. 

높은 차원수의 위험성을 피하고, 계산 복잡성을 줄이기 위해 가장 효과적인 특징을 식별하고 특징 차원수를 줄이는 과정을 특징 선택이라고 합니다.

다양한 특징 중에서 어떤 특징이 상호 배타적인지, 어떤 특징이 공존하는지와 같은 본질적인 관계와 논리를 밝혀내는 것을 패턴 마이닝이라고 합니다.

4. 데이터 변환 

여러 가지 이유로 데이터 변환이 필요할 수 있습니다. 일부 데이터를 다른 데이터와 정렬하거나, 호환성을 용이하게 하거나, 데이터의 일부를 다른 시스템으로 마이그레이션하거나, 다른 데이터 집합과 연결을 구축하거나, 데이터 내의 정보를 집계하려는 목적에서 비롯된 것일 수 있습니다. 

데이터 변환의 일반적인 측면에는 유형 변환, 의미 체계 변경, 값 범위 조정, 세분성 변경, 테이블 또는 데이터 집합 분할, 행과 열 변환 등이 있습니다.

성숙한 오픈소스 프로젝트 커뮤니티 덕분에 데이터 수집 및 준비 단계에서 신뢰할 수 있는 다양한 도구가 있습니다. 이러한 도구를 통해 ETL(Extract, Transform, Load/추출, 변환, 로드) 또는 ELT(Extract, Load, Transform/추출, 로드, 변환) 작업을 수행할 수 있습니다. 예를 들면 다음과 같습니다:

  • Kafka 
  • Sqoop 
  • Flume 
  • Spark
  • Nifi

또한 수많은 특징 세트를 만드는 것과 같은 작업에는 다음과 같은 도구를 사용할 수 있습니다:

  • Spark
  • Pandas
  • Numpy
  • Spark MLLib
  • scikit-learn
  • XGBoost

5. 데이터 수집 및 준비 단계를 위한 스토리지 특성 

데이터 수집 및 준비 단계 중에 일반적인 워크플로에는 데이터를 무작위로 읽고 처리된 항목을 순차적으로 쓰는 작업이 포함됩니다. 스토리지 인프라는 소규모의 무작위 읽기에 대해 짧은 지연 시간을 제공하는 동시에 높은 순차적 쓰기 처리량을 제공하는 필수적입니다.

2단계: 모델 개발 및 훈련

훈련 데이터 집합 준비가 완료되면 다음 단계에는 모델 개발, 훈련, 하이퍼 파라미터 튜닝이 포함됩니다. 알고리즘 선택은 사용 사례의 특정에 따라 결정되며, 모델은 데이터 집합을 사용하여 훈련됩니다.

1. AI 프레임워크 

모델 효율성이 테스트 데이터 집합에 대해 평가되고, 필요에 따라 조정을 거친 후 최종적으로 배포됩니다. AI 프레임워크는 다음과 같은 인기 프레임워크와 함께 지속적으로 발전하고 있습니다:

  • TensorFlow
  • PyTorch
  • MXNet
  • Scikit Learn
  • H2O
  • 그외 다수!

이 단계에서는 컴퓨팅 리소스에 대한 요구가 매우 높습니다. 리소스 유휴 상태를 없애려면 이러한 리소스에 데이터를 더 빠르고 효율적으로 공급하는 것이 우선 순위가 되므로 스토리지가 매우 중요합니다.

모델을 개발하는 동안 데이터 집합이 지속적으로 확장되며, 여러 명의 데이터 과학자가 다양한 워크스테이션에서 동시에 액세스해야 하는 경우가 많습니다. 데이터 과학자들은 과적합을 방지하기 위해 수천 개의 변형 중에서 항목을 동적으로 보강합니다.

2. 스토리지 용량 확장성 및 데이터 공유 

이 단계에서는 스토리지 용량이 중요해지기 시작합니다. 하지만 동시 데이터 액세스 작업의 수가 증가하면서 확장 가능한 성능이 성공의 핵심이 됩니다. 워크스테이션과 서버 간의 데이터 공유와 신속하고 원활한 용량 확장은 스토리지의 중요한 기능입니다.

훈련이 진행되면서 데이터 집합의 크기가 크게 증가하여 수 페타바이트에 이르는 경우가 많습니다. 각 훈련 과정에는 일반적으로 무작위 읽기가 포함되며, 전체 프로세스는 동일한 데이터 집합에 액세스하는 수많은 동시 작업으로 구성됩니다. 데이터 액세스를 위해 경쟁하는 여러 개의 작업은 전체적인 랜덤 I/O 워크로드를 가중시킵니다.

모델 개발에서 훈련으로 전환하려면 수십억 개의 데이터 항목을 수용할 수 있도록 중단 없이 확장할 수 있는 스토리지가 필요합니다. 또한 신속한 다중 호스트 랜덤 액세스, 특히 높은 랜덤 읽기 성능이 필요합니다. 

훈련 작업은 종종 입력 데이터 압축을 해제하고, 이를 확장 또는 왜곡하며, 입력 순서를 무작위로 지정하고, 특히 수십억 개의 항목이 있는 경우 훈련 데이터 항목 목록에 대해 스토리지를 쿼리하기 위해 데이터 항목 열거가 필요합니다.

3. 체크포인팅: 대규모 순차 쓰기 증폭

엄청난 규모의 훈련은 새로운 수요로 이어집니다. 오늘날의 훈련 작업은 며칠 또는 몇 달 동안 진행될 수 있습니다. 따라서 대부분의 작업은 장애가 발생했을 때 신속하게 복구하기 위해 주기적인 체크포인트를 작성하여 처음부터 다시 시작할 필요성을 최소화합니다. 

따라서 훈련 중 주요 워크로드는 무작위 읽기로 구성되며, 체크포인트 중에 대규모 순차 쓰기가 중단되기도 합니다. 스토리지 시스템은 체크포인트 중 대량의 순차적 쓰기가 발생하는 동안에도 동시 훈련 작업에 필요한 집중적인 랜덤 액세스를 유지할 수 있어야 합니다.

4. 모델 개발 단계 요약 

요약하자면, AI 모델 개발은 연속적인 실험을 통해 가설을 확인하거나 반박하는 고도로 반복적인 프로세스입니다. 모델이 발전함에 따라 데이터 과학자는 샘플 데이터 집합을 사용하여 수만 번의 반복을 통해 모델을 훈련시킵니다. 

각 반복마다 데이터 항목을 늘리고 과적합을 방지하기 위해 어느 정도 무작위화하여, 훈련 데이터 집합에 대해 정확하고 실시간 데이터에 적용할 수 있는 모델을 만듭니다. 훈련이 진행됨에 따라 데이터 집합이 증가하여 데이터 과학자의 워크스테이션에서 더 우수한 연산 및 스토리지 기능을 갖춘 데이터 센터 서버로 전환하게 됩니다.

3단계: 모델 배포 및 추론

모델 개발이 완료되면 이제 서비스를 배포하고 운영할 차례입니다. 이 추론 단계에서는 실제 데이터가 모델에 입력되고, 이상적으로는 그 결과물이 가치 있는 인사이트를 제공합니다. 모델은 지속적인 미세 조정을 거치기도 합니다. 추론 단계에서 모델로 가져온 새로운 실제 데이터는 재훈련 프로세스에 통합되어 성능을 향상시킵니다.

1. 실제 적용 중에 미세 조정

AI 스토리지 인프라는 프로젝트 수명 주기 전반에서 24시간 내내 원활하게 작동해야 합니다. 구성 요소 장애를 처리하고 중단 없이 확장 및 업그레이드할 수 있는 자가 복구 기능을 갖추고 있어야 합니다.

데이터 과학자들은 모델을 미세 조정하고 변화하는 패턴 및 목표를 탐색하기 위한 프로덕션 데이터를 필요로 하며, 모든 프로젝트 단계를 지원하는 단일 스토리지 시스템인 통합 플랫폼의 중요성을 강조합니다. 이러한 시스템을 통해 개발, 훈련, 프로덕션 과정에서 동적으로 진화하는 데이터에 쉽게 액세스할 수 있습니다.

2. 프로덕션을 위한 모델 준비 

모델이 일관되게 정확한 결과를 생성하면 프로덕션에 배포됩니다. 그런 다음, 모델을 개선하는 것에서 강력한 IT 환경을 유지하는 것으로 초점을 전환합니다. 프로덕션은 대화형이나 배치 지향 등의 다양한 형태를 취할 수 있습니다. 새로운 데이터를 지속적으로 사용하는 것은 정확도를 높이기 위해 모델을 개선하는 데 중요한 역할을 하며, 데이터 과학자는 모델 결과를 분석하면서 정기적으로 훈련 데이터 집합을 업데이트합니다.

아래 표에는 AI 프로젝트 주기의 각 단계, 각각의 I/O 특성 및 그에 따른 스토리지 요구 사항이 요약되어 있습니다.

AI 단계 I/O 특성 스토리지 요구 사항 영향 데이터 수집 및 준비 랜덤 데이터 읽기, 선행 처리된 항목의 순차 쓰기 소량 랜덤 읽기를 위한 짧은 지연 시간, 높은 순차 쓰기 처리량 스토리지가 최적화된다는 건 파이프라인이 더 많은 학습 데이터를 제공하여 모델링이 더욱 정확해진다는 뜻. 모델 개발(훈련) 랜덤 데이터 읽기 다중 작업 성능 및 용량의 확장성, 최적화된 랜덤 읽기, 체크포인팅을 위한 높은 순차 쓰기 성능 값비싼 학습 리소스(GPU, TPU, CPU)의 활용도를 높이는 최적화된 스토리지 모델 배포(추론) 혼합 랜덤 읽기 및 쓰기

부품 고장을 처리할 수 있는 자가 치유 기능, 무중단 확장 및 업그레이드,

모델이 미세 조정을 지속하는 경우 학습 단계와 동일한 기능

높은 가용성, 정비성 및 안정성을 필요로 하는 기업

표 1. I/O 특성과 그에 따른 스토리지 요구 사항이 포함된 AI 프로젝트 주기

AI 배포를 위한 주요 스토리지 특성

초기 모델 개발 중에 단일 섀시 시스템으로 시작하는 AI 프로젝트는 훈련 중에 데이터 요구 사항이 증가하고 프로덕션 과정에서 더 많은 실시간 데이터가 누적됨에 따라 확장할 수 있는 유연성이 있어야 합니다. 더 큰 용량을 달성하기 위해, 인프라 수준에서는 개별 디스크 용량 증가, 스토리지 인클로저의 클러스터 크기 확장이라는 두 가지 주요 전략이 사용됩니다.  1. 용량  개별 디스크 용량을 늘리고 스토리지 노드의 수평적 확장성을 개선하는 것은 매우 중요한 요소입니다. 디스크 수준에서 솔리다임 D5-P5336 QLC SSD와 같은 제품이 이제 최대 61.44TB의 용량에 도달합니다. 스토리지 인클로저 수준에서 EDSFF(Enterprise and Datacenter Standard Form Factor)는 탁월한 스토리지 밀도를 제공합니다. U.2 15mm 폼 팩터 드라이브의 경우, 일반적인 2U 인클로저에 24~26개의 디스크가 장착되어 최대 1.44PB의 원시 용량이 제공됩니다. E1으로 업그레이드. 그림 1에서 볼 수 있듯이 L 9.5mm 폼 팩터 디스크는 1U 인클로저가 32개의 디스크를 지원합니다. 2U는 스토리지 밀도가 2U U.2 인클로저보다 약 2.6배 높습니다. 표 2에 비교가 제시되어 있습니다.

 

폼 팩터 2U 랙 공간의 60TB 드라이브 수 2U 랙 공간당 용량 레거시 U.2 15mm 24 1.47PB E1. L 9.5mm 64 3.93PB

표 2. 드라이브 폼 팩터 기반 2U 랙 단위 용량

단일 인클로저의 스토리지 밀도가 높아지면 동일한 용량과 인력을 투입할 때 스토리지 노드가 차지하는 랙 공간, 필요한 네트워크 포트 수, 이를 작동하는 데 필요한 전력, 냉각 및 예비 부품이 크게 줄어든다는 점에 주목해야 합니다.

2. 데이터 공유 기능

앞에서 언급한 여러 팀의 병렬적인 공동 작업과 전달 전에 더 많은 데이터를 훈련시키려는 욕구를 감안할 때 스토리지의 데이터 공유 기능이 매우 중요합니다. 이는 스토리지 네트워크의 높은 IOPS, 짧은 지연 시간, 대역폭에 반영됩니다. 또한 네트워크 구성 요소에 장애가 발생하는 경우에도 네트워크 서비스가 계속 작동할 수 있도록 다중 경로를 지원하는 것이 필수적입니다. 시간이 지나면서 상용 네트워크가 이제 이더넷과 InfiniBand로 통합되었습니다. InfiniBand는 풍부한 데이터 전송률, 최고의 대역폭과 지연 시간 성능, RDMA 기본 지원을 제공합니다. 그 결과, InfiniBand는 AI 스토리지를 지원하는 강력한 네트워크입니다. 현재 가장 널리 사용되는 이더넷 대역폭은 25Gbps, 40Gbps, 100Gbps입니다. 또한 NVIDIA는 짧은 지연 시간으로 200Gbps 및 400Gbps를 지원하는 제품을 갖추고 있습니다. 네트워크 스토리지 간의 동-서 데이터 흐름을 위해 노드에는 스토리지 VLAN이 있습니다. 또한 NVIDIA는 200Gbps 및 400Gbps RDMA를 지원하는 제품을 갖추고 있습니다. 3. 다양한 I/O에 대한 적응성  AI 스토리지 성능은 모든 유형의 I/O 작업에 대해 일관성을 유지해야 합니다. 모든 파일과 개체는 거의 동일한 시간 내에 액세스할 수 있고, 1KB의 작은 항목 레이블이든 50MB의 대용량 이미지이든 상관없이 첫 번째 바이트까지의 액세스 시간이 일관되게 유지되어야 합니다. 4. 병렬 네트워크 파일 작업 AI 프로젝트에서 대량 복사, 열거, 속성 변경과 같은 일반적인 작업에는 효율적인 병렬 네트워크 파일 작업이 필요합니다. 이러한 작업은 AI 모델 개발을 크게 가속화합니다. 1984년 Sun Microsystems가 처음 개발한 NFS(Network File System)는 현재까지도 가장 널리 사용되는 네트워크 파일 시스템 프로토콜입니다. NFSoRDMA(NFS over Remote Direct Memory Access)는 특히 대량의 데이터를 전송하는 컴퓨팅 집약적 워크로드에 적합합니다. RDMA의 데이터 이동 오프로드 기능은 불필요한 데이터 복사를 줄여 효율성을 높입니다. 5. 주요 AI 스토리지 특성 요약 AI 스토리지 솔루션은 충분한 용량, 강력한 데이터 공유 기능, 다양한 I/O 유형에 대한 일관된 성능, 병렬 네트워크 파일 작업 지원 기능을 제공해야 합니다. AI 프로젝트는 이러한 요구 사항을 반영하여 증가하는 데이터 집합을 효과적으로 관리하고 AI 모델 개발 및 배포의 성능 요구 사항을 충족할 수 있습니다. 결론 AI 개발은 우리의 예상을 계속 뛰어넘고 있습니다. 더 많은 데이터를 더 빠른 속도로 컴퓨팅 거대 기업에 공급해야 하는 긴급한 상황에서는 유휴 처리 시간과 전력을 위한 여지가 전혀 없습니다. 솔리다임은 여러 가지의 AI 배포 요구 사항을 충족하기 위해 다양한 폼 팩터, 밀도 및 가격대의 드라이브를 제공합니다. 고밀도 QLC SSD는 성능, 용량, 안정성 및 비용 측면에서 입증되었습니다. 

TLC SSD를 갖춘 레거시 설정 랙에서 SLC 및 TLC SSD 그리고 QLC SSD를 갖춘 새로운 설정 랙으로 전환할 수 있습니다.

그림 1. TLC 전용 솔루션을 SLC/TLC+QLC로 전환

CSAL과 솔리다임 D7-P5810 SLC SSD를 함께 사용하면 고객은 성능, 비용, 용량 측면에서 배포를 조정할 수 있습니다.1 혁신적인 전체 스택 및 오픈 소스 스토리지 솔루션을 갖춘 솔리다임 SSD는 AI 스토리지 발전을 강화하는 데 고유한 이점을 제공합니다.

기존 쓰기 캐시와 CSAL을 사용한 쓰기 쉐이핑 캐시 비교

그림 2. CSAL 아키텍처

 

작성자 정보

Sarika Mehta는 스토리지 부문에서 15년 넘게 근무한 솔리다임의 스토리지 솔루션 설계자입니다. 그녀는 솔리다임의 고객 및 파트너와 긴밀히 협력하여 비용과 성능 면에서 스토리지 솔루션을 최적화하는 데 집중하고 있습니다.  Wayne Gao는 솔리다임의 스토리지 솔루션 아키텍트 수석 엔지니어입니다. Wayne은 Pathfinding에서 Alibaba 상용 릴리스에 이르기까지 CSAL을 담당했습니다. Wayne은 Dell EMC ECS 올플래시 오브젝트 스토리지 팀의 일원으로서 20년 이상의 스토리지 개발자 경험을 보유하고 있고, 4개의 미국 특허 출원/승인을 가지고 있으며, 출판된 EuroSys 논문의 저자입니다.  Yi Wang은 솔리다임의 현장 애플리케이션 엔지니어입니다. 솔리다임에 합류하기 전에는 인텔, Cloudera, NCR에서 기술 업무를 담당했습니다.  그는 'Cisco 공인 네트워크 전문가,' 'Microsoft 공인 솔루션 전문가,' 'Cloudera 데이터 플랫폼 관리자' 자격증을 보유하고 있습니다.

참고

[1] CSAL 소개 https://www.solidigm.com/products/technology/cloud-storage-acceleration-layer-write-shaping-csal.html

[2] https://www.solidigmtechnology.com/products/technology/solidigm-ssds-in-superpod-ai-storage-nvidia-vast-data.html

 

The Role of Solidigm SSDs in AI Storage Advancement