딥 러닝 gpu 벤치마크

우리는 업무를 위해 언어 모델을 지속적으로 교육하고 있습니다. 우리 팀은 다른 작업을 위해 선택한 수십 개의 다른 비디오 카드를 사용합니다: 어딘가에 강력한 DGX 스테이션이 필요하며 어딘가에는 RTX 2080Ti와 같은 오래된 게임 카드로 충분합니다. 모델 교육을 위한 최적의 GPU를 선택하면 프로세스의 속도와 비용 효율성 모두에 큰 영향을 미칠 수 있습니다.

흥미로운 점은 기계 학습을 위한 GPU 비교가 포함된 기사가 인터넷에 꽤 많이 있지만 언어 모델 교육을 위한 속도에 초점을 맞춘 기사는 거의 없다는 것입니다. 대부분 추론 테스트만 발견됩니다. 새로운 H100 칩이 출시되었을 때 NVidia의 보고서에 따르면 훈련에서는 A100보다 최대 9배 빠르지만 우리 작업의 경우 새 카드는 이전 카드보다 90% 더 빨랐습니다. 이에 비해 당사의 클라우드 제공업체는 이러한 GPU 간에 2 배의 가격 차이가 있었기 때문에 비용을 절약하기 위해 새로운 H100 으로 전환할 필요가 없었습니다.

그 외에도 우리는 8 개의 A100 80GB 그래픽 카드로 구성되고 한 달에 10 천 달러가 드는 DGX 스테이션을 테스트했습니다. 테스트 후, 이 역의 가격 / 성능 비율이 우리에게 전혀 적합하지 않다는 것이 분명해졌으며이 돈으로 우리는 66 x RTX 3090 을 취할 수 있으며 총합이 훨씬 더 유용 할 것입니다.

우리의 번역 언어 모델에는 최대 5억 개의 매개변수(평균 1억~3억 개)가 있습니다. 매개변수 수를 크게 늘리면 DGX의 가격/성능 비율이 더 좋아질 가능성이 있습니다. 현재 우리는 모든 변형을 한 번에 모든 언어 간에 번역할 수 있는 대형 언어 모델을 훈련하지 않고, 각 언어 쌍에 대해 별도의 언어 모델을 사용합니다. 영어-독일어. 이러한 각 모델은 120~300Mb를 사용합니다.

서로 다른 언어가 인터넷에서 서로 다른 양의 데이터를 가지고 있다는 점은 주목할 가치가 있습니다. 예를 들어 스페인어의 경우 번역이 포함된 5 억 개의 문장을 찾을 수 있지만 티베트어와 같은 희귀 언어에 대한 모델을 교육할 때는 사용 가능한 데이터를 기반으로 기계 학습 작업을 위한 특정 GPU를 선택해야 합니다. 영어에서 스페인어로의 번역 모델을 만들기 위해 우리는 4 x RTX 4500 및 256GB RAM이있는 서버를 사용합니다. 동시에,티베트어는 16GB RAM 으로 RTX 2080 Ti 에서 훈련될 수 있는데,이는 신경망의 복잡성을 증가시키고 결과적으로 소량의 데이터로 더 강력한 서버를 가져가는 것이 말이 되지 않기 때문이다.

그래픽 프로세서 및 이론적인 수치 선택

언어 모델 교육은 OpenNMT-tf 프레임워크를 사용하여 내부 Data Studio 플랫폼에서 진행되었습니다. 이 단계에는 데이터 준비, 모델 교육 및 참조 번역을 통한 모델 비교가 포함되었습니다. 교육 중에 FP32 대신 FP16 을 사용하면 번역 품질을 저하시키지 않고 언어 모델의 교육 시간을 크게 줄일 수 있었지만 모든 GPU가 이를 지원하지는 않았습니다.

그래픽 프로세서를 선택할 때 처리 능력(TFLOPS), 비디오 메모리(VRAM), GPU 벤치마크 결과, 라이브러리 및 프레임워크 지원, 예산 및 기타 요소(그래픽 카드 크기 및 폼 팩터, 전력 요구 사항, 냉각 및 시스템과의 호환성). 텍스트 생성 모델을 교육할 때 언어마다 리소스의 양이 다르다는 점도 염두에 두어야 합니다. 예를 들어, 1 바이트는 라틴 언어의 경우 한 문자, 키릴 언어의 경우 2 바이트, 상형 문자가 포함된 언어의 경우 3 바이트를 인코딩하는 데 사용됩니다. 그래픽 카드의 특성을 이해하는 것은 학습 과정의 속도에 큰 영향을 미칩니다.

