Если вы читаете это, вы, должно быть, получили удовольствие от использования ChatGPT и задавались вопросом, есть ли у них API, который вы можете использовать в своем собственном приложении или запускать локально на своем компьютере. Что ж, хорошая новость в том, что у них есть API, но вы получаете только определенное количество бесплатных токенов.

Есть и другие решения, которые вы можете использовать. В связи с бумом LLM (модели большого языка) в последнее время многие компании запустили свои собственные LLM, такие как BERT, Google, Falcon 40B и т. д., но LLM от мета под названием Llama 2 поставляется абсолютно бесплатно и может использоваться как лично, так и/или в коммерческих целях. Все, что вам нужно сделать, это запросить модель из мета, и вот как это сделать:

  1. Перейдите на веб-страницу ламы Meta здесь:


2. Нажмите «Загрузить модель», чтобы перейти к «Форме запроса доступа к Ламе»:



3. После того, как вы заполнили форму запроса, Meta отправит вам электронное письмо с двумя ссылками: одна будет на их репозиторий GitHub, а другая будет длинной ссылкой, начинающейся с «download.llamamet.net…». . Ссылка на репозиторий github приведет вас на страницу github мета-ламы. Клонируйте этот репозиторий.



4. После клонирования запустите «download.sh» из репозитория, и вам будет предложено «Ввести ссылку из электронного письма», вставить «download.llamamet.net…». ссылка здесь. После того, как вы вставите ссылку и укажете модель, которую хотите загрузить, начнется загрузка весов модели. Убедитесь, что у вас достаточно памяти. Просто чтобы вы могли оценить размер этих файлов: если вы загрузите все модели, он составит чуть более 300 ГБ.

5. Теперь, чтобы запустить Llama на Mac m1, вам необходимо клонировать другой репозиторий под названием «llama.cpp». Что делает «llama.cpp», так это то, что он обеспечивает «4-битное целочисленное квантование» для запуска модели на Mac Apple M1. Репо можно найти здесь:



6. После клонирования этого репозитория зайдите в «llama.cpp» с помощью терминала и выполните следующую команду:

LLAMA_METAL=1 make

7. Это создаст наш файл квантования под названием «quantize». Теперь внутри папки «llama.cpp» найдите папку «models» и внутри этой папки создайте новую папку. Назовите это любую модель, которую вы хотите использовать. Например: «7B», если это модель с 7 миллиардами параметров, «13B», если это модель с 13 миллиардами параметров и т. д.

В эту вновь созданную папку вставьте модель, которую вы скачали при вводе электронного письма из мета, вместе с «tokenizer_chechlist.chk» и «tokenizer.model».

Пришло время запустить его:

8. Теперь зайдите в «llama.cpp» и установите необходимые зависимости, выполнив следующую команду:

python3 -m pip install -r requirements.txt

9. Запустите файл «convert.py» перед квантованием модели.

python3 convert.py models/7B-chat/

10. Теперь квантовайте его, используя следующую команду:

./quantize ./models/7B-chat/ggml-model-f16.bin ./models/7B-chat/ggml-model-q4_0.bin q4_0

Это будет выглядеть примерно так:

11. Запустите вывод:

./main -m ./models/7B-chat/ggml-model-q4_0.bin -n 1024 --repeat_penalty 1.0 --color -i -r "User:" -f ./prompts/chat-with-bob.txt

Я использовал папку подсказок в «llama.cpp». Если я не ошибаюсь, в примерах используется «обучение за несколько шагов». В этом стиле подсказок вы предоставляете пару текстов «запрос и ответ», чтобы модель знала, как ответить. Кроме того, вы также можете написать свои собственные подсказки и определить взаимосвязь.

Должно выглядеть примерно так:

Наслаждайтесь общением с Бобом!! Спасибо.