이 내용을 r/R9700 서브레딧에도 게시했지만, 여기에도 초기 발견 사항을 공유하고자 합니다. 요약하자면 - 한 사용자는 약 190 tok/s의 속도를 기록했습니다. 프리필(Prefill) 실행은 사용자 수에 관계없이 총 약 6,800 tok/s로 작동합니다. 에이전트 후속 작업(Agent follow-ups)은 0.2초에서 2.5초 사이에 시작하며, 각 사용자당 80~225 tok/s의 속도로 작성됩니다. 이는 각각 128K 컨텍스트를 가진 8명의 사용자가 동시에 접속했을 때의 수치입니다. 최악의 경우, 8명의 사용자가 각자 새로운 128K 프롬프트를 같은 순간에 전송하면 첫 번째 토큰을 받기까지 약 2.5분이 소요됩니다. 네, 알아요. 카드들이 모두 일치하지는 않지만 (완벽주의적인 제가 짜증이 나긴 하지만 케이스 안에 들어갈 것이니 상관없습니다). PC 사양: CPU - EPYC 7402P / 메인보드 - Asrock ROMED8-2T / RAM - 128gb DDR4 2666mh / GPU - Gigabyte R9700 3개, XFX R9700 1개. 모든 카드는 전력 제한(power limited)이 210W로 설정되었습니다. PSU - Seasonic Prime TX-1600W / 케이스 - Phanteks Enthoo Pro 2 / 서버 팬 - 전면 3x 140mm, 중앙 3x 120mm, 후면 배기용 120mm 추가 장착. 저는 이 모든 것을 지난 2주 동안 구매했으며, 총 비용은 대략 $16K CAD였습니다. CPU/RAM/메인보드는 모두 ebay에서 구매했습니다. RAM이 충분할지 지켜봐야겠지만, 온라인에서 본 모든 정보를 바탕으로 제 사용 사례에는 괜찮을 것 같습니다. 적절한 추론(inference) 테스트를 할 수 있는 단계에 근접했지만, 잠재적인 문제를 배제하기 위해 메모리 테스트(memtests), CPU 스트레스 테스트(CPU stress tests), GPU 스트레스 테스트(GPU stress tests)만 실행했습니다. 최대 부하 상태에서도 카드는 예상했던 것보다 훨씬 조용합니다. 제 생각에는 제트 엔진 소리가 날 줄 알았는데, 최고 단계로 작동하는 공기청정기보다 더 조용합니다. 케이블 관리도 꽤 만족스럽습니다. 이 케이스는 워낙 크기 때문에 빌드하기가 매우 쉽습니다. 또한 추가 팬을 장착할 수 있는 두 번째 공간이 있다는 점도 좋습니다. 저는 이것을 사업용 다중 사용자 추론 서버로 구축했습니다. 지난 1년 동안 Strix Halo 395+ 128GB를 사용해 왔는데, 이 기계가 얼마나 멀리까지 작동할 수 있는지 커뮤니티 덕분에 볼 수 있어서 놀라웠습니다. Qwen 3.8 FN은 제 업무에 혁명이었습니다.
저희는 매우 민감한 데이터를 다루며, 많은 고객들에게 AI 추론(inference)을 사용하는 것은 엄청난 위험을 의미했습니다. 기술적으로는 가능했지만, 저는 신중하게 접근하고자 했습니다. 이 내용을 공유하고 게시하게 되어 정말 기대가 됩니다. 현재 벤치마크가 진행 중이며, 다음 두 시간 동안 실행될 예정입니다 (긴 컨텍스트와 높은 동시성 처리).
---------------------- ------------벤치마크 ----------------------------------------------------------
4x Radeon AI PRO R9700 + Radiance: Qwen3.8-Flash-Next 장문 컨텍스트 동시성 수치 측정 (32K ~ 128K, 사용자 1명 ~ 8명)
소프트웨어 Ubuntu 26.04.1, 커널 7.0 및 inbox amdgpu 드라이버 사용, ROCm 10.1 사용자 공간 Radiance v1.17.0 (codeberg.org/StillDeadcode/radiance), 디지스트로 고정된 Docker 이미지
모델: qwen3.8-next-flash-fp8-iq4r-moe.rad (int8 트렁크, 4비트 코드북 전문가(experts), MTP 드래프팅 3 토큰)
플래그: --tp 4 --max-num-seqs 8 --max-model-len 200000 --placement expert_tiered --host-pool-mib 1024 --gpu-headroom-mib 96 --kv-cache-dtype fp8 --prefix-cache-mib 32768 --num-speculative-tokens 3 --max-num-batched-tokens 2048
TP4에서 전체 모델이 VRAM에 위치합니다 (카드당 가중치 17.4 GiB). 47.7 GiB의 n-gram/PLE 테이블은 호스트 RAM에 고정됩니다. KV 캐시는 카드당 11.6 GiB를 차지하며, 이는 1.6M 토큰 또는 전체 200K 세션 8개 분량입니다.
방법: 컨텍스트는 실제 영어 기술 텍스트(Radiance 자체 문서)이며, 서버의 토크나이저를 사용하여 정확한 토큰 수로 잘라냈습니다. 각 사용자의 프롬프트는 고유한 세션 라인으로 시작하므로, 어떤 사용자도 다른 사용자의 캐시를 재사용할 수 없습니다. 모든 사용자는 동시에(최악의 경우 버스트) 요청을 보냅니다.
턴 1: 문서와 질문 (콜드 스타트).
턴 2: 동일한 대화에 답변과 후속 질문 추가 (에이전트 패턴).
출력 최대 토큰 수 500, 온도(temperature) 0.6, 사고 과정 표기(thinking off), 스트리밍 방식.
클라이언트에서 첫 토큰 시간 및 작성 속도를 측정했습니다.
사용자당 작성 속도 = 첫 토큰 이후 출력 토큰을 첫 토큰 이후 시간으로 나눈 값
| Context | Users | Turn 1 first token (median / max) | Turn 1 writing per user | Turn 2 first token (median / max) | Turn 2 cached | Turn 2 writing per user | Turn 2 total |
|---|
| 32K | 1 | 4.8 s / 4.8 s | 195 tok/s | 0.28 s / 0.28 s | 95% | 209 tok/s | 170 tok/s |
| 32K | 2 | 9.0 s / 9.3 s | 141 tok/s | 0.43 s / 0.57 s | 95% | 156 tok/s | 244 tok/s |
| 32K | 4 | 16.7 s / 20.1 s | 69 tok/s | 0.82 s / 1.21 s | 95% | 115 tok/s | 322 tok/s |
| 32K | 8 | 36.9 s / 37.2 s | 83 tok/s | 2.22 s / 2.54 s | 94% | 91 tok/s | 406 tok/s |
| 64K | 1 | 9.3 s / 9.3 s | 185 tok/s | 0.19 s / 0.19 s | 98% | 225 tok/s | 194 tok/s |
| 64K | 2 | 18.6 s / 18.7 s | 144 tok/s | 0.28 s / 0.38 s | 98% | 157 tok/s | 265 tok/s |
| 64K | 4 | 33.8 s / 40.9 s | 52 tok/s | 0.64 s / 0.74 s | 98% | 132 tok/s | 393 tok/s |
| 64K | 8 | 74.4 s / 74.9 s | 76 tok/s | 1.30 s / 1.53 s | 98% | 94 tok/s | 491 tok/s |
| 128K | 1 | 18.8 s / 18.8 s | 189 tok/s | 0.29 s / 0.29 s | 99% | 180 tok/s | 149 tok/s |
| 128K | 2 | 37.5 s / 37.8 s | 126 tok/s | 0.47 s / 0.56 s | 99% | 131 tok/s | 209 tok/s |
| 128K | 4 | 68.9 s / 83.4 s | 36 tok/s | 1.18 s / 1.42 s | 99% | 102 tok/s | 259 tok/s |
| 128K | 8 | 150.8 s / 151.5 s | 70 tok/s | 2.20 s / 2.46 s | 99% | 80 tok/s | 362 tok/s |
비교를 위한 짧은 프롬프트 (입력 약 30 토큰, 출력 약 500 토큰): 한 사용자는 187 tok/s로 작성합니다. 사용자 수가 1 / 2 / 4 / 8일 때 총합은 각각 175 / 290 / 489 / 763 tok/s이며, 사용자당 속도는 각각 177 / 148 / 125 / 103 tok/s입니다. 제가 파악한 바에 따르면, Prefill은 사용자 수와 관계없이 총 약 6,800 tok/s로 작동합니다. 8 x 128K (1.02M 토큰)은 151초가 걸렸습니다. 동시에 도착하는 콜드 프롬프트(Cold prompts)는 인터리브(interleaved)되므로, 모든 사용자가 마지막에 거의 같은 시간에 첫 토큰을 받게 됩니다. 8 x 128K의 경우 이는 모두에게 약 2.5분을 의미합니다. 후속 작업(Follow-ups)에서 이 설정이 빛을 발합니다. 94%에서 99%까지가 캐시(cache)에서 오며, 심지어 8 사용자 x 128K에서도 첫 토큰은 0.2초에서 2.5초 사이에 도착하고, 각 사용자는 80~225 tok/s로 작성합니다. 컨텍스트 길이(Context length)가 작성 속도를 거의 늦추지 않습니다. 한 사용자는 128K에서 189 tok/s로, 32K에서 195 tok/s로 작성합니다.
첫 번째 턴(Turn 1)의 작성 속도는 다른 사용자들이 아직 프레필링(prefilling)을 하고 있는지 여부에 따라 달라진다. 사용자 4명일 때는 초기에 작업을 마친 사용자들이 다른 사용자의 프롬프트가 아직 읽히는 동안 작성하기 때문에, 가장 느린 사용자는 932 tok/s로 떨어졌다. 반면, 사용자 8명일 때는 모두가 함께 읽기를 마치고 7083 tok/s로 함께 작성한다.
사용자 수와 컨텍스트(context)에 맞춰 호스트 프리픽스 캐시(host prefix cache) 크기를 조정해야 한다. 이전에 --prefix-cache-mib 12288을 사용한 실행(프롬프트 크기는 정확하지 않으며 일부는 64K 초과)에서, 8 x 64K 후속 작업은 단지 71%만 캐싱되었고, 최악의 첫 토큰 시간은 37.6초였으며 사용자당 9 tok/s를 기록했다. 하지만 32768을 사용했을 때는: 98% 캐싱, 1.5초, 94 tok/s를 기록했다.
README의 네 번째 행은 두 개의 행에서 --host-pool-mib 12288 설정을 가져온다. 네 개의 카드에서는 전체 전문가 평면(expert plane)이 상주하며 풀(pool)은 카드당 약 312 MiB만 보유하므로, 카드당 12 GiB를 고정하여 아무것도 하지 않고 48 GB의 RAM을 할당하고 3.6 GB를 남겨두었다. 따라서 1024면 충분하다. 모든 카드는 프레필링 동안 210W의 최대치(cap)를 유지했다. 가장 긴 섹션(8 x 128K)은 가운데 두 카드를 각각 91°C의 스팟(hotspot) 및 92°C의 메모리 온도로 밀어 올렸다.
submitted by /u/Anarchaotic [link] [comments]