사용 된 GPU의 관점에서 모델을 훈련 할 때, 비디오 카드는 사용 기간에 따라 두 그룹으로 나뉘었다: 학습 속도의 첫 번째 측정을하는 데 사용 된 초기 비디오 카드와 현재 사용중인 카드. 이러한 그래픽 카드의 주요 특징은 각각 표 1과 표 2에서 확인할 수 있습니다.

표 1 - 이전에 사용된 그래픽 프로세서 및 해당 기술 매개변수
 

Number of GPUsGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Tesla V100-SXM2HBM2, 167.031.3316.31
2Tesla V100-SXM2HBM2, 327.031.3315.67
1RTX 4060 TiGDDR6, 88.922.0622.06
1Nvidia A40GDDR6, 488.637.4237.42
2Nvidia A40GDDR6, 968.637.4237.42
1Nvidia A100HBM2, 408.077.9719.49
1Nvidia A100HBM2, 808.077.9719.49
1Nvidia RTX A6000GDDR6, 488.638.7138.71
1Nvidia A10GDDR6, 248.631.2431.24
8Nvidia A10GDDR6, 1928.631.2431.24
1Nvidia H100HBM3, 809.0204.951.22


노트
1. CUDA가 7.0보다 크면 FP16을 사용하면 CUDA 버전과 그래픽 카드 자체의 특성에 따라 훈련 속도가 향상됩니다.
2. 그래픽 카드의 사양에 FP16 대 FP32 성능 비율이 1 대 1보다 크다고 표시되면 혼합 정밀도를 사용하여 사양에 지정된 양만큼 훈련 속도를 높일 수 있습니다. 예를 들어 Quadro RTX 6000의 경우 FP16 TFLOPS 값 32.62(2:1)는 운동 속도를 최소 2배(실제로는 2.4배) 향상시킵니다

표 2 - 현재 사용되는 GPU 모델 및 주요 특성
 

Number of GPUs in useGPUVRAM, GCUDAFP16,
TFLOPS
FP32,
TFLOPS
1Quadro RTX 6000GDDR6, 247.532.6216.31
2Quadro RTX 6000GDDR6, 487.532.6216.31
4Quadro RTX 6000GDDR6, 967.532.6216.31
2Nvidia TITAN RTXGDDR6, 487.532.6216.31
4Nvidia RTX A4500GDDR6, 968.623.6523.65
1Nvidia GeForce RTX 3090GDDR6X, 248.635.5835.58
1Nvidia GeForce RTX 3070GDDR6, 88.620.3120.31

* - FP16,TFLOPS 및 FP32 에 대한 값,TFLOPS 는 GPU 당 사양에서 가져옵니다

GPU 교육 및 테스트 프로세스

모델은 18개의 GPU 세트를 사용하여 훈련되었습니다. 신경망 훈련 과정에서 우리는 수많은 언어 쌍 (백 개 이상의 언어) 을 사용했습니다. GPU 테스트는 특정 작업에 가장 적합한 하드웨어를 식별하는 데 도움이 되었습니다. 언어 쌍을 훈련하는 동안 다음과 같은 신경망 매개변수가 기초로 사용되었습니다:
 

  • vocab 크기 = 30 000
  • = 768 단위
  • 레이어 = 6
  • 머리 = 16
  • 내부 치수 = 4 096


먼저 표 1을 기반으로 첫 번째 그룹에 속한 GPU를 특성화해 보겠습니다. 대략 1,000단계의 속도와 100,000개 단위의 배치 크기 배수로 모델을 훈련하는 데 소요되는 분 및 초 단위의 시간이 지표 비교의 기초로 사용됩니다.

첫 번째 그룹의 경우 속도 측정이 다음을 사용하여 수행되었음을 강조합니다 정렬 메커니즘과 만 사용합니다 FP32. 이 메커니즘을 사용하지 않으면 일부 서버의 학습 속도가 훨씬 빨라질 수 있습니다.

