Điểm chuẩn gpu học sâu

Chúng tôi không ngừng đào tạo các mô hình ngôn ngữ cho công việc của mình. Nhóm của chúng tôi sử dụng hàng tá card màn hình khác nhau được chọn cho các nhiệm vụ khác nhau: ở đâu đó chúng tôi cần một trạm DGX mạnh mẽ, và ở đâu đó một thẻ chơi game cũ như RTX 2080Ti là đ. Việc chọn GPU tối ưu để đào tạo mô hình có thể tác động đáng kể đến cả tốc độ và hiệu quả chi phí của quy trình.

Điều thú vị là có khá nhiều bài viết trên internet có so sánh GPU cho machine learning, nhưng rất ít bài tập trung vào tốc độ cho việc đào tạo mô hình ngôn ng. Hầu hết chỉ có các bài kiểm tra suy luận được tìm thấy. Khi chip H100 mới được phát hành, báo cáo của NVidia cho biết nó nhanh hơn tới 9 lần so với A100 trong quá trình huấn luyện, nhưng đối với nhiệm vụ của chúng tôi, thẻ mới chỉ nhanh hơn 90% so với thẻ cũ. Để so sánh, các nhà cung cấp đám mây của chúng tôi có chênh lệch giá gấp 2 lần giữa các GPU này, vì vậy không có ích gì khi chuyển sang H100 mới để tiết kiệm tiền.

Ngoài ra, chúng tôi đã thử nghiệm một trạm DGX, bao gồm 8 card đồ họa A100 80GB và có giá 10 nghìn đô la mỗi tháng. Sau khi thử nghiệm, rõ ràng là tỷ lệ giá/hiệu suất của trạm này hoàn toàn không phù hợp với chúng tôi và với số tiền này, chúng tôi có thể lấy 66 x RTX 3090, tổng cộng sẽ hữu ích hơn nhiều.

Các mô hình ngôn ngữ dịch thuật của chúng tôi có tới 500 triệu thông số (trung bình 100 triệu đến 300 triệu). Có thể nếu chúng ta tăng số lượng tham số lên đáng kể thì tỷ lệ giá/hiệu suất của DGX sẽ tốt hơn. Hiện tại, chúng tôi không đào tạo các mô hình ngôn ngữ lớn có thể dịch giữa tất cả các ngôn ngữ trong tất cả các biến thể cùng một lúc, nhưng sử dụng các mô hình ngôn ngữ riêng biệt cho từng cặp ngôn ngữ, ví d. Anh-Đức. Mỗi mô hình như vậy mất từ 120 đến 300 Mb.

Điều đáng chú ý là các ngôn ngữ khác nhau có lượng dữ liệu khác nhau trên Internet, và trong khi. Ví dụ: đối với tiếng Tây Ban Nha, bạn có thể tìm thấy 500 triệu câu có bản dịch, nhưng khi đào tạo các mô hình cho các ngôn ngữ hiếm hơn như tiếng Tây Tạng, bạn cần chọn một GPU cụ thể cho các tác vụ học máy dựa trên dữ liệu có sẵn. Để tạo mô hình dịch từ tiếng Anh sang tiếng Tây Ban Nha, chúng tôi sử dụng một máy chủ với 4 x RTX 4500 và RAM 256GB. Đồng thời, ngôn ngữ Tây Tạng có thể được đào tạo trên RTX 2080 Ti với RAM 16GB, vì nó không có ý nghĩa để tăng độ phức tạp của mạng thần kinh và, kết quả là, để có một máy chủ mạnh hơn với một lượng nhỏ dữ liệu.

Lựa chọn bộ xử lý đồ họa và số liệu lý thuyết

Việc đào tạo mô hình ngôn ngữ diễn ra trên nền tảng Data Studio nội bộ của chúng tôi bằng cách sử dụng khung OpenNMT-tf. Giai đoạn này bao gồm chuẩn bị dữ liệu, đào tạo mô hình và so sánh mô hình với bản dịch tham khảo. Việc sử dụng FP16 thay vì FP32 trong quá trình đào tạo cho phép chúng tôi giảm đáng kể thời gian đào tạo của các mô hình ngôn ngữ mà không làm giảm chất lượng dịch thuật, nhưng không phải tất cả GPU của chúng tôi đều hỗ trợ điều đó.

