NPU에서의 다중 모델 load, activation에 따른 성능 관련 문의

안녕하세요, furiosa npu에서 yolov7모델을 사용한 객체탐지를 진행하고 있습니다.

  1. 다중 세션에 대한 커뮤니티의 답변은 확인하여 인지하고 있는데, NuxModel에 대한 load 또한 파티션을 나눠 진행해야 하는지 알고 싶습니다.
    [model.py]
    캡처1
    [main.py]
    image
    [error]


    startup_function()을 호출하면 npu busy 오류가 발생합니다.

  2. silu activation을 사용한 모델을 quantize하여 사용하고 있는데, int8로 calibration을 진행했을 때, 성능저하가 있을 가능성이 있는지 알고 싶습니다.

안녕하세요, FuriosaAI 김종욱입니다.
질문 주신 내용에 대하여 답변을 드리면,

  1. 에러의 경우 동일한 NPU device에 접근하여서 발생하는 에러입니다. NuxModelConfig 파일에서 npu_device를 지정해주시면 문제는 해결될 것으로 보입니다. (예를 들어 yolov7_config 에는 npu_device=“npu0pe0”, yolov7pose_config에는 npu_device=“npu0pe1” 로 PE를 나누어서 실행)

  2. 성능 저하 관련한 문제(정확도)는 결과를 보아야 알 수 있을 것 같습니다. 양자화시에 정확도 변동은 발생할 수 밖에 없어 여러 CalibrationMethod들을 사용하여 가장 높은 정확도가 나오는 Method를 사용하시면 될 것 같습니다.

그러면 NPU하나밖에 없는 시스템에서 모델 세 개를 동시에 돌리는 건 불가능한가요?

넵 현재로선 불가능합니다. 혹시 어떤 회사에 소속되어 계신지 알 수 있을까요?

네 알겠습니다. 넥스리얼입니다 :slight_smile: :slight_smile:

1 Like