Lựa chọn VGA - GPU card chuyên dụng cho AI - Deep Learning

Hello

Hà Nội: 49 Thái Hà | 151 Lê Thanh Nghị và 63 Trần Thái Tông ● HCM: 158 - 160 Lý Thường Kiệt | 330-332 Võ Văn Tần ● Bắc Ninh: Số 51 Trần Hưng Đạo - Đại Phúc

DANH MỤC SẢN PHẨM

Lựa chọn VGA - GPU card chuyên dụng cho AI - Deep Learning

21-09-2019, 3:16 pm

Deep Learning là một lĩnh vực với các yêu cầu tính toán mạnh mẽ và việc lựa chọn GPU của bạn về cơ bản sẽ quyết định trãi nghiệm triển khai Deep Learning của bạn. Nhưng những tính năng nào là quan trọng nếu bạn muốn mua GPU mới? RAM GPU, Core, Tensor Core? Làm thế nào để quyết định lựa chọn với chi phí hiệu quả? Bài này sẽ đi sâu vào những câu hỏi và sẽ cho bạn lời khuyên giúp bạn đưa ra lựa chọn phù hợp.

Việc có GPU chạy nhanh là một yếu tố rất quan trọng khi bắt đầu dự án Deep Learning vì điều này cho phép đạt được kết quả nhanh chóng theo kinh nghiệm thực tế, đó là chìa khóa để xây dựng chuyên môn mà bạn sẽ có thể áp dụng Deep Learning vào các vấn đề mới. Thiếu thiết bị có sức mạnh phù hợp, bạn chỉ mất quá nhiều thời gian để học hỏi từ những sai lầm của người khác và có thể nản lòng khi tiếp tục triển khai dự án Deep Learning. Với GPU, tôi đã học được cách áp dụng Deep Learning vào một loạt các cuộc thi Kaggle và tôi đã giành được vị trí thứ hai trong Partly Sunny với cuộc thi Chance of Hashtags Kaggle bằng cách sử dụng phương pháp Deep Learning, trong đó có một nhiệm vụ xếp hạng việc dự báo  thời tiết. Trong cuộc thi, tôi đã sử dụng một deep neural network (DNN) hai lớp có quy mô lớn với các đơn vị tuyến tính được điều chỉnh để chuẩn hóa và DNN này chỉ vừa đủ trong bộ nhớ GPU 6GB của tôi. Các GPU GTX Titan hỗ trợ tôi trong cuộc thi là yếu tố chính giúp tôi đạt vị trí thứ 2 trong cuộc thi.

Tổng quan

Bài này được cấu trúc theo cách sau. Đầu tiên tôi thảo luận về việc có nhiều GPU sẽ hữu ích như thế nào, sau đó tôi thảo luận về tất cả các tùy chọn phần cứng có liên quan như GPU NVIDIA và AMD, Intel Xeon Phi, Google TPU và phần cứng cho startup mới. Sau đó, tôi thảo luận về thông số kỹ thuật GPU là chỉ số tốt cho hiệu suất của Deep Learning. Phần chính thảo luận về phân tích hiệu suất và hiệu quả chi phí. Tôi kết luận với các gợi ý GPU vừa tổng quan, vừa cụ thể hơn.

Nhiều GPU làm cho việc training của tôi nhanh hơn?

Khi bắt đầu sử dụng nhiều GPU, tôi rất hào hứng với việc thiết lập xử lý song song để cải thiện hiệu năng thời gian chạy cho cuộc thi Kaggle. Tuy nhiên, tôi thấy rằng rất khó để đạt được tốc độ mong muốn chỉ đơn giản bằng cách sử dụng nhiều GPU. Tò mò về vấn đề này, tôi bắt đầu thực hiện nghiên cứu vấn đề xử lý song song trong học Deep Learning. Tôi đã phân tích việc xử lý song song trong các kiến ​​trúc Deep Learning, phát triển kỹ thuật lượng tử hóa 8 bit để tăng tốc độ trong các cụm GPU từ 23x lên 50x cho hệ thống 96 GPU và công bố nghiên cứu của tôi tại ICLR 2016.

Điểm quan trọng được nhận ra là các network thuộc kiểu “convolution” và “recurrent” lại khá dễ để song song hóa, đặc biệt nếu bạn chỉ sử dụng một máy tính hoặc 4 GPU. Tuy nhiên, các network được kết nối toàn phần bao gồm cả máy biến áp không đơn giản để song song và cần các thuật toán chuyên dụng để thực hiện tốt.

