>  기사  >  기술 주변기기  >  딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

WBOY
WBOY앞으로
2023-04-12 16:31:031090검색

우리 모두 알고 있듯이 딥 러닝 및 신경망 작업을 처리할 때는 CPU 대신 GPU를 사용하는 것이 더 좋습니다. 신경망의 경우 상대적으로 낮은 사양의 GPU라도 CPU보다 성능이 뛰어나기 때문입니다.

딥 러닝은 많은 컴퓨팅이 필요한 분야입니다. 어느 정도 GPU의 선택이 딥 러닝 경험을 결정하게 됩니다.

하지만 여기서 문제가 발생합니다. 적합한 GPU를 선택하는 방법도 골치 아프고 머리가 아픈 일입니다.

함정에 빠지지 않는 방법과 비용 효율적인 선택을 하는 방법은 무엇입니까?

스탠포드, UCL, CMU, NYU, UW에서 박사학위 제의를 받고 현재 워싱턴대학교에서 박사과정을 밟고 있는 유명 리뷰 블로거 Tim Dettmers가 10,000자 분량의 글을 썼습니다. 딥러닝 분야에서 어떤 종류의 GPU가 필요한지에 대한 자신의 경험을 바탕으로 이 기사는 마침내 DL 분야에서 권장되는 GPU를 제공합니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?


Tim Dettmers의 연구 방향은 표현 학습과 하드웨어 최적화의 딥 러닝입니다. 그가 만든 웹 사이트는 딥 러닝 및 컴퓨터 하드웨어 분야에서도 잘 알려져 있습니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

이 기사에서 Tim Dettmers가 권장하는 GPU는 모두 N Factory에서 나온 것입니다. 그는 또한 기계 학습에 관해서는 AMD가 이름을 가질 가치가 없다고 믿습니다.

편집자님이 아래에 원본 링크도 올려두었습니다. Original Link : https://timdettmers.com/2023/01/16/which-gpu-for-deep-learning/#gpu_deep_learning_performance_per_dollar

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까? rtx 40 및 30의 장점 및 단점 series

NVIDIA Turing 아키텍처 RTX 20 시리즈와 비교하여 새로운 NVIDIA Ampere 아키텍처 RTX 30 시리즈는 희소 네트워크 훈련 및 추론과 같은 더 많은 장점을 가지고 있습니다. 새로운 데이터 유형과 같은 다른 기능은 Turing 아키텍처와 동일한 성능 향상을 제공하지만 추가 프로그래밍 요구 사항이 필요하지 않으므로 사용하기 쉬운 기능으로 보아야 합니다.

Ada RTX 40 시리즈에는 위에서 소개한 TMA(Tensor Memory Accelerator) 및 8비트 부동 소수점 연산(FP8) 등 훨씬 더 많은 발전이 이루어졌습니다. RTX 40 시리즈는 RTX 30과 비슷한 전력 및 온도 문제를 가지고 있습니다. RTX 40의 전원 커넥터 케이블이 녹는 문제는 전원 케이블을 올바르게 연결하면 쉽게 피할 수 있습니다.

희소 네트워크 훈련

Ampere는 집중적인 속도로 세분화된 구조의 자동 희소 행렬 곱셈을 허용합니다. 이것은 어떻게 이루어 집니까? 가중치 행렬을 예로 들어 이를 4개 요소로 나눕니다. 이제 이 4개 요소 중 2개가 0이라고 상상해 보세요. 그림 1은 이 상황이 어떤 것인지 보여줍니다.

그림 1: Ampere 아키텍처 GPU의 희소 행렬 곱셈 기능이 지원하는 구조

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

이 희소 가중치 행렬에 조밀한 입력을 곱하면 Ampere의 희소 행렬 텐서가 자동으로 다음을 압축합니다. 희소 행렬을 그림 2에 표시된 크기의 절반 크기로 조밀하게 표현합니다.

