Tekoälyn päivälehti — mallit, työkalut ja hardware
llama.cpp b10332 · AMD · Alustat
AMD-koneen llama.cpp-buildissa oli kaksi tapaa kääntää flash attention, ja niistä väärän valinnut sai erilaisen suorituskyvyn. Nyt tapoja on yksi.
AMD:n näytönohjaimella llama.cpp:n kääntäminen on ollut pitkään pienten valintojen peliä, ja yksi valinnoista oli lippu nimeltä GGML_HIP_ROCWMMA_FATTN. Se käski flash attention -toteutuksen käyttämään AMD:n rocWMMA-kirjastoa, joka antaa suoran pääsyn matriisiytimiin — vaihtoehtona omalle HIP-polulle, joka tekee saman ilman erillistä kirjastoa. Kaksi polkua tarkoitti käytännössä sitä, että kaksi samanlaista konetta saattoi antaa eri nopeudet sen mukaan, kumman lipun buildaaja oli sattunut valitsemaan.
Sunnuntaiaamuna julkaistu build b10332 poistaa lipun jatkuvan integraation buildeista. Muutos on vetopyyntö numero 26760, ja sen otsikko on koruton: ci: rm GGML_HIP_ROCWMMA_FATTN. Jäljelle jää yksi flash attention -polku, jota kaikki ROCm-buildit käyttävät.
Kiinnostava yksityiskohta on, että koboldcpp ehti edelle: sen versio 1.118.1 poisti rocWMMA:n jo 3. elokuuta, ja julkaisumuistio perusteli sen sanoilla matching upstream behavior — eli seuraamalla ratkaisua, jonka llama.cpp teki päähaarassaan ennen kuin se näkyi julkaisubuildeissa asti. Haarautuneessa ekosysteemissä siivous valuu alaspäin nopeasti.
Käyttäjälle muutos on sitä parasta lajia: näkymätön. Valmiin binäärin lataajalle mikään ei muutu. Itse kääntävälle muutos tarkoittaa, että yksi dokumentaation rivi ja yksi mahdollinen virhevalinta katosi — ja että foorumien vanhat ohjeet, joissa lippua suositellaan, ovat nyt vanhentuneita. Jos ROCm-buildisi resepti mainitsee rocWMMA:n, sen voi poistaa.
Nopeusvaikutusta tämä lehti ei ole mitannut, eikä julkaisumuistio sellaista väitä. Muutoksen arvo on yhdenmukaisuudessa: kun polkuja on yksi, mittaustulokset ovat vertailukelpoisia ja virheraportit osuvat samaan koodiin. Se on vähemmän jännittävää kuin uusi ominaisuus, ja juuri siksi siitä kannattaa kertoa.