Введение

Поскольку спрос на решения для обработки естественного языка (NLP) продолжает расти, языковые модели, такие как GPT-3 и GPT-4, становятся все более популярными. Эти модели способны генерировать человекоподобный текст и имеют множество потенциальных приложений, начиная от чат-ботов и виртуальных помощников и заканчивая созданием и переводом контента.

Однако из-за значительных вычислительных ресурсов, необходимых для обучения и запуска этих моделей, они часто недоступны для многих разработчиков и исследователей, и доступ к ним возможен только через API. В предыдущей статье под названием Помимо GPT-4: важность создания пользовательских моделей машинного обучения я обсуждал причины, по которым не всем следует использовать или иметь доступ к этим API, и сколько организаций лучше обучать свои пользовательские языковые модели. .

Чтобы решить эту проблему, команда Nomic AI разработала GPT4All, большую языковую модель, основанную на LLaMa, которую можно запускать локально на стандартном компьютере.

В этой статье основное внимание будет уделено необходимым шагам для настройки среды, загрузки контрольных точек модели и использования официальных привязок Python для взаимодействия с моделью. Являетесь ли вы исследователем, разработчиком или просто заинтересованы в изучении возможностей больших языковых моделей, это практическое руководство поможет вам начать работу с GPT4All.

Монтаж

Чтобы использовать контрольную точку модели gpt4all с квантованием ЦП, выполните следующие действия для их репозитория:

  1. Загрузите файл gpt4all-lora-quantized.bin по Прямой ссылке.
  2. Клонируйте этот репозиторий на свой локальный компьютер: git clone https://github.com/nomic-ai/gpt4all.git
  3. Перейдите в каталог чата клонированного репозитория.
  4. Поместите загруженный файл gpt4all-lora-quantized.bin в каталог чата.
  5. Запустите соответствующую команду для вашей ОС:
  • Для 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 на своем локальном компьютере? Поделитесь своим опытом и любыми советами или хитростями, которые вы обнаружили, в комментариях ниже! Мы хотели бы услышать от вас и продолжить разговор о потенциале больших языковых моделей.