Bevezetés a GGUF nagy modell fájlformátumba
Olyan keretrendszereket, mint a PyTorch, általában nagy nyelvi modellek fejlesztésére használják, és azok előképzési eredményeit általában a megfelelő bináris formátumban mentik el, például a pt utótag fájl általában a PyTorch keretrendszer által mentett bináris előképzési eredmény.
Azonban a nagy modellek tárolásával kapcsolatban egy nagyon fontos probléma, hogy a modellfájljaik hatalmasak, és a modell szerkezete, paraméterei stb. szintén befolyásolják a modell érvelési hatását és teljesítményét. Annak érdekében, hogy a nagy modellek hatékonyabbak legyenek a tárolásban és cserében, különböző formátumokban találhatók nagy modellfájlok is. Közülük a GGUF egy nagyon fontos nagy modell fájlformátum.
A GGUF fájl a GPT-által generált egységes formátumot jelenti, amely egy nagy modell fájlformátum, amelyet Georgi Gerganov definiált és adott ki. Georgi Gerganov a híres nyílt forráskódú llama.cpp projekt alapítója.
A GGUF egy bináris formátumú fájlokra vonatkozó specifikáció, és az eredeti nagy modell előképzési eredményei GGUF formátumba konvertálódnak, gyorsabban tölthetnek és használhatók, kevesebb erőforrást fogyasztanak. Ennek oka, hogy a GGUF különféle technológiákat használ a nagy modellek előzetes betanítási eredményeinek megőrzésére, beleértve a kompakt bináris kódolási formátumokat, optimalizált adatstruktúrákat, memória leképezést stb.
A GGUF, GGML, GGMF és GGJT különbségei
A GGUF egy bináris formátum, amelyet a modellek gyors betöltésére és mentésére terveztek. Ez a GGML, GGMF és GGJT fájlformátuma utódja, amely az egyértelműséget biztosítja azáltal, hogy tartalmazza a modell betöltéséhez szükséges összes információt. Emellett úgy tervezték, hogy skálázható legyen, így új információk hozzáadhatók a modellhez anélkül, hogy kompatibilitás megtörne.
- GGML (változat nélkül): Alapformátum, verziószerkesztés vagy igazítás nélkül.
- GGMF (változatos): Ugyanaz, mint a GGML, de verziózással.
- GGJT: Igazítsd a tenzorokat, hogy lehetővé tegye a használatát olyan mmap-okkal, amelyeket be kell igazítani. V1, v2 és v3 ugyanazok, de a későbbi verziók eltérő kvantálási sémákat használnak, amelyek nem kompatibilisek a korábbi verziókkal.
Miért teljesítenek jól a GGUF formátumú nagy modellfájlok
A GGUF fájlformátum több kulcsfontosságú funkció miatt gyorsabban tölthet be modelleket:
Bináris formátum: A GGUF, mint bináris formátum, gyorsabban olvasható és értelmezhető, mint a szöveges fájlok. A binárisok általában kompaktabbak, így csökkentik az olvasáshoz és elemzéshez szükséges I/O műveleteket és feldolgozási időt.
Optimalizált adatstruktúrák: A GGUF speciálisan optimalizált adatstruktúrákat alkalmazhat, amelyek gyors hozzáférést és betöltést támogatnak a modelladatok számára. Például az adatok rendszerezhetők a memória betöltéséhez szükséges módon, hogy csökkentsék a terhelés közbeni feldolgozást.
Memória leképezés (mmap) kompatibilitás: Ha a GGUF támogatja a memória leképezést (mmap), ez lehetővé teszi, hogy az adatok közvetlenül a lemezről a memória címtérbe kerüljenek, ami gyorsabb adatbetöltést eredményez. Így az adatokhoz hozzáférés érhető el anélkül, hogy az egész fájlt betöltenénk, ami különösen hatékony nagy modellek esetén.
Hatékony serializáció és deserializáció: A GGUF hatékony serializációs és deserializációs módszereket alkalmazhat, ami azt jelenti, hogy a modelladatok gyorsan használható formátumokká alakíthatók.
Kevés függőség és külső hivatkozás: Ha a GGUF formátumot önállónak tervezték, azaz az összes szükséges információ egyetlen fájlban van tárolva, ez csökkenti a modell elemzéséhez és betöltéséhez szükséges külső fájlkeresési és olvasási műveleteket.
Adattömörítés: A GGUF formátum hatékony adattömörítési technikákat alkalmazhat, csökkentve a fájlméreteket, és ezáltal felgyorsítva az olvasási folyamatot.
Optimalizált indexelési és hozzáférési mechanizmusok: Az adatok fájlokban történő indexelési és hozzáférési mechanizmusai optimalizálhatók, hogy gyorsabban találják meg és töltsék fel a szükséges adattöredékeket.
Összefoglalva, a GGUF különböző optimalizálási módszerek segítségével éri el a gyors modellbetöltést, ami különösen fontos olyan helyzetekben, ahol különböző modellek gyakori betöltését igénylik.
GGUF mintafájl:A hiperlink bejelentkezés látható. llama.cpp Projekt címe:A hiperlink bejelentkezés látható. |