정렬 메커니즘을 사용하면 기본 텍스트와 번역된 텍스트의 하위 문자열을 일치시킬 수 있습니다. 문장의 하위 문자열이 다른 글꼴로 강조 표시될 수 있고 강조 표시와 함께 번역되어야 하는 경우 웹 페이지와 같은 형식이 지정된 텍스트를 번역해야 합니다.

위에서 언급한 신경망 매개변수를 고려하여 첫 번째 테이블의 가장 좋은 시간은 GPU Nvidia H100에서 학습 시간 22분으로 표시되었습니다 그리고 중간 시간은 동일한 브랜드 GeForce RTX 4060 Ti의 GPU에서 학습 시간 72분으로 표시되었으며 마지막 자리는 GPU Tesla V100-SXM 2에서 학습 시간 140분으로 표시되었습니다.

GPU 테스트에는 학습 곡선이 20분 28초인 Nvidia A10 카드 8장, 학습 곡선이 56분인 Nvidia A40 카드 2장, 86분인 Tesla V100-SXM 카드 2장이 있었습니다. 동일한 GPU 시리즈의 여러 카드를 동시에 적용하면 모델의 교육 프로세스 속도를 높이고 더 높은 용량을 가진 GPU와 거의 동일한 시간을 보여줄 수 있지만 이러한 기술은 재정적으로나 절차적으로 충분히 합리적이지 않을 수 있습니다. 학습 속도 측정 결과는 표 3에서 확인할 수 있습니다.

표 3 - 이전에 사용된 그래픽 맵에 대한 교육 시간 측정
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
8Nvidia A1020,286 250
1Nvidia H1002225 000
1A100 (80 Gb)4025 000
1A100 (40 Gb)5615 000
2Nvidia A405612 500
1RTX A600068,2512 500
1GeForce RTX 4060 Ti724 167
1Nvidia A4082,0812 500
2Tesla V100-SXM864 167
1Nvidia A10104,505 000
1Tesla V100-SXM21404 167


다음으로, 현재 사용 중인 그래픽 가스 페달에 대한 비교 분석을 수행해 보겠습니다(표 2). 이 그래픽 프로세서 그룹의 경우 속도 측정은 다음을 사용하여 수행되었습니다 정렬 메커니즘은 물론 FP16 및 FP32를 사용합니다. 이 메커니즘과 혼합 정밀도를 포함한 속도 측정은 각각 아래 표 4와 5에 나와 있습니다.

따라서 이 표에서 GPU의 속도를 측정한 결과, 훈련 시간이 31분인 RTX A4500 시리즈 GPU가 1위를 차지했다고 할 수 있지만, 이러한 훈련 모델의 속도는 다음과 같이 얻어졌다는 점을 강조해야 합니다. 사용된 GPU의 단위 수를 최대 4개로 늘립니다. 이 사실을 무시하면 앞서 언급한 GPU의 훈련 속도가 훨씬 빨라져 최종 테이블에서 두 번째 위치에 놓이게 됩니다.

학습 시간이 47 분인 Quadro RTX 6000 시리즈 GPU 가 2 위를 차지했습니다. 이러한 훈련 속도는 사용된 프로세서의 장치 수인 4에 의해 반비례한다는 점에 유의해야 합니다. 그러한 GPU를 하나만 사용하면 약 3.2배의 속도 손실이 발생하고 결과적으로 약 153분이 소요되어 마지막 위치에 놓이게 됩니다.

세 번째 라인은 TITAN RTX 시리즈 GPU에서 75분 85초의 시간으로 촬영되었습니다. 이 학습 속도 점수는 2개의 프로세서를 사용하여 모델의 훈련 시간이 단축되었기 때문입니다.

1 대 수에서 훈련 속도 면에서 의심할 여지 없는 선두주자는 단연 78 분 26 초의 시간을 가진 지포스 RTX 3090 시리즈 GPU 가 될 것이다. 이 GPU의 유닛 수를 늘리면 모델 훈련 속도가 빨라지며, 이는 위에서 언급 한 모든 GPU 모델을 분명히 추월 할 것입니다. 모델 훈련 시간 측정에 대한 데이터는 표 4에서 볼 수 있습니다.

표 4 - 이전에 사용된 GPU의 언어 모델 훈련 속도 비교 분석
 

