컴파일 속도 관련
현재 컴파일 속도가 매우 느립니다.
특히 RELEASE_PREFILL_BUCKETS, RELEASE_DECODE_BUCKETS 설정을 아래와 같이 지정했을 때 컴파일 시간이 크게 증가했습니다.
해당 과정이 어떠한 과정을 수행하는 지에 대한 설명과 컴파일 속도를 개선할 수 있는 방법이나 권장 설정이 있을까요?
RELEASE_PREFILL_BUCKETS = [
(1, 256), (1, 320), (1, 384), (1, 512), (1, 640), (1, 768), (1, 1024), (2, 1024), (4, 1024),
]
RELEASE_DECODE_BUCKETS = [
*[(1, 1024), (4, 1024), (8, 1024), (16, 1024), (32, 1024), (64, 1024)],
*[(1, 2048), (4, 2048), (8, 2048), (16, 2048), (32, 2048)],
*[(1, 4096), (4, 4096), (8, 4096), (16, 4096), (32, 4096)],
*[(1, 8192), (4, 8192), (8, 8192), (16, 8192)],
*[(1, 16384), (4, 16384), (8, 16384)],
*[(1, 32768), (4, 32768)],
]
병렬 옵션 관련 (TP, PP, DP)
Llama3.1-8B 모델을 대상으로 추론 전 병렬성 테스트를 진행 중입니다.
TP, PP, DP 중 어떤 옵션이 컴파일 시점에 영향을 주며, 병렬화 설정을 변경할 때마다 재컴파일이 필요한 옵션은 무엇인지 알고 싶습니다.
즉, “컴파일 시 고정되어야 하는 병렬화 옵션”과 “추론시 변경 가능한 병렬화 옵션”을 구분하고 싶습니다.
컴파일 시 컨테이너 리부팅(OOM) 원인 분석
컴파일 과정 중 컨테이너가 리부팅되는 현상이 발생하고 있습니다.
로그 상에서 명시적인 에러는 없지만, OOM이 원인으로 추정됩니다.
아래 설정(Llama3.1-8B 모델, TP=8 등)을 기준으로:
- 컴파일 시 필요한 최소 메모리/CPU 자원은 어느 정도일까요?
- 약 1TB memory 환경에서 병렬 빌더(worker) 수를 어느 수준까지 늘리는 것이 적절할까요?
from furiosa_llm.artifact.builder import ArtifactBuilder
builder = ArtifactBuilder(
"meta-llama/Llama-3.1-8B-Instruct",
out_dir="./build_models",
tensor_parallel_size=8,
prefill_buckets=RELEASE_PREFILL_BUCKETS,
decode_buckets=RELEASE_DECODE_BUCKETS,
max_seq_len_to_capture=32 * 1024,
prefill_chunk_size=8 * 1024,
)
builder.build(
"./Output-Llama-3.1-8B-Instruct",
num_pipeline_builder_workers=1,
num_compile_workers=1
)
멀티 노드 컴파일 관련
단일 노드에서의 컴파일 속도가 느려, 다수의 노드를 활용하는 방법을 검토 중입니다.
- NPU가 없는 환경에서도 model compile이 가능한지 궁금합니다.