Какой метод квантования подходит вам? (GPTQ vs. GGUF vs. AWQ)
Какой метод квантования подходит лучше всего вам? (GPTQ, GGUF или AWQ)
Исследование предварительно квантизированных больших языковых моделей
В течение последнего года мы видели Дикий Запад Больших Языковых Моделей (LLM). Темп, с которым выпускались новые технологии и модели, был поразительным! В результате у нас есть много разных стандартов и способов работы с LLM.
В этой статье мы рассмотрим одну из таких тем, а именно загрузку вашего локального LLM через несколько (квантованием) стандартов. С использованием фрагментации, квантования и разных стратегий сохранения и сжатия, непросто понять, какой метод подходит вам.
На протяжении примеров мы будем использовать Zephyr 7B, настроенную версию Mistral 7B, которая была обучена с помощью Прямой Оптимизации Предпочтений (DPO).
- Важность внедрения понятного AI в здравоохранение
- Доклад о данных Как GPT-4 справился с моим первокурсным заданием по программированию на Python
- Внедрите персонализированные рекомендации в реальном времени с помощью Amazon Personalize
🔥 СОВЕТ: После каждого примера загрузки LLM рекомендуется перезапустить блокнот, чтобы избежать ошибок OutOfMemory. Загрузка нескольких LLM требует большого объема ОЗУ/видеопамяти. Память можно сбросить, удалив модели и сбросив кеш следующим образом:
# Удалите ранее созданные моделиdel model, tokenizer, pipe# Очистите кеш видеопамятиimport torchtorch.cuda.empty_cache()
Вы также можете следовать вместе с Notebook Google Colab, чтобы убедиться, что все работает, как задумано.
1. HuggingFace
Наиболее простой и стандартный способ загрузки вашего LLM – это через 🤗 Transformers. HuggingFace создал большой набор пакетов, которые позволяют нам делать удивительные вещи с LLM!
Мы начнем с установки HuggingFace, в том числе, с его основной ветки, чтобы поддерживать более новые модели:
# Последняя версия HF transformers для моделей Mistral-подобного типаpip install git+https://github.com/huggingface/transformers.gitpip install accelerate bitsandbytes xformers
После установки мы можем использовать следующий пайплайн для удобной загрузки нашего LLM:
from torch import bfloat16from transformers import pipeline# Загрузка ваших LLM без каких-либо приемов сжатияpipe = pipeline( "text-generation", model="HuggingFaceH4/zephyr-7b-beta", torch_dtype=bfloat16, device_map="auto")