최근에 제가 가지고 있는 하드웨어와 사용하는 모델에 대해 몇 가지 글을 올렸습니다. P100 두 장과 Unsloth Qwen3.6 35b A3B UD Q4 K XL입니다. 모델 및 하드웨어별 추론 엔진들이, 원래는 그 일을 할 필요가 없는 모델과 하드웨어에서 엄청난 성능 수치를 보여주는 이야기가 많이 나왔습니다. 자극받아, 저는 Mr. Opus를 꺼내서 어디까지 밀어붙일 수 있을지 보고자 했고, P100과 이 특정 모델을 목표로 삼았으며, 꽤 좋은 개선 효과를 발견했습니다. 제가 곧 설명할 작업은 다소 과장된 느낌이 있습니다. (Blah blah, 제 비전을 가지고 모델을 지시하는 것, Blah blah.) '비전 코딩(Vibe coded)'입니다. Opus가 세부적인 작업을 수행했습니다. 저는 무엇을 했는지에 대한 구체적인 설명을 할 자격이 전혀 없으며, 결과와 작업에 대한 일반적인 개요만 제공할 수 있습니다. Opus에게 이 카드들이 무엇에 좋은지, 그리고 llama.cpp가 이 하드웨어를 과도하게 사용하는 것과 관련하여 무엇을 하고 있는지 설명하라고 했습니다. 최적화, 최적화, 또 최적화. 적어도 그렇게 시작되었습니다. 그런 다음 어제 3090 Qwen3.8 27b 엔진에 대한 글이 있었는데, 이 엔진은 지속적인 메가커널(megakernels)과 축소된 초안 어휘집(reduced draft vocab)을 사용하고 있었습니다. 그래서 저희는 그 아이디어들을 통합하게 되었습니다. 솔직히 말해서, 저는 디코드 성능에서 제 의붓아버지의 성능을 목표로 삼고 있었습니다. 그는 3060 12GB + 3090 세팅으로 Ornith 1.5를 실행하고 있습니다. 모델이 완전히 같지는 않고, 사과와 사과는 아니지만, Q4_K_M에서는 충분히 비슷해서 결과를 비교할 만하다고 생각합니다. 그분은 알 수 없는 설정에서 약 125 t/s를 얻습니다. 저는 그분이 ollama를 통해 실행하고 있다고 믿습니다. 스펙 디코드(spec decode)를 사용하는지, 프리필(prefill)을 어떻게 하는지는 모릅니다. 제가 의존할 수 있는 것은 이 디코드 숫자뿐이었고, 이것이 이 하드웨어의 제 목표였습니다. semi-well-known shinbunbun p100 패치들(패치가 많이 업데이트되었기 때문에 저의 기본 설정은 그 패치만으로는 현재 성능을 반영하지 못할 수 있습니다)이 llama.cpp에 있어 성능을 상당히 개선하는 것이 있으며, 디코드에서 +~70%를 주장합니다. 이것이 제가 시작한 기준선입니다.
제 시스템 사양은 다음과 같습니다: Ryzen 7 5700x, 기본 클럭/부스트는 48GB DDR4@3200mhz, Tesla P100 2개(각 카드당 최대 전력 175와트 제한), 한 카드는 PCIe gen3 x4에 고정되어 있고 다른 하나는 x16에 연결되어 있습니다. 확실히 최적은 아닙니다. 제대로 된 PCIe 환경에서는 성능이 약간 더 높을 수 있습니다. 몇 번의 개선 과정을 거친 후, 제가 이른 오후에 시스템에서 얻은 결과입니다: Claude가 이것을 '내 것'이라고 주장하는 경향이 있고, 비록 제가 아이디어와 전반적인 방향을 제시했지만 실제 작업은 그것이 수행했습니다. 그리고 Perplexity 및 KLD 수치는 다음과 같습니다: https://preview.redd.it/b7tvi6w8y2vh1.png?width=2086&format=png&auto=webp&s=0eaf8beaed3e21ed2f9209a459f97fec4ae78e0b 모델의 품질과 관련하여 개선할 부분이 있다고 생각합니다. 아직은 이것을 주력 세팅으로 사용하기는 어려울 것 같습니다. 적어도 몇 가지 테스트와 튜닝 없이는요. 종이 위의 수치는 괜찮아 보이지만, 실제로는 모델이 약간 다르게 느껴집니다. 정확히 설명하기 어렵습니다. 탐색적일까요? 더 다람쥐 같은 느낌입니다. 샘플러를 조정하는 것이 많은 도움이 되는 것 같습니다 (이전에는 temp 1.0, min p 0.05, top k 40이었습니다. 이제는 temp 0.7, min p 0.25로 변경했습니다. 아마 너무 타이트할 수 있지만 작동하고 있기 때문에 이대로 유지하겠습니다. top k는 동일합니다). 따라서 모델을 여전히 잘 작동하도록 만들 수 있습니다. 다만 언급해야 할 점은, 이 패치들은 P100이 특정 모델을 구동하는 데 매우 초점을 맞추고 있다는 것입니다. 다른 모델에도 도움이 될 것이라고 확신하지만, 다른 모델들이 제대로 실행될지조차 보장할 수 없습니다. 전적으로 '느낌'에 의존하여 코딩되었기 때문에 안정성에 대해서는 말씀드릴 수 없습니다. 제한적인 테스트에서 버텨냈지만, 어떠한 보증도 할 수 없습니다. 저의 주된 목표는 이 카드와 모델을 사용하는 다른 수십 명의 사람들에게 이것들을 제공하고, 나아가 다른 사람들이 구축할 수 있는 패치의 기반을 제공하는 것입니다. 또한, 이 패치들은 낡았지만 여전히 어느 정도 저렴한 데이터센터 카드를 사용하면서도 매우 강력한 이 모델을 엄청나게 빠르게 구동하기 때문에, 저는 이것이 공개되어야 한다고 생각합니다. Qwen4에 비슷한 클래스/크기의 MoE가 출시된다면, Opus를 통해 많은 포팅 작업을 진행할 계획입니다.
대부분의 작업은 실제로 P100에 특화되어 있으며, 그 작업은 어떤 모델이든 llama.cpp 구현을 통해 수행할 수 있다고 확신합니다. Opus가 작성한 방대한 readme를 다운로드하여 읽고 싶다면, 저보다 자신이 만든 것을 더 잘 이해하는 링크를 참고하세요: https://github.com/Mrinohk/qwen36-p100-patches /u/Mrinohk [링크] [댓글]