콘텐츠로 이동

문제해결

Optimum RBLN에서 자주 발생하는 핵심 이슈와 해결 방법입니다.


컴파일 후 runtime 생성 실패

1
2
3
4
5
Failed to create RBLN runtime: ...

If you only need to compile the model without loading it to NPU, you can use:
  from_pretrained(..., rbln_create_runtimes=False) or
  from_pretrained(..., rbln_config={..., 'create_runtimes': False})

from_pretrained는 컴파일 직후 NPU에 runtime을 생성합니다. device memory 부족 외에도 다양한 원인이 있으므로, 메시지 상단의 원본 예외를 먼저 확인하세요. runtime 생성을 건너뛰려면 다음과 같이 호출합니다.

model = RBLNModel.from_pretrained(model_id, rbln_create_runtimes=False)
model.save_pretrained(save_dir)

저장 후에는 별도로 로드합니다.

model = RBLNModel.from_pretrained(save_dir)

Device / tensor parallel 설정 오류

devicetensor_parallel_size 검증 단계에서 다음 중 하나의 에러가 발생할 수 있습니다.

Device {device_id} is not a valid NPU device. Please check your NPU status with 'rbln-smi' command.
Tensor parallel size {N} is greater than the number of available devices {M}.
The number of devices ({len_device}) does not match tensor parallel size ({tensor_parallel_size}).

rbln-smi로 사용 가능한 device를 확인한 뒤 다음 항목을 점검하세요.

  • 지정한 device ID가 시스템에 존재하는지
  • tensor_parallel_size ≤ 사용 가능한 device 수
  • device 리스트 길이 = tensor_parallel_size

Flash attention 설정 오류

Flash attention은 attn_impl="flash_attn" 또는 kvcache_partition_len 설정으로 활성화됩니다. 다음 제약 중 하나라도 위반하면 컴파일이 거부됩니다.

`max_seq_len` ({X}) must be a multiple of `kvcache_partition_len` ({Y}) when using 'flash_attn'.
`kvcache_partition_len` ({X}) is out of the supported range (4096 <= kvcache_partition_len <= 32768).
`max_seq_len` ({X}) is too small for 'flash_attn'. The minimum supported value is 8192.
  • 4,096 ≤ kvcache_partition_len ≤ 32,768
  • max_seq_len ≥ 8,192
  • max_seq_lenkvcache_partition_len의 배수이면서 2 × kvcache_partition_len 이상
    (예: kvcache_partition_len=16,384max_seq_len ≥ 32,768)

로깅 및 디버깅

OPTIMUM_RBLN_VERBOSE 환경 변수로 로그 수준을 제어합니다 (기본값 info).

$ OPTIMUM_RBLN_VERBOSE=debug python inference.py    # 상세 로그
$ OPTIMUM_RBLN_VERBOSE=warning python inference.py  # 경고·오류만

지원 수준: debug, info, warning, error, critical.


주제별 가이드