Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 2273|Odpowiedź: 0

[AI] (6) Krótkie wprowadzenie do formatu plików dużych modeli GGUF

[Skopiuj link]
Opublikowano 2025-2-7 10:51:47 | | | |
Wprowadzenie do formatu plików dużych modeli GGUF

Frameworki takie jak PyTorch są zwykle używane do tworzenia dużych modeli językowych, a ich wyniki wstępnego trenowania są zapisywane w odpowiednim formacie binarnym, na przykład plik sufiksu pt jest zazwyczaj binarnym wynikiem przed trenowaniem zapisanym przez framework PyTorch.

Jednak bardzo ważnym problemem z przechowywaniem dużych modeli jest to, że ich pliki są ogromne, a struktura, parametry itd. modelu również wpływają na efekt rozumowania i wydajność modelu. Aby zwiększyć efektywność przechowywania i wymiany dużych modeli, istnieją duże pliki modeli w różnych formatach. Wśród nich GGUF jest bardzo ważnym formatem plików dużych modeli.

Plik GGUF oznacza GPT-Generated Unified Format, czyli duży format pliku modelowego zdefiniowany i wydany przez Georgiego Gerganova. Georgi Gerganov jest założycielem słynnego projektu open source llama.cpp.

GGUF to specyfikacja plików w formacie binarnym, a oryginalne wyniki z pre-treningu dużych modeli są konwertowane na format GGUF i mogą być ładowane i używane szybciej, a jednocześnie zużywać mniej zasobów. Powodem jest to, że GGUF wykorzystuje różnorodne technologie do zachowania wyników wstępnego trenowania dużych modeli, w tym stosowanie kompaktowych formatów kodowania binarnego, zoptymalizowanych struktur danych, mapowania pamięci itd.



Różnice między GGUF, GGML, GGMF i GGJT

GGUF to format binarny zaprojektowany do szybkiego ładowania i zapisywania modeli. Jest to następca formatu plików GGML, GGMF i GGJT, zapewniający przejrzystość poprzez uwzględnienie wszystkich informacji potrzebnych do załadowania modelu. Jest również zaprojektowany tak, aby był skalowalny, dzięki czemu można było dodawać nowe informacje do modelu bez naruszania kompatybilności.

  • GGML (Brak wersji): Format bazowy bez wersjonowania czy wyrównania.
  • GGMF (wersjonowany): To samo co GGML, ale z wersjonowaniem.
  • GGJT: Wyrównanie tensorów, aby umożliwić użycie z mmapami, które wymagają wyrównania. V1, V2 i V3 są takie same, ale późniejsze wersje stosują inne schematy kwantyzacji, które nie są kompatybilne z wcześniejszymi wersjami.


Dlaczego duże pliki modeli w formacie GGUF działają dobrze

Format plików GGUF umożliwia szybsze ładowanie modeli dzięki kilku kluczowym cechom:

Format binarny: GGUF jako format binarny może być odczytywany i analizowany szybciej niż pliki tekstowe. Binary są zazwyczaj bardziej kompaktowe, co zmniejsza ilość operacji I/O oraz czas przetwarzania potrzebny na odczyt i parsowanie.

Zoptymalizowane struktury danych: GGUF może stosować specjalnie zoptymalizowane struktury danych, które umożliwiają szybki dostęp i ładowanie danych modeli. Na przykład dane mogą być organizowane zgodnie z potrzebami do ładowania pamięci, aby zmniejszyć przetwarzanie podczas obciążenia.

Kompatybilność z mapowaniem pamięci (mmap): Jeśli GGUF obsługuje mapowanie pamięci (mmap), pozwala to na bezpośrednie mapowanie danych z przestrzeni adresowej dysku do pamięci, co skutkuje szybszym ładowaniem danych. Dzięki temu dane mogą być dostępne bez faktycznego ładowania całego pliku, co jest szczególnie skuteczne w przypadku dużych modeli.

Efektywna serializacja i deserializacja: GGUF może stosować metody efektywnej serializacji i deserializacji, co oznacza, że dane modelu mogą być szybko przekształcane w użyteczne formaty.

Niewiele zależności i odniesień zewnętrznych: Jeśli format GGUF jest zaprojektowany jako samodzielny, tzn. wszystkie wymagane informacje są przechowywane w jednym pliku, zmniejsza to liczbę operacji wyszukiwania i odczytu pliku zewnętrznego podczas parsowania i ładowania modelu.

Kompresja danych: Format GGUF może wykorzystywać skuteczne techniki kompresji danych, zmniejszając rozmiary plików i tym samym przyspieszając proces odczytu.

Zoptymalizowane mechanizmy indeksowania i dostępu: Mechanizmy indeksowania i dostępu do danych w plikach mogą być zoptymalizowane, aby przyspieszyć wyszukiwanie i ładowanie konkretnych fragmentów danych.

Podsumowując, GGUF umożliwia szybkie ładowanie modeli dzięki różnym metodom optymalizacji, co jest szczególnie istotne w scenariuszach wymagających częstego ładowania różnych modeli.

Wspólne modele uczenia głębokiego (.pt, . ONNX)
https://www.itsvse.com/thread-10929-1-1.html

Przykładowy plik GGUF:Logowanie do linku jest widoczne.
llama.cpp Adres projektu:Logowanie do linku jest widoczne.




Poprzedni:[AI] (5) Wydrukuj informacje o żądaniu Ollama
Następny:Frontend generuje plik .d.ts z pliku .js
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com