Khi chọn bộ xử lý đồ họa, tiêu chuẩn là phải xem xét các số liệu như sức mạnh xử lý (TFLOPS), bộ nhớ video (VRAM), kết quả điểm chuẩn GPU, hỗ trợ thư viện và khung, ngân sách và các yếu tố khác (kích thước thẻ đồ họa và hệ số hình thức, yêu cầu về năng lượng, làm mát và khả năng tương thích với hệ thống của bạn). Khi đào tạo các mô hình tạo văn bản, bạn cũng nên lưu ý rằng các ngôn ngữ khác nhau sẽ tiêu tốn lượng tài nguyên khác nhau. Ví dụ: 1 byte được sử dụng để mã hóa một ký tự cho các ngôn ngữ Latinh, 2 byte cho các ngôn ngữ Cyrillic và 3 byte cho các ngôn ngữ chứa chữ tượng hình. Hiểu được những đặc điểm mà card đồ họa của bạn sẽ có tác động đáng kể đến tốc độ của quá trình học tập.

Khi đào tạo các mô hình về GPU được sử dụng, card màn hình được chia thành hai nhóm theo thời gian sử dụng: card màn hình đời đầu, được sử dụng để thực hiện các phép đo đầu tiên về tốc độ học tập và thẻ hiện đang được sử dụng. Các đặc điểm chính của các card đồ họa này có thể được tìm thấy tương ứng trong Bảng 1 và Bảng 2.

Bảng 1 - Bộ xử lý đồ họa được sử dụng trước đây và các thông số kỹ thuật của chúng
 

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


Ghi chú
1. Với CUDA lớn hơn 7.0, việc sử dụng FP16 sẽ giúp tăng tốc độ luyện tập, tùy thuộc vào phiên bản CUDA và đặc điểm của chính card đồ họa.
2. Nếu thông số kỹ thuật của card đồ họa chỉ ra rằng tỷ lệ hiệu suất FP16 và FP32 lớn hơn 1 trên 1 thì việc sử dụng độ chính xác hỗn hợp sẽ được đảm bảo để tăng tốc độ luyện tập lên mức được chỉ định trong thông số kỹ thuật. Ví dụ: đối với Quadro RTX 6000, giá trị FP16 TFLOPS là 32,62 (2:1) sẽ tăng tốc độ tập luyện ít nhất hai lần (2,4 lần trong thực tế)

Bảng 2 - Các mẫu GPU hiện đang được sử dụng và các đặc điểm chính của chúng
 

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

* - các giá trị cho FP16,TFLOPS và FP32,TFLOPS được lấy từ thông số kỹ thuật trên mỗi GPU

Quy trình đào tạo và kiểm tra GPU

Các mô hình đã được đào tạo bằng cách sử dụng một bộ 18 GPU. Trong quá trình đào tạo mạng lưới thần kinh, chúng tôi đã sử dụng nhiều cặp ngôn ngữ (hơn một trăm ngôn ngữ). Các bài kiểm tra GPU đã giúp xác định phần cứng nào hoạt động tốt nhất cho các tác vụ cụ th. Trong quá trình đào tạo các cặp ngôn ngữ của chúng tôi, các tham số mạng thần kinh sau đây được lấy làm cơ sở:
 

  • kích thước vocab = 30 000
  • số đơn vị = 768
  • lớp = 6
  • đầu = 16
  • kích thước bên trong = 4 096


Đầu tiên, hãy mô tả đặc điểm của các GPU thuộc nhóm đầu tiên dựa trên Bảng 1. Thời gian tính bằng phút và giây dành cho việc huấn luyện mô hình với tốc độ xấp xỉ 1.000 bước và bội số kích thước lô là 100.000 đơn vị sẽ được lấy làm cơ sở để so sánh các chỉ số.

