Iltakooste

Tekoälyn päivälehti — mallit, työkalut ja hardware

Maanantai · 10. elokuuta 2026Iltapainos · klo 21Nro 37
← Takaisin etusivulle

Päivän Python-kirjasto · Koodi

sentence-transformers 5.7.0: paikallisen haun selkäranka korjasi hiljaa vääriä gradientteja — ja rikkoi tahallaan int8-yhteensopivuuden

Upotusmallien vakiokirjasto uudisti gradienttivälimuistin, sai torch.compilen vihdoin nopeuttamaan päättelyä ja varoittaa: int8-upotukset eivät enää ole bitilleen entisensä.

5.7.0tekstistä vektoreiksi — omalla koneella

Mitä se ratkaisee: sentence-transformers on kirjasto, jolla tekstistä tehdään upotuksia eli vektoreita, joita haku vertailee. Jokainen paikallinen RAG-järjestelmä — se, jossa malli vastaa omien dokumenttiesi pohjalta — seisoo jonkin upotusmallin päällä, ja tämä kirjasto on niiden ajamisen ja kouluttamisen vakiotyökalu. Torstaina julkaistu 5.7.0 on korjaus- ja suorituskykyversio, jonka muutoslista on poikkeuksellisen suora sanoissaan.

Suorin lause koskee koulutusta: gradienttivälimuistia käyttävät häviöfunktiot rakennettiin uusiksi yhden yhteisen moottorin päälle, ja samalla korjattiin useita hiljaa vääriä gradientteja. Hiljaa väärä tarkoittaa, ettei mikään kaatunut — koulutus vain oppi hieman väärin, eikä kukaan huomannut. Uusi toteutus lisää myös tokenipohjaisen minierien niputuksen, jonka luvataan nopeuttavan välimuistillista koulutusta jopa 3,9-kertaisesti. Kotikoneen hienosäätäjälle gradienttivälimuisti on juuri se tekniikka, jolla iso erä koulutetaan pienellä muistilla, joten korjaus osuu paikalliseen käyttöön suoraan.

Päättelypuolen uutinen on lakoninen: model.compile() nopeuttaa nyt oikeasti päättelyä. PyTorchin käännösominaisuus on ollut rajapinnassa ennenkin, mutta vasta nyt sen luvataan tuottavan vauhtia upotusajossa.

Sitten se rikkova osa, joka ansaitsee varoituksen: int8- ja uint8-kvantisoidut upotukset eivät enää ole bitilleen samoja kuin aiemmissa versioissa, koska arvoalueen ulkopuoliset arvot leikataan ja lokeroarvot pyöristetään nyt oikein. Jos vektorikantasi on rakennettu int8-upotuksilla, vanhat ja uudet vektorit eivät ole täsmälleen vertailukelpoisia — käytännössä kanta kannattaa laskea uudelleen päivityksen jälkeen. Toinen rikkova muutos koskee Matryoshka-tyyppisten häviöiden kerrospainotusta.

Horisontissa näkyy vielä yksi muutos: versiosta 6.0 alkaen sellaisten mallien lataaminen, joiden moduulit tuovat luokkia kirjaston ulkopuolelta, vaatii trust_remote_code-lipun. Se on sama turvallisuusperiaate, jonka transformers otti käyttöön aiemmin — etäkoodia ei ajeta ilman nimenomaista lupaa — ja se on paikallisen ajajan kannalta oikea suunta.

Rajoitukset ennallaan: kirjasto ajaa upotusmalleja, ei generatiivisia malleja, ja sen taustat ovat PyTorch sekä ONNX- ja OpenVINO-polut päättelyyn. Asennus on pip install sentence-transformers, koulutuskäyttöön train-lisäosalla.

Lisälähteet

Muut jutut tässä numerossa