Hướng dẫn thiết kế—Trí thông minh nhân tạo trong doanh nghiệp – Inferencing (5)

Đặc tính hiệu suất và định cỡ

Tổng quan

Định cỡ cơ sở hạ tầng cho suy luận LLM là điều cần thiết do nhu cầu tính toán, yêu cầu bộ nhớ cao và các đặc điểm độc đáo của các mô hình này. Định cỡ cơ sở hạ tầng phù hợp đảm bảo xử lý hiệu quả số lượng tham số khổng lồ của LLM trong quá trình suy luận, tránh lỗi hết bộ nhớ và đạt được độ trễ thấp. Nó cho phép hiệu quả tài nguyên, khả năng mở rộng và tối ưu hóa chi phí bằng cách cung cấp các khối lượng công việc khác nhau và chọn cấu hình tối ưu. Nhìn chung, định cỡ cơ sở hạ tầng phù hợp cho suy luận LLM đảm bảo hiệu suất, khả năng mở rộng và trải nghiệm người dùng tối ưu đồng thời quản lý chi phí vận hành hiệu quả và loại bỏ mọi tắc nghẽn tài nguyên.

Để mô tả các mô hình GPT khác nhau và hiểu rõ hơn về hiệu suất suy luận của chúng, mục tiêu của chúng tôi là cung cấp các nguyên tắc định cỡ. Xem xét một số yếu tố quan trọng khi định cỡ cơ sở hạ tầng cho suy luận mô hình LLM:

  1. Kích thước mô hình trong các tham số —Số lượng tham số trong LLM tác động trực tiếp đến dung lượng bộ nhớ và yêu cầu tính toán của nó. Các mô hình lớn hơn với nhiều tham số hơn có thể yêu cầu phần cứng mạnh hơn để suy luận hiệu quả.
  1. Độ trễ — Độ trễ thấp rất quan trọng đối với các ứng dụng thời gian thực và tương tác của người dùng. Định cỡ cơ sở hạ tầng phù hợp giúp đáp ứng các mục tiêu về độ trễ và đảm bảo thời gian phản hồi nhanh.
  2. Số lượng yêu cầu đồng thời —Hiểu số lượng yêu cầu suy luận đồng thời dự kiến ​​là điều cần thiết để xác định các tài nguyên tính toán cần thiết và đảm bảo khả năng suy luận mượt mà và đáp ứng các khối lượng công việc khác nhau.
  3. Tính toán GPU và sử dụng bộ nhớ —Đối với suy luận tăng tốc GPU, việc xem xét cả sử dụng bộ nhớ và tính toán là rất quan trọng để tối ưu hóa phân bổ tài nguyên và đảm bảo sử dụng GPU hiệu quả.

 

Kết quả kiểm tra hiệu suất

Chúng tôi đã tiến hành mô tả đặc điểm hiệu suất của các mẫu NeMo sau: 345M, 1.3B, 5B và 20B trên máy chủ PowerEdge R760xa với bốn GPU H100 được kết nối với NVLink Bridge. Chúng tôi đã sử dụng công cụ Trình phân tích mô hình, công cụ này cho phép chúng tôi chạy quét mô hình bằng bộ dữ liệu tổng hợp. Trong các lần quét này, Trình phân tích mô hình đã thực hiện suy luận đối với từng mô hình NeMo trong khi thay đổi số lượng yêu cầu đồng thời, cho phép chúng tôi đo lường độ trễ phản hồi và thu thập các chỉ số GPU cần thiết. Tất cả các mẫu NeMo đều chạy trên một GPU duy nhất và Trình phân tích mô hình đã tạo các báo cáo toàn diện cho mỗi lần quét này.

Mô hình tiêu thụ bộ nhớ GPU

Bởi vì bộ nhớ GPU là nút cổ chai chính trong quá trình suy luận hiệu quả của các mô hình LLM, điều quan trọng là chúng tôi phải phân tích mức tiêu thụ bộ nhớ của mô hình. Hiểu bộ nhớ GPU được tiêu thụ bởi các mô hình LLM khác nhau là mấu chốt để xác định phân bổ tài nguyên phù hợp trong môi trường sản xuất. Bằng cách đánh giá chính xác việc sử dụng bộ nhớ GPU, chúng tôi có thể đảm bảo rằng cơ sở hạ tầng có kích thước phù hợp, tránh lỗi hết bộ nhớ và tối ưu hóa hiệu suất tổng thể của suy luận LLM.