Hình 1: Thiết lập trong máy tính 4GPU 

Các thư viện hiện đại như TensorFlow và PyTorch rất phù hợp để kết nối song song các mạng lặp và tích chập, và để tích chập, bạn có thể mong đợi tốc độ tăng lên khoảng 1,9x / 2,8x / 3,5x cho 2/3/4 GPU. Đối với các mạng lặp lại, độ dài chuỗi là tham số quan trọng nhất và đối với các sự cố NLP phổ biến, người ta có thể mong đợi các tốc độ tăng tốc tương tự hoặc kém hơn một chút so với các mạng chập. Các mạng kết nối đầy đủ, bao gồm cả máy biến áp, tuy nhiên, thường có hiệu suất kém đối với dữ liệu song song và các thuật toán tiên tiến hơn là cần thiết để tăng tốc các phần này của mạng. Nếu bạn chạy biến áp trên nhiều GPU, bạn nên thử chạy nó trên 1 GPU và xem nó có nhanh hơn hay không.

Sử dụng nhiều GPU mà không cần xử lý song song

Một lợi thế khác của việc sử dụng nhiều GPU, ngay cả khi bạn không song song hóa các thuật toán, là bạn có thể chạy nhiều thuật toán hoặc thử nghiệm riêng biệt trên mỗi GPU. Tìm kiếm hyperparameter một cách hiệu quả là cách vận dụng phổ biến nhất của thiết lập nhiều GPU. Bạn không tăng tốc, nhưng bạn có được thông tin nhanh hơn về hiệu suất của các thiết lập hyperparameter khác nhau hoặc kiến ​​trúc mạng khác nhau. Điều này cũng rất hữu ích cho những người mới, vì bạn có thể nhanh chóng hiểu biết và trải nghiệm về cách bạn có thể training một kiến ​​trúc Deep Learning không quen thuộc.

Sử dụng nhiều GPU theo cách này thường hữu ích hơn so với việc chạy một mạng trên nhiều GPU thông qua song song dữ liệu. Bạn nên ghi nhớ điều này khi bạn mua nhiều GPU: Chất lượng để có sự song song tốt hơn như số lượng làn PCIe không quan trọng khi bạn mua nhiều GPU.

Ngoài ra, lưu ý rằng một GPU duy nhất phải đủ cho hầu hết mọi tác vụ. Do đó, phạm vi trải nghiệm mà bạn có thể có với 1 GPU sẽ không khác so với khi bạn có 4 GPU. Sự khác biệt duy nhất là bạn có thể chạy nhiều thử nghiệm hơn trong một thời gian nhất định với nhiều GPU.

Tùy chọn của bạn: NVIDIA vs AMD 

NVIDIA: Người dẫn đầu

Các thư viện tiêu chuẩn của NVIDIA giúp dễ dàng thiết lập các thư viện Deep Learning đầu tiên trong CUDA, trong khi không có thư viện tiêu chuẩn mạnh như vậy cho OpenCL của AMD. Lợi thế ban đầu này kết hợp với sự hỗ trợ cộng đồng mạnh mẽ từ NVIDIA đã tăng quy mô của cộng đồng CUDA một cách nhanh chóng. Điều này có nghĩa là nếu bạn sử dụng GPU NVIDIA, bạn sẽ dễ dàng tìm thấy sự hỗ trợ nếu có sự cố xảy ra, bạn sẽ tìm thấy sự hỗ trợ và lời khuyên nếu bạn tự lập trình CUDA và bạn sẽ thấy rằng hầu hết các thư viện Deep Learning đều có hỗ trợ tốt nhất cho GPU NVIDIA. Trong những tháng cuối, NVIDIA vẫn rót thêm nhiều tài nguyên vào phần mềm . Ví dụ: thư viện Apexcung cấp hỗ trợ để ổn định độ dốc 16 bit trong PyTorch và cũng bao gồm các trình tối ưu hóa nhanh được hợp nhất như FuseAdam. Nhìn chung, phần mềm là một điểm rất mạnh đối với GPU NVIDIA.

