32 MI50 32GB 설정
moonshotai/Kimi-K2.6 int4 @ 9.7 tok/s(출력: 136 tok) 및 263 tok/s(입력: 14,564 tok)vllm-gfx906-mobydick에서
Github 링크 (vllm 포크): https://github.com/ai-infos/vllm-gfx906-mobydick
전력 소모: ~640W(이동) / ~4,800W(피크 추론)
무엇에 가치가 있는가? 아니요. 태양광 패널이나 무료 에너지를 보유한 경우를 제외하고는...
설정 세부 사항:
그것은 16 GPU 가 들어간 2 개의 노드 (node) 를 10G 케이블 이더넷으로 연결한 것입니다. 16 GPU 가 들어간 1 개 노드의 상세 내용은 여기에서 찾을 수 있습니다.
실행한 명령어:
NCCL_SOCKET_IFNAME=eno1 GLOO_SOCKET_IFNAME=eno1 PYTHONUNBUFFERED=1 VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS=1200 OMP_NUM_THREADS=4
FLASH_ATTENTION_TRITON_AMD_REF="TRUE" FLASH_ATTENTION_TRITON_AMD_ENABLE="TRUE" VLLM_LOGGING_LEVEL=DEBUG
python3 -m torch.distributed.run --nnodes=2 --node_rank=0 --nproc_per_node=16 --master_addr=10.0.0.8 --master_port=29500 /llm/models/shared/openai_server_kimi.py 2>&1 | tee log.txt
NCCL_SOCKET_IFNAME=eno1 GLOO_SOCKET_IFNAME=eno1 PYTHONUNBUFFERED=1 VLLM_EXECUTE_MODEL_TIMEOUT_SECONDS=1200 OMP_NUM_THREADS=4
FLASH_ATTENTION_TRITON_AMD_REF="TRUE" FLASH_ATTENTION_TRITON_AMD_ENABLE="TRUE" VLLM_LOGGING_LEVEL=DEBUG
python3 -m torch.distributed.run --nnodes=2 --node_rank=1 --nproc_per_node=16 --master_addr=10.0.0.8 --master_port=29500 /llm/models/shared/openai_server_kimi.py 2>&1 | tee log.txt
"openai_server_kimi.py" 스크립트는 공식 vllm 예제 (torchrun) 를 기반으로 하며 (openai API 를 지원하도록 수정됨... 그리고 실제로는 최적화되지 않았음... vllm 기본 명령어가 torchrun 을 포함하지 않아 작동하지 않았습니다. 디버깅을 위해 더 많은 조사가 필요함), github 에 공유할 수 있습니다 (만약 관심이 있다면). (더 최적화되어야 함)
참고: 이 설정에 대한 전체 guidance 설치를 아직 하지 않은 이유는 성능에 대해 매우 만족스럽지 않기 때문입니다. 첫째, 이 설정은 pcie gen3 x8 와 pcie gen4 x4 에서 실행되었으며, 모두 7GB/s 로 되어야 하지만 리저 (riser) 의 불안정성으로 인해 1 개가 3.5GB/s 로 떨어졌습니다. 이론적으로, 최대 pcie 대역폭을 사용하는 새로운 설치를 수행할 수 있다면: 28GB/s (x16 인 경우) 또는 14GB/s (x8 인 경우) TP8 PP4(또는 TP4 PP8) 및 최적화된 vllm 소프트웨어 스택과 함께, 우리는 MTP 를 사용하지 않는 경우에도 600-1,000 PP 와 9-12 TG 로 점프할 수 있다고 믿습니다. 그리고 이제 이 설정은 ddr5-rtx 6000 프로 (ddr5-rtx 6000 pro) 등 하이브리드 설정과 비교하면 흥미로울 수 있지만, 저는 모든 것을 끝냈고 더 작은 설정에서 훨씬 빠르게 작동하는 작은 모델을 즐길 것 같습니다.
질문이나 의견이 있다면 자유롭게 물어보세요.