압축 후 조밀하게 압축된 행렬 타일은 텐서 코어로 공급되어 일반적인 크기의 두 배인 행렬 곱셈을 계산합니다. 공유 메모리에서 행렬 곱셈을 수행하는 동안 대역폭 요구 사항이 절반으로 줄어들기 때문에 속도가 효과적으로 2배 향상됩니다.

그림 2: 희소 행렬은 행렬 곱셈 전에 조밀한 표현으로 압축됩니다.

저는 연구에서 희소 네트워크 훈련을 연구하고 있으며 희소 훈련에 대한 블로그 게시물도 썼습니다. 내 작업에 대한 한 가지 비판은 다음과 같습니다. "네트워크에 필요한 FLOPS는 줄지만 GPU는 빠른 희소 행렬 곱셈을 수행할 수 없기 때문에 속도가 향상되지 않습니다."

Tensor 코어, 내 알고리즘 또는 기타 희소 훈련 알고리즘에 희소 행렬 곱셈 기능이 추가되어 이제 실제로 훈련 중에 최대 2배의 속도 향상을 제공합니다.

개발된 희소 학습 알고리즘은 세 단계로 구성됩니다. (1) 각 계층의 중요성을 결정합니다. (2) 가장 덜 중요한 가중치를 제거합니다. (3) 각 계층의 중요도에 비례하여 새로운 가중치를 홍보합니다.

이 기능은 아직 실험적이며 희소 네트워크 훈련은 아직 일반적이지 않지만, GPU에 이 기능이 있다는 것은 희소 훈련의 미래에 대비할 수 있다는 의미입니다.

낮은 정밀도 계산

저는 이전에 새로운 데이터 유형이 낮은 정밀도 역전파 중에 안정성을 향상시킬 수 있다는 것을 보여주었습니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

그림 4: 정밀도가 낮은 딥 러닝 8비트 데이터 유형. 딥 러닝 훈련은 고도로 전문화된 데이터 유형의 이점

현재 16비트 부동 소수점 수(FP16)로 안정적인 역전파를 수행하려는 경우 가장 큰 문제는 일반 FP16 데이터 유형이 [-65,504 , 65,504 ]. 그래디언트가 이 범위를 벗어나면 그래디언트는 NaN 값으로 폭발합니다.

FP16 훈련에서 이러한 상황을 방지하기 위해 우리는 일반적으로 손실 스케일링을 수행합니다. 즉, 이러한 경사 폭발을 방지하기 위해 역전파 전에 손실에 작은 숫자를 곱하는 것입니다.

Brain Float 16 형식(BF16)은 지수에 더 많은 비트를 사용하므로 가능한 숫자의 범위가 FP32와 동일합니다. BF16은 정밀도(예: 유효 자릿수)가 낮지만 그라데이션 정밀도는 중요한 학습에 적합하지 않습니다. .

그래서 BF16이 하는 일은 더 이상 손실 스케일링을 수행할 필요가 없고 그라데이션이 빠르게 폭발하는 것에 대해 걱정할 필요가 없다는 것입니다. 따라서 BF16 형식을 사용하면 정확도가 약간 떨어지기 때문에 훈련의 안정성이 향상되는 것을 볼 수 있습니다.

이것은 당신에게 무엇을 의미합니까? BF16 정밀도를 사용하면 동일한 속도 증가를 제공하면서 FP16 정밀도를 사용하는 것보다 훈련이 더 안정적일 가능성이 높습니다. TF32 정밀도를 통해 FP32에 가까운 안정성을 얻으면서 FP16에 가까운 속도 향상을 제공합니다.

좋은 점은 이러한 데이터 유형을 사용하려면 FP32를 TF32로, FP16을 BF16으로 바꾸면 됩니다. 코드를 변경할 필요가 없습니다.

일반적으로 이러한 새로운 데이터 유형은 추가 프로그래밍 노력(적절한 손실 스케일링, 초기화, 정규화, Apex 사용)을 통해 이전 데이터 유형을 얻을 수 있으므로 게으른 데이터 유형으로 간주될 수 있습니다.