Bảng 9. Thông số model và mức tiêu thụ bộ nhớ GPU

Người mẫu

Bộ nhớ GPU đã sử dụng (cho một yêu cầu đồng thời)

Độ chính xác

NeMo GPT 345m

3,1 GB

BF16

NeMo GPT 1.3B

4,1 GB

BF16

NeMo GPT 5B

12,41GB

BF16

NeMo GPT 20B

42,44GB

BF16

Nở 7B

16,63GB

BF16

Khuếch tán ổn định 2.1

7,88 GB

FP16

Llama-2-7b

14,2 GB

FP16

Theo quy định, chúng tôi có thể ước tính rằng mô hình LLM tiêu thụ khoảng 2,1 GB bộ nhớ cho mỗi tham số 1B. Tuy nhiên, có những ngoại lệ đối với quy tắc này, chẳng hạn như các mẫu nhỏ hơn như NeMo 345M. Ngoài ra, các mô hình không phải LLM như Khuếch tán ổn định có yêu cầu bộ nhớ riêng và có thể không tuân theo cùng một mẫu. Lưu ý rằng bộ nhớ mà một mô hình tiêu thụ có thể tăng nhẹ khi số lượng yêu cầu đồng thời được mô hình xử lý tăng lên.

FP16 (Half Precision) và BF16 (BFloat16) là hai định dạng dấu phẩy động khác nhau được sử dụng trong học sâu và điện toán hiệu năng cao để biểu thị các giá trị số với độ chính xác giảm. Cả hai định dạng đều mang lại lợi ích về mặt sử dụng bộ nhớ, tốc độ tính toán và hiệu quả năng lượng. BF16 thường được ưu tiên trong đào tạo học sâu và suy luận trên phần cứng chuyên dụng như bộ xử lý tensor.

Sử dụng tài nguyên

Bằng cách sử dụng báo cáo Trình phân tích mô hình, chúng tôi có thể hình dung độ trễ của các yêu cầu thay đổi như thế nào với các yêu cầu máy khách đồng thời. Hình dưới đây cho thấy một đồ thị do Model Analyzer tạo ra cho kiểu máy 20B:

Hình 12. Báo cáo Trình phân tích mô hình cho mô hình 20B

Đối với mọi mô hình, chúng tôi đã xác định số lượng yêu cầu đồng thời tối ưu có tác động tối thiểu đến độ trễ trong khi sử dụng hiệu quả các tài nguyên có sẵn. Ví dụ: bằng cách sử dụng biểu đồ trước, chúng tôi đã kết luận rằng một mô hình 20B phiên bản duy nhất có thể hỗ trợ đồng thời 16. Thông tin này cho phép chúng tôi đạt được sự cân bằng phù hợp giữa hiệu quả tính toán và khả năng phản hồi cho từng mô hình NeMo. Bảng sau đây tóm tắt các chỉ số sử dụng tài nguyên, độ trễ và yêu cầu đồng thời cho từng mô hình để biết số lượng yêu cầu đồng thời tối ưu của chúng:

Bảng 10. Sử dụng tài nguyên và số liệu mô hình cho số lượng yêu cầu đồng thời tối ưu

Hệ mét

NeMo GPT 345m

NeMo GPT 1.3B

NeMo GPT 5B

NeMo GPT 20B

Yêu cầu đồng thời

4

4

4

16

p95 Độ trễ (ms)

295,85

406.69

1135.52

1112.39

Chờ phản hồi của khách hàng (ms)

275.34

396,45

1101.13

1099.72

Hàng đợi máy chủ (ms)

206.29

297.04

824.52

49,58

