TOPS i TFLOPS w Kontekście Użycia GPU do Wnioskowania i Szkolenia
W obliczeniach wysokowydajnych, zwłaszcza w kontekście sztucznej inteligencji (AI) i uczenia maszynowego (ML), wskaźniki wydajności takie jak TOPS (Tera Operations Per Second) i Teraflops (Tera Floating Point Operations Per Second) odgrywają kluczową rolę. W tym artykule omówimy, co oznaczają te miary, jak są używane w kontekście GPU do wnioskowania i szkolenia, a także porównamy dwie potężne karty graficzne: NVIDIA RTX 3090 i RTX 4090. Dodatkowo, poruszymy temat wydajności w TOPS w innych urządzeniach, takich jak procesory i FPGA oraz ile TOPS jest wymagane do wygodnego wnioskowania z modelami językowymi.
TOPS i TFLOPS
TOPS mierzy ogólną liczbę operacji wykonywanych na sekundę, niezależnie od rodzaju operacji. Teraflops natomiast mierzy liczbę operacji zmiennoprzecinkowych na sekundę. W kontekście AI i ML, różne poziomy precyzji obliczeń mają znaczenie:
- FP32 (32-bit float): Wysoka precyzja, używana w naukowych i inżynieryjnych obliczeniach.
- FP16 (16-bit float): Mniejsza precyzja, ale wyższa wydajność, często używana w głębokim uczeniu.
- INT8 (8-bit integer): Bardzo wysoka wydajność, niższa precyzja, idealna do wnioskowania w AI.
Wydajność GPU: RTX 3090 vs RTX 4090
Karty graficzne NVIDIA RTX 3090 i RTX 4090 są doskonałymi przykładami wysokowydajnych GPU, które różnią się znacząco pod względem wydajności w TOPS i Teraflops.
RTX 3090
- Architektura: Ampere
- FP16 (Tensor TFLOPS): 119 TFLOPS (czyli 119 TOPS)
- INT8 (Tensor TOPS): 238 TOPS
RTX 4090
- Architektura: Ada Lovelace
- FP16 (Tensor TFLOPS): 650 TFLOPS (czyli 650 TOPS)
- INT8 (Tensor TOPS): 1300 TOPS
Wnioskowanie vs Szkolenie
W kontekście AI, wnioskowanie i szkolenie to dwa różne etapy pracy z modelami:
- Wnioskowanie (Inference):
- Proces zastosowania wytrenowanego modelu do nowych danych.
- Kluczowa jest tutaj wysoka wydajność w TOPS, zwłaszcza dla operacji INT8 i FP16, które są mniej wymagające pod względem precyzji, ale wymagają wysokiej przepustowości.
- Szkolenie (Training):
- Proces dostosowywania wag modelu na podstawie danych treningowych.
- Wymaga większej precyzji (FP32, FP16), co przekłada się na wysokie wartości Teraflops.
Wydajność TOPS w Procesorach i Innych Urządzeniach
Chociaż GPU są dominującym wyborem w kontekście AI i ML ze względu na ich równoległą architekturę, procesory (CPU) i inne specjalistyczne układy (np. FPGA – Field-Programmable Gate Arrays) również odgrywają ważną rolę.
Przykłady
- Intel Stratix 10 NX FPGA:
- INT8 TOPS: Do 143 TOPS
- INT4 TOPS: Do 286 TOPS
- FP16 TFLOPS: Do 143 TFLOPS
- Architektura: AI Tensor Blocks, które umożliwiają elastyczne i wydajne przetwarzanie operacji AI dzięki możliwości konfigurowania zasobów FPGA zgodnie z wymaganiami aplikacji.
- TPU (Tensor Processing Unit) v4:
- INT8 TOPS: Do 275 TOPS
- Używane głównie przez Google w kontekście ich usług AI.
- CPU (Central Processing Unit):
- Nowoczesne procesory, takie jak Intel Xeon lub AMD EPYC, są mniej wydajne w TOPS w porównaniu do GPU i FPGA, ale nadal ważne w zastosowaniach wymagających dużej precyzji i mocy obliczeniowej.
Wydajność TOPS w Wnioskowaniu z Modelami Językowymi
Wydajność wymagana do wnioskowania z dużymi modelami językowymi, takimi jak LLaMA i Mistral, może się znacznie różnić w zależności od wielkości modelu i skomplikowania zadania.
Szacowanie Wymagań TOPS:
Wydajność wnioskowania, mierzona w tokenach na sekundę, może być przeliczona na wymagania w TOPS. Załóżmy, że minimalna wydajność do wygodnej pracy to 5-10 tokenów na sekundę.
- LLaMA 7B:
- Przy wnioskowaniu, LLaMA 7B osiąga około 90 tokenów na sekundę przy użyciu GPU RTX 3090, który oferuje około 238 TOPS w INT8 (NVIDIA Developer).
- Dla osiągnięcia 10 tokenów na sekundę: 238 TOPS / 90 tokenów na sekundę = ~2.64 TOPS na token na sekundę.**
- Zatem do osiągnięcia 10 tokenów na sekundę potrzeba około 26.4 TOPS.
- Mistral 7B:
- Mistral 7B w benchmarkach osiąga podobną wydajność co LLaMA 7B, co sugeruje podobne wymagania w TOPS.
- Dla osiągnięcia 10 tokenów na sekundę potrzeba również około 26.4 TOPS.**
**Należy pamiętać, że te wartości są przybliżone i mogą się różnić w zależności od innych czynników, takich jak ustawienia hiperparametrów i specyficzne optymalizacje modelu.
Źródła
- Dokumentacja NVIDIA Ampere GA102 GPU Architecture
- Specyfikacje kart graficznych NVIDIA RTX 3090 i RTX 4090
- Dokumentacja Intel Stratix 10 NX FPGA
- Dane techniczne TPU v4
- Analiza benchmarków Mistral 7B i LLaMA 2 7B