Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 cho các mô hình NLP và CV PyTorch

Đám mây điện toán đàn hồi Amazon (Amazon EC2) Phiên bản G5 là phiên bản đầu tiên và duy nhất trên đám mây có GPU NVIDIA A10G Tensor Core, mà bạn có thể sử dụng cho nhiều trường hợp sử dụng chuyên sâu về đồ họa và máy học (ML). Với các phiên bản G5, khách hàng ML có được hiệu suất cao và cơ sở hạ tầng tiết kiệm chi phí để đào tạo và triển khai các mô hình lớn hơn và phức tạp hơn cho xử lý ngôn ngữ tự nhiên (NLP), thị giác máy tính (CV) và các trường hợp sử dụng động cơ đề xuất.

Mục đích của bài đăng này là để giới thiệu những lợi ích về hiệu suất của các phiên bản G5 đối với khối lượng công việc suy luận ML quy mô lớn. Chúng tôi thực hiện điều này bằng cách so sánh hiệu suất giá (được đo bằng số suy luận trên mỗi triệu đô la) cho các mô hình NLP và CV với các phiên bản G4dn. Chúng tôi bắt đầu bằng cách mô tả phương pháp đo điểm chuẩn và sau đó trình bày các đường cong thông lượng so với độ trễ trên các kích thước lô và độ chính xác của kiểu dữ liệu. So với các phiên bản G4dn, chúng tôi nhận thấy rằng các phiên bản G5 luôn cung cấp chi phí mỗi triệu suy luận thấp hơn cho cả chế độ chính xác đầy đủ và độ chính xác hỗn hợp cho các mô hình NLP và CV trong khi vẫn đạt được thông lượng cao hơn và độ trễ thấp hơn.

Phương pháp đo điểm chuẩn

Để phát triển một nghiên cứu hiệu suất giá giữa G5 và G4dn, chúng tôi cần đo lường thông lượng, độ trễ và giá mỗi triệu suy luận dưới dạng một hàm của kích thước lô. Chúng tôi cũng nghiên cứu tác động của độ chính xác đầy đủ so với độ chính xác hỗn hợp. Cả biểu đồ mô hình và đầu vào đều được tải vào CUDA trước khi truyền dữ liệu.

Như được hiển thị trong sơ đồ kiến ​​trúc sau đây, trước tiên chúng tôi tạo các hình ảnh vùng chứa cơ sở tương ứng với CUDA cho cá thể EC2 bên dưới (G4dn, G5). Để xây dựng hình ảnh vùng chứa cơ sở, chúng tôi bắt đầu với AWS Deep Learning Container, sử dụng hình ảnh Docker đóng gói sẵn để triển khai môi trường học sâu trong vài phút. Hình ảnh chứa các công cụ và thư viện PyTorch học sâu cần thiết. Bạn có thể thêm các thư viện và công cụ của riêng mình lên trên những hình ảnh này để có mức độ kiểm soát cao hơn đối với việc giám sát, tuân thủ và xử lý dữ liệu.

Sau đó, chúng tôi xây dựng một hình ảnh vùng chứa dành riêng cho mô hình bao gồm cấu hình mô hình, truy tìm mô hình và mã liên quan để chạy các chuyển tiếp. Tất cả hình ảnh vùng chứa được tải vào Amazon ECR để cho phép chia tỷ lệ theo chiều ngang của các mô hình này cho các cấu hình mô hình khác nhau. Chúng tôi sử dụng Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) như một kho dữ liệu chung để tải xuống cấu hình và tải lên các kết quả điểm chuẩn để tóm tắt. Bạn có thể sử dụng kiến ​​trúc này để tạo lại và tái tạo kết quả điểm chuẩn và sử dụng lại để đánh giá các loại mô hình khác nhau (chẳng hạn như mô hình Khuôn mặt ôm, mô hình PyTorch, mô hình tùy chỉnh khác) trên các loại phiên bản EC2 (CPU, GPU, Inf1).

