문제해결
Optimum RBLN에서 자주 발생하는 핵심 이슈와 해결 방법입니다.
컴파일 후 runtime 생성 실패
| 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 설정 오류
device와 tensor_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_len은 kvcache_partition_len의 배수이면서 2 × kvcache_partition_len 이상
(예: kvcache_partition_len=16,384 → max_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.
주제별 가이드