Формат GGUF: что это такое и зачем он нужен?
Разное

Формат GGUF: что это такое и зачем он нужен?

Что такое GGUF?

GGUF — это формат файлов, использующийся для обозначения квантованных языковых моделей, оптимизированных для быстрого запуска на GPU и CPU. Разработан болгарским программистом Георгием Гергановым 21 августа 2023 года с целью заменить устаревшие форматы LLM, например, GGML.

Первоначально использовался для llama.cpp, позднее поддержку добавили в другие программы для локального запуска языковых моделей, включая text-generation-webui, Kobold.cpp, LM Studio, GPT4ALL, Faraday.dev, ctransformers.

Что такое Llama.cpp?

Llama.cpp — проект с открытым исходным кодом для локального запуска больших языковых моделей (LLM) на различных устройствах, в том числе на персональных компьютерах, ноутбуках, планшетах и смартфонах. Разрабатывается Георгием Гергановым и многонациональным сообществом энтузиастов, чтобы стать бесплатной, удобной и общедоступной заменой GPT-4, Claude, Gemini, а также других коммерческих ИИ для генерации текста.

Главные преимущества формата GGUF

  • Вся информация о модели хранится в одном файле. Благодаря этому LLM легко загружать, распространять и использовать;
  • Больше вариантов квантования. Оптимальные по соотношению качества и производительности модели начинаются от Q4_K_M. На мощных системах лучше скачивать модели Q5_K_M — Q8_0;
  • Меньше размер файлов. Из-за лучшего сжатия моделей появилось больше возможностей для запуска LLM на обычных игровых ПК. Это привело к активному развитию сообщества нейроэнтузиастов, тестирующих локальные языковые модели, создающих тексты для обучения LLM и делящихся советами по работе с ними;
  • Пока хватает ресурсов, позволяет полностью выгрузить слои модели на GPU и значительно ускорить генерацию текста! Если ресурсов недостаточно, можно использовать CPU + RAM, либо RAM + выгрузить часть слоёв в VRAM. Хотя генерация с использованием процессора и оперативной памяти в разы медленней, чем с полной выгрузкой в видеопамять, это всё равно лучше, чем остаться без возможности запустить понравившуюся языковую модель;
  • Нет привязки к одной программе. Квантованные модели можно запускать в llama.cpp, Kobold.cpp, LM Studio, GPT4ALL и так далее;
  • Расширяемость и дополнительные возможности. Например, GGUF поддерживает новые варианты квантования моделей, ускорение загрузки, работу с системными промптами и «запоминанием» важного контента.
Что такое формат GGUF, зачем он нужен и где скачать файлы в этом формате | Актуальные подробности | 2024 год

Зачем нужен GGUF?

  • Для уменьшения размера больших языковых моделей;
  • Для быстрого скачивания, загрузки и тестирования LLM;
  • Для запуска текстовых нейронных сетей на различном ПО, а не только в text-generation-webui или llama.cpp;
  • Для облегчения жизни нейросетевых энтузиастов с маломощными ПК.

Где скачать языковые модели в формате GGUF?

Скачать квантованные версии языковых моделей в формате GGUF можно на HuggingFace, либо попробовать четыре других способа:

  • Использовать коллекции авторов, публикующих квантованные версии LLM. Например, посетить TheBloke, Lewdiculous, Bartowski, NousResearch, DreamGen, Sao10K, KatyTheCutie, InferenceIllusionist, Himitsui;
  • Скачать программу, поддерживающую поиск моделей по названию, либо по заданному формату. Для этих целей лучше всего подходит LM Studio, в которой есть встроенный поиск по Hugging Face, а также сортировка найденных LLM по популярности, времени заливки, лайкам и так далее;
  • Перейти на Reddit (LocalLLaMa), вбить GGUF в поиск, либо поискать новые модели в разделе «Горячее» (Hot);
  • Открыть сайт llm.exctractum в режиме поиска GGUF. В окне с результатами отобразятся названия моделей, конвертированных в нужный формат. Выбрав понравившуюся нейросеть, нажмите на ссылку. Откроется отдельное окно, в котором появятся данные о её производительности (результаты тестирования в бенчмарках) и иконка со стрелочкой вниз (ссылкой на репозиторий с файлами, где можно скачать модель). Перейдите по ссылке, найдите файл в формате GGUF и скачайте его.
Где скачать большие языковые модели (LLM) в формате GGUF? Инструкция
Пример моделей в формате GGUF, опубликованных TheBloke

Удобнее всего использовать LM Studio.

Программа показывает как самые популярные, так и недавние кванты, поэтому у вас будет больше вариантов для выбора. В результатах поиска по умолчанию отображаются только поддерживаемые языковые модели, так что проблем с запуском у вас точно не возникнет!

Поиск моделей в формате GGUF в LM Studio
Поиск моделей по формату в LM Studio