Với thử nghiệm này được thiết lập, mục tiêu của chúng tôi là nghiên cứu độ trễ như một hàm của thông lượng. Đường cong này rất quan trọng đối với việc thiết kế ứng dụng để đạt được cơ sở hạ tầng tối ưu về chi phí cho ứng dụng mục tiêu. Để đạt được điều này, chúng tôi mô phỏng các tải khác nhau bằng cách xếp hàng các truy vấn từ nhiều luồng và sau đó đo thời gian khứ hồi cho mỗi yêu cầu đã hoàn thành. Thông lượng được đo dựa trên số lượng yêu cầu đã hoàn thành trên một đơn vị thời gian đồng hồ. Hơn nữa, bạn có thể thay đổi kích thước lô và các biến khác như độ dài chuỗi và độ chính xác đầy đủ so với độ chính xác một nửa để quét toàn diện không gian thiết kế để đạt được các chỉ số hiệu suất chỉ định. Trong nghiên cứu của chúng tôi, thông qua việc quét tham số về kích thước lô và các truy vấn từ các khách hàng đa luồng, đường cong thông lượng so với độ trễ được xác định. Mọi yêu cầu đều có thể được xử lý theo lô để đảm bảo sử dụng đầy đủ bộ tăng tốc, đặc biệt là đối với các yêu cầu nhỏ có thể không sử dụng hết nút tính toán. Bạn cũng có thể áp dụng thiết lập này để xác định kích thước lô phía máy khách để có hiệu suất tối ưu.

Tóm lại, chúng ta có thể biểu diễn vấn đề này bằng toán học như: (Thông lượng, Độ trễ) = hàm của (Kích thước lô, Số luồng, Độ chính xác).

Điều này có nghĩa là, với không gian rộng rãi, số lượng thí nghiệm có thể lớn. May mắn thay, mỗi thử nghiệm có thể được chạy độc lập. Chúng tôi khuyên bạn nên sử dụng Hàng loạt AWS để thực hiện đo điểm chuẩn theo tỷ lệ theo chiều ngang này trong thời gian nén mà không làm tăng chi phí đo điểm chuẩn so với cách tiếp cận tuyến tính để kiểm tra. Mã để sao chép kết quả có trong Kho GitHub chuẩn bị cho AWS Re: Invent 2021. Kho lưu trữ toàn diện để thực hiện đo điểm chuẩn trên các máy gia tốc khác nhau. Bạn có thể tham khảo khía cạnh GPU của mã để xây dựng vùng chứa (Dockerfile-gpu) và sau đó tham khảo mã bên trong Container-Root cho các ví dụ cụ thể cho BERT và ResNet50.

Chúng tôi đã sử dụng cách tiếp cận trước để phát triển các nghiên cứu hiệu suất trên hai loại mô hình: Bert-base-unsased (110 triệu tham số, NLP) và ResNet50 (25.6 triệu tham số, CV). Bảng sau đây tóm tắt các chi tiết của mô hình.

Loại mô hình Mô hình Chi tiết
NLP twmkn9 / bert-base-unsased-Squad2 110 triệu tham số Độ dài chuỗi = 128
CV ResNet50 25.6 triệu thông số

Ngoài ra, để đánh giá tiêu chuẩn giữa các loại dữ liệu (chính xác đầy đủ, một nửa), chúng tôi sử dụng torch.cuda.amp, cung cấp các phương pháp thuận tiện để xử lý độ chính xác hỗn hợp trong đó một số hoạt động sử dụng torch.float32 (float) kiểu dữ liệu và các phép toán khác sử dụng torch.float16 (một nửa). Ví dụ: các toán tử như các lớp tuyến tính và các phần chập nhanh hơn nhiều với float16, trong khi các toán tử khác như giảm bớt thường yêu cầu phạm vi động của float32. Độ chính xác hỗn hợp tự động cố gắng khớp từng nhà khai thác với kiểu dữ liệu thích hợp của nó để tối ưu hóa thời gian chạy của mạng và dấu chân bộ nhớ.

Kết quả đo điểm chuẩn

Để so sánh công bằng, chúng tôi đã chọn G4dn.4xlargeG5.4xlarge các trường hợp có các thuộc tính tương tự, như được liệt kê trong bảng sau.

