Msanidi programu Vyacheslav Serbov, ambaye huenda kwa jina la bandia slvDev, imeonyeshwa Uundaji wa maandishi ya ndani kabisa kwenye kidhibiti kidogo cha ESP32-S3. Mfano wa lugha unaotokana una vigezo milioni 28,9 na hutoa takriban tokeni 9,9 kwa sekunde bila kufikia seva au rasilimali nyingine za nje za kompyuta. Hadithi fupi zinazozalishwa huonyeshwa kwenye onyesho la OLED lililounganishwa.
Mradi esp32-ai Ilijaribiwa kwenye moduli ya ESP32-S3 N16R8 yenye 512 KB ya SRAM iliyo ndani, 8 MB ya PSRAM, na 16 MB ya kumbukumbu ya flash. Mfano wa kipimo cha biti 4 unachukua 14,9 MB. Hifadhi ina msimbo chanzo wa C wa wakati wa kukimbia, zana za mafunzo na upimaji, programu dhibiti, majaribio, na hati za kuipakia kwenye ubao.
Vigezo milioni 28,9 vilivyodaiwa havipaswi kulinganishwa moja kwa moja na idadi ya vigezo vya LLM za kawaida za eneo-kazi. Kulingana na ripoti ya kina ya msanidi programuMfano huu una kiini kikubwa cha kompyuta chenye takriban vigezo 559, safu ya matokeo yenye vigezo milioni 3,1, na jedwali la uwakilishi wa vekta zenye tabaka zenye takriban vigezo milioni 25. Mwisho hutoa sehemu kubwa ya ukubwa rasmi wa mfumo, lakini haushughulikiwi kabisa wakati wa kutoa kila tokeni.
Viwango vitatu vya kumbukumbu hutumika kuhifadhi modeli. Data inayopatikana mara nyingi zaidi iko kwenye SRAM ya ndani, safu ya matokeo, kashe ya KV, na bafa za muda ziko kwenye PSRAM, na jedwali la vipengee milioni 25 liko kwenye kumbukumbu ya flash na linapatikana kupitia ramani ya nafasi ya anwani. Kwa kila tokeni, ni safu sita tu zinazosomwa kutoka humo, jumla yake ikiwa takriban baiti 450.
Kifaa hiki kinategemea teknolojia ya Upachikaji wa Kila Tabaka inayotumiwa na Google katika Gemma 3n. Kulingana na Nyaraka za GoogleVigezo vya PLE vinaweza kuhifadhiwa nje ya kumbukumbu ya kazi ya modeli na kuongezwa kwenye mchakato wa makadirio kadri tabaka za kibinafsi zinavyosindikwa. Katika esp32-ai, mbinu hii imepanuliwa hadi kwenye safu ya kumbukumbu ya kidhibiti kidogo, ambapo SRAM ya haraka ni mdogo sana.
Toleo la kwanza sahihi la muda wa uendeshaji unaotegemea C lilizalisha tokeni 0,57 pekee kwa sekunde. Baada ya kuweka safu ya matokeo katika PSRAM, kubadili hadi uanzishaji wa biti nane, kusambaza hesabu kati ya viini viwili vya Xtensa LX7, na uboreshaji mwingine, muda wa kusubiri ulipunguzwa hadi milisekunde 94,9 kwa kila hatua ya modeli. Kiwango cha mwisho cha matokeo kilichopimwa kilifikia tokeni 9,88 kwa sekunde, kwa kuzingatia mchakato kamili wa uzalishaji. Kizuizi kikuu sasa kilikuwa kipimo data cha PSRAM wakati wa kusoma safu ya matokeo.
Mfano huo ulifunzwa kwenye seti ya data ya sintetiki Hadithi Ndogo, inayojumuisha hadithi rahisi za lugha ya Kiingereza zenye msamiati mdogo. Kwa hivyo, inaweza kuendeleza sentensi na kutunga hadithi fupi na zenye upatano, lakini haijaundwa kujibu maswali, kufuata maagizo, kupanga, au kutoa maarifa ya kweli. Msanidi programu huona kazi hiyo kimsingi kama onyesho la uwekaji mzuri wa modeli katika kumbukumbu ya kidhibiti kidogo, badala ya kama boti ya gumzo iliyotengenezwa tayari, inayojitegemea.
Katika nyaraka za sasa, mwandishi anasisitiza haswa kwamba esp32-ai ni maendeleo huru. llama2.c Kazi ya Andrej Karpathy na uzinduzi wa awali wa modeli ya 260 kwenye ESP32-S3 hutolewa tu kama miongozo na mifano ya kazi ya awali: msimbo, vituo vya ukaguzi, na mbinu hazijakopwa moja kwa moja kutoka kwao. Msimbo chanzo wa esp32-ai inasambazwa chini ya leseni ya MIT.
Chanzo: linux.org.ru