Using the alignment mechanism
Effective batch size = 100 000
FP 32
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A4500315 000
4Quadro RTX 6000476 250
2Nvidia TITAN RTX75,856 250
1GeForce RTX 309078,266 250
2Quadro RTX 6000886 250
1GeForce RTX 3070104,172 000
1Quadro RTX 60001536 250


FP16을 사용하여 다음과 같은 훈련 속도 측정을 수행했습니다. FP32에 비해 절반 정밀도를 사용하면 모델 훈련 중에 소비되는 메모리 양을 줄이고 GPU에서의 계산을 가속화할 수 있습니다. 표현의 정확도는 FP32를 사용할 때보다 낮습니다.

앞의 표에서 FP32 를 이용한 모델의 훈련 시간을 측정해보면 신경망의 훈련 시간이 거의 두 배나 줄어들었다고 말할 수 있다. 성능 측정 결과를 바탕으로 표 4의 머신러닝 GPU 벤치마크를 통해 GPU의 위치가 크게 변하지 않았음을 확인할 수 있습니다. Quadro RTX 6000 시리즈 카드는 GeForce RTX 3090 GPU를 96초 앞지르며 5위에서 6위로 올라갔습니다. 최종 숫자는 표 5에 나와 있습니다.

표 5 - 이전에 사용된 GPU의 언어 모델 훈련 속도 비교 분석
 

Using the alignment mechanism
Effective batch size = 100 000
FP 16
Number of GPUs in useGPUApproximate speed (min. sec),
1,000 steps
Batch size in use
4Nvidia RTX A450015,8110 000
4Quadro RTX 600020,3412 500
2Nvidia TITAN RTX32,686 250
2Quadro RTX 600037,9310 000
1GeForce RTX 309038,8910 000
1GeForce RTX 307048,512 500
1Quadro RTX 600052,5610 000

자주 묻는 질문 (FAQ)

딥러닝용 GPU를 구입할 가치가 있나요?

딥 러닝을 위한 GPU를 구입하면 교육 속도와 효율성이 크게 향상되어 진지한 프로젝트에 투자할 가치가 있습니다. 그러나 결정은 예산, 특정 사용 사례, 클라우드 솔루션이 더 비용 효과적인지 여부와 같은 요소를 고려해야 합니다.

딥러닝에 가장 적합한 GPU 는 무엇인가요?

NVIDIA A100은 종종 딥 러닝을 위한 최고의 선택으로 간주되며 대형 모델에 탁월한 성능과 메모리를 제공합니다. 예산에 민감한 사용자를 위해 NVIDIA RTX 3090은 모델을 효과적으로 교육할 수 있는 강력한 기능을 제공합니다.

AMD 나 NVIDIA 가 딥러닝에 더 좋은가요?

NVIDIA는 일반적으로 성능과 널리 사용되는 프레임워크와의 호환성을 향상시키는 강력한 소프트웨어 생태계로 인해 딥 러닝에 선호됩니다. AMD GPU는 개선되었지만 딥 러닝 애플리케이션에 대한 최적화 및 지원 측면에서는 여전히 NVIDIA에 비해 뒤떨어져 있습니다.

GPU가 NLP에 도움이 되나요?

예, GPU는 병렬 계산을 효율적으로 처리하여 자연어 처리(NLP)의 신경망 교육을 크게 가속화합니다. 이러한 속도 향상을 통해 더 빠른 실험과 반복이 가능해지며, 모델 성능이 향상되고 교육 시간이 단축됩니다.

더 매혹적인 읽기가 기다리고 있습니다

온프레미스 음성 인식이란 무엇입니까?

온프레미스 음성 인식이란 무엇입니까?

September 19, 2024

번역 시스템의 통계적 중요성 평가

번역 시스템의 통계적 중요성 평가

September 10, 2024

법률 및 규정 준수 분야의 기계 번역

법률 및 규정 준수 분야의 기계 번역

August 23, 2024

지원에 문의하세요

* 필수 필드

이 양식을 제출함으로써, 저는 서비스 약관 및 개인정보 보호정책이 제가 받는 서비스의 사용과 제가 제공하는 개인 데이터의 사용에 각각 적용되는 데 동의합니다.

이메일

완전한

귀하의 요청이 성공적으로 전송되었습니다.

× 
Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site.

We also use third-party cookies that help us analyze how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.

You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Always Active

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Always Active

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Always Active

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Always Active

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.