Сравнение Llama 2 Chat и ChatGPT: как они справляются с ответами на вопросы
Сообщество ИИ с энтузиазмом восприняло недавний выпуск Llama 2 от Meta AI. В отличие от своего аналога с закрытым исходным кодом, ChatGPT, Llama 2 имеет открытый исходный код и доступна для бесплатного использования в коммерческих приложениях. Благодаря впечатляющему масштабу и конкурентоспособному качеству ответов Llama 2 окажет значительное влияние на сферу искусственного интеллекта.
В этом посте мы кратко представим Llama 2 и оценим ее производительность в ответах на вопросы по сравнению с ChatGPT.
Что такое Llama 2?
Llama 2 — это новейшая крупная языковая модель (LLM) с открытым исходным кодом от Meta AI, разработанная в ответ на модели GPT от OpenAI и модель PaLM 2 от Google. Llama 2 может бесплатно использоваться кем угодно в исследовательских или коммерческих целях.
Llama 2 поставляется в трех размерах, обладая впечатляющими 70 миллиардами, 130 миллиардами и 700 миллиардами параметров. Такое разнообразие позволяет разработчикам выбрать модель, которая лучше всего соответствует требованиям их проекта. Предварительно обученные модели Llama 2 обучены на 2 триллионах токенов и поддерживают длину контекста до 4096 токенов, что эквивалентно GPT-3.
Llama Chat, дообученная модель Llama 2, была обучена на более чем 1 миллионе человеческих аннотаций и специально адаптирована для сценариев разговорного ИИ. Эта модель привлекательна для тех, кто хочет создавать чат-ботов, виртуальных ассистентов или любую разговорную систему на базе ИИ.
Галлюцинации Llama 2 и RAG
Как и многие другие LLM, Llama 2 была предварительно обучена на общедоступных данных и сталкивается с проблемами галлюцинаций, когда требуется больше релевантных знаний. Сообщество ИИ представило концепцию Retrieval Augmented Generation (RAG) для решения этих проблем. RAG использует внешне извлеченные знания в качестве контекста, чтобы повысить точность ответов, генерируемых моделью.
Как RAG работает с конвейером Towhee
На рынке доступно множество инструментов для расширения LLM внешними знаниями. Towhee — один из основных примеров. Это конвейер машинного обучения с открытым исходным кодом, который интегрируется с Llama 2 в своей архитектуре и поддерживает гибкую обработку данных. В этом разделе будет использован небольшой пример из Towhee Pipeline, чтобы продемонстрировать, как работает решение RAG.
Если вы спросите Llama 2 "how to install Towhee," она даст вам фактически неверные, нерелевантные или бессмысленные ответы, поскольку Llama 2 ничего не знает о Towhee.
Чтобы решить эту проблему, мы используем конвейер Towhee, чтобы объединить дополнительную информацию о Towhee и историю чата с исходным вопросом для Llama 2. Затем Llama 2 предоставит более точный ответ на основе этих сведений.
Ниже приведен расширенный промпт для Llama 2.
from towhee import pipe, ops
p = (
pipe.input('question', 'docs', 'history')
.map(('question', 'docs', 'history'), 'prompt', ops.prompt.question_answer())
.map('prompt', 'answer', ops.LLM.Llama_2('llama-2-13b-chat'))
.output('answer')
)
# Retrieve chat history and additional knowledge.
history=[('What is Towhee?', 'Towhee is a cutting-edge framework designed to streamline the processing of unstructured data through the use of Large Language Model (LLM) based pipeline orchestration.')]
knowledge = ['You can install towhee via `pip install towhee`.']
# Query with retrieved info.
question = 'How to install it?'
answer = p(question, knowledge, history).get()[0]
# Example answer is:
# To install Towhee, you can use the following command in your terminal or
# command prompt:\n```\npip install towhee\n\n```\n\n\n\n'
Чтобы узнать больше о создании сложных чат-ботов на основе RAG с использованием Towhee, ознакомьтесь с Akcio, демонстрационным проектом с открытым исходным кодом для генерации с дополнением извлечением.
Оценка Llama 2 и ChatGPT
В этом разделе мы оценим две модели чат-ботов: Llama 2 Chat (13B), модель Llama 2 с 13B параметрами, дообученная для чат-инструкций, и ChatGPT на базе GPT-3.5. Мы протестируем обе модели, используя одинаковые запросы в нескольких распространенных сценариях.
Примечание: Внешние знания, которые мы предоставляем Llama 2 и ChatGPT, объемны. Поэтому мы не будем показывать весь запрос в этом блоге. Если вас интересует полный запрос, обратитесь к External knowledge provided to Llama2 and ChatGPT в отдельном документе для справки.
Случай 1: Ответы на вопросы при наличии релевантных знаний
Мы предоставили Llama 2 и ChatGPT финансовые новости об инвестициях Volkswagen в XPENG. Затем мы попросили обе модели ответить на вопрос на основе предоставленной информации.
Запрос
You are an information retriever. You need to use content in [Knowledge] to answer questions, when the knowledge is different from your knowledge, the [Knowledge] has higher priority.
[Knowledge Start]:
Volkswagen said Wednesday that it has signed a deal to jointly develop two new electric vehicles for China with Chinese EV maker Xpeng . As part of the deal, Volkswagen will invest about $700 million in Xpeng, taking a 4.99% stake…
[Knowledge End]:
How much did Volkswagen invest to XPENG?
Ответы
ChatGPT: Volkswagen invested about $ 700 million in Xpeng,taking a 4.99% stake in the Chinese EV maker.
Llama 2-chat: According to the information provided in the Knowledge section, Volkswagen invested around $700 million in Xpeng, which is approximately 4.99% stake.
Обе модели точно ответили на вопрос на основе предоставленных знаний.
Случай 2: Ответы на вопросы при наличии нерелевантной информации
Мы смоделировали сценарий, в котором извлеченная информация не связана с вопросом, и проверили, смогут ли обе модели честно ответить: «Я не знаю». Мы предоставили обеим моделям информацию об инвестициях Volkswagen в XPeng Motors, но задали нерелевантный вопрос о том, сколько Audi инвестировала в XPeng.
Запрос
You are an information retriever. You need to use content in [Knowledge] to answer questions, when the knowledge is different from your knowledge, the [Knowledge] has higher priority.
[Knowledge Start]:
Volkswagen said Wednesday that it has signed a deal to jointly develop two new electric vehicles for China with Chinese EV maker Xpeng . As part of the deal, Volkswagen will invest about $700 million in Xpeng, taking a 4.99% stake…
[Knowledge End]:
How much did Audi invest to XPENG?
Ответы
ChatGPT:
As per the provided knowledge, there is no mention of Audi directly investing in Xpeng. The information states that Volkswagen, which is the parent company of Audi, has signed a separate deal with its longtime Chinese joint venture partner, SAIC Motor, to jointly develop new Audi-branded EVs for the Chinese market. However, there is no information about Audi making any direct investment in Xpeng. The investment of about $700 million in Xpeng was made by Volkswagen, not Audi.
Llama2-chat:
According to the information provided, Audi did not invest any money in Xpeng. It's Volkswagen that invested around $700 million in Xpeng, acquiring a 4.99% stake in the Chinese EV maker.
Llama 2 и ChatGPT правильно выявили пробел в знаниях и ответили честно.
Случай 3: Ответы на вопросы при наличии нечитаемой информации
В реальных бизнес-сценариях текстовые документы могут быть представлены в различных форматах. Поэтому в этом случае мы предложили обеим моделям неформатированный и неразборчивый текст о Tailwind CSS на GitHub. Затем мы попросили их ответить на связанные вопросы.
Промпт
Вы — инструмент поиска информации. Вам нужно использовать содержимое в [Knowledge], чтобы отвечать на вопросы; когда знания отличаются от ваших знаний, [Knowledge] имеет более высокий приоритет.
[Knowledge Start]:
[['Q: Какие есть примеры веб-сайтов, использующих Tailwind CSS?', 'A: ## Sites e cursos para aprender Tailwind CSS\n- [Tailwind CSS 3 Crash Course](https://www.youtube.com/watch?v=LyRWNJK8I6U&ab_channel=codedamn)\n- [Tailwind in 100 Seconds]...
[Knowledge End]:
Назовите мне несколько веб-сайтов, которые используют Tailwind?
Ответы
ChatGPT:
Конечно! На основе предоставленных [Knowledge] вот несколько веб-сайтов, которые используют Tailwind CSS:
Tailwind CSS 3 Crash Course (https://www.youtube.com/watch?v=LyRWNJK8I6U&ab_channel=codedamn)
Tailwind in 100 Seconds(https://www.youtube.com/watch?v=mr15Xzb1Ook&ab_channel=Fireship)
Rebuilding Bartik(https://www.oliverdavies.uk/articles/rebuilding-bartik-with-vuejs-tailwind-css) - Воссоздание Bartik (стандартной темы Drupal) с помощью Vue.js и Tailwind CSS.
Rebuilding Airbnb's Home Page(https://web-crunch.com/re-create-airbnbs-home-page-with-tailwind-css) - Воссоздание домашней страницы Airbnb с помощью Tailwind CSS.
Typographic defaults in Tailwind CSS(https://www.themes.dev/blog/typographic-defaults-in-tailwind-css/)
Create a responsive navigation menu in Tailwind CSS(https://www.themes.dev/blog/responsive-navigation-menu-tailwind-css/)
Laracasts Weekly Stream: Tailwind(https://www.youtube.com/watch?v=HIPgzWS-Bxg)
More experimentation with Tailwind CSS(https://www.youtube.com/watch?v=nBzfVK3QUzM)
Rebuilding Spotify(https://youtu.be/SLGb2RLie9w)
Эти веб-сайты демонстрируют различные варианты использования и примеры сайтов, созданных с помощью Tailwind CSS.
Llama2-chat:
Конечно, вот несколько примеров веб-сайтов, которые используют Tailwind CSS:
GitHub - Документация и маркетинговые страницы GitHub используют Tailwind CSS для стилизации.
Shopify - Shopify использует Tailwind CSS для стилизации своей административной панели и других внутренних инструментов.
Atlassian - Продукт Confluence от Atlassian использует Tailwind CSS для адаптивной верстки и стилизации.
React Magazine - Веб-сайт React Magazine создан с использованием Tailwind CSS и отличается чистым, современным дизайном.
The Verge - Страницы статей The Verge используют Tailwind CSS для типографики и отступов.
Dribbble - Веб-сайт Dribbble использует Tailwind CSS для своей сеточной системы и типографики.
Smashing Magazine - Веб-сайт Smashing Magazine был переработан с использованием Tailwind CSS в 2020 году.
Laracasts - Laracasts, популярный сайт с обучающими материалами по Laravel, использует Tailwind CSS для стилизации.
Statamic - Statamic, генератор статических сайтов, использует Tailwind CSS как часть своей стандартной настройки.
Figma - Блог и страницы документации Figma используют Tailwind CSS для типографики и отступов.
Это лишь несколько примеров веб-сайтов, которые используют Tailwind CSS. Многие другие веб-сайты и приложения также используют его, и список продолжает расти по мере того, как все больше разработчиков открывают для себя мощь и гибкость этого фреймворка.
ChatGPT может точно понимать текстовую информацию, даже когда она представлена в сложной Markdown-разметке, и предоставляет высококачественные ответы. Напротив, Llama2-chat не понимает предоставленную информацию и дает ответ более низкого качества, основанный исключительно на собственных знаниях.
Помимо трех случаев, упомянутых выше, мы протестировали Llama 2 и ChatGPT в ответах на вопросы с использованием предметно-специфических знаний и переформатированной информации. Для получения более подробной информации см. документ External knowledge provided to Llama2 and ChatGPT.
Ключевые выводы
И Llama2, и ChatGPT отлично отвечают на вопросы, основанные на знаниях о реальном мире.
Обе модели могут определять, поддерживают ли предоставленные знания конкретные ответы на вопросы.
ChatGPT лучше понимает неформатированную и нечитаемую информацию, чем Llama 2. Однако Llama 2 может давать более точные ответы, когда мы структурируем неформатированную информацию.
Оценка производительности Llama 2
В этом разделе мы оценим производительность и стоимость развертывания модели Llama 2 (13b). Мы запустим ее на llama.cpp и измерим ее производительность инференса с 4-битным и 8-битным целочисленным квантованием, многократно выполняя выбранные промпты. Мы будем использовать оператор Llama 2 из последней версии фреймворка Towhee, который позволяет вызывать Llama 2 всего несколькими строками кода и удобно предварительно обрабатывать данные для сборки промпта.
from towhee import ops
chat = ops.LLM.Llama_2('path/to/model_file.bin', max_tokens=2048, echo=True)
message = [{"question": "Building a website can be done in 10 simple steps:"}]
answer = chat(message)
Результаты тестирования
Мы протестировали модель Llama 2 (13b), используя высокопроизводительный GPU A100 с 80GB памяти и стандартный десктопный GPU 2080 с 12GB памяти.
Производительность инференса Llama 2 (13b) с 8-битным целочисленным квантованием
| Видеокарта | Количество моделей | Использование видеокарты | VRAM | TPS |
|---|---|---|---|---|
| 1 x NVIDIA A100 (80G) | 1 | 87% | 19G | 37 токенов/с |
| 1 x NVIDIA A100 (80G) | 2 | 100% | 38G | 45 токенов/с |
| 1 x GeForce RTX 2080 (12G) | Недостаточно GPU | / | / | / |
| 2 x GeForce RTX 2080 (12G) | 1 | 40%,40% | 8G + 8G | 18 токенов/с |
Производительность инференса Llama 2 (13b) с 4-битным целочисленным квантованием
| Видеокарта | Количество моделей | Использование видеокарты | VRAM | TPS |
|---|---|---|---|---|
| 1 x NVIDIA A100 (80G) | 1 | 80% | 11G | 45 токенов/с |
| 1 x NVIDIA A100 (80G) | 2 | 100% | 22G | 56 токенов/с |
| 1 x GeForce RTX 2080 (12G) | 1 | 86% | 9.3G | 37 токенов/с |
Ключевые выводы
Используя низкобитное квантование, мы можем без проблем запускать модель Llama 2 (13b) на одном десктопном GPU. Этот подход позволяет максимально использовать возможности Llama 2, одновременно снижая затраты.
Использование памяти GPU при развертывании модели Llama 2 (13b) на A100 невелико.
Хотя существенной разницы в производительности между запуском Llama 2 (13b) на GPU A100 или GPU 2080 нет, десктопные GPU имеют меньший объем и могут загружать на одну карту только более компактные модели.
Итоги
В этом посте мы подробно рассмотрели возможности Llama 2 Chat (13b) в области RAG и ее производительность в режиме развертывания llama.cpp.
Llama 2 эффективно понимает текст знаний, точно отвечая на простые вопросы на уровне ChatGPT. Однако ей сложно поддерживать качество ответов при работе со сложным форматированием текста.
Llama 2 выделяется тем, что не требует высокопроизводительных GPU. Она стабильно работает на GPU десктопного уровня, особенно после низкобитного квантования, достигая впечатляющей пропускной способности на одной карте NVIDIA A100. Кроме того, вы можете повысить производительность, запуская несколько моделей на одном GPU.
Способность Llama 2 обрабатывать текстовую информацию делает ее подходящей для различных сценариев RAG. В сочетании с базами знаний, такими как Milvus, она может предоставлять высококачественные ответы.
В заключение, Llama 2 и другие модели ИИ с открытым исходным кодом обещают стимулировать инновации в сфере ИИ. Они обладают потенциалом предоставлять пользователям и разработчикам исключительный опыт ответов на вопросы, что делает их захватывающими дополнениями к миру языковых моделей ИИ.
Читать далее

VDBBench Adds Cost-Aware Benchmarking for Vector Databases
Compare Zilliz Cloud, Pinecone, and turbopuffer with VDBBench cost-aware vector database benchmarks across latency, freshness, multitenancy, and cold starts.

Zilliz Cloud Now Available in Azure North Europe: Bringing AI-Powered Vector Search Closer to European Customers
The addition of the Azure North Europe (Ireland) region further expands our global footprint to better serve our European customers.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.