Mặt khác, NVIDIA hiện có chính sách rằng việc sử dụng CUDA trong các trung tâm dữ liệu chỉ được phép cho GPU Tesla chứ không phải thẻ GTX hoặc RTX. Không rõ ý nghĩa của các trung tâm dữ liệu của Cameron là gì nhưng điều này có nghĩa là các tổ chức và trường đại học thường bị buộc phải mua GPU Tesla đắt tiền và không hiệu quả do lo ngại các vấn đề pháp lý. Tuy nhiên, thẻ Tesla không có lợi thế thực sự so với thẻ GTX và RTX và có giá cao gấp 10 lần.

NVIDIA chỉ có thể làm điều này mà không gặp bất kỳ trở ngại lớn nào cho thấy sức mạnh của sự độc quyền của họ – họ có thể làm theo ý mình và chúng tôi phải chấp nhận các điều khoản. Nếu bạn chọn những lợi thế lớn mà GPU NVIDIA có được về mặt cộng đồng và hỗ trợ, bạn cũng sẽ cần phải chấp nhận rằng bạn có thể được đẩy xung quanh theo ý muốn.

AMD: Hỗ trợ mạnh mẽ nhưng thiếu

HIP thông qua ROCm hợp nhất GPU NVIDIA và AMD theo ngôn ngữ lập trình chung được biên dịch thành ngôn ngữ GPU tương ứng trước khi được biên dịch thành lắp ráp GPU. Nếu chúng ta có tất cả mã GPU của mình trong HIP thì đây sẽ là một cột mốc quan trọng, nhưng điều này khá khó khăn vì rất khó để chuyển các cơ sở mã TensorFlow và PyTorch. TensorFlow và PyTorch có một số hỗ trợ cho GPU AMD và tất cả các mạng chính có thể chạy trên GPU AMD, nhưng nếu bạn muốn phát triển mạng mới, một số chi tiết có thể bị thiếu khiến bạn không thể thực hiện những gì bạn cần. Cộng đồng ROCm cũng không quá lớn và do đó không đơn giản để khắc phục sự cố nhanh chóng. AMD đầu tư rất ít vào phần mềm Deep Learning của họ và vì thế người ta không thể ngờ rằng khoảng cách phần mềm giữa NVIDIA và AMD sẽ đóng lại.

Hiện tại, hiệu suất của GPU AMD vẫn ổn. Hiện tại chúng có khả năng tính toán 16 bit, đây là một cột mốc quan trọng, tuy nhiên, các GPU của Tensor của NVIDIA cung cấp hiệu năng tính toán vượt trội hơn nhiều cho các máy biến áp và mạng chập (mặc dù không nhiều cho các mạng lặp lại cấp độ từ).

Nhìn chung, tôi nghĩ rằng tôi vẫn không thể đưa ra một khuyến nghị rõ ràng về GPU AMD cho người dùng thông thường chỉ muốn GPU của họ hoạt động trơn tru. Người dùng có nhiều kinh nghiệm hơn sẽ có ít vấn đề hơn và bằng cách hỗ trợ GPU AMD và nhà phát triển ROCm / HIP, họ góp phần vào cuộc chiến chống lại vị thế độc quyền của NVIDIA vì điều này sẽ giúp ích rất nhiều cho mọi người về lâu dài. Nếu bạn là nhà phát triển GPU và muốn đóng góp quan trọng cho điện toán GPU, thì GPU AMD có thể là cách tốt nhất để tạo ra tác động tốt trong dài hạn. Đối với những người khác, GPU NVIDIA có thể là lựa chọn an toàn hơn.

Điều gì làm cho một GPU nhanh hơn một GPU khác?

Câu hỏi đầu tiên của bạn có thể là tính năng quan trọng nhất cho hiệu năng GPU nhanh để Deep Learning: Đó có phải là core CUDA không? Tốc độ đồng hồ? Dung lượng RAM?

Năm 2019, việc lựa chọn GPU trở nên khó hiểu hơn bao giờ hết: điện toán 16 bit, core căng, GPU 16 bit không có core kéo, nhiều thế hệ GPU vẫn còn khả thi (Turn, Volta, Maxwell). Nhưng vẫn có một số chỉ số hiệu suất đáng tin cậy mà mọi người có thể sử dụng như một quy tắc. Dưới đây là một số hướng dẫn ưu tiên cho các kiến ​​trúc Deep Learning khác nhau:

Mạng kết hợp và máy biến áp: core kéo> FLOPs> Băng thông bộ nhớ> Khả năng 16 bit
Mạng tái phát: Băng thông bộ nhớ> Khả năng 16 bit> core kéo> FLOP

