vllm-ascend 업데이트 (GLM5.3-flash)을 듀얼 310P Ascend 카드에서 테스트
요약
본 글은 DDR4x Ascend 310P 카드를 사용하여 GLM-5.3-Flash와 같은 MoE 모델을 최적화하고 테스트한 경험을 공유합니다. 메모리 상주 및 모듈 핫스왑 기능을 통해 개발 효율성을 크게 높였으며, Ascend Sidecard 아키텍처를 제안하며 CUDA/가속기 간의 작업 분할 방식을 설명했습니다.
핵심 포인트
- Ascend 310P 카드를 활용하여 GLM-5.3-Flash 등 MoE 모델 테스트 진행.
- 모델 가중치를 메모리에 상주시키고 모듈을 핫스왑하는 방식으로 개발 효율성 극대화.
- Ascend Sidecard 개념을 통해 모델 실행 작업을 CUDA와 Ascend 간에 분할 및 오프로드 가능함을 제시.
- 최적화를 거쳐 현재 약 8~9 토큰/초의 생성 속도를 달성함.
제가 일주일 전에 게시한 이후 몇 가지 귀중한 교훈을 얻었고, 구매한 DDR4x Ascend 96GB 310P 카드로 더 많은 진전을 이루었기 때문에, 이제 새로운 친근하고 말이 적은 저를 소개합니다. GLM-5.3-Flash는 약 180억 개의 활성 파라미터를 가진 3200억 개 파라미터의 MoE(Mixture of Experts) 모델입니다. 제 체크포인트는 이 모델의 45개 레이어, 288개 전문가, 상위 8개 라우팅 구성을 따릅니다. W2/W3/W4 양자화는 가중치 저장 공간을 줄이지만 파라미터 수는 동일하게 유지합니다. 처음에 qwen-flash-next를 사용하며 얻은 교훈 중 하나는 실험을 실행할 때마다 모델을 다시 로드하는 것이 비용이 많이 든다는 것이었습니다. 이제는 핵심 모델 가중치를 메모리에 상주시키면서 새로운 모듈/CANNs/서버 변경 등을 핫스왑(hotswap) 할 수 있습니다. 이 덕분에 GLM의 경우, 제가 일주일 만에 해낸 작업이 추가로 23일 걸릴 수도 있었던 작업을 가능하게 했습니다. GLM을 시작했을 때 수학적 계산이 불분명하여 Shadeform에서 NVIDIA 장비를 임대해 '황금 공식(golden math)'을 추출했고, 이를 사용하여 Ascend용으로 제가 하는 작업을 보정했습니다. 이 부분이 명확해지자마자 초당 약 8토큰의 생성 속도를 얻었습니다. 이제 수많은 최적화를 거쳐 현재는 약 89 토큰/초를 얻고 있습니다. 콜드-프리필(Cold-prefill)은 시간이 오래 걸립니다. 콜드 키코드 프롬프트(cold kilocode prompt)를 제출하면, 백그라운드에서 많은 추가 프롬프트 컨텍스트가 공급되기 때문에 다소 시간이 걸리는 것이 당연합니다. 이후의 프롬프트는 더 빠르게 실행됩니다. 컨텍스트와 관련하여, 현재 구현으로 확인된 마지막 구성은 프롬프트와 생성된 출력을 포함하여 요청당 311,040 토큰이며, 최대 4개의 동시 요청을 처리하며 640토큰 프리필 청크(prefill chunks)로 처리됩니다. 세 번째 Ascend 카드가 금요일에 도착했습니다. 저는 하루 반나절을 들여 n-ascend 카드용 커널을 최적화했고, qwen3.8-flash-next를 상당히 잘 작동하게 만들었습니다. 참고로 이 모델은 이미지 처리도 지원합니다. 또한 1M 컨텍스트 창을 위해 YaRN 지원도 구현했습니다.
qwen-flash-next가 이제 잘 작동합니다. 정말 재미있었지만, 불행하게도 제 Nvidia RTX 6000 Pro가 전원 케이블을 팬 속으로 빨아들여서, 간단히 말해 PCIe 버스에서 사라졌습니다. 이를 테스트하기 위해, Ascend 카드를 장착한 Threadripper 빌드는 해당 카드가 사용하는 2x8핀 PCIe 12V 600와트의 전원 공급 장치를 가지고 있기 때문에, 저는 RTX 카드를 거기에 넣고 Ascend Sidecard 작업을 시작하기로 결정했습니다. https://preview.redd.it/lvhcu2zffvuh1.png?width=995&format=png&auto=webp&s=cbb7ce36d2baf2bfa2e692ff74566a3fb3e227cd Ascend Sidecard 저는 이 아이디어를 가지고 있었습니다. 제가 Ascend 아키텍처에 매료된 것 중 한 가지 이유가 코어의 저장 용량이라고 생각했기 때문입니다. RTX 6000과 거의 비슷한 저장 공간을 약 14%의 가격으로 얻을 수 있습니다. Ascend Sidecard의 아이디어는 모델 실행을 CUDA(또는 다른 가속기)와 분할하고, 일부 모델 가중치 및 처리를 Ascend 카드로 오프로드하는 것입니다. 기타 참고 사항: 다행히 codex는 이러한 융합 커널(fused kernels) 처리와 메모리 전송/캐스트를 최소화하고 중복 계산을 제거하기 위한 개선 작업에 매우 능숙합니다. Claude는 Ascend 아키텍처에 대해 논의하는 것조차 거부합니다. 또한 아직 초안을 올릴 의도가 아니었기 때문에, 나중에 Ascend Sidecard에 대한 다른 업데이트를 제공해야 할 것입니다. submitted by /u/matteiuspi [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기