Иштеп чыгуучу Вячеслав Сербов, slvDev каймана аты менен жүрөт. көрсөткөн ESP32-S3 микроконтроллеринде толугу менен жергиликтүү текст түзүү. Натыйжада алынган тил модели 28,9 миллион параметрди камтыйт жана серверге же башка тышкы эсептөө ресурстарына кирбестен секундасына болжол менен 9,9 токен чыгарат. Түзүлгөн кыска аңгемелер туташкан OLED дисплейде көрсөтүлөт.
долбоору esp32-ai ESP32-S3 N16R8 модулунда 512 КБ ички SRAM, 8 МБ PSRAM жана 16 МБ флеш-эс тутуму менен сыналган. 4-биттик квантталган модель 14,9 МБ орунду ээлейт. Репозиторийде C иштөө убактысынын баштапкы коду, окутуу жана кванттоо куралдары, микропрограмма, тесттер жана аны тактага жүктөө үчүн скрипттер камтылган.
Доомат кылынган 28,9 миллион параметрди кадимки жумушчу стол үстүндөгү LLMдердин параметрлеринин саны менен түздөн-түз салыштырууга болбойт. ылайык иштеп чыгуучунун толук отчетуМодель болжол менен 559 000 параметри бар тыгыз эсептөө ядросунан, 3,1 миллион параметри бар чыгаруу катмарынан жана болжол менен 25 миллион параметри бар катмарлуу вектордук көрсөтүлүштөрдүн таблицасынан турат. Акыркысы моделдин расмий өлчөмүнүн негизги бөлүгүн камсыз кылат, бирок ар бир токенди түзүүдө толугу менен иштетилбейт.
Моделди сактоо үчүн үч эс тутум деңгээли колдонулат. Эң көп кирүүчү маалыматтар ички SRAMда, чыгаруу катмарында, KV кэшинде жана убактылуу буферлерде PSRAMда, ал эми 25 миллион элементтен турган таблица флеш-эс тутумда жайгашкан жана дарек мейкиндигин картага түшүрүү аркылуу жеткиликтүү. Ар бир токен үчүн андан болжол менен алты сап гана окулат, жалпысынан болжол менен 450 байт.
Бул түзмөк Google тарабынан Gemma 3n'де колдонулган Per-Layer Embeddings технологиясына негизделген. Маалыматка ылайык Google документтериPLE параметрлери моделдин жумушчу эс тутумунан тышкары сакталып, жеке катмарлар иштетилген сайын тыянак чыгаруу процессине кошулушу мүмкүн. esp32-aiде бул ыкма микроконтроллердин эс тутум иерархиясына чейин кеңейтилген, мында тез SRAM өзгөчө чектелүү.
C негизиндеги иштөө убактысынын биринчи туура версиясы секундасына 0,57 гана токен чыгарган. Чыгаруу катмарын PSRAMга жайгаштыргандан, сегиз биттик активдештирүүлөргө өткөндөн, эсептөөнү эки Xtensa LX7 өзөгүнүн ортосунда бөлүштүргөндөн жана башка оптималдаштыруулардан кийин, кечигүү ар бир моделдин кадамында 94,9 мс чейин кыскарган. Толук генерациялоо процессин эске алуу менен өлчөнгөн акыркы өткөрүү жөндөмдүүлүгү секундасына 9,88 токенге жеткен. Эми негизги чектөө чыгаруу катмарын окуганда PSRAM өткөрүү жөндөмдүүлүгү болуп калды.
Модель синтетикалык маалыматтар топтомунда окутулган Кичинекей окуялар, чектелген сөз байлыгы бар жөнөкөй англис тилиндеги аңгемелерден турат. Ошондуктан, ал сүйлөмдөрдү улантып, кыска, ырааттуу аңгемелерди түзө алат, бирок ал суроолорго жооп берүү, көрсөтмөлөрдү аткаруу, программалоо же фактылык билимдерди кайра чыгаруу үчүн иштелип чыккан эмес. Иштеп чыгуучу бул ишти негизинен даяр, автономдуу чатбот катары эмес, моделди микроконтроллердин эс тутумуна натыйжалуу жайгаштыруунун демонстрациясы катары карайт.
Учурдагы документтерде автор esp32-ai көз карандысыз иштеп чыгуу экенин өзгөчө баса белгилейт. Долбоорлор llama2.c Андрей Карпатинин иши жана ESP32-S3'теги 260 000-чи моделдин мурдараак ишке киргизилиши мурунку иштердин көрсөтмөлөрү жана мисалдары катары гана берилген: код, текшерүү пункттары жана методология алардан түздөн-түз алынган эмес. esp32-ai булак коду MIT лицензиясы боюнча таратылат.
Source: linux.org.ru
