Nagy nyelvi modellek kis számítógépeken: Lehetséges vagy csak kísérlet?
Amikor a technológiai fejlődésről beszélünk, általában azt várjuk, hogy a hardver teljesítménye egyre növekszik: gyorsabb processzorok, nagyobb memória és alacsonyabb költségek. Azonban a szoftverfejlesztés terén is elérhetünk jelentős előrelépéseket, amelyekkel olyan eszközökön is futtathatunk alkalmazásokat, amelyek alapvetően nem lennének erre alkalmasak.
Ezt a megközelítést követi Dave Bben, aki ahelyett, hogy felfelé skálázná a nagy nyelvi modelleket (LLM), inkább azt vizsgálja, hogyan lehetne egy ilyen modellt egy kicsi, korlátozott teljesítményű számítógépen futtatni.
Az ESP32: Lehetetlen küldetés?
Az ESP32 – az egyik legkisebb és legolcsóbb mikroprocesszor – elsőre nem tűnik alkalmasnak egy nagy nyelvi modell futtatására. Dave Bben azonban mégis ezt a hardvert választotta, és néhány kompromisszum mellett sikerült elérnie, hogy a modell működjön. Az általa futtatott nyelvi modell mindössze 260 000 paramétert tartalmaz, szemben a GPT-4 több trillió paraméterével. Ehhez a llama.2c implementációt használta, amely a tinyllamas checkpointot alkalmazza, és optimalizálható az ESP32-re.
A választott modell az ESP32-S3FH4R2 volt, mivel ez több RAM-mal rendelkezik, mint a többi ESP32 változat. Még ezzel is legalább 1 MB RAM-ra volt szükség ahhoz, hogy a nyelvi modell egyáltalán elinduljon. Az eszköz két maggal rendelkezik, és mindkét mag maximális kapacitáson működik, 240 MHz-es órajellel, hogy a lehető legtöbbet hozza ki ebből a viszonylag korlátozott teljesítményű processzorból.
Miért érdemes lefelé skálázni?
Bár ez a kísérlet inkább technológiai kihívás, mintsem gyakorlati alkalmazás, mégis figyelemre méltó. Az ESP32 körülbelül annyi teljesítménnyel rendelkezik, mint egy 486-os vagy egy korai Pentium chip. Bár egy ilyen kis eszköz sosem fog versenyezni a modern LLM-ekkel, a kísérlet bebizonyítja, hogy a szoftveres optimalizálás és a kreatív megoldások segítségével még a legkevésbé alkalmas hardver is képes lehet bizonyos feladatokra.
Azoknak, akik több erőforrással rendelkeznek, lehetőségük van saját szerverükön futtatni egy nyelvi modellt. Így a modell hasonlóan működhet, mint a ChatGPT, és praktikus, mindennapi feladatokhoz is felhasználható.