Запуск LLAMA 2 и других LLMS с открытым исходным кодом в локальном выводе CPU для документов Q & A
Четко объяснено руководство для запуска квантовых приложений LLM с открытым исходным кодом на процессорах с использованием Llama 2, C Transformers, GGML и Langchain
Пошаговое руководство по направлению к модушке : https://towardsdatascience.com/running-lama-2-on-cpu-inference-for-document-qa-3d636037a3d8
Контекст
- Сторонние коммерческие поставщики на крупной языковой модели (LLM), такие как GPT4 Openai, использовали демократизированные LLM с помощью простых вызовов API.
- Тем не менее, существуют случаи, когда командам потребуется самостоятельное или частное развертывание модели по таким причинам, как конфиденциальность данных и правила резидентуры.
- Распространение LLMS с открытым исходным кодом открыло для нас широкий спектр вариантов, что снизило нашу зависимость от этих сторонних поставщиков.
- Когда мы проводим LLMS с открытым исходным кодом локально локально или в облаке, выделенная вычислительная емкость становится ключевой проблемой. Хотя экземпляры графических процессоров могут показаться очевидным выбором, затраты могут легко взлететь за рамки бюджета.
- В этом проекте мы обнаружим, как запустить квантовые версии LLM с открытым исходным кодом на локальном выводе ЦП для документа «Вопрос и ответа» (Q & A).

QuickStart
- Убедитесь, что вы загрузили двоичный файл GGML с https://huggingface.co/thebloke/llama-2-7b-chat-ggml и поместили его в
models/ папку - Чтобы начать анализ запросов пользователей в приложение, запустите терминал из каталога Project и запустите следующую команду:
poetry run python main.py "<user query>" - Например,
poetry run python main.py "What is the minimum guarantee payable by Adidas?" - Примечание. Опустите
poetry run , если вы не используете поэзию

Инструменты
- Langchain : структура для разработки приложений, основанных на языковых моделях
- C Трансформаторы : привязки Python для моделей трансформаторов, реализованных в C/C ++ с использованием библиотеки GGML
- FAISS : Библиотека с открытым исходным кодом для эффективного поиска сходства и кластеризации плотных векторов.
- Трансформаторы предложений (All-Minilm-L6-V2) : предварительно обученная модель трансформатора с открытым исходным кодом для внедрения текста в 384-мерное плотное векторное пространство для таких задач, как кластеризация или семантический поиск.
- Llama-2-7B-Chat : тонкая настраиваемая модель Llama 2 с открытым исходным кодом, предназначенная для диалога чата. Использует общедоступные наборы данных инструкций и более 1 миллиона человеческих аннотаций.
- Поэзия : инструмент для управления зависимостями и упаковки Python
Файлы и контент
-
/assets : изображения, относящиеся к проекту -
/config : файлы конфигурации для приложения LLM -
/data : набор данных, используемый для этого проекта (т.е. Manchester United FC 2022 Годовой отчет - документ 177 страниц PDF) -
/models : двоичный файл квантовой модели LLM GGML (т.е., Llama-2-7b-чат) -
/src : коды Python ключевых компонентов приложения LLM, а именно llm.py , utils.py и prompts.py -
/vectorstore : векторный магазин Faiss для документов -
db_build.py : сценарий Python для проглатывания набора данных и генерации векторного хранилища Faiss -
main.py : Main Python Script для запуска приложения и передачи пользовательского запроса через командную строку -
pyproject.toml : toml файл, чтобы указать, какие версии используемых зависимостей (поэзия) -
requirements.txt : список зависимостей Python (и версии)
Ссылки
- https://github.com/marella/ctransformers
- https://huggingface.co/thebloke
- https://huggingface.co/thebloke/llama-2-7b-chat-ggml
- https://python.langchain.com/en/latest/integrations/ctransformers.html
- https://python.langchain.com/en/latest/modules/models/llms/integrations/ctransformers.html
- https://python.langchain.com/docs/ecosystem/integrations/ctransformers
- https://ggml.ai
- https://github.com/rustformers/llm/blob/main/crates/ggml/readme.md
- https://www.mdpi.com/2189676