Sơ thẩm GPU Bộ nhớ GPU (GiB) vCPU Bộ nhớ (GiB) Bộ nhớ phiên bản (GB) Hiệu suất mạng (Gbps) Băng thông EBS (Gbps) Định giá theo yêu cầu của Linux (us-East-1)
G5.4xlarge 1 24 16 64 SSD 1x600 NVMe lên đến 25 8 1.204 / giờ
G4dn.4xlarge 1 16 16 64 SSD 1x225 NVMe lên đến 25 4.75 1.624 / giờ

Trong các phần tiếp theo, chúng tôi so sánh hiệu suất suy luận ML của các mô hình BERT và RESNET50 với phương pháp quét lưới cho các kích thước lô cụ thể (32, 16, 8, 4, 1) và độ chính xác kiểu dữ liệu (chính xác đầy đủ và một nửa) để đạt được thông lượng so với đường cong độ trễ. Ngoài ra, chúng tôi điều tra ảnh hưởng của thông lượng so với kích thước lô cho cả độ chính xác đầy đủ và một nửa. Cuối cùng, chúng tôi đo lường chi phí trên một triệu suy luận như một hàm của quy mô lô. Các kết quả tổng hợp qua các thử nghiệm này được tóm tắt sau trong bài đăng này.

Thông lượng so với độ trễ

Các số liệu sau đây so sánh các trường hợp G4dn và G5 cho khối lượng công việc NLP và CV ở cả độ chính xác đầy đủ và một nửa. So với phiên bản G4dn, phiên bản G5 mang lại thông lượng cao hơn khoảng năm lần (độ chính xác đầy đủ) và cao hơn khoảng 2.5 lần (độ chính xác một nửa) đối với mô hình cơ sở BERT và cao hơn khoảng 2–2.5 lần đối với mô hình ResNet50. Nhìn chung, G5 là một lựa chọn ưu tiên, với việc tăng kích thước lô cho cả hai mẫu để có độ chính xác toàn diện và hỗn hợp từ góc độ hiệu suất.

Các biểu đồ sau so sánh thông lượng và độ trễ P95 ở độ chính xác đầy đủ và một nửa cho BERT.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Các biểu đồ sau so sánh thông lượng và độ trễ P95 ở độ chính xác đầy đủ và một nửa cho ResNet50.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Thông lượng và độ trễ so với kích thước lô

Các đồ thị sau đây cho thấy thông lượng dưới dạng một hàm của kích thước lô. Ở kích thước lô thấp, bộ tăng tốc không hoạt động hết công suất và khi kích thước lô tăng lên, thông lượng sẽ tăng với chi phí là độ trễ. Đường cong thông lượng không nhắc đến giá trị lớn nhất là một hàm của hiệu suất máy gia tốc. Đường cong có hai đặc điểm riêng biệt: một phần đi lên và một phần tiệm cận phẳng. Đối với một mô hình nhất định, bộ gia tốc hiệu suất (G5) có thể kéo dài phần tăng lên đến kích thước lô cao hơn G4dn và tiệm cận ở thông lượng cao hơn. Ngoài ra, có một sự cân bằng tuyến tính giữa độ trễ và kích thước lô. Do đó, nếu ứng dụng bị ràng buộc về độ trễ, chúng ta có thể sử dụng độ trễ P95 so với kích thước lô để xác định kích thước lô tối ưu. Tuy nhiên, nếu mục tiêu là tối đa hóa thông lượng ở độ trễ thấp nhất, tốt hơn nên chọn kích thước lô tương ứng với "đầu gối" giữa phần tăng và phần tiệm cận, bởi vì bất kỳ sự gia tăng nào nữa về kích thước lô sẽ dẫn đến cùng một thông lượng ở độ trễ tồi tệ hơn. Để đạt được tỷ lệ hiệu suất giá tốt nhất, nhắm mục tiêu thông lượng cao hơn ở độ trễ thấp nhất, bạn nên mở rộng quy mô tối ưu theo chiều ngang này thông qua nhiều máy chủ suy luận thay vì chỉ tăng kích thước lô.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Chi phí so với kích thước lô

