Введение в формат большой модели GGUF
Фреймворки, такие как PyTorch, обычно используются для разработки крупных языковых моделей, и их результаты предварительного обучения обычно сохраняются в соответствующем бинарном формате, например, файл суффикса pt обычно является бинарным результатом предварительного обучения, сохраняемым фреймворком PyTorch.
Однако очень важная проблема хранения крупных моделей заключается в том, что их файлы модели огромны, а структура, параметры и прочее также влияют на эффект рассуждения и производительность модели. Для повышения эффективности хранения и обмена крупными моделями существуют крупные файлы моделей в различных форматах. Среди них GGUF — очень важный формат файла большой модели.
GGUF расшифровывается как GPT-Generated Unified Format — крупный формат модели, определённый и выпущенный Георгием Гергановым. Георгий Герганов — основатель знаменитого проекта с открытым исходным кодом llama.cpp.
GGUF — это спецификация для файлов бинарного формата, и исходные результаты предварительного обучения большой модели преобразуются в формат GGUF и могут загружаться быстрее и использоваться, потребляя меньше ресурсов. Причина в том, что GGUF использует различные технологии для сохранения результатов предварительного обучения крупных моделей, включая использование компактных форматов бинарного кодирования, оптимизированных структур данных, отображения памяти и т.д.
Различия GGUF, GGML, GGMF и GGJT
GGUF — это бинарный формат, предназначенный для быстрой загрузки и сохранения моделей. Это преемник файлового формата GGML, GGMF и GGJT, обеспечивающий ясность за счёт включения всей необходимой информации для загрузки модели. Он также разработан для масштабирования, позволяя добавлять новую информацию в модель без нарушения совместимости.
- GGML (без версии): Базовый формат без версий и выравнивания.
- GGMF (версия): То же самое, что и в GGML, но с версионированием.
- GGJT: Выровнять тензоры так, чтобы использовать с mmap, которые нужно выровнять. V1, V2 и V3 одинаковы, но более поздние версии используют другие схемы квантования, несовместимые с предыдущими.
Почему большие файлы моделей в формате GGUF хорошо работают
Формат файла GGUF способен загружать модели быстрее благодаря нескольким ключевым особенностям:
Двоичный формат: GGUF, как бинарный формат, может читаться и анализироваться быстрее, чем текстовые файлы. Бинарные файлы, как правило, более компактные, что сокращает операции ввода/вывода и время обработки, необходимые для чтения и парсинга.
Оптимизированные структуры данных: GGUF может использовать специально оптимизированные структуры данных, поддерживающие быстрый доступ и загрузку данных. Например, данные могут быть организованы по мере необходимости для загрузки памяти, чтобы снизить обработку при загрузке.
Совместимость с отображением памяти (mmap): если GGUF поддерживает отображение памяти (mmap), это позволяет напрямую отображать данные с диска в адресное пространство памяти, что ускоряет загрузку данных. Таким образом, доступ к данным можно без фактической загрузки всего файла, что особенно эффективно для больших моделей.
Эффективная сериализация и десериализация: GGUF может использовать эффективные методы сериализации и десериализации, что позволяет быстро конвертировать данные модели в удобные форматы.
Мало зависимостей и внешних ссылок: если формат GGUF разработан как автономный, то есть вся необходимая информация хранится в одном файле, это уменьшит необходимость поиска и операций чтения при разборе и загрузке модели.
Сжатие данных: формат GGUF может использовать эффективные методы сжатия данных, уменьшая размер файлов и тем самым ускоряя процесс чтения.
Оптимизированные механизмы индексации и доступа: механизмы индексации и доступа к данным в файлах могут быть оптимизированы для более быстрого поиска и загрузки конкретных фрагментов.
В заключение, GGUF обеспечивает быструю загрузку моделей с помощью различных методов оптимизации, что особенно важно для сценариев, требующих частой загрузки разных моделей.
Образец файла GGUF:Вход по гиперссылке виден. llama.cpp Адрес проекта:Вход по гиперссылке виден. |