Điều này có nội dung như sau: Nếu tôi muốn sử dụng, ví dụ, mạng chập, trước tiên tôi nên ưu tiên GPU có core căng, sau đó là số FLOP cao, sau đó là băng thông bộ nhớ cao và sau đó là GPU có khả năng 16 bit . Trong khi ưu tiên, điều quan trọng là chọn một GPU có đủ bộ nhớ GPU để chạy các mô hình mà người ta quan tâm.

Tại sao cần những sự ưu tiên này?

Một điều giúp tăng cường sự hiểu biết của bạn để đưa ra lựa chọn sáng suốt là tìm hiểu một chút về phần nào của phần cứng giúp GPU nhanh cho hai hoạt động căng thẳng quan trọng nhất: Nhân ma trận và tích chập.

Một cách đơn giản và hiệu quả để suy nghĩ về phép nhân ma trận A * B = C là giới hạn băng thông bộ nhớ: Sao chép bộ nhớ của A, B cho đến khi chip tốn kém hơn so với việc tính toán A * B. Điều này có nghĩa là băng thông bộ nhớ là tính năng quan trọng nhất của GPU nếu bạn muốn sử dụng các LSTM và các mạng lặp lại khác thực hiện nhiều phép nhân ma trận nhỏ. Phép nhân ma trận càng nhỏ, băng thông bộ nhớ càng quan trọng.

Ngược lại, tích chập bị ràng buộc bởi tốc độ tính toán. Do đó, TFLOP trên GPU là chỉ số tốt nhất cho hiệu suất của ResNets và các kiến ​​trúc tích chập khác. core kéo có thể tăng FLOP đáng kể.

Phép nhân ma trận lớn như được sử dụng trong các máy biến áp nằm giữa tích chập và phép nhân ma trận nhỏ của RNN. Phép nhân ma trận lớn được hưởng lợi rất nhiều từ bộ lưu trữ 16 bit, core kéo và FLOP nhưng chúng vẫn cần băng thông bộ nhớ cao.

Lưu ý rằng để sử dụng các lợi ích của core kéo, bạn nên sử dụng dữ liệu và trọng lượng 16 bit – tránh sử dụng 32 bit với thẻ RTX! Nếu bạn gặp phải vấn đề với training 16 bit khi sử dụng PyTorch, thì bạn nên sử dụng tỷ lệ mất động như được cung cấp bởi thư viện Apex . Nếu bạn sử dụng TensorFlow, bạn có thể tự thực hiện chia tỷ lệ tổn thất: (1) nhân số lỗ của bạn với một số lớn, (2) tính toán độ dốc, (3) chia cho số lớn, (4) cập nhật trọng số của bạn. Thông thường, training 16 bit sẽ tốt, nhưng nếu bạn gặp khó khăn trong việc sao chép kết quả với tỷ lệ mất 16 bit thường sẽ giải quyết được vấn đề.

Hình 2: Dữ liệu hiệu suất được chuẩn hóa của GPU và TPU. Cao hơn thì tốt hơn. Thẻ RTX giả định tính toán 16 bit. Các số RNN từ đề cập đến hiệu suất biLSTM cho các chuỗi ngắn có độ dài <100. Điểm chuẩn được thực hiện bằng PyTorch 1.0.1 và CUDA 10.
Hình 2: Dữ liệu hiệu suất được chuẩn hóa của GPU và TPU. Cao hơn thì tốt hơn. Thẻ RTX giả định tính toán 16 bit. Các số RNN từ đề cập đến hiệu suất biLSTM cho các chuỗi ngắn có độ dài

 

Cảnh báo: Sự cố nhiệt trên RTX đa GPU

Có vấn đề với RTX 2080 Ti và các GPU RTX khác với quạt kép tiêu chuẩn nếu bạn sử dụng nhiều GPU chạy cạnh nhau. Điều này đặc biệt như vậy đối với nhiều RTX 2080 Ti trong một máy tính nhưng nhiều RTX 2080 và RTX 2070 cũng có thể bị ảnh hưởng. Quạt trên một số thẻ RTX là một thiết kế mới được NVIDIA phát triển để cải thiện trải nghiệm cho các game thủ chạy một GPU (im lặng, nhiệt thấp hơn cho một GPU). Tuy nhiên, thiết kế rất tệ nếu bạn sử dụng nhiều GPU có thiết kế quạt kép mở này. Nếu bạn muốn sử dụng nhiều thẻ RTX chạy cạnh nhau (trực tiếp trong khe PCIe tiếp theo) thì bạn nên lấy phiên bản có thiết kế quạt đơn kiểu quạt gió kiểu Drake. Điều này đặc biệt đúng với thẻ RTX 2080 Ti. ASUS và PNY hiện có các mẫu RTX 2080 Ti trên thị trường với quạt kiểu quạt gió.