Chúng tôi nhấn mạnh rằng đối với nhóm đầu tiên, các phép đo tốc độ được thực hiện bằng cách sử dụng căn chỉnh cơ chế và chỉ sử dụng FP32. Nếu không sử dụng cơ chế này tốc độ học tập trên một số máy chủ có thể nhanh hơn nhiều.

Cơ chế căn chỉnh cho phép khớp các chuỗi con trong cơ sở và văn bản được dịch. Cần phải dịch văn bản được định dạng, chẳng hạn như các trang web, khi một chuỗi con trong câu có thể được đánh dấu bằng phông chữ khác và phải được dịch bằng cách đánh dấu.

Có tính đến các thông số nêu trên của mạng lưới thần kinh, thời gian tốt nhất từ bảng đầu tiên được hiển thị bởi GPU Nvidia H100 với thời gian học là 22 phút, và thời gian trung gian được hiển thị bởi GPU của cùng thương hiệu GeForce RTX 4060 Ti với thời gian học là 72 phút và vị trí cuối cùng được thực hiện bởi GPU Tesla V100-SXM 2 với thời gian học là 140 phút.

Ngoài ra còn có tám thẻ Nvidia A10 trong bài kiểm tra GPU với thời gian học là 20 phút 28 giây, hai thẻ Nvidia A40 với thời gian 56 phút và hai thẻ Tesla V100-SXM có thời lượng 86 phút. Việc áp dụng đồng thời nhiều thẻ của cùng một loạt GPU có thể đẩy nhanh quá trình đào tạo của các mô hình và hiển thị gần như cùng một lúc với các GPU có dung lượng cao hơn, nhưng kỹ thuật như vậy có thể không đủ hợp lý về mặt tài chính và thủ tục. Kết quả đo tốc độ học tập có thể được quan sát trong Bảng số 3.

Bảng 3 - Đo lường thời gian đào tạo trên bản đồ đồ họa đã sử dụng trước đó
 

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


Tiếp theo, chúng ta hãy tiến hành phân tích so sánh bàn đạp ga đồ họa hiện đang được sử dụng (Bảng 2). Đối với nhóm bộ xử lý đồ họa này, các phép đo tốc độ được thực hiện bằng cách sử dụng căn chỉnh cơ chế, cũng như sử dụng FP16 và FP32. Các phép đo tốc độ bao gồm cơ chế này và độ chính xác hỗn hợp sẽ được trình bày tương ứng dưới đây trong Bảng 4 và 5.

Vì vậy, sau khi đo tốc độ của GPU từ bảng này, chúng ta có thể nói rằng vị trí đầu tiên đã được thực hiện bởi GPU dòng RTX A4500 với thời gian đào tạo là 31 phút, nhưng cần nhấn mạnh rằng tốc độ của các mô hình đào tạo như vậy đã đạt được bằng cách tăng số lượng đơn vị của GPU được sử dụng lên đến 4. Bỏ qua thực tế này, tốc độ đào tạo của GPU nói trên sẽ cao hơn nhiều, điều này sẽ đặt nó ở vị trí áp chót trong bảng cuối cùng.

GPU dòng Quadro RTX 6000 với thời gian học 47 phút đứng ở vị trí thứ hai. Cần lưu ý rằng tốc độ huấn luyện như vậy phụ thuộc nghịch đảo vào số lượng đơn vị của bộ xử lý được sử dụng, bằng bốn. Chỉ sử dụng một GPU như vậy sẽ làm giảm tốc độ khoảng 3,2 lần và do đó sẽ mất khoảng 153 phút và đặt nó ở vị trí cuối cùng.

Dòng thứ ba được GPU dòng TITAN RTX thực hiện với thời gian 75 phút 85 giây. Điểm tốc độ học tập này là do sử dụng 2 bộ xử lý, giúp giảm thời gian đào tạo của mô hình.

Người dẫn đầu không thể nghi ngờ về tốc độ đào tạo trong số lượng một đơn vị chắc chắn sẽ là GPU GeForce RTX 3090 series với thời gian 78 phút 26 giây. Việc tăng số lượng đơn vị của GPU này sẽ đẩy nhanh tốc độ đào tạo mô hình, rõ ràng sẽ vượt qua tất cả các mô hình GPU nói trên. Dữ liệu về đo lường thời gian đào tạo theo mô hình có thể được xem trong Bảng 4.

