paint-brush
Как запустить собственный местный LLM (обновлено для 2024 г.)к@thomascherickal
22,194 чтения
22,194 чтения

Как запустить собственный местный LLM (обновлено для 2024 г.)

к Thomas Cherickal8m2024/03/21
Read on Terminal Reader
Read this story w/o Javascript

Слишком долго; Читать

В статье представлены подробные руководства по локальному использованию моделей генеративного искусственного интеллекта, таких как Hugging Face Transformers, gpt4all, Ollama и localllm. Узнайте, как использовать возможности искусственного интеллекта для творческих приложений и инновационных решений.

People Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Как запустить собственный местный LLM (обновлено для 2024 г.)
Thomas Cherickal HackerNoon profile picture
0-item

С https://wallpapers.com/wallpapers/theoretical- Physics-green-particles-ht1c16rgtu5ilkhc.html.


Это год прорыва в области генеративного искусственного интеллекта.


Хорошо; мягко говоря, в этом году я был избалован выбором, как запустить модель LLM на местном уровне.


Давайте начнем:


1) Трансформеры HuggingFace:

Все изображения созданы Bing Image Creator

Чтобы запустить Hugging Face Transformers в автономном режиме без доступа к Интернету, выполните следующие действия: Установите Transformers с необходимыми зависимостями, не полагаясь при этом на автоматические обновления во время установки. Вы можете установить через pip или conda, как описано в документации Hugging Face.


 pip install transformers==4.xy

Загрузите предварительно обученные модели со своего локального компьютера после их загрузки из Hugging Face Hub с доступом в Интернет. Сохраните модель с помощью save_pretrained(), а затем загрузите ее позже в автономном режиме.

 from transformers import AutoModelForSequenceClassification, BertTokenizerFast

В первый раз загрузите и сохраните модель

 model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased") model.save_pretrained("/my/local/directory/bert-base-uncased")

Позже загрузите сохраненную модель в автономном режиме.

 model = AutoModelForSequenceClassification.from_pretrained("/my/local/directory/bert-base-uncased") tokenizer = BertTokenizerFast.from_pretrained("/my/local/directory/bert-base-uncased")


Установите переменные среды TRANSFORMERS_OFFLINE и HF_DATASETS_OFFLINE, чтобы включить использование в автономном режиме.

 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1

Клонируйте репозиторий модели напрямую, если вы предпочитаете не загружать отдельные файлы.


 git clone https://huggingface.co/<username>/<repository> /my/local/directory


Убедитесь, что все необходимые файлы присутствуют в каталоге, в котором вы планируете выполнять свои сценарии. Помните, что установка TRANSFORMERS_OFFLINE только на 1 не будет работать, если модель еще не доступна локально. Вам необходимо либо загрузить модель с доступом в Интернет и сохранить ее локально, либо клонировать репозиторий модели.




2) gpt4all


gpt4all — это проект с открытым исходным кодом, который позволяет любому получить доступ и использовать мощные модели искусственного интеллекта, такие как GPT-3. Вот пошаговые инструкции по установке и использованию gpt4all:

  1. Монтаж:
  • Для gpt4all требуется Python 3.7 или выше, а также несколько зависимостей пакетов Python. Самый простой способ установить gpt4all — через pip:
 pip install gpt4all
  1. Получите ключ API:
  • Вам понадобится ключ API для доступа к моделям через gpt4all. Вы можете получить бесплатный ключ API, зарегистрировавшись на https://platform.openai.com .
  1. Настройте аутентификацию:
  • Получив ключ API, установите переменную среды с именем OPENAI_API_KEY указав в качестве значения свой ключ API.
 export OPENAI_API_KEY="YOUR_API_KEY_HERE"
  1. Используйте gpt4all:
  • Теперь вы готовы использовать gpt4all в Python для доступа к GPT-3 и другим моделям. Вот пример, побуждающий Davinci (версия GPT-3) резюмировать отрывок текста:
 from gpt4all import completions summary = completions.generate(engine="text-davinci-003", prompt="Summarize this text: [insert long text here]", max_tokens=50) print(summary.text)
  • Дополнительные примеры использования различных моделей см. в документации gpt4all.


3) олламма