따라서 이러한 데이터 유형은 속도를 제공하지는 않지만 훈련에서 낮은 정밀도의 사용 편의성을 향상시킵니다.

팬 디자인 및 GPU 온도

RTX 30 시리즈의 새로운 팬 디자인은 GPU 냉각에 매우 효과적이지만, Founder Edition이 아닌 GPU의 다양한 팬 디자인으로 인해 더 많은 문제가 발생할 수 있습니다.

GPU 온도가 80C 이상으로 올라가면 자체적으로 조절되어 컴퓨팅 속도/전력이 느려집니다. 이 문제에 대한 해결책은 PCIe 확장기를 사용하여 GPU 사이에 공간을 만드는 것입니다.

PCIe 확장기로 GPU를 확장하는 것은 냉각에 매우 효과적입니다. 워싱턴 대학교의 다른 박사 과정 학생들과 저는 이 설정을 큰 성공을 거두었습니다. 보기에는 좋지 않지만 GPU를 시원하게 유지해줍니다!

아래 시스템은 4년째 아무 문제 없이 운영되고 있습니다. PCIe 슬롯에 모든 GPU를 장착할 공간이 충분하지 않은 경우에도 사용할 수 있습니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

그림 5: PCIE 확장 포트가 있는 4 그래픽 카드 시스템은 지저분해 보이지만 열 방출 효율이 매우 높습니다.

전력 제한 문제를 우아하게 해결

GPU에 전력 제한을 설정할 수 있습니다. 결과적으로 RTX 3090의 전력 제한을 표준 350W 대신 300W로 프로그래밍 방식으로 설정할 수 있습니다. 4-GPU 시스템에서 이는 200W를 절약하는 것과 동일하며, 이는 1600W PSU로 4x RTX 3090 시스템을 실현하기에 충분할 수 있습니다.

이는 GPU를 시원하게 유지하는 데에도 도움이 됩니다. 따라서 전력 제한을 설정하면 4x RTX 3080 또는 4x RTX 3090 설정, 냉각 및 전력의 주요 문제가 모두 해결됩니다. 4x 설정의 경우에도 GPU를 위한 효율적인 냉각 팬이 필요하지만 이로 인해 전력 문제가 해결됩니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

그림 6: 전력 제한을 줄이면 약간의 냉각 효과가 있습니다. RTX 2080 Ti의 전력 제한을 50~60W 낮추면 온도가 약간 떨어지고 팬이 더 조용하게 작동합니다.

"이렇게 하면 GPU 속도가 느려지지 않나요?"라고 물을 수도 있습니다. 문제는 얼마나 하느냐이다.

그림 5에 표시된 4x RTX 2080 Ti 시스템을 다양한 전력 제한에서 벤치마킹했습니다. 추론 중에 BERT Large의 500개 미니 배치에 대한 시간을 벤치마킹했습니다(소프트맥스 레이어 제외). BERT 대규모 추론을 선택하면 GPU에 가장 큰 부담이 가해집니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

그림 7: RTX 2080 Ti의 주어진 전력 제한에서 측정된 속도 저하

전력 제한 설정이 성능에 심각한 영향을 미치지 않는다는 것을 알 수 있습니다. 전력을 50W로 제한하면 성능이 7%만 감소합니다.

RTX 4090 커넥터 화재 문제

RTX 4090 전원 코드가 너무 구부러져서 화재가 난다는 오해가 있습니다. 실제로는 0.1%의 사용자에게만 해당되는 현상이며, 가장 큰 문제는 케이블이 제대로 연결되지 않은 것입니다.

그러므로 아래 설치 지침을 따르면 RTX 4090을 사용하는 것이 완전히 안전합니다.

1. 오래된 케이블이나 오래된 GPU를 사용하는 경우 접점에 이물질/먼지가 없는지 확인하세요.

2. 전원 커넥터를 사용하여 딸깍 소리가 날 때까지 콘센트에 연결하세요. 이것이 가장 중요한 부분입니다.