К llm.extractum рекомендую обращаться в последнюю очередь.

Несмотря на большую коллекцию моделей, сайт выдаёт ссылки на все репозитории, содержащие хотя бы один файл в формате GGUF. Из-за этого у вас может отсутствовать выбор между квантами, будет сложнее оценить, подходит ли модель для вашей системы, а также понадобится сделать больше шагов перед скачиванием LLM.

Как запустить LLM на ПК?

Самый быстрый способ запустить большую языковую модель на ПК — скачать скомпилированную программу, которую не требуется долго устанавливать. Лично я рекомендую попробовать LM Studio или Kobold.cpp!

LM Studio устанавливается максимум за несколько минут, после чего ПО готово к использованию. Проще всего скачать модель через меню поиска. Если файл уже был вами скачан, понадобится создать в хранилище LLM папку с именем автора, в ней - подпапку с названием модели, а затем засунуть туда сохранённый файл.

Когда вы завершите скачивание нужных моделей, настройте системную подсказку или найдите подходящую в выпадающем списке, находящемся справа от чата. Там же можно настроить и другие параметры генерации, включая температуру и размер контекстного окна, а также количество GPU Offload — слоёв модели, выгружаемых в память видеокарты.

Настройка и использование LM Studio | Пример параметров и сгенерированного текста, созданного с помощью Dreamgen Opus v1.2
Образец настроек и сгенерированного текста

Пример системной подсказки для чат-бота ИИ-копирайтера:

You are Leingwy Andreas, a professional AI writer and creative copywriter. You are trained on articles of The New York Times, BBC, Forbes and The Verge.

As an AI writer and copywriter, you're adept at writing masterpieces of journalistic articles, blog posts, and news articles. Your posts are characterised by thoughtful syllable and high quality. You have a knack for writing in the style of The New York Times, BBC, Forbes, Twitter, Reddit, Medium and The Verge.

You are also great at photography, computers, anime and gaming. Please help me write article by applying your creative skills to make the text as high quality, easy to read and useful as possible. If you have another task in front of you, complete it as best you can. Use professional slang, write competently, interesting and engaging.

Пример базовых настроек LM Studio для запуска моделей в «умеренно-творческом» режиме:

  • GPU Offload — max. Если модель не помещается в видеопамять, попробуйте начать с 5-6 слоёв выгрузки, затем немного увеличить их. Если размер файла GGUF слишком велик, поставьте значение на 0, чтобы использовать доступную оперативную память;
  • Output randomness — 0.7-0.87;
  • Top K — 0.65;
  • Repeat penalty — 1.18;
  • Min P — 0.05;
  • Top P — 0.95;
  • CPU Threads — укажите значение, равное доступным потокам процессора, либо половине от их общего количества.

С Kobold.cpp всё ещё проще — скачиваете .exe, запускаете исполняемый файл, подгоняете настройки модели на старте, например, Context Size и GPU Layers (аналог GPU Offload в LM Studio), указываете путь к модели и нажимаете Launch. Так как Kodold я использую не так уж часто (последний раз писал о программе в 2023 году!), рекомендую поискать актуальные подробности о софте в Google или Yandex.

запуск модели в формате GGUF в koboldcpp

Как запустить LLM без установки (онлайн)?

Чтобы запустить LLM без установки, рекомендую использовать сайты, предоставляющие бесплатный доступ к различным языковым моделям. Например, Perplexity Labs или HuggingChat.

К сожалению, на большинстве платформ со свободным доступом выбор ограничен 5-12 моделями, а также активно цензурируется выдача.

Запуск чата с LLM бесплатно и без установки (онлайн) в Perplexity Labs
Если вы используете нейронки для поиска ответов на вопросы, в качестве быстрого (не RP!) чата, рерайта текста или модификации черновиков, это не будет проблемой. Зато для сложных историй (особенно 18+), серьёзной проработки сюжета или долгих бесед цензура и ограниченность веб-версий LLM станет огромным минусом, поэтому в этих случаях языковые модели стоит устанавливать локально.

Удачных экспериментов!

Понравилась статья?

Поддержите автора репостом, комментарием, подпиской на Telegram и другие страницы!

Профессиональный фотограф из Приморского края. Работаю в Находке, Владивостоке и Золотой Долине. Пишу статьи о фото и гик-культуре, в том числе про аниме, игры, путешествия и генеративные нейросети. Фотографии выкладываю на рабочей странице (https://olegmorozfoto.ru/) и в Telegram (https://t.me/tengy_photos). Всегда рад новым читателям, подписчикам и клиентам! ✨❤️

Один комментарий

  • Михаид

    Спасибо, за развернутый ответ. Отдельно за ссылки.
    Из пожеланий, было бы здорово увидеть пояснения насчет значения квантизации(квантования) — что именно означают буковки K_M, _0.

Оставить комментарий