Ollamma — это библиотека с открытым исходным кодом, которая обеспечивает легкий доступ к большим языковым моделям, таким как GPT-3. Вот подробная информация о системных требованиях, установке и использовании:

Системные Требования:

  • Питон 3.7 или выше
  • Библиотека запросов
  • Действительный ключ API OpenAI

Монтаж:

 pip install ollamma

Использование:

  1. Установить ключ API
 import os os.environ["OPENAI_API_KEY"] = "<YOUR_API_KEY>"
  1. Импортируйте и создайте клиент
 from ollamma import Client client = Client()
  1. Создать текст
 response = client.generate( engine="text-davinci-003", prompt="Hello world", max_tokens=100 ) print(response.generations[0].text)

Метод генерации позволяет вам указать механизм, приглашение и параметры, такие как максимальное количество токенов, для настройки вашего запроса.

Вы также можете настраивать движки, модерировать контент и многое другое. Дополнительную информацию обо всех доступных методах см. в документации Ollamma.

Подводя итог: Ollamma позволяет очень легко использовать GPT-3 и другие модели всего за несколько строк кода Python после установки и настройки!


4) ЛМ Студия


LM Studio — это инструмент с открытым исходным кодом, который оптимизирует процесс обучения, оценки и использования современных языковых моделей на местном уровне. Вот шаги для запуска LM Studio локально:


  1. Монтаж:
    LM Studio требует Docker и Docker Compose. Установить:

а. Установите Docker Engine и Docker Compose на свой компьютер.
б. Клонируйте репозиторий LM Studio GitHub:
git clone https://github.com/lm-studio/lm-studio.git


  1. Конфигурация:
    LM Studio использует файлы конфигурации в папке config/ . Общие файлы включают в себя:

а. model.yaml : укажите архитектуру модели.
б. training.yaml : установить параметры обучения
в. evaluation.yaml : настроить параметры оценки.


  1. Запуск LM Studio:
    Основной интерфейс осуществляется через Docker Compose. Некоторые распространенные команды:

а. Образы сборки: docker-compose build
б. Запустите все службы: docker-compose up -d
в. Просмотр журналов: docker-compose logs -f
д. Остановить службы: docker-compose down


Службы предоставляют различные порты, которые вы можете использовать для взаимодействия с пользовательским интерфейсом, API, блокнотами и многим другим.

Подводя итог, можно сказать, что LM Studio упрощает экспериментирование с моделями местного языка. Пользователям просто нужно клонировать репозиторий, настроить файлы настроек и использовать простые команды Docker, чтобы начать обучение, оценку и использование моделей.


5) локальный лм


Я считаю, что это самый удобный и простой способ из всех. Полное объяснение дано по ссылке ниже:

https://cloud.google.com/blog/products/application-development/new-localllm-lets-you-develop-gen-ai-apps-locally-without-gpus

Подведено:

localllm в сочетании с облачными рабочими станциями совершает революцию в разработке приложений на основе искусственного интеллекта, позволяя использовать LLM локально на процессоре и в памяти в среде Google Cloud. Устранив необходимость в графических процессорах, вы сможете преодолеть проблемы, связанные с нехваткой графических процессоров, и раскрыть весь потенциал LLM. Благодаря повышенной производительности, экономической эффективности и улучшенной безопасности данных localllm позволяет с легкостью создавать инновационные приложения.


6) Ламма.cpp

Чтобы установить и использовать Llama.cpp для локального обучения и вывода, выполните следующие действия:

Установите зависимости:

 Python 3 CMake Optional (for GPU acceleration) NVIDIA drivers, CUDA, and cuDNN For Windows, use Visual Studio Community with Desktop C++ Environment and Python 3 Clone the repository:

git clone --recursive https://github.com/abetlen/llama-cpp-python.git Если вы хотите использовать ускорение графического процессора, установите переменную среды, как описано в репозитории (например, в Linux):

 export CMAKE_ARGS="-DLLAMA_CUBLAS=ON" Install Llamma.cpp:

Для локальной сборки и компиляции системы:

 cd llama-cpp-python pip install -e . For Windows, or if you want prebuilt binaries, consider the following: No GPU support: pip install llama-cpp-python[server]

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

 python -m llama_cpp.server --model models/7B/llama-model.gguf With GPU support: set FORCE_CMAKE=1 set CMAKE_ARGS=-DLLAMA_CUBLAS=ON pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir

Необязательно для Windows использовать интерфейс высокого уровня:

 python -m llama_cpp.server --model "path/to/your/model" Download and place Llama models in the models/ subdirectory within the Llama.cpp repository if they are not included (models like llama-model.gguf or ggml-* files are available on Hugging Face or GGML).


Протестируйте установку:


 The llama_cpp/llama_cpp.py script provides a simple high-level interface in Python. Replace llama-model.gguf with your downloaded Llama model to test inference. If you want to train your own Llama model, you'll need to train it according to the official documentation and manually convert the GGML files into GGUF files (for GPU deployment).



7) Убагуба

Это градиентная реализация webui с открытым исходным кодом для генерации текста с использованием langchain.


Некоторые выдержки из файла README.md:

текст-генерация-webui-расширения

Это каталог расширений для https://github.com/oobabooga/text-generation-webui

Если вы создаете собственное расширение, вы можете отправить его в этот список в PR.

Долгосрочная память

Сложное расширение, создающее долговременную память для ботов в режиме чата.

https://github.com/wawawario2/long_term_memory

AllTalk ТТС

AllTalk основан на движке Coqui TTS, аналогичном расширению Coqui_tts для веб-интерфейса генерации текста, однако поддерживает множество расширенных функций.

  • Пользовательские настройки запуска: настройте параметры запуска по умолчанию. Скриншот
  • Рассказчик: используйте разные голоса для главного героя и повествования. Пример повествования
  • Режим Low VRAM: отлично подходит для людей с небольшим объемом памяти графического процессора или если ваша VRAM заполнена LLM. Скриншот
  • DeepSpeed: повышение производительности в 3–4 раза, генерирующее TTS. Инструкции DeepSpeed для Windows/Linux Скриншот
  • Локальные/Пользовательские модели: используйте любую из моделей XTTSv2 (локальный API и локальный XTTSv2).
  • Дополнительное обслуживание WAV-файлов: настраиваемое удаление старых выходных WAV-файлов. Скриншот
  • Точная настройка Тренируйте модель специально для выбранного вами голоса для лучшего воспроизведения.
  • Документация: полностью документирована со встроенной веб-страницей. Скриншот
  • Вывод консоли Очистите вывод командной строки на наличие предупреждений или проблем.
  • Пакет API и поддержка сторонних производителей посредством вызовов JSON. Может использоваться со сторонними приложениями посредством вызовов JSON.
  • Может запускаться как отдельное приложение. Не только внутри text-generation-webui.

https://github.com/erew123/alltalk_tts

EdgeGPT

Расширение для генерации текста Webui на основе EdgeGPT от cheong08 для быстрого доступа в Интернет для вашего бота.

https://github.com/GiusTex/EdgeGPT

ХТТСv2

Вариант расширения coqui_tts в основном репозитории. Оба используют модель XTTSv2, но в этом есть функция «рассказчика» для текста, написанного *между звездочками*.

https://github.com/kanttouchthis/text_generation_webui_xtts

Площадка для писателей

Это расширение предоставляет независимый расширенный блокнот, который всегда будет отображаться на верхней вкладке. Он имеет множество функций, которых нет в ноутбуке:

  • Два независимых ноутбука A и B, которые всегда присутствуют независимо от режима.
  • Встроенные инструкции (возможность задавать вопросы или давать задания прямо из текста)
  • Выделить и вставить — генерировать текст в середине текста.
  • Постоянная память, обобщение, перефразирование
  • LoRA-Rama — показывает контрольные точки LoRA и возможность переключения между ними.
  • Масштабирование LoRA (экспериментальное) — отрегулируйте воздействие LoRA с помощью ползунка.

https://github.com/FartyPants/Playground

И у нас есть еще много интересного: Посмотрите:

https://github.com/oobabooga/text-generation-webui-extensions



Заключение?


И это еще не все! И многое другое! LangChain, блин, олламма, список становится все больше и больше!

Наступает славный год прекрасного творчества. Ваше здоровье!