3. 코드를 왼쪽에서 오른쪽으로 비틀어서 잘 맞는지 테스트하세요. 케이블이 움직이면 안 됩니다.

4. 소켓과의 접촉을 육안으로 확인하고 케이블과 소켓 사이에 틈이 없는지 확인하십시오.

H100 및 RTX40의 8비트 부동 소수점 지원

8비트 부동 소수점(FP8) 지원은 RTX 40 시리즈 및 H100 GPU의 큰 이점입니다.

8비트 입력을 사용하면 행렬 곱셈을 위한 데이터를 두 배 빠르게 로드할 수 있으며 캐시에 두 배 많은 행렬 요소를 저장할 수 있는 반면, Ada 및 Hopper 아키텍처에서는 캐시가 매우 큽니다. FP8 텐서 코어를 사용하면 RTX 4090에 대해 0.66 PFLOPS의 컴퓨팅을 얻을 수 있습니다.

이것은 2007년 세계에서 가장 빠른 슈퍼컴퓨터의 전체 컴퓨팅 성능보다 높습니다. RTX 4090은 FP8 계산의 4배를 갖추고 있으며 2010년 세계에서 가장 빠른 슈퍼컴퓨터와 비교할 수 있습니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

최고의 8비트 기준선이 좋은 영점 성능을 제공하지 못한 것을 볼 수 있습니다. 내가 개발한 방법인 LLM.int8()은 16비트 기준과 동일한 결과로 Int8 행렬 곱셈을 수행할 수 있습니다.

그러나 Int8은 이미 RTX 30/A100/Ampere 세대 GPU에서 지원됩니다. FP8이 RTX 40의 또 다른 큰 업그레이드인 이유는 무엇입니까? FP8 데이터 유형은 Int8 데이터 유형보다 훨씬 안정적이며 정수 데이터 유형으로는 수행하기 어려운 레이어 사양이나 비선형 함수에서 사용하기 쉽습니다.

이렇게 하면 훈련과 추론에 매우 간단하고 간단하게 사용할 수 있습니다. 나는 이것이 몇 달 안에 FP8 훈련과 추론을 비교적 일반화할 것이라고 생각합니다.

아래에서는 Float 대 Integer 데이터 유형에 대한 이 문서의 관련 주요 결과를 볼 수 있습니다. 우리는 비트 단위로 FP4 데이터 유형이 Int4 데이터 유형보다 더 많은 정보를 유지하므로 4개 작업에 걸쳐 평균 LLM 영점 정확도가 향상된다는 것을 알 수 있습니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

GPU 딥러닝 성능 순위

먼저 GPU의 원래 성능 순위를 살펴보고 누가 가장 잘 이길 수 있는지 알아보세요.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

H100 GPU의 8비트 성능과 16비트 성능에 최적화된 구형 카드 사이에는 큰 차이가 있습니다.

위 그림은 GPU의 원시 상대 성능을 보여줍니다. 예를 들어 8비트 추론의 경우 RTX 4090의 성능은 H100 SMX의 약 0.33배입니다.

즉, H100 SMX는 RTX 4090에 비해 8비트 추론에서 3배 더 빠릅니다.

이 데이터의 경우 그는 오래된 GPU에 대한 8비트 계산을 모델링하지 않았습니다.

Ada/Hopper GPU에서 8비트 추론 및 훈련이 더 효율적이고 TMA(Tensor Memory Accelerator)는 8비트 행렬 곱셈에서 매우 정확한 많은 레지스터를 저장하기 때문입니다.

Ada/Hopper는 FP8도 지원하므로 특히 8비트 훈련이 더 효율적입니다. Hopper/Ada에서 8비트 훈련 성능은 16비트 훈련 성능의 3~4배가 될 가능성이 높습니다.

구형 GPU의 경우 기존 GPU의 Int8 추론 성능은 16비트 추론 성능에 가깝습니다.

1달러당 얼마만큼의 컴퓨팅 성능을 구입할 수 있습니까?

그럼 GPU 성능은 강력하지만 감당할 수 없다는 문제입니다...

