Chạy Điểm chuẩn MLPerf Inference v0.7 trên Hệ thống Dell EMC

MLPerf là ​​bộ điểm chuẩn đo lường hiệu suất của khối lượng công việc Học máy (ML). Nó tập trung vào các khía cạnh quan trọng nhất của vòng đời ML:

  • Đào tạo —Bộ điểm chuẩn đào tạo MLPerf đo tốc độ hệ thống có thể đào tạo các mô hình ML. 
  • Suy luận —Điểm chuẩn suy luận MLPerf đo tốc độ một hệ thống có thể thực hiện suy luận ML bằng cách sử dụng một mô hình được đào tạo trong các tình huống triển khai khác nhau.

Bộ suy luận MLPerf v0.7 chứa các mô hình sau đây cho điểm chuẩn:

  • mạng lại50 
  • SSD-Resnet34 
  • BERT 
  • DLRM 
  • RNN-T 
  • U-Net 3D

Lưu ý : Các mẫu BERT, DLRM và 3D U-Net có các mục tiêu là 99% (độ chính xác mặc định) và 99,9% (độ chính xác cao).

Blog này mô tả các bước để chạy thử nghiệm suy luận MLPerf v0.7 trên máy chủ Dell Technologies với GPU NVIDIA. Nó giúp bạn chạy và tái tạo các kết quả mà chúng tôi đã quan sát được trong HPC và Phòng thí nghiệm đổi mới AI của chúng tôi. Để biết thêm chi tiết về ngăn xếp phần cứng và phần mềm cho các hệ thống khác nhau trong điểm chuẩn, hãy xemkho lưu trữ GitHub này .

Bắt đầu

Một hệ thống được kiểm tra bao gồm một tập hợp các tài nguyên phần cứng và phần mềm xác định sẽ được đo lường hiệu suất. Tài nguyên phần cứng có thể bao gồm bộ xử lý, bộ tăng tốc, bộ nhớ, đĩa và kết nối. Tài nguyên phần mềm có thể bao gồm hệ điều hành, trình biên dịch, thư viện và trình điều khiển có ảnh hưởng đáng kể đến thời gian chạy của điểm chuẩn. Trong trường hợp này, hệ thống mà bạn sao chép kho lưu trữ MLPerf và chạy điểm chuẩn được gọi là hệ thống đang thử nghiệm (SUT).

Để lưu trữ, SSD RAID hoặc ổ đĩa NVMe cục bộ được chấp nhận để chạy tất cả các bài kiểm tra phụ mà không bị phạt. Suy luận không có yêu cầu nghiêm ngặt đối với lưu trữ song song nhanh. Tuy nhiên, hệ thống tệp BeeGFS hoặc Lustre, giải pháp lưu trữ PixStor, v.v. giúp tạo nhiều bản sao của bộ dữ liệu lớn.

Sao chép kho lưu trữ MLPerf

Thực hiện theo các bước sau:

  1. Sao chép kho lưu trữ vào thư mục chính của bạn hoặc một đường dẫn khác có thể chấp nhận được:
    cd -  
    git clone https://github.com/mlperf/inference_results_v0.7.git
  2. Chuyển đến thư mục đã đóng/DellEMC  :
    cd suy luận_results_v0.7/đã đóng/DellEMC
  3. Tạo một thư mục “scratch” để lưu trữ các mô hình, bộ dữ liệu, dữ liệu được xử lý trước, v.v.:
    mkdir đầu

    Thư mục đầu này cần ít nhất 3 TB dung lượng.

  4. Xuất đường dẫn tuyệt đối cho MLPERF_SCRATCH_PATH với thư mục đầu:
    xuất MLPERF_SCRATCH_PATH=/home/user/inference_results_v0.7/closed/DellEMC/scratc h

Thiết lập tập tin cấu hình

Thư mục closed/DellEMC/configs   bao gồm một tệp config.json liệt kê các cấu hình cho các máy chủ Dell khác nhau vốn là các hệ thống trong điểm chuẩn MLPerf Inference v0.7. Nếu cần, hãy sửa đổi tệp configs/< benchmark >/< Scenario >/config.json để bao gồm hệ thống sẽ chạy benchmark.

