Qwen-Flash-Next의 방법론은 가중치(weight) 외에 n-gram과 MOE 패킹을 사용하지만, 여전히 활성 파라미터는 6B입니다. 우리는 이 점을 활용하여 대부분의 MOE를 RAM에 유지하고 (속도 향상을 위해 가장 작은 MOE만 VRAM에 배치), n-gram은 디스크에 배치합니다. 따라서 가장 빠른 SSD에 모델을 설치해야 합니다. 비용은 8 GB VRAM, 24 GB RAM이 들고, 총 메모리가 약 32 GB인 경우에도 원활하게 실행할 수 있지만, 이 경우 컨텍스트 크기를 줄여야 합니다. 사용자의 하드웨어에 가장 적합하도록 실행 매개변수(launch params)를 사용자 정의하십시오. 수정 사항: 분명히 CUDA는 8 GB VRAM으로 이를 구동하는 데 어려움을 겪을 수 있으므로, 작동하지 않으면 Vulkan 백엔드를 사용해 주십시오. 또한 같은 댓글 체인에서 아래의 두 번째 실행 매개변수를 사용할 수도 있습니다. 그 외에도 컨텍스트 크기를 줄이고 배경 앱이 VRAM을 소모하고 있지 않은지 확인하십시오. 이 목적을 위해 브라우저의 하드웨어 가속 기능을 비활성화할 수 있습니다.
모델 및 양자화(quant): 많은 사람이 이 모델을 1비트 양자화로 오해하므로, 먼저 이를 명확히 하겠습니다. 여기 있는 모델은 ISTA DASLab이 개발한 3.5 Bits Per Weight (BPW)의 'Coder' 변형이며 GSQ RCO 양자화를 특징으로 합니다. 전문가(expert) 중 절반이 제거되었기 때문에, 원래 파라미터 크기에 비해서는 1.9비트 양자화와 비슷한 크기를 가지지만, 실제 가중치는 3.5 BPW를 사용합니다. 모델 페이지에서 확인해 보세요: 트랜스포머 전체에 걸쳐 평균하면 이는 원본 모델의 파라미터당 1.89 비트에 해당합니다. 이 수치는 유효율(effective rate)입니다. 이는 제거된 전문가들을 원래 파라미터 개수에 분산하여 계산한 것이며, 가지치기(pruning)와 양자화의 결합된 효과를 나타냅니다. 개별 가중치가 1.89비트로 저장되는 것은 아닙니다. 유지된 가중치는 3.5 bpw로 저장되며, 가지치기로 인해 변경되지 않으며, 절반으로 줄어든 전문가 수는 나머지 감소분을 설명합니다. 동봉된 릴리스의 관례를 따르자면, 이 수치는 트랜스포머 전체에 걸쳐 보고됩니다...
코딩되지 않은 어휘(vocabulary)가 가지치기되어 400MB 더 작아졌으며, 공식 ISTA DASLab 양자화(quantization)를 권장합니다. 선택적 MoE 오프로딩(selective moe-offloading)을 사용하면 70 T/s의 PP와 8 T/s의 PG에 도달할 수 있습니다 (PCIe에 의해 제한되며, 이는 제가 생각하기에 3.0 버전에서 다를 수 있습니다 [YMMV]). 반면, 동일한 효과를 위해 --n-cpu-moe를 사용하면 여기에 언급된 영향 때문에 더 느릴 것입니다. MMAP 때문에 첫 번째 실행은 느릴 것이므로, 정확한 T/s 결과를 얻으려면 두 번째 실행을 수행하세요. 실행 매개변수(Launch params)는 아래 댓글에 있습니다. 반드시 qwen sharp 채팅 템플릿을 사용해야 합니다. 이는 과도한 사고(overthinking)를 줄여줍니다. /u/jonathanx37이 제출했습니다 [링크] [댓글]