Connect with us

Tekoäly

Microsoftin Inferenssikehys Brings 1-Bit Large Language Models to Local Devices

mm
Understanding 1-bit LLMs and Microsoft's BitNet.cpp Framework

Microsoft julkaisi 17. lokakuuta 2024 BitNet.cpp:n, inferenssikehyksen, joka on suunniteltu suorittamaan 1-bittisiä kvantisoituja Large Language -malleja (LLM). BitNet.cpp on merkittävä edistysaskel Gen AI:ssa, joka mahdollistaa 1-bittisten LLM-mallien tehokkaan käyttöönoton standardi-CPU:illa ilman kalliiden GPU:n tarvetta. Tämä kehitys demokratisoi pääsyn LLM-malleihin, jotka ovat nyt saatavilla laajalla valikoimalla laitteita ja tarjoavat uusia mahdollisuuksia laitteistopohjaisiin AI-sovelluksiin.

Ymmärtäminen 1-bittisistä Large Language -malleista

Large Language -mallit (LLM) ovat perinteisesti vaatineet merkittäviä laskentaresursseja korkean tarkkuuden liukulukuja (tyypillisesti FP16 tai BF16) mallipainoja varten. Tämä on tehnyt LLM-mallien käyttöönotosta kallista ja energianintensiviä.

Niiden ytimessä 1-bittiset LLM-mallit käyttävät äärimmäisiä kvantisointitekniikoita edustamaan mallipainoja vain kolmella mahdollisella arvolla: -1, 0 ja 1, mistä johtuu termi “1,58-bitti” (koska siihen vaaditaan hieman yli yksi bitti kolmen tilan koodaamiseen).

TERNARY-painojärjestelmä

Käsite

1-bittinen kvantisointi BitNet.cpp:ssä on ternary-painojärjestelmä. BitNet toimii vain kolmen mahdollisen arvon kanssa kullekin parametrille:

  • -1 (negatiivinen)
  • 0 (neutraali)
  • 1 (positiivinen)

Tämä johtaa noin 1,58 bittin tallennusvaatimukseen parametrikohtaisesti, mistä johtuu nimen BitNet b1.58. Tämä dramaattinen vähennys parametrin bittileveydessä johtaa vaikuttavaan vähennyskseen muistin käytössä ja laskennallisen monimutkaisuuden suhteen, koska useimmat liukuluvun kertolaskut korvataan yksinkertaisilla addition ja subtraktion operaatioilla.

Matemaattinen perusta

1-bittinen kvantisointi sisältää painojen ja aktivaatioiden muuttamisen ternary-esitykseen seuraavien askelten kautta:

1. Painojen binarisaatio

Painojen binarisaatio sisältää niiden keskitämisen keskiarvoon (α), mikä johtaa ternary-esitykseen. Muunnos voidaan matemaattisesti ilmaista:

Wf=Sign(Wα)

Missä:

  • W on alkuperäinen painomatriisi.
  • α on painojen keskiarvo.
  • Sign(x) palauttaa +1, jos x > 0 ja -1 muuten.

… (jatkuu)

Olen viettänyt viimeiset viisi vuotta uppoutumassa kiinnostavaan koneoppimisen ja syväoppimisen maailmaan. Intohimoni ja asiantuntemukseni ovat johtaneet minun osallistumiseen yli 50:een monipuoliseen ohjelmistosuunnitteluhankkeeseen, joissa on erityisesti painottunut tekoäly/ML. Jatkuva uteliaisuuteni on myös ohjannut minua kohti luonnollisen kielen prosessointia, alaa jota haluan tutkia tarkemmin.