Trong phần này, chúng tôi trình bày kết quả so sánh giữa chi phí suy luận (suy luận trên một triệu đô la) so với quy mô lô. Từ hình sau, chúng ta có thể quan sát rõ ràng rằng chi phí (được đo bằng số suy luận mỗi triệu đô la) luôn thấp hơn với G5 so với G4dn cả hai (độ chính xác đầy đủ và một nửa).

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.

Bảng sau đây tóm tắt các so sánh thông lượng, độ trễ và chi phí (suy luận mỗi triệu đô la) cho các mô hình BERT và RESNET50 trên cả hai chế độ chính xác cho các kích thước lô cụ thể. Mặc dù có chi phí cao hơn cho mỗi trường hợp, G5 luôn vượt trội hơn G4dn về tất cả các khía cạnh của độ trễ suy luận, thông lượng và chi phí (suy luận mỗi triệu đô la), cho tất cả các kích thước lô. Kết hợp các số liệu khác nhau thành chi phí (suy luận mỗi triệu đô la), mô hình BERT (kích thước lô 32, độ chính xác đầy đủ) với G5 có lợi hơn 3.7 lần so với G4dn và với mô hình ResNet50 (kích thước lô 32, độ chính xác đầy đủ), nó là 1.6 thuận lợi hơn gấp nhiều lần so với G4dn.

Mô hình Kích thước lô Độ chính xác

Thông lượng

(Kích thước lô X Yêu cầu / giây)

Độ trễ (ms)

$ / triệu

Tham chiếu (Theo yêu cầu)

Lợi ích chi phí

(G5 trên G4dn)

. . . G5 g4dn G5 g4dn G5 g4dn
Bert-base-không phân biệt 32 Full 723 154 44 208 $0.6 $2.2 3.7X
Hỗn hợp 870 410 37 79 $0.5 $0.8 1.6X
16 Full 651 158 25 102 $0.7 $2.1 3.0X
Hỗn hợp 762 376 21 43 $0.6 $0.9 1.5X
8 Full 642 142 13 57 $0.7 $2.3 3.3X
Hỗn hợp 681 350 12 23 $0.7 $1.0 1.4X
. 1 Full 160 116 6 9 $2.8 $2.9 1.0X
Hỗn hợp 137 102 7 10 $3.3 $3.3 1.0X
ResNet50 32 Full 941 397 34 82 $0.5 $0.8 1.6X
Hỗn hợp 1533 851 21 38 $0.3 $0.4 1.3X
16 Full 888 384 18 42 $0.5 $0.9 1.8X
Hỗn hợp 1474 819 11 20 $0.3 $0.4 1.3X
8 Full 805 340 10 24 $0.6 $1.0 1.7X
Hỗn hợp 1419 772 6 10 $0.3 $0.4 1.3X
. 1 Full 202 164 5 6 $2.2 $2 0.9X
Hỗn hợp 196 180 5 6 $2.3 $1.9 0.8X

Điểm chuẩn suy luận bổ sung

Ngoài kết quả cơ sở BERT và ResNet50 trong các phần trước, chúng tôi trình bày kết quả đo điểm chuẩn bổ sung cho các mô hình NLP và CV lớn thường được sử dụng khác trong PyTorch. Lợi ích hiệu suất của G5 so với G4dn đã được trình bày cho các mô hình BERT Large với độ chính xác khác nhau và mô hình Yolo-v5 cho các kích thước khác nhau. Để biết mã sao chép điểm chuẩn, hãy tham khảo Ví dụ về Học sâu NVIDIA cho Lõi Tensor. Những kết quả này cho thấy lợi ích của việc sử dụng G5 thay vì G4dn cho một loạt các nhiệm vụ suy luận trải dài các loại mô hình khác nhau.

Mô hình Độ chính xác Kích thước lô Độ dài trình tự Thông lượng (đã gửi / giây) Thông lượng: G4dn Tăng tốc trên G4dn
BERT-lớn FP16 1 128 93.5 40.31 2.3
BERT-lớn FP16 4 128 264.2 87.4 3.0
BERT-lớn FP16 8 128 392.1 107.5 3.6
BERT-lớn FP32 1 128 68.4 22.67 3.0
BERT-lớn 4 128 118.5 32.21 3.7
BERT-lớn 8 128 132.4 34.67 3.8
Mô hình GFLOPS Số tham số Tiền xử lý (mili giây) Suy luận (mili giây) Suy luận (Không triệt tiêu tối đa) (NMS / hình ảnh)
YOLOv5s 16.5 7.2M 0.2 3.6 4.5
YOLOv5m 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