Lưu ý : Nếu hệ thống của bạn đã có sẵn trong tệp cấu hình thì không cần thêm cấu hình khác. 

Trong tệp configs/< benchmark >/< Scenario >/config.json , hãy chọn một cấu hình tương tự và sửa đổi cấu hình đó dựa trên hệ thống hiện tại, phù hợp với số lượng và loại GPU trong hệ thống của bạn.

Đối với blog này, chúng tôi đã xem xét máy chủ R7525 của mình với một GPU A100. Chúng tôi đã chọn  R7525_A100x1 làm tên cho hệ thống mới này. Vì hệ thống R7525_A100x1 chưa có trong danh sách hệ thống nên chúng tôi đã thêm cấu hình R7525_A100x1.

Do hệ thống tham chiếu R7525_A100x2 giống nhất nên chúng tôi đã sửa đổi cấu hình đó và chọn Máy chủ Resnet50 làm điểm chuẩn ví dụ.

Ví dụ sau đây cho thấy cấu hình tham chiếu cho hai GPU cho điểm chuẩn Máy chủ Resnet50 trong tệp configs/< benchmark >/< Scenario >/config.json :

"R7525_A100x2": {          "active_sms": 100,          "config_ver": {         },          "deque_timeout_us": 2000,          "gpu_batch_size": 64,          "gpu_copy_streams": 4,          "gpu_inference_streams": 3,          "input_dtype": "int8",          "input_format": "linear",          "map_path": "data_maps/dataset/val_map.txt",          "precision": "int8",          "server_target_qps": 52400,          "tensor_path": "${PREPROCESSED_DATA_DIR}/dataset/ResNet50/ int8_linear",          "use_cuda_thread_per_device": true,          "use_deque_limit": true,          "use_graphs": true     },
















Ví dụ này hiển thị cấu hình đã sửa đổi cho một GPU:

"R7525_A100x1": {          "active_sms": 100,          "config_ver": {         },          "deque_timeout_us": 2000,          "gpu_batch_size": 64,          "gpu_copy_streams": 4,          "gpu_inference_streams": 3,          "input_dtype": "int8",          "input_format": "linear",          "map_path": "data_maps/dataset/val_map.txt",          "precision": "int8",          "server_target_qps": 26200,          "tensor_path": "${PREPROCESSED_DATA_DIR}/datset/ResNet50/ int8_linear",          "use_cuda_thread_per_device": true,          "use_deque_limit": true,          "use_graphs": true     },
















Chúng tôi đã sửa đổi tham số QPS ( server_target_qps ) để phù hợp với số lượng GPU. Tham số server_target_qps   có thể mở rộng tuyến tính, do đó, QPS = số lượng GPU x QPS trên mỗi GPU.

Chúng tôi chỉ sửa đổi tham số server_target_qps   để chạy đường cơ sở trước. Bạn cũng có thể sửa đổi các tham số khác, chẳng hạn như gpu_batch_size ,  gpu_copy_streams , v.v. Chúng tôi sẽ thảo luận về các tham số khác này trong blog tương lai mô tả điều chỉnh hiệu suất. 

Cuối cùng, chúng tôi đã thêm cấu hình đã sửa đổi cho hệ thống R7525_A100x1 mới vào tệp cấu hình tại configs/resnet50/Server/config.json .

Đăng ký hệ thống mới

Sau khi bạn thêm hệ thống mới vào tệp config.json   , hãy đăng ký hệ thống mới trong danh sách các hệ thống khả dụng. Danh sách các hệ thống khả dụng nằm trong tệp code/common/system_list.py .  

Lưu ý : Nếu hệ thống của bạn đã được đăng ký, thì không cần thêm nó vào tệp code/common/system_list.py . 

Để đăng ký hệ thống, hãy thêm hệ thống mới vào danh sách các hệ thống khả dụng trong tệp code/common/system_list.py , như minh họa trong phần sau:

# (system_id, gpu_name_from_driver, gpu_count) system_list = ([      ("R740_vT4x4", "GRID T4-16Q", 4),      ("XE2420_T4x4", "Tesla T4", 4),      ("DSS8440_T4x12", "Tesla T4", 12),      ("R740_T4x4", "Tesla T4", 4),      ("R7515_T4x4", "Tesla T4", 4),      ("DSS8440_T4x16", "Tesla T4", 16),      ("DSS8440_QuadroRTX8000x8", "Quadro RTX 8000", 8),      ("DSS8440_QuadroRTX6000x10", "Quadro RTX 6000", 10),      ("DSS8440_QuadroRTX8000x10", "Quadro RTX 8000", 10),      ("R7525_A100x2", "A100-PCIE-40GB", 2),      (“R7525_A100x3", "A100-PCIE-40GB", 3),      ("R7525_QuadroRTX8000x3", "Quadro RTX 8000", 3), ("R7525_A100x1", "A100-PCIE-40GB", 1), ])













    

Trong ví dụ trước, dòng cuối cùng trong  system_list là hệ thống R7525_A100x1 mới được thêm vào. Nó là một bộ có dạng ( tên hệ thống > , tên GPU > , số lượng GPU > ). Để tìm tên GPU từ trình điều khiển, hãy chạy lệnh nvidia-smi -L .

Lưu ý : Đảm bảo rằng bạn thêm cấu hình hệ thống cho tất cả các điểm chuẩn mà bạn định chạy và thêm hệ thống vào tệp system_list.py . Nếu không, kết quả có thể dưới mức tối ưu. Điểm chuẩn có thể chọn sai cấu hình hệ thống hoặc hoàn toàn không chạy do không tìm được cấu hình phù hợp.

Xây dựng hình ảnh Docker và các thư viện cần thiết

Xây dựng hình ảnh Docker và sau đó khởi chạy vùng chứa tương tác. Sau đó, trong vùng chứa tương tác, hãy xây dựng các thư viện cần thiết để suy luận.

  1. Để xây dựng hình ảnh Docker , hãy chạy lệnh sau:

    ………

    Khởi chạy phiên tương tác 
    Docker docker run --gpus=all --rm -ti -w /work -v /home/user/inference_results_v0.7/closed/DellEMC:/work -v /home/user:/mnt// user \ 
            --cap-add SYS_ADMIN -e NVIDIA_MIG_CONFIG_DEVICES="all" \ 
            -v /etc/timezone:/etc/timezone:ro -v /etc/localtime:/etc/localtime:ro \ 
            --security-opt apparmor=unconfined - -security-opt seccomp=unconfined \ 
            --name mlperf-inference-user -h mlperf-inference-usr0.7 --add-host mlperf-inference-user:127.0.0.1 \ 
            --user 1004:1004 --net host --device /dev/fuse --cap-add SYS_ADMIN \ 
            -e MLPERF_SCRATCH_PATH=”/home/user/  inference_results_v0.7 / closed/DellEMC/scratch” mlperf-inference:user
     (mlperf) user@mlperf-inference-user: /công việc$

    Bộ chứa Docker được khởi chạy với tất cả các gói cần thiết đã được cài đặt.

  2. Truy cập thiết bị đầu cuối tương tác trên vùng chứa.
  3. Để xây dựng các thư viện cần thiết cho quá trình suy luận, hãy chạy lệnh sau bên trong vùng chứa tương tác:

    tạo bản dựng 

    (mlperf) user@mlperf-inference-user:/work$ make build 
      ……. 
    [ 92%] Mục tiêu được tạo khai thác_triton 
    [ 96%] Liên kết tệp thực thi CXX /work/build/bin/harness_default 
    [100%] Liên kết tệp thực thi CXX /work/build/bin/harness_rnnt 
    make[4]: Rời khỏi thư mục '/work/build/ khai thác' 
    [100%] Mục tiêu đã xây dựng harness_default 
    make[4]: Rời khỏi thư mục '/work/build/harness' 
    [100%] Mục tiêu đã xây dựng harness_rnnt 
    make[3]: Rời khỏi thư mục '/work/build/harness' 
    make[2] : Rời khỏi thư mục '/work/build/harness' 
    Hoàn thành việc xây dựng khai thác. 
    make[1]: Rời khỏi thư mục '/work'
     (mlperf) user@mlperf-inference-user:/work