Bảng 4 - Phân tích so sánh tốc độ đào tạo mô hình ngôn ngữ trên GPU đã sử dụng trước đó
 

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


Các phép đo tốc độ huấn luyện sau đây được thực hiện bằng FP16. So với FP32, độ chính xác một nửa cho phép giảm lượng bộ nhớ tiêu thụ trong quá trình đào tạo mô hình và tăng tốc tính toán trên GPU. Độ chính xác của biểu diễn sẽ thấp hơn so với việc sử dụng FP32.

Đo thời gian huấn luyện của các mô hình sử dụng FP32 từ bảng trước, chúng ta có thể nói rằng thời gian huấn luyện của mạng lưới thần kinh đã giảm gần hai lần. Dựa trên kết quả đo hiệu suất, chúng ta có thể quan sát từ các điểm chuẩn GPU học máy trong Bảng 4 rằng vị trí của GPU hầu như không thay đổi. Thẻ dòng Quadro RTX 6000 đã tăng từ vị trí thứ năm lên vị trí thứ sáu, đánh bại GPU GeForce RTX 3090 96 giây. Những con số cuối cùng được thể hiện trong Bảng 5.

Bảng 5 - Phân tích so sánh tốc độ đào tạo mô hình ngôn ngữ trên GPU đã sử dụng trước đó
 

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

Câu hỏi thường gặp (FAQ)

Có đáng để mua GPU cho deep learning không?

Mua GPU để học sâu có thể tăng cường đáng kể tốc độ và hiệu quả đào tạo, làm cho nó trở thành một khoản đầu tư đáng giá cho các dự án nghiêm túc. Tuy nhiên, quyết định nên xem xét các yếu tố như ngân sách, các trường hợp sử dụng cụ thể và liệu các giải pháp đám mây có thể hiệu quả hơn về mặt chi phí hay không.

GPU nào tốt nhất cho deep learning?

NVIDIA A100 thường được coi là lựa chọn hàng đầu cho học sâu, mang lại hiệu suất và bộ nhớ đặc biệt cho các mô hình lớn. Đối với người dùng có ý thức về ngân sách, NVIDIA RTX 3090 cung cấp khả năng mạnh mẽ cho các mô hình đào tạo một cách hiệu qu.

AMD hay NVIDIA tốt hơn cho deep learning?

NVIDIA thường được ưa thích để học sâu do hệ sinh thái phần mềm mạnh mẽ của nó, giúp nâng cao hiệu suất và khả năng tương thích với các khung phổ biến. Trong khi GPU AMD đã được cải thiện, chúng vẫn tụt hậu so với NVIDIA về tối ưu hóa và hỗ trợ cho các ứng dụng deep learning.

GPU có giúp ích gì trong NLP không?

Có, GPU tăng tốc đáng kể việc đào tạo mạng thần kinh về xử lý ngôn ngữ tự nhiên (NLP) bằng cách xử lý các tính toán song song một cách hiệu quả. Việc tăng tốc độ này cho phép thử nghiệm và lặp lại nhanh hơn, dẫn đến hiệu suất mô hình được cải thiện và giảm thời gian đào tạo.

Những bài đọc hấp dẫn hơn đang chờ đợi

Nhận dạng giọng nói tại chỗ là gì?

Nhận dạng giọng nói tại chỗ là gì?

September 19, 2024

Đánh giá ý nghĩa thống kê trong hệ thống dịch thuật

Đánh giá ý nghĩa thống kê trong hệ thống dịch thuật

September 10, 2024

Nhận dạng giọng nói trong tiếp thị

Nhận dạng giọng nói trong tiếp thị

August 23, 2024

Liên hệ với chúng tôi

0/250
* Chỉ ra trường bắt buộc

Quyền riêng tư của bạn vô cùng quan trọng đối với chúng tôi; dữ liệu của bạn sẽ chỉ được sử dụng cho mục đích liên hệ.

E-mail

Hoàn thành

Yêu cầu của bạn đã được gửi thành công

× 
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.