Tämän projekti on ollut itselle kyllä todella mielenkiintoinen, ja olen sen parissa oppinut paljon uutta nopeasti muuttuvalla AI-kentällä.
@finWeazel esiin nostama malli on kyllä erittäin kiinnostava ja hyvä esimerkki näiden huimasta kehitysvauhdista.
<off-topic>
Inspiroiduin itse asiassa tuosta QRSPI:stä jopa siinä määrin että lähdin etsimään myös päivätyöhöni (juridiikkaan) liittyviä projekteja.
Löysinkin yhden varsin lupaavan toteutuksen, jossa lokaalia mallia käyttävä claude code täydennettiin oikeustieteeseen liittyvillä skilleillä, jotka taas kytkeytyvät MCP-servereiden kautta Suomen ajantasaiseen säädöskokoelmaan, esivalmistelutöihin ja ennakkotapauksiin.
Esittelin toteutuksen periaatteita pienehkön toimistomme osakkaille, jotka innostuivat asiasta siinä määrin että seuraavaksi odotamme 2x RTX6000Pro tilauksen saapumista käyttöönottoa varten.

</off-topic>
Jokin aika sitten kirjasin itselleni selvitettäväksi asiaksi kontekstin laajentamisen. Tämän toimituutta ajattelin testailla seuraavaksi.
Kuriositeettina alla on tämän pienen Gemma4-12B:n YaRN-skaalautuvuus vertaillen valitsimia
--tensor-parallel-size=2 ja
--pipeline-parallel-size=2. Tämän homman järkevyyttä voi helposti kyseenalaistaa, mutta teknisesti kiinnostaa räjähtääkö koko laite ja jollei, testata miten laadullinen suorituskyky käyttäytyy nimellisen maksimirajan jälkeen.
Tässä on vasta kyse käynnistystestistä käyttäen pelkästään kokonaislukuja YaRN-kertoimina sekä sitten serving benchmarkit molemmille, mitoituksena "4 clientia x 5 pyyntöä sekunnissa." Juuri tämän mallin kohdalla pipeline-parallelism näyttää tarvitsevan vähemmän muistia. Tuloksena on suurempi konteksti sujorituskyvyn kustannuksella.
Tensor parallelism
--tensor-parallel-size 2 --hf-overrides '{"rope_type":"yarn","factor":2,"original_max_position_embeddings":131072}'
(APIServer pid=3821) INFO 08-01 12:13:28 [model.py:1725] Using max model len 262144
(EngineCore pid=3879) INFO 08-01 12:14:56 [kv_cache_utils.py:2146] GPU KV cache size: 320,821 tokens
(EngineCore pid=3879) INFO 08-01 12:14:56 [kv_cache_utils.py:2147] Maximum concurrency for 262,144 tokens per request: 1.22x
Vrt. Pipeline parallelism
--pipeline-parallel-size 2 --hf-overrides '{"rope_type":"yarn","factor":4,"original_max_position_embeddings":131072}'
(APIServer pid=8846) INFO 08-01 12:39:36 [model.py:1725] Using max model len 524288
(EngineCore pid=8904) INFO 08-01 12:40:56 [kv_cache_utils.py:2146] GPU KV cache size: 586,940 tokens
(EngineCore pid=8904) INFO 08-01 12:40:56 [kv_cache_utils.py:2147] Maximum concurrency for 524,288 tokens per request: 1.12x