Tải xuống và tiền xử lý dữ liệu và mô hình xác thực

Để chạy suy luận MLPerf v0.7, hãy tải xuống bộ dữ liệu và mô hình, sau đó xử lý trước chúng. MLPerf cung cấp các tập lệnh tải xuống các mô hình được đào tạo. Các tập lệnh cũng tải xuống tập dữ liệu cho các điểm chuẩn khác ngoài Resnet50, DLRM và 3D U-Net. 

Đối với Resnet50, DLRM và 3D U-Net, hãy đăng ký tài khoản rồi tải xuống bộ dữ liệu theo cách thủ công:

Ngoại trừ bộ dữ liệu Resnet50, DLRM và 3D U-Net, hãy chạy các lệnh sau để tải xuống tất cả các mô hình, bộ dữ liệu và sau đó xử lý trước chúng:

$ tạo mô hình tải xuống # Tải mô hình xuống và lưu vào $MLPERF_SCRATCH_PATH/mô hình 
$ tạo dữ liệu tải xuống # Tải xuống bộ dữ liệu và lưu vào $MLPERF_SCRATCH_PATH/data
 $ tạo dữ liệu tiền xử lý # Dữ liệu tiền xử lý và lưu vào $MLPERF_SCRATCH_PATH/dữ liệu tiền xử lý

Lưu ý : Các lệnh này tải xuống tất cả các bộ dữ liệu, có thể không bắt buộc nếu mục tiêu là chạy một điểm chuẩn cụ thể. Để chạy một điểm chuẩn cụ thể thay vì tất cả các điểm chuẩn, hãy xem các phần sau để biết thông tin về điểm chuẩn cụ thể.

Sau khi xây dựng thư viện và tiền xử lý dữ liệu, các thư mục chứa nội dung sau sẽ được hiển thị:

(mlperf) user@mlperf-inference-user:/work$ tree -d -L 1

.

├── bản dựng —Nhật ký, dữ liệu được xử lý trước, công cụ, mô hình, plugin, v.v. 

├── mã —Mã nguồn cho tất cả các điểm chuẩn

├── tuân thủ —Đã qua kiểm tra tuân thủ 

├── configs —Cấu hình chạy các điểm chuẩn khác nhau cho các thiết lập hệ thống khác nhau

├── data_maps —Bản đồ dữ liệu cho các điểm chuẩn khác nhau

├── docker —Các tệp docker hỗ trợ xây dựng vùng chứa

├── phép đo —Giá trị đo cho các điểm chuẩn khác nhau

├── kết quả — Nhật ký kết quả  cuối cùng

├── scratch —Bộ nhớ cho các mô hình, dữ liệu được xử lý trước và tập dữ liệu được liên kết tượng trưng với thư mục bản dựng trước đó

├── tập lệnh —Hỗ trợ tập lệnh 

└── hệ thống —Chi tiết phần cứng và phần mềm của các hệ thống trong điểm chuẩn

Chạy điểm chuẩn

Chạy bất kỳ điểm chuẩn nào được yêu cầu cho các bài kiểm tra của bạn.

Điểm chuẩn Resnet50, SSD-Resnet34 và RNN-T có mục tiêu 99% (độ chính xác mặc định). 

Điểm chuẩn BERT, DLRM và 3D U-Net có mục tiêu 99% (độ chính xác mặc định) và 99,9% (độ chính xác cao). Để biết thông tin về cách chạy các điểm chuẩn này, hãy xem phần Chạy điểm chuẩn mục tiêu có độ chính xác cao bên dưới.   

Nếu bạn đã tải xuống và xử lý trước tất cả các bộ dữ liệu (như đã trình bày trong phần trước), thì không cần phải thực hiện lại. Bỏ qua các bước tải xuống và tiền xử lý trong quy trình cho các điểm chuẩn sau. 

