Comparando o Llama 2 Chat e o ChatGPT: como eles se saem em perguntas e respostas
A comunidade de IA ficou entusiasmada com o recente lançamento do Llama 2 pela Meta AI. Diferentemente de sua contraparte de código fechado, ChatGPT, o Llama 2 é open-source e está disponível para uso gratuito em aplicações comerciais. Com sua escala impressionante e qualidade de respostas competitiva, o Llama 2 causará ondas significativas na inteligência artificial.
Neste post, apresentaremos brevemente o Llama 2 e avaliaremos seu desempenho ao responder perguntas em comparação com o ChatGPT.
O que é o Llama 2?
O Llama 2 é o mais recente modelo de linguagem grande (LLM) open-source da Meta AI, desenvolvido em resposta aos modelos GPT da OpenAI e ao modelo PaLM 2 do Google. O Llama 2 é gratuito para qualquer pessoa usar para fins de pesquisa ou comerciais.
O Llama 2 vem em três tamanhos, ostentando impressionantes 70 bilhões, 130 bilhões e 700 bilhões de parâmetros. Essa variedade permite que os desenvolvedores escolham o modelo que melhor atende aos requisitos de seus projetos. Os modelos pré-treinados do Llama 2 são treinados em 2 trilhões de tokens e suportam comprimentos de contexto de até 4096 tokens, equivalente ao GPT-3.
O Llama Chat, o modelo ajustado do Llama 2, foi treinado em mais de 1 milhão de anotações humanas e é especificamente adaptado para cenários de IA conversacional. Esse modelo é atraente para quem deseja criar chatbots, assistentes virtuais ou qualquer sistema conversacional com tecnologia de IA.
Alucinação do Llama 2 e RAG
Como muitos outros LLMs, o Llama 2 foi pré-treinado em dados disponíveis publicamente e enfrenta problemas de alucinação quando precisa de conhecimento mais relevante. A comunidade de IA introduziu o conceito de Geração Aumentada por Recuperação (RAG) para enfrentar esses desafios. O RAG aproveita conhecimento recuperado externamente como contexto para aumentar a precisão das respostas geradas pelo modelo.
Como o RAG funciona com um pipeline Towhee
Há muitas ferramentas disponíveis no mercado para aprimorar LLMs com conhecimento externo. Towhee é um dos principais exemplos. É um pipeline de aprendizado de máquina open-source que se integra ao Llama 2 em sua arquitetura e suporta processamento de dados flexível. Esta seção usará um pequeno exemplo do Towhee Pipeline para demonstrar como a solução RAG funciona.
Se você perguntar ao Llama 2 "como instalar o Towhee", ele fornecerá respostas factualmente incorretas, irrelevantes ou sem sentido, já que o Llama 2 não sabe nada sobre o Towhee.
Para resolver esse problema, usamos um pipeline Towhee para combinar informações adicionais sobre o Towhee e o histórico de chat com a pergunta original para o Llama 2. O Llama 2 então fornecerá uma resposta mais precisa com base nas notícias.
Abaixo está o prompt aumentado para o 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'
Para saber mais sobre como criar chatbots complexos baseados em RAG usando Towhee, confira Akcio, um projeto de demonstração de código aberto para geração aumentada por recuperação.
Avaliando Llama 2 e ChatGPT
Esta seção avaliará dois modelos de chatbot: Llama 2 Chat (13B), um modelo Llama 2 com 13B parâmetros ajustado para instruções de chat, e ChatGPT com tecnologia GPT-3.5. Testaremos ambos os modelos usando os mesmos prompts em vários cenários comuns.
Observação: O conhecimento externo que fornecemos ao Llama 2 e ao ChatGPT é extenso. Portanto, não exibiremos o prompt inteiro neste blog. Se você tiver interesse no prompt completo, consulte o Conhecimento externo fornecido ao Llama2 e ao ChatGPT em um documento separado para referência.
Caso 1: Responder a perguntas quando fornecido conhecimento relevante
Fornecemos ao Llama 2 e ao ChatGPT notícias financeiras sobre o investimento da Volkswagen na XPENG. Em seguida, pedimos a ambos os modelos que respondessem a uma pergunta com base nas informações fornecidas.
Prompt
Você é um recuperador de informações. Você precisa usar o conteúdo em [Knowledge] para responder a perguntas; quando o conhecimento for diferente do seu conhecimento, o [Knowledge] tem prioridade mais alta.
[Knowledge Start]:
A Volkswagen disse na quarta-feira que assinou um acordo para desenvolver conjuntamente dois novos veículos elétricos para a China com a fabricante chinesa de VEs Xpeng . Como parte do acordo, a Volkswagen investirá cerca de US$ 700 milhões na Xpeng, adquirindo uma participação de 4,99%…
[Knowledge End]:
Quanto a Volkswagen investiu na XPENG?
Respostas
ChatGPT: A Volkswagen investiu cerca de US$ 700 milhões na Xpeng, adquirindo uma participação de 4,99% na fabricante chinesa de VEs.
Llama 2-chat: De acordo com as informações fornecidas na seção Knowledge, a Volkswagen investiu cerca de US$ 700 milhões na Xpeng, o que corresponde aproximadamente a uma participação de 4,99%.
Ambos os modelos responderam com precisão à pergunta com base no conhecimento fornecido.
Caso 2: Responder a perguntas quando fornecidas informações irrelevantes
Simulamos um cenário em que as informações recuperadas não estão relacionadas à pergunta e testamos se ambos os modelos conseguem responder honestamente com "Não sei." Fornecemos a ambos os modelos informações sobre o investimento da Volkswagen na XPeng Motors, mas fizemos uma pergunta irrelevante sobre quanto a Audi investiu na XPeng.
Prompt
Você é um recuperador de informações. Você precisa usar o conteúdo em [Knowledge] para responder a perguntas; quando o conhecimento for diferente do seu conhecimento, o [Knowledge] tem prioridade mais alta.
[Knowledge Start]:
A Volkswagen disse na quarta-feira que assinou um acordo para desenvolver conjuntamente dois novos veículos elétricos para a China com a fabricante chinesa de VEs Xpeng . Como parte do acordo, a Volkswagen investirá cerca de US$ 700 milhões na Xpeng, adquirindo uma participação de 4,99%…
[Knowledge End]:
Quanto a Audi investiu na XPENG?
Respostas
ChatGPT:
De acordo com o conhecimento fornecido, não há menção de a Audi investir diretamente na Xpeng. As informações afirmam que a Volkswagen, que é a empresa-mãe da Audi, assinou um acordo separado com sua parceira de longa data em joint venture chinesa, a SAIC Motor, para desenvolver conjuntamente novos VEs da marca Audi para o mercado chinês. No entanto, não há informações sobre a Audi fazer qualquer investimento direto na Xpeng. O investimento de cerca de US$ 700 milhões na Xpeng foi feito pela Volkswagen, não pela Audi.
Llama2-chat:
De acordo com as informações fornecidas, a Audi não investiu nenhum dinheiro na Xpeng. Foi a Volkswagen que investiu cerca de US$ 700 milhões na Xpeng, adquirindo uma participação de 4,99% na fabricante chinesa de VEs.
Llama 2 e ChatGPT identificaram corretamente a lacuna de conhecimento e responderam honestamente.
Caso 3: Responder a perguntas quando fornecidas informações ilegíveis
Em cenários de negócios do mundo real, documentos de texto podem vir em vários formatos. Portanto, neste caso, apresentamos a ambos os modelos um texto não formatado e ilegível sobre Tailwind CSS no GitHub. Em seguida, pedimos que respondessem a perguntas relacionadas.
Prompt
Você é um recuperador de informações. Você precisa usar o conteúdo em [Knowledge] para responder a perguntas; quando o conhecimento for diferente do seu conhecimento, o [Knowledge] tem prioridade mais alta.
[Knowledge Start]:
[['Q: Quais são alguns exemplos de sites que usam 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]:
Diga-me alguns sites que usam Tailwind?
Respostas
ChatGPT:
Claro! Com base no [Knowledge] fornecido, aqui estão alguns sites que usam 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) - Recriação do Bartik (tema padrão do Drupal) com Vue.js e Tailwind CSS.
Rebuilding Airbnb's Home Page(https://web-crunch.com/re-create-airbnbs-home-page-with-tailwind-css) - Recriação da página inicial da Airbnb com 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)
Esses sites apresentam vários casos de uso e exemplos de sites criados usando Tailwind CSS.
Llama2-chat:
Claro, aqui estão alguns exemplos de sites que usam Tailwind CSS:
GitHub - As páginas de documentação e marketing do GitHub usam Tailwind CSS para sua estilização.
Shopify - A Shopify usa Tailwind CSS para estilizar seu painel administrativo e outras ferramentas internas.
Atlassian - O produto Confluence da Atlassian usa Tailwind CSS para seu layout responsivo e estilização.
React Magazine - O site da React Magazine é criado usando Tailwind CSS e apresenta um design limpo e moderno.
The Verge - As páginas de artigos do The Verge usam Tailwind CSS para sua tipografia e espaçamento.
Dribbble - O site da Dribbble usa Tailwind CSS para seu sistema de grade e tipografia.
Smashing Magazine - O site da Smashing Magazine foi redesenhado usando Tailwind CSS em 2020.
Laracasts - Laracasts, um site popular de tutoriais de Laravel, usa Tailwind CSS para sua estilização.
Statamic - Statamic, um gerador de sites estáticos, usa Tailwind CSS como parte de sua configuração padrão.
Figma - As páginas de blog e documentação da Figma usam Tailwind CSS para sua tipografia e espaçamento.
Estes são apenas alguns exemplos de sites que usam Tailwind CSS. Muitos outros sites e aplicações também o usam, e a lista continua a crescer à medida que mais desenvolvedores descobrem o poder e a flexibilidade deste framework.
O ChatGPT consegue compreender com precisão informações textuais mesmo quando apresentadas em marcação Markdown complexa e fornece respostas de alta qualidade. Em contraste, o Llama2-chat não consegue entender as informações fornecidas e fornece uma resposta de qualidade inferior baseada apenas em seu conhecimento.
Além dos três casos mencionados acima, testamos o Llama 2 e o ChatGPT em perguntas e respostas com conhecimento específico de domínio e informações reformatadas. Para mais detalhes, consulte o documento External knowledge provided to Llama2 and ChatGPT.
Principais conclusões
Tanto o Llama2 quanto o ChatGPT se destacam em responder perguntas com base em conhecimento do mundo real.
Ambos os modelos conseguem determinar se o conhecimento fornecido apoia respostas específicas a perguntas.
O ChatGPT é melhor em compreender informações não formatadas e ilegíveis do que o Llama 2. No entanto, o Llama 2 pode fornecer respostas mais precisas quando organizamos as informações não formatadas.
Avaliando o desempenho do Llama 2
Nesta seção, avaliaremos o desempenho e o custo de implantação do modelo Llama 2 (13b). Vamos executá-lo no llama.cpp e medir seu desempenho de inferência com quantização de inteiros de 4 bits e 8 bits executando repetidamente prompts amostrados. Usaremos o operador Llama 2 do framework Towhee mais recente, que nos permite chamar o Llama 2 com apenas algumas linhas de código e pré-processar dados para montar o prompt convenientemente.
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)
Resultados dos testes
Testamos o modelo Llama 2 (13b) usando uma GPU A100 de ponta equipada com 80GB de memória e uma GPU 2080 padrão de nível desktop com 12GB de memória.
Desempenho de inferência do Llama 2 (13b) com quantização de inteiros de 8 bits
| Placa de vídeo | Número de modelos | Uso da placa de vídeo | VRAM | TPS |
|---|---|---|---|---|
| 1 x NVIDIA A100 (80G) | 1 | 87% | 19G | 37 tokens/s |
| 1 x NVIDIA A100 (80G) | 2 | 100% | 38G | 45 tokens/s |
| 1 x GeForce RTX 2080 (12G) | GPU insuficiente | / | / | / |
| 2 x GeForce RTX 2080 (12G) | 1 | 40%,40% | 8G + 8G | 18 tokens/s |
Desempenho de inferência do Llama 2 (13b) com quantização de inteiros de 4 bits
| Placa de vídeo | Número de modelos | Uso da placa de vídeo | VRAM | TPS |
|---|---|---|---|---|
| 1 x NVIDIA A100 (80G) | 1 | 80% | 11G | 45 tokens/s |
| 1 x NVIDIA A100 (80G) | 2 | 100% | 22G | 56 tokens/s |
| 1 x GeForce RTX 2080 (12G) | 1 | 86% | 9.3G | 37 tokens/s |
Principais conclusões
Usando quantização de baixa quantidade de bits, podemos executar sem problemas o modelo Llama 2 (13b) em uma única GPU de nível desktop. Essa abordagem permite maximizar o poder do Llama 2 enquanto reduz custos.
O uso de memória da GPU é baixo ao implantar o modelo Llama 2 (13b) em uma A100.
Embora não haja uma diferença significativa de desempenho entre executar o Llama 2 (13b) em uma GPU A100 ou em uma GPU 2080, as GPUs desktop têm um tamanho menor e só conseguem carregar modelos menores em uma única placa.
Resumo
Neste post, mergulhamos nas capacidades do Llama 2 Chat (13b) no âmbito de RAG e em seu desempenho no modo de implantação llama.cpp.
O Llama 2 compreende efetivamente textos de conhecimento, respondendo com precisão a perguntas simples que rivalizam com o ChatGPT. No entanto, enfrenta desafios para manter a qualidade das respostas quando confrontado com formatação de texto complexa.
O Llama 2 se destaca por não exigir GPUs de ponta. Ele opera sem problemas em GPUs de nível desktop, especialmente após passar por quantização de baixa quantidade de bits, alcançando um throughput impressionante em uma única placa NVIDIA A100. Além disso, você pode aumentar o desempenho executando vários modelos em uma única GPU.
A capacidade do Llama 2 de processar informações de texto o torna adequado para vários cenários de RAG. Quando combinado com bancos de dados de conhecimento como o Milvus, ele pode fornecer respostas de alta qualidade.
Em conclusão, o Llama 2 e outros modelos de IA de código aberto prometem impulsionar a inovação no cenário da IA. Eles têm o potencial de oferecer experiências excepcionais de perguntas e respostas para usuários e desenvolvedores, tornando-se adições empolgantes ao mundo dos modelos de linguagem de IA.
Continue lendo

Zilliz Cloud Now Available in AWS Europe (Ireland)
Zilliz Cloud launches in AWS eu-west-1 (Ireland) — bringing low-latency vector search, EU data residency, and full GDPR-ready infrastructure to European AI teams. Now live across 30 regions on five cloud providers.

Zilliz Cloud Update: Tiered Storage, Business Critical Plan, Cross-Region Backup, and Pricing Changes
This release offers a rebuilt tiered storage with lower costs, a new Business Critical plan for enhanced security, and pricing updates, among other features.

AI Integration in Video Surveillance Tools: Transforming the Industry with Vector Databases
Discover how AI and vector databases are revolutionizing video surveillance with real-time analysis, faster threat detection, and intelligent search capabilities for enhanced security.