Kích thước bộ nhớ cần thiết và training 16 bit

Bộ nhớ trên GPU có thể rất quan trọng đối với một số ứng dụng như thị giác máy tính, dịch máy và một số ứng dụng NLP khác và bạn có thể nghĩ rằng RTX 2070 tiết kiệm chi phí, nhưng bộ nhớ của nó quá nhỏ với 8 GB. Tuy nhiên, lưu ý rằng thông qua training 16 bit, bạn hầu như có bộ nhớ 16 GB và mọi mô hình tiêu chuẩn sẽ dễ dàng phù hợp với RTX 2070 của bạn nếu bạn sử dụng 16 bit. Điều tương tự cũng đúng với RTX 2080 và RTX 2080 Ti. Tuy nhiên, xin lưu ý rằng trong hầu hết các khung phần mềm, bạn sẽ không tự động tiết kiệm một nửa bộ nhớ bằng cách sử dụng 16 bit vì một số khung lưu trữ trọng lượng trong 32 bit để thực hiện cập nhật độ dốc chính xác hơn, v.v. Một nguyên tắc nhỏ là giả sử thêm 50% bộ nhớ với tính toán 16 bit. Vì vậy, bộ nhớ 8GB 16 bit có kích thước tương đương với bộ nhớ 12 GB 12 bit.

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Tin mới nhất
Tần số quét màn hình là gì ? Chọn màn hình tần số quét như thế nào phù hợp ? Tần số quét màn hình là gì ? Chọn màn hình tần số quét như thế nào phù hợp ?
By Hoa Đại Dương 0 13

Bên cạnh những yếu tố như tấm nền, kích thước, dải màu hay độ phân giải thì tần số quét màn hình cũng là một thông số quan trọng mà chắc chắn bạn ...

bài viết nhiều người xem
Đánh Giá Màn Hình ASUS VY249HF-R, 2 Triệu Thế Này Là Được Rồi Đánh Giá Màn Hình ASUS VY249HF-R, 2 Triệu Thế Này Là Được Rồi
By Nguyễn Mạnh Linh 0 16

ASUS VY249HF-R là một trong những sản phẩm màn hình cực kỳ nổi bật của hãng ASUS, ra mắt vào đầu năm 2024

Những việc quan trọng cần làm sau khi cài đặt Windows 10, Windows 11 Những việc quan trọng cần làm sau khi cài đặt Windows 10, Windows 11
By Nguyễn Mạnh Linh 0 133

Việc cài đặt Windows mới chỉ là bước đầu tiên trong việc thiết lập một hệ thống máy tính hoàn chỉnh. Sau khi cài đặt Windows, có một số ứng dụng và ...

Chúc mừng năm mới 2025, Xin mời tải về bộ ảnh Lịch Vạn Niên Ất Tỵ phong cách Kawaii Cutie Chúc mừng năm mới 2025, Xin mời tải về bộ ảnh Lịch Vạn Niên Ất Tỵ phong cách Kawaii Cutie
By Nguyễn Mạnh Linh 0 173

Năm Ất Tỵ cũng mang theo những dự đoán về sự biến đổi và phát triển, bởi vì Rắn thường được liên kết với sự thay đổi và lột xác. Đây có thể là ...

Đánh Giá Chi Tiết GIGABYTE GS27F - MoTY Trong Phân Khúc Gaming 3 Đồng Đánh Giá Chi Tiết GIGABYTE GS27F - MoTY Trong Phân Khúc Gaming 3 Đồng
By Nguyễn Mạnh Linh 0 137

Với những cải tiến vượt bậc về hiệu năng, thiết kế và giá thành hợp lý ở trong phân khúc, thì Màn Hình Gaming GIGABYTE GS27F chắc chắn là một trong những ...

sản phẩm bán chạy nhất
So sánh (0)
DMCA.com Protection Status