Kết luận

Trong bài đăng này, chúng tôi đã chỉ ra rằng để suy luận với các mô hình NLP và CV PyTorch lớn, phiên bản EC2 G5 là lựa chọn tốt hơn so với phiên bản G4dn. Mặc dù chi phí hàng giờ theo yêu cầu cho các phiên bản G5 cao hơn so với các phiên bản G4dn, nhưng hiệu suất cao hơn của nó có thể đạt được thông lượng gấp 2–5 lần ở bất kỳ độ chính xác nào đối với các mô hình NLP và CV, điều này làm cho chi phí trên một triệu suy luận thuận lợi hơn 1.5–3.5 lần so với Phiên bản G4dn. Ngay cả đối với các ứng dụng có độ trễ, G5 tốt hơn 2.5–5 lần so với G4dn cho các mô hình NLP và CV.

Tóm lại, các phiên bản AWS G5 là một lựa chọn tuyệt vời cho nhu cầu suy luận của bạn từ cả góc độ hiệu suất và chi phí cho mỗi suy luận. Tính phổ biến của khung CUDA cũng như quy mô và độ sâu của nhóm cá thể G5 trên AWS cung cấp cho bạn khả năng duy nhất để thực hiện suy luận trên quy mô lớn.


Giới thiệu về tác giả

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Ankur Srivastava là một Kiến trúc sư Giải pháp Sr. trong Nhóm ML Frameworks. Anh ấy tập trung vào việc giúp đỡ khách hàng bằng cách tự quản lý và đào tạo phân tán trên quy mô lớn trên AWS. Kinh nghiệm của anh ấy bao gồm bảo trì dự đoán công nghiệp, cặp song sinh kỹ thuật số, tối ưu hóa thiết kế theo xác suất và đã hoàn thành nghiên cứu tiến sĩ từ Kỹ sư cơ khí tại Đại học Rice và nghiên cứu sau tiến sĩ tại Viện Công nghệ Massachusetts.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Sundar Ranganathan là Trưởng phòng Phát triển Kinh doanh, ML Framework trong nhóm Amazon EC2. Anh ấy tập trung vào khối lượng công việc ML quy mô lớn trên các dịch vụ AWS như Amazon EKS, Amazon ECS, Elastic Fabric Adapter, AWS Batch và Amazon SageMaker. Kinh nghiệm của anh ấy bao gồm các vai trò lãnh đạo trong quản lý sản phẩm và phát triển sản phẩm tại NetApp, Micron Technology, Qualcomm và Mentor Graphics.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái.Mahadevan Balasubramaniam là Kiến trúc sư Giải pháp Chính cho Máy tính Tự động với gần 20 năm kinh nghiệm trong lĩnh vực học sâu, xây dựng và triển khai các hệ thống sinh đôi kỹ thuật số cho các hệ thống công nghiệp trên quy mô lớn. Mahadevan lấy bằng Tiến sĩ về Kỹ thuật Cơ khí tại Viện Công nghệ Massachusetts và có hơn 25 bằng sáng chế và ấn phẩm được công nhận.

Đạt được thông lượng suy luận ML cao hơn bốn lần với chi phí cho mỗi lần suy luận thấp hơn ba lần với các phiên bản Amazon EC2 G5 dành cho mô hình NLP và CV PyTorch PlatoBlockchain Data Intelligence. Tìm kiếm dọc. Ái. Amr Ragab là Kiến trúc sư giải pháp chính cho Nền tảng tăng tốc EC2 cho AWS, chuyên giúp khách hàng chạy khối lượng công việc tính toán trên quy mô lớn. Khi rảnh rỗi, anh ấy thích đi du lịch và tìm những cách mới để tích hợp công nghệ vào cuộc sống hàng ngày.

Dấu thời gian:

Thêm từ Học máy AWS