Thông lượng (suy luận/giây

14,5

10.07

3,61

14.51

Mức sử dụng bộ nhớ máy chủ tối đa (GB)

4,68

4,35

4,68

4,59

Mức sử dụng bộ nhớ GPU tối đa (GB)

3.1

4.12

12.41

44,76

Mức sử dụng GPU trung bình (%)

98

99

99

93,5

Hướng dẫn định cỡ

Khi định cỡ cơ sở hạ tầng suy luận AI, một số yếu tố quan trọng cần được xem xét để đảm bảo hiệu suất, hiệu suất và hiệu quả chi phí tối ưu. Một số yếu tố chính cần xem xét bao gồm:

  • Độ phức tạp và kích thước của mô hình — Độ phức tạp và kích thước của mô hình AI đang được triển khai ảnh hưởng đáng kể đến các yêu cầu về bộ nhớ và tính toán. Các mô hình lớn hơn và phức tạp hơn có thể yêu cầu tài nguyên phần cứng mạnh hơn.
  • Yêu cầu về thông lượng và độ trễ —Xem xét thông lượng mong muốn (số lần suy luận mỗi giây) và độ trễ suy luận cần thiết (thời gian phản hồi). Định cỡ cơ sở hạ tầng để đáp ứng các yêu cầu này là rất quan trọng để đáp ứng các mục tiêu hiệu suất.
  • Kích thước lô —Kích thước lô được sử dụng trong quá trình suy luận ảnh hưởng đến việc sử dụng bộ nhớ và thông lượng. Việc chọn kích thước lô phù hợp có thể tối ưu hóa việc sử dụng tài nguyên.
  • Đồng thời và thay đổi quy mô —Xem xét số lượng yêu cầu đồng thời dự kiến ​​và lập kế hoạch thay đổi quy mô theo chiều ngang để đáp ứng các khối lượng công việc khác nhau.
  • Bộ nhớ GPU —Xem xét các yêu cầu về bộ nhớ GPU của các kiểu máy. Đảm bảo rằng GPU có đủ bộ nhớ để xử lý các mô hình lớn nhất.

Bảng 11 cung cấp thông tin chi tiết về cách kích thước mô hình liên quan đến mức tiêu thụ bộ nhớ GPU. 

Bằng cách sử dụng báo cáo Trình phân tích mô hình, chúng tôi có thể đánh giá mô hình và xác định số lượng yêu cầu đồng thời mà mô hình có thể xử lý trong khi đáp ứng các yêu cầu về độ trễ của chúng tôi. Nếu cần hỗ trợ nhiều yêu cầu đồng thời hơn, thì việc triển khai các phiên bản bổ sung của mô hình là bắt buộc. Các phiên bản bổ sung này đảm bảo sử dụng tài nguyên hiệu quả và đạt hiệu suất tối ưu trong việc phục vụ đồng thời nhiều yêu cầu.

Để minh họa cách định cỡ cơ sở hạ tầng điện toán, hãy xem xét một tình huống ví dụ. Trong trường hợp này, chúng tôi muốn triển khai mô hình NeMo GPT 5B cho 64 người dùng đồng thời và mô hình NeMo GPT 20B cho 128 người dùng đồng thời. Đầu tiên, chúng ta phải xác định số lượng phiên bản mô hình cần thiết để đáp ứng yêu cầu này. Dựa trên các báo cáo của bộ phân tích mô hình, chúng tôi xác định rằng đồng thời tối ưu cho các mô hình này lần lượt là 4 và 16. Để đáp ứng yêu cầu đối với người dùng đồng thời, chúng tôi cần 16 phiên bản của mô hình 5B và 8 phiên bản của mô hình 20B. Lưu ý rằng các yêu cầu về độ trễ cũng ảnh hưởng đến số lượng phiên bản của mô hình cần thiết. Đối với ví dụ này, chúng tôi giả định độ trễ quan sát được đáp ứng các yêu cầu.

Tiếp theo, sau khi xác định số lượng phiên bản, chúng tôi tính toán tổng bộ nhớ cần thiết để triển khai các mô hình này. Bằng cách sử dụng bảng sau làm tham chiếu cho thông tin kích thước mẫu trong thiết kế đã được xác thực này, chúng tôi có thể tính toán tổng bộ nhớ GPU cần thiết để lưu trữ các kiểu máy này, tương đương khoảng 560 GB. Tổng yêu cầu bộ nhớ GPU này có thể được hỗ trợ bởi hai máy chủ PowerEdge R760xa, mỗi máy chủ được trang bị bốn GPU NVIDIA H100.

Bảng sau đây tóm tắt các yêu cầu về bộ nhớ cho kịch bản ví dụ:

Bảng 11. Ví dụ về định cỡ

Yêu cầu và kích thước

Kịch bản ví dụ 

Mô hình và người dùng đồng thời

  • Mô hình NeMo GPT 5B cho 64 người dùng đồng thời
  • Mô hình NeMo GPT 20B cho 128 người dùng đồng thời

Tổng số mô hình cần thiết để hỗ trợ đồng thời được yêu cầu

  • 16 mẫu NeMo GPT 5B
  • 8 mẫu NeMo GPT 20B

Tổng bộ nhớ GPU cần thiết 

Xấp xỉ 560GB 

Tổng số yêu cầu PowerEdge R760xa

Hai máy chủ PowerEdge R760xa với 8 GPU H100