예산이 부족한 분들을 위해 여기 다음 차트는 GPU의 비용 효율성을 반영하는 각 GPU의 가격 및 성능 통계를 기반으로 한 그의 달러당 성능 순위(Performance per Dollar)입니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

딥 러닝 작업을 완료하고 예산에 맞는 GPU를 선택하는 것은 다음 단계로 나눌 수 있습니다.

  • 먼저 필요한 비디오 메모리 양을 결정합니다(이미지 생성을 위해 최소 12GB, Transformer 처리에 사용되는 최소 24GB)
  • 8비트 또는 16비트(8비트 또는 16비트)를 선택할지는 가능하면 16비트를 사용하는 것이 좋습니다. 복잡한 인코딩 작업을 처리할 때는 여전히 어려움을 겪습니다. ;
  • 위 이미지의 지표를 기반으로 상대적 성능/비용이 가장 높은 GPU를 찾으세요.

우리는 RTX4070Ti가 8비트 및 16비트 추론에 가장 비용 효율적인 반면, RTX3080은 16비트 교육에 가장 비용 효율적이라는 것을 알 수 있습니다.

이러한 GPU는 가장 비용 효율적이지만 메모리도 단점이며 10GB 및 12GB 메모리는 모든 요구 사항을 충족하지 못할 수 있습니다.

하지만 딥러닝을 처음 접하는 초보자에게는 이상적인 GPU일 수 있습니다.

이러한 GPU 중 일부는 Kaggle 대회에 적합하며, Kaggle 대회에서 잘하려면 모델 크기보다 작업 방법이 더 중요하므로 많은 작은 GPU가 적합합니다.

Kaggle은 데이터 과학자를 위한 세계 최대 규모의 모임 플랫폼으로 알려져 있으며, 전문가들이 이곳에 모여 있으며, 초보자에게도 친숙합니다.

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

학술 연구 및 서버 운영에 사용된다면 가장 좋은 GPU는 A6000 Ada GPU인 것 같습니다.

동시에 H100 SXM은 대용량 메모리와 강력한 성능으로 비용 효율성도 매우 뛰어납니다.

개인적인 경험으로 말하자면 기업/학술 연구실용 소규모 클러스터를 구축한다면 A6000 GPU 66~80%, H100 SXM GPU 20~33%를 추천합니다.

종합 추천

너무 많은 말을 하다가 드디어 GPU 컴포트 단계에 이르렀습니다.

Tim Dettmers가 특별히 "GPU 구매 흐름도"를 만들었습니다. 예산이 충분하다면 더 높은 구성으로 가셔도 좋습니다.

우선 한 가지 점을 강조하겠습니다. 어떤 GPU를 선택하든 먼저 해당 메모리가 사용자의 요구 사항을 충족할 수 있는지 확인해야 합니다. 이를 위해서는 스스로에게 몇 가지 질문을 던져야 합니다.

GPU로 무엇을 하고 싶은가? Kaggle 대회 참가, 딥 러닝 학습, CV/NLP 연구 또는 소규모 프로젝트 수행에 사용됩니까?

딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?

예산이 충분하다면 위의 벤치마크를 확인하고 가장 적합한 GPU를 선택할 수 있습니다.

또한 일정 기간 광대한.ai 또는 Lambda Cloud에서 문제를 실행하여 요구 사항이 충족되는지 파악하는 데 필요한 GPU 메모리를 추정할 수도 있습니다.

GPU가 가끔(며칠마다 몇 시간 동안) 필요하고 대규모 데이터 세트를 다운로드하여 처리할 필요가 없다면 broad.ai 또는 Lambda Cloud도 잘 작동합니다.

그러나 GPU를 한 달 동안 매일 사용하고 사용 빈도가 높은 경우(하루 12시간) 일반적으로 클라우드 GPU는 좋은 선택이 아닙니다.

위 내용은 딥 러닝 GPU 선택 가이드: 내 연금술로에 적합한 그래픽 카드는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제