NVIDIA TensorRT là công cụ suy luận cho phần phụ trợ. Nó bao gồm một trình tối ưu hóa suy luận học sâu và thời gian chạy mang lại độ trễ thấp và thông lượng cao cho các ứng dụng học sâu.

Chạy điểm chuẩn Resnet50

Để thiết lập tập dữ liệu Resnet50 và mô hình để chạy suy luận:

  1. Nếu bạn đã tải xuống và xử lý trước bộ dữ liệu, hãy chuyển sang bước 5.
  2. Tải xuống bộ dữ liệu xác thực bắt buộc ( https://github.com/mlcommons/training/tree/master/image_classification ).
  3. Trích xuất hình ảnh vào $MLPERF_SCRATCH_PATH/data/dataset /. 
  4. Chạy các lệnh sau:
    tạo download_model BENCHMARKS=resnet50 tạo preprocess_data BENCHMARKS=resnet50
    
  5. Tạo các công cụ TensorRT:
    # tạo các công cụ TRT với cấu hình đã chỉ định. Trong trường hợp này, nó tạo công cụ cho cả kịch bản Ngoại tuyến và Máy chủ 
    
    tạo generate_engines RUN_ARGS="--benchmarks=resnet50 --scenarios=Offline,Server --config_ver=default"
  6. Chạy điểm chuẩn:
    # chạy điểm chuẩn hiệu suất
    
    tạo run_harness RUN_ARGS="--benchmarks=resnet50 --scenarios=Offline --config_ver=default --test_mode=PerformanceOnly"  
    tạo run_harness RUN_ARGS="--benchmarks=resnet50 --scenarios=Server --config_ver=default --test_mode= Chỉ hiệu suất"
    
    # chạy điểm chuẩn chính xác 
     
    tạo run_harness RUN_ARGS="--benchmarks=resnet50 --scenarios=Offline --config_ver=default --test_mode=AccuracyOnly"  
    tạo run_harness RUN_ARGS="--benchmarks=resnet50 --scenarios=Server --config_ver=default --test_mode= Chỉ độ chính xác"

    Đầu ra sau đây được hiển thị cho chế độ “ PerformanceOnly ”:

    Sau đây là kết quả “Hợp lệ“: 
    ========= Kết quả khai thác hiệu quả: ============== ========= 
    R7525_A100x1_TRT-default-Server: 
         resnet50: Các mẫu được lên lịch mỗi giây: 26212,91 và Kết quả là: HỢP LỆ 
    ====================== = Kết quả chính xác: ================================= 
    R7525_A100x1_TRT-default-Server:
          resnet50: Không có kết quả chính xác trong chế độ PerformanceOnly.

Chạy điểm chuẩn SSD-Resnet34 

Để thiết lập tập dữ liệu SSD-Resnet34 và mô hình để chạy suy luận:

  1. Nếu cần, hãy tải xuống và xử lý trước tập dữ liệu:
    tạo download_model BENCHMARKS=ssd-resnet34 tạo download_data BENCHMARKS=ssd-resnet34 tạo preprocess_data BENCHMARKS=ssd-resnet34
     
    
  2. Tạo các công cụ TensorRT:
    # tạo các công cụ TRT với cấu hình đã chỉ định. Trong trường hợp này, nó tạo công cụ cho cả kịch bản Ngoại tuyến và Máy chủ 
    
    tạo generate_engines RUN_ARGS="--benchmarks=ssd-resnet34 --scenarios=Offline,Server --config_ver=default"
  3. Chạy điểm chuẩn:
    # chạy điểm chuẩn hiệu suất
    
    tạo run_harness RUN_ARGS="--benchmarks=ssd-resnet34 --scenarios=Offline --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=ssd-resnet34 --scenarios=Server --config_ver=default --test_mode=PerformanceOnly"
    
    # chạy điểm chuẩn chính xác
    
    tạo run_harness RUN_ARGS="--benchmarks=ssd-resnet34 --scenarios=Offline --config_ver=default --test_mode=AccuracyOnly"  
    tạo run_harness RUN_ARGS="--benchmarks=ssd-resnet34 --scenarios=Server --config_ver=default --test_mode=Chỉ độ chính xác "

Chạy điểm chuẩn RNN-T

Để thiết lập tập dữ liệu RNN-T và mô hình để chạy suy luận:

  1. Nếu cần, hãy tải xuống và xử lý trước tập dữ liệu:
    make download_model BENCHMARKS=rnnt make download_data BENCHMARKS=rnnt make preprocess_data BENCHMARKS=rnnt
     
    
  2. Tạo các công cụ TensorRT:
    # tạo các công cụ TRT với cấu hình đã chỉ định. Trong trường hợp này, nó tạo công cụ cho cả kịch bản Ngoại tuyến và Máy chủ
    
    tạo generate_engines RUN_ARGS="--benchmarks=rnnt --scenarios=Offline,Server --config_ver=default"
  3. Chạy điểm chuẩn:
    # chạy điểm chuẩn hiệu suất
    
    tạo run_harness RUN_ARGS="--benchmarks=rnnt --scenarios=Offline --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=rnnt --scenarios=Server --config_ver=default --test_mode=PerformanceOnly" 
     
    # chạy điểm chuẩn chính xác 
     
    tạo run_harness RUN_ARGS="--benchmarks=rnnt --scenarios=Offline --config_ver=default --test_mode=AccuracyOnly" 
     tạo run_harness RUN_ARGS="--benchmarks=rnnt --scenarios=Server --config_ver=default --test_mode= Chỉ độ chính xác"

Chạy điểm chuẩn mục tiêu có độ chính xác cao

Điểm chuẩn BERT, DLRM và 3D U-Net có các mục tiêu có độ chính xác cao.

Chạy điểm chuẩn BERT

Để thiết lập bộ dữ liệu BERT và mô hình để chạy suy luận:

  1. Nếu cần, hãy tải xuống và xử lý trước tập dữ liệu:
    make download_model BENCHMARKS=bert make download_data BENCHMARKS=bert make preprocess_data BENCHMARKS=ber t
     
    
  2. Tạo các công cụ TensorRT:
    # tạo các công cụ TRT với cấu hình đã chỉ định. Trong trường hợp này, nó tạo công cụ cho cả kịch bản Ngoại tuyến và Máy chủ cũng như cho các mục tiêu mặc định và có độ chính xác cao.
    
    tạo generate_engines RUN_ARGS="--benchmarks=bert --scenarios=Offline,Server --config_ver=default,high_accuracy"
  3. Chạy điểm chuẩn:
    # chạy điểm chuẩn hiệu suất
    
    tạo run_harness RUN_ARGS="--benchmarks=bert --scenarios=Offline --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=bert --scenarios=Server --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=bert --scenarios=Offline --config_ver=high_accuracy --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=bert --scenarios=Server --config_ver=high_accuracy --test_mode=PerformanceOnly" 
     
    # chạy điểm chuẩn chính xác 
     
    tạo run_harness RUN_ARGS="--benchmarks=bert --scenarios=Offline --config_ver=default --test_mode=AccuracyOnly"  
    tạo run_harness RUN_ARGS="--benchmarks=bert --scenarios=Server --config_ver=default --test_mode= AccuracyOnly"  
    make run_harness RUN_ARGS="--benchmarks=bert --scenarios=Offline --config_ver=high_accuracy --test_mode=AccuracyOnly" 
     make run_harness RUN_ARGS="--benchmarks=bert --scenarios=Server --config_ver=high_accuracy -- test_mode=Chỉ độ chính xác"

Chạy điểm chuẩn DLRM

Để thiết lập tập dữ liệu DLRM và mô hình để chạy suy luận:

  1. Nếu bạn đã tải xuống và xử lý trước bộ dữ liệu, hãy chuyển sang bước 5.
  2. Tải xuống tập dữ liệu Criteo Terabyte .
  3. Trích xuất hình ảnh vào thư mục $MLPERF_SCRATCH_PATH/data/criteo/ .
  4. Chạy các lệnh sau:
    make download_model BENCHMARKS=dlrm make preprocess_data BENCHMARKS=dlrm
    
  5. Tạo các công cụ TensorRT:
    # tạo các công cụ TRT với cấu hình đã chỉ định. Trong trường hợp này, nó tạo công cụ cho cả kịch bản Ngoại tuyến và Máy chủ cũng như cho các mục tiêu mặc định và có độ chính xác cao.
    
    tạo generate_engines RUN_ARGS="--benchmarks=dlrm --scenarios=Offline,Server --config_ver=default, high_accuracy"
  6. Chạy điểm chuẩn:
    # chạy điểm chuẩn hiệu suất
    
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Offline --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Server --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Offline --config_ver=high_accuracy --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Server --config_ver=high_accuracy --test_mode=PerformanceOnly"
    
    # chạy điểm chuẩn chính xác
    
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Offline --config_ver=default --test_mode=AccuracyOnly"
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Server --config_ver=default --test_mode=AccuracyOnly"
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Offline --config_ver=high_accuracy --test_mode=AccuracyOnly"
    tạo run_harness RUN_ARGS="--benchmarks=dlrm --scenarios=Server --config_ver=high_accuracy --test_mode=AccuracyOnly "

Chạy điểm chuẩn 3D U-Net

Lưu ý : Điểm chuẩn này chỉ có kịch bản Ngoại tuyến.

Để thiết lập tập dữ liệu 3D U-Net và mô hình để chạy suy luận:

  1. Nếu bạn đã tải xuống và xử lý trước bộ dữ liệu, hãy chuyển sang bước 5
  2. Tải xuống dữ liệu thử thách BraTS .
  3. Trích xuất hình ảnh vào thư mục $MLPERF_SCRATCH_PATH/data/BraTS/MICCAI_BraTS_2019_Data_Training   .
  4. Chạy các lệnh sau:
    tạo download_model BENCHMARKS=3d-unet tạo preprocess_data BENCHMARKS=3d-unet
    
  5. Tạo các công cụ TensorRT:
    # tạo các công cụ TRT với cấu hình đã chỉ định. Trong trường hợp này, nó tạo ra công cụ cho cả kịch bản Ngoại tuyến và Máy chủ cũng như cho các mục tiêu có độ chính xác cao và mặc định.
    
    tạo generate_engines RUN_ARGS="--benchmarks=3d-unet --scenarios=Offline --config_ver=default,high_accuracy"
  6. Chạy điểm chuẩn:
    #  chạy điểm chuẩn hiệu suất
    
    tạo run_harness RUN_ARGS="--benchmarks=3d-unet --scenarios=Offline --config_ver=default --test_mode=PerformanceOnly"
    tạo run_harness RUN_ARGS="--benchmarks=3d-unet --scenarios=Offline --config_ver=high_accuracy --test_mode=PerformanceOnly"
    
    # chạy điểm chuẩn chính xác 
     
    tạo run_harness RUN_ARGS="--benchmarks=3d-unet --scenarios=Offline --config_ver=default --test_mode=AccuracyOnly" 
     tạo run_harness RUN_ARGS="--benchmarks=3d-unet --scenarios=Offline --config_ver=high_accuracy --test_mode=AccuracyOnly"

Hạn chế và thực tiễn tốt nhất

Lưu ý những hạn chế sau đây và thực tiễn tốt nhất:

  • Để xây dựng công cụ và chạy điểm chuẩn bằng cách sử dụng một lệnh duy nhất, hãy sử dụng phím tắt make run RUN_ARGS… . Phím tắt là thay thế hợp lệ cho make generate_engines … && make run_harness. . lệnh .
  • Nếu kết quả máy chủ là “KHÔNG HỢP LỆ” , hãy giảm QPS. Nếu các giới hạn về độ trễ không được đáp ứng trong quá trình chạy,   kết quả sẽ là “KHÔNG HỢP LỆ” .
  • Nếu bạn thay đổi kích thước lô, hãy xây dựng lại động cơ.
  • Chỉ các điểm chuẩn BERT, DLRM, 3D-Unet mới hỗ trợ các mục tiêu có độ chính xác cao.
  • 3D-UNet chỉ có kịch bản Offline.