Nilifanya Upimaji wa Utendaji wa Speculative Decoding — a = 3.5 Haikutosha
Speculative Decoding (SD) inategemea kanuni rahisi ya hisabati: a > 1 + α + β
Urefu wa kukubalika (a) lazima uzidi 1 pamoja na uwiano wa hesabu (α) na mzigo wa uhakiki (β). Ikifanyika hivyo, SD inashinda. Isipofanyika hivyo, inashindwa.
Nilijaribu nadharia hii kwenye mashine halisi. Nilitumia Intel CPU ya 12th Gen yenye RAM ya 64GB. Niliunganisha modeli ndogo ya draft ya Qwen2.5-0.5B na modeli kubwa ya target ya Qwen2.5-1.5B.
Matokeo yalikuwa ya kushangaza. SD ilikuwa polepole kwa 49% hadi 62% kuliko uundaji wa kawaida (raw generation).
Hivi ndivyo urefu wa kukubalika (a) ulivyotofautiana kulingana na kazi:
• JSON (Structured): a = 3.50. Modeli ya draft ilitabiri muundo vizuri. • Code (Semi-structured): a = 3.00. Nzuri, lakini mifumo ya majina ilitofautiana. • Story (Creative): a = 2.11. Modeli ya draft ilihangaika na uchaguzi wa maneno.
Hata wakati "a" ilikuwa juu, SD ilishindwa kwenye CPU. Kwa nini?
Tatizo kubwa lilikuwa kiwango cha kukataa kabisa (zero-accept rate). Kati ya 15% na 30% ya mizunguko ilikataa tokeni sifuri.
Katika mizunguko hii, modeli ya draft inafanya kazi, modeli ya target inahakiki, na hupati kitu kipya. Uliwalipia awamu mbili ili kupata tokeni moja. Hii inafanya SD kuwa na gharama ya mara 2 zaidi kwa matokeo yaleyale.
Hii inaonyesha kwa nini SD ni uboreshaji wa GPU (GPU optimization).
Kwenye GPU, modeli ya draft ni ya karibu bure. Uwiano wa hesabu (α) ni mdogo sana. Kwenye CPU, modeli ya draft inashindana kwa upana wa kumbukumbu (memory bandwidth). Si bure. Usawa huo unaporomoka kwenye CPU.
Ikiwa unatumia SD kwenye CPU, usifanye hivyo. Namba hazifanyi kazi.
Mambo muhimu ya kuzingatia kwa utumiaji wako (deployments):
- Pima thamani yako ya "a". Usiamini madai ya wauzaji.
- Gawanya data yako kulingana na aina ya kazi. Code na chat zina viwango tofauti vya kukubalika.
- Angalia kiwango cha kukataa kabisa (zero-accept rate). Mabadiliko makubwa (high variance) yanaharibu p99 latency yako.
- Tumia SD kwenye GPU ambapo gharama ya modeli ya draft ni ndogo sana.
Uboreshaji bora ni kujua wakati wa kuizima.
Chanzo: https://dev.to/zxpmail/i-benchmarked-speculative-decoding-a-35-wasnt-enough-1geb
Jumuiya ya hiari ya kujifunza: https://t.me/GyaanSetuAi
