Введение
Поскольку спрос на решения для обработки естественного языка (NLP) продолжает расти, языковые модели, такие как GPT-3 и GPT-4, становятся все более популярными. Эти модели способны генерировать человекоподобный текст и имеют множество потенциальных приложений, начиная от чат-ботов и виртуальных помощников и заканчивая созданием и переводом контента.
Однако из-за значительных вычислительных ресурсов, необходимых для обучения и запуска этих моделей, они часто недоступны для многих разработчиков и исследователей, и доступ к ним возможен только через API. В предыдущей статье под названием Помимо GPT-4: важность создания пользовательских моделей машинного обучения я обсуждал причины, по которым не всем следует использовать или иметь доступ к этим API, и сколько организаций лучше обучать свои пользовательские языковые модели. .
Чтобы решить эту проблему, команда Nomic AI разработала GPT4All, большую языковую модель, основанную на LLaMa, которую можно запускать локально на стандартном компьютере.
В этой статье основное внимание будет уделено необходимым шагам для настройки среды, загрузки контрольных точек модели и использования официальных привязок Python для взаимодействия с моделью. Являетесь ли вы исследователем, разработчиком или просто заинтересованы в изучении возможностей больших языковых моделей, это практическое руководство поможет вам начать работу с GPT4All.
Монтаж
Чтобы использовать контрольную точку модели gpt4all с квантованием ЦП, выполните следующие действия для их репозитория:
- Загрузите файл gpt4all-lora-quantized.bin по Прямой ссылке.
- Клонируйте этот репозиторий на свой локальный компьютер:
git clone https://github.com/nomic-ai/gpt4all.git
- Перейдите в каталог чата клонированного репозитория.
- Поместите загруженный файл gpt4all-lora-quantized.bin в каталог чата.
- Запустите соответствующую команду для вашей ОС:
- Для M1 Mac/OSX:
cd chat;./gpt4all-lora-quantized-OSX-m1
- Для Linux:
cd chat;./gpt4all-lora-quantized-linux-x86
- Для Windows (PowerShell):
cd chat;./gpt4all-lora-quantized-win64.exe
- Для Intel Mac/OSX:
cd chat;./gpt4all-lora-quantized-OSX-intel
Использование GPT4All локально
После того, как вы загрузили файл gpt4all-lora-quantized.bin и клонировали репозиторий, вы можете запустить соответствующую команду для своей операционной системы, чтобы начать локальное использование GPT4All.
Например, если вы используете компьютер с Linux, перейдите в каталог chat
и запустите ./gpt4all-lora-quantized-linux-x86
. Если вы используете M1 Mac, вместо этого запустите ./gpt4all-lora-quantized-OSX-m1
.
Как только модель запущена и запущена, вы можете начать взаимодействовать с ней с помощью командной строки. Введите запрос, например «напишите мне историю об одиноком компьютере», и модель сгенерирует ответ на основе данных обучения.
Если вы предпочитаете использовать GPT4All в Python, вы можете использовать официальные привязки Python, предоставленные репозиторием. Чтобы использовать интерфейс CPU, сначала установите nomic-клиент с помощью pip install nomic
, затем используйте следующий скрипт:
from nomic.gpt4all import GPT4All m = GPT4All() m.open() m.prompt('write me a story about a lonely computer')
Если вместо этого вы хотите использовать интерфейс графического процессора, вам потребуется установить дополнительные зависимости и указать путь к модели LLAMA, совместимой с Huggingface Automodel. После того, как все настроено, вы можете генерировать ответы, используя скрипт, подобный этому:
from nomic.gpt4all import GPT4AllGPU m = GPT4AllGPU(LLAMA_PATH) config = {'num_beams': 2, 'min_new_tokens': 10, 'max_length': 100, 'repetition_penalty': 2.0} out = m.generate('write me a story about a lonely computer', config) print(out)
Обратите внимание, что полная модель на графическом процессоре требует 16 ГБ ОЗУ и лучше работает при качественных оценках, но может быть недоступна для всех аппаратных средств.
С GPT4All, работающим локально, вы можете изучить его возможности и потенциальные варианты использования. Имейте в виду, что модель основана на LLaMa, которая имеет некоторые ограничения и предубеждения, о которых вам следует знать. Однако при осторожном и ответственном использовании GPT4All может стать ценным инструментом для генерации естественного языка и других приложений.
Воспроизводимость
В этом разделе мы обсудим воспроизводимость модели GPT4All и предоставим инструкции о том, как воспроизвести обученную модель.
Модель GPT4All была обучена на наборе данных примерно из 800 тысяч поколений на основе архитектуры LLaMa. Веса для обученной модели доступны в концентраторе модели Hugging Face вместе с необработанными данными обучения без P3 и полным набором данных с P3, доступ к которым можно получить через проводник Atlas.
Чтобы воспроизвести обученную модель, выполните следующие действия:
- Клонируйте репозиторий и его подмодули с помощью следующей команды:
git clone --recurse-submodules https://github.com/nomic-ai/gpt4all.git
- Настройте и обновите подмодули с помощью следующих команд:
git submodule configure git submodule update
- Установите необходимые зависимости с помощью следующей команды:
python -m pip install -r requirements.txt
- Установите пакет Hugging Face Transformers в редактируемом режиме с помощью следующей команды:
cd transformers pip install -e .
- Установите пакет P-EFT в редактируемом режиме с помощью следующей команды:
cd ../peft pip install -e .
- Запустите процесс обучения с помощью следующей команды:
accelerate launch --dynamo_backend=inductor --num_processes=8 --num_machines=1 --machine_rank=0 --deepspeed_multinode_launcher standard --mixed_precision --deepspeed_config peft/deepspeed_config.json peft/gpt4all_train.py
Выполнив следующие действия, вы сможете воспроизвести обученную модель GPT4All. Однако обратите внимание, что процесс обучения требует больших вычислительных ресурсов и требует мощного графического процессора и значительных вычислительных ресурсов.
Заключение
В заключение, запуск GPT4All на локальном компьютере — это захватывающий способ лично испытать мощь больших языковых моделей. С помощью шагов, описанных в этой статье, вы можете начать работу с контрольной точкой квантованной модели ЦП и взаимодействовать с GPT4All в Python. Также доступны интерфейсы графического процессора для тех, кто хочет вывести свои исследования на новый уровень.
Вы пытались запустить GPT4All на своем локальном компьютере? Поделитесь своим опытом и любыми советами или хитростями, которые вы обнаружили, в комментариях ниже! Мы хотели бы услышать от вас и продолжить разговор о потенциале больших языковых моделей.