paint-brush
딥 러닝을 위한 레이크하우스인 Deep Lake: 성능 벤치마크~에 의해@dataology
206 판독값

딥 러닝을 위한 레이크하우스인 Deep Lake: 성능 벤치마크

너무 오래; 읽다

연구원들은 딥 러닝 프레임워크를 위한 복잡한 데이터 스토리지 및 스트리밍을 최적화하는 딥 러닝용 오픈 소스 레이크하우스인 Deep Lake를 소개합니다.
featured image - 딥 러닝을 위한 레이크하우스인 Deep Lake: 성능 벤치마크
Dataology: Study of Data in Computer Science HackerNoon profile picture
0-item

저자:

(1) Sasun Hambardzumyan, Activeloop, Mountain View, CA, USA;

(2) Abhinav Tuli, Activeloop, 미국 캘리포니아주 마운틴뷰;

(3) Levon Ghukasyan, Activeloop, Mountain View, CA, USA;

(4) Fariz Rahman, Activeloop, 미국 캘리포니아주 마운틴뷰;.

(5) Hrant Topchyan, Activeloop, Mountain View, CA, USA;

(6) David Isayan, Activeloop, 미국 캘리포니아주 마운틴뷰;

(7) 마크 맥퀘이드(Mark McQuade), 미국 캘리포니아주 마운틴뷰 소재 Activeloop;

(8) Mikayel Harutyunyan, Activeloop, 미국 캘리포니아주 마운틴뷰;

(9) Tatevik Hakobyan, Activeloop, Mountain View, CA, USA;

(10) Ivo Stranic, Activeloop, Mountain View, CA, USA;

(11) Davit Buniatyan, Activeloop, Mountain View, CA, USA.

링크 표

6. 성능 벤치마크

이 섹션에서는 형식에 대한 수집 시점부터 다른 데이터로더 및 형식에 대한 대규모 교육에 이르기까지 대규모로 Deep Lake의 성능을 실험적으로 보여줍니다. 다양한 스토리지 백엔드의 스트리밍 데이터 세트를 비교하고 클라우드에서 교육하는 동안 성능 향상과 확장성을 보여줍니다.

6.1 다양한 형식의 수집 속도

그림 6: FFHQ [43] 데이터 세트에서 10,000개의 0 이미지를 다른 형식으로 수집(낮을수록 좋음)


FFHQ [43] 데이터 세트의 10,000개 이미지가 압축 해제되어 NumPy 형식으로 저장되었습니다. 각 1024x1024x3 원시 이미지는 3MB 배열입니다. 그런 다음 그림 6과 같이 이미지가 각 형식에 연속적으로 기록되었습니다. 성능을 높이기 위해 TensorStore [23]를 사용하여 Zarr [52] 및 N5 [24] 형식에 기록했습니다. 실험은 AWS c5.9xlarge 머신에서 수행되었습니다. Deep Lake는 배열 형식에 비해 상당히 빠른 쓰기 성능을 달성하며 WebDataset[19] 및 FFCV Beton[39]과 같은 바이너리 형식과 동등합니다.

6.2 로컬 데이터로더 비교

그림 7에서 볼 수 있듯이 Deep Lake는 모델 없이 PyTorch 훈련 루프에서 더 빠른 데이터 로딩을 달성합니다. 실험은 하나의 Nvidia V100 GPU를 사용하는 AWS P3.2xlarge 인스턴스에서 수행되었습니다.


그림 7: 다른 데이터로더에 대한 이미지의 반복 속도(높을수록 좋음)


카드. 데이터 세트는 JPEG 파일로 저장된 50,000개의 250x250x3 이미지를 무작위로 생성했습니다. 벤치마크가 수행된 라이브러리 목록은 Deep Lake, FFCV[39], Squirrel[75], Webdataset[19] 및 기본 PyTorch 데이터로더[58]였습니다.

6.3 다양한 위치에서 스트리밍 가능한 데이터로더

그림 8: 다양한 데이터 저장 위치에서 스트리밍: Local FileSystem, AWS S3, MinIO(낮을수록 좋음)


그림 8에 표시된 이 실험에서는 섹션 6.2와 동일한 데이터 세트를 사용하여 원격 스트리밍을 위한 다양한 스토리지 백엔드를 탐색합니다. MinIO [17]가 로컬 네트워크의 다른 시스템에서 실행 중입니다. 특히 Deep Lake는 AWS S3와 비교하여 데이터가 머신의 로컬에 있는 것처럼 유사한 성능을 달성합니다. WebDataset과 Deep Lake는 모두 데이터를 스트리밍하는 동안 상당히 느려집니다.


그림 9: S3의 ImageNet 교육: AWS 파일 모드는 S3에서 파일별로 복사합니다. 빠른 파일 모드는 느린 훈련으로 즉시 시작됩니다. Deep Lake는 스트리밍되지만 데이터가 로컬인 것처럼 작동합니다(낮을수록 좋음).


AWS S3와 비교한 MinIO. 더 자세한 데이터로더 벤치마크를 보려면 Ofeidis et al.의 철저한 데이터로더 개요 연구를 권장합니다. [54].

6.4 클라우드에서의 ImageNet 교육

Deep Lake는 클라우드 우선으로 구축되었으므로 이 섹션과 다음 섹션에서는 클라우드의 교육 모델에 제공되는 이점을 보여줍니다. 우리는 ImageNet 데이터세트[35]를 가져와 AWS S3[1]에 원본 및 Tensor 스토리지 형식으로 저장합니다. 데이터 세트에는 총 150GB에 걸쳐 120만 개의 이미지와 라벨이 포함되어 있습니다. Deep Lake는 마치 데이터가 머신에 로컬인 것처럼 사실상 유사한 훈련 성능을 달성합니다. 이는 그림 9와 같이 GPU 컴퓨팅 시간과 비용을 최대 4배까지 절약합니다.

6.5 대규모 다중 모드 데이터세트의 분산 훈련

두 번째 실험으로 우리는 4억 개의 이미지-텍스트 쌍을 포함하는 LAION 데이터세트[67]를 사용하고 10억 개의 매개변수가 있는 이미지-텍스트 임베딩 모델인 CLIP[60]을 훈련합니다. 원본 데이터 세트는 이미지 URL 열이 포함된 Parquet 파일 테이블입니다. 소스에서 데이터 세트를 다운로드하는 데 100시간이 걸렸지만 Tensor Storage 형식으로 수집하는 데는 6시간밖에 걸리지 않아 총 크기는 1.9TB입니다. 데이터 세트는 미국 중부 지역의 GPU 머신을 훈련하는 동안 미국 동부 지역의 AWS에 저장되었습니다. 그림 10에서 볼 수 있듯이 Deep Lake는 모델 없이 동일한 지역에서 머신당 최대 80,000개의 이미지/초를 16개의 Nvidia A100 GPU로 스트리밍하여 높은 GPU 활용도를 달성합니다.


이 문서는 CC 4.0 라이선스에 따라 arxiv에서 볼 수 있습니다.