Llama 2 Chat과 ChatGPT 비교: 질의응답에서의 성능
AI 커뮤니티는 Meta AI가 최근 출시한 Llama 2에 큰 기대를 보이고 있습니다. 폐쇄형 소스인 ChatGPT와 달리, Llama 2는 오픈 소스이며 상업용 애플리케이션에서 무료로 사용할 수 있습니다. 인상적인 규모와 경쟁력 있는 답변 품질을 갖춘 Llama 2는 인공지능 분야에 큰 파장을 일으킬 것입니다.
이 글에서는 Llama 2를 간략히 소개하고, 질문에 답하는 성능을 ChatGPT와 비교해 평가해 보겠습니다.
Llama 2란 무엇인가요?
Llama 2는 OpenAI의 GPT 모델과 Google의 PaLM 2 모델에 대응하여 개발된 Meta AI의 최신 오픈 소스 대규모 언어 모델(LLM)입니다. Llama 2는 연구 또는 상업적 목적으로 누구나 무료로 사용할 수 있습니다.
Llama 2는 세 가지 크기로 제공되며, 각각 인상적인 700억, 1,300억, 7,000억 개의 파라미터를 자랑합니다. 이러한 다양성 덕분에 개발자는 프로젝트 요구 사항에 가장 적합한 모델을 선택할 수 있습니다. Llama 2의 사전 학습 모델은 2조 개의 토큰으로 학습되었으며, GPT-3와 동등한 최대 4096개 토큰의 컨텍스트 길이를 지원합니다.
Llama Chat은 Llama 2의 미세 조정 모델로, 100만 개가 넘는 인간 주석으로 학습되었으며 대화형 AI 시나리오에 맞게 특별히 설계되었습니다. 이 모델은 챗봇, 가상 비서 또는 AI 기반 대화형 시스템을 구축하려는 사람들에게 매력적입니다.
Llama 2 환각과 RAG
다른 많은 LLM과 마찬가지로, Llama 2는 공개적으로 이용 가능한 데이터로 사전 학습되었으며 더 관련성 높은 지식이 필요할 때 환각 문제에 직면합니다. AI 커뮤니티는 이러한 과제를 해결하기 위해 검색 증강 생성(Retrieval Augmented Generation, RAG) 개념을 도입했습니다. RAG는 외부에서 검색한 지식을 컨텍스트로 활용하여 모델이 생성한 응답의 정확도를 높입니다.
Towhee 파이프라인에서 RAG가 작동하는 방식
외부 지식으로 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'
Towhee를 사용하여 복잡한 RAG 기반 챗봇을 구축하는 방법에 대해 자세히 알아보려면 검색 증강 생성을 위한 오픈 소스 데모 프로젝트인 Akcio를 확인하세요.
Llama 2와 ChatGPT 평가
이 섹션에서는 두 가지 챗봇 모델을 평가합니다: 채팅 지시문에 맞게 파인튜닝된 13B 매개변수의 Llama 2 모델인 Llama 2 Chat (13B)와 GPT-3.5 기반의 ChatGPT입니다. 여러 일반적인 시나리오에서 동일한 프롬프트를 사용하여 두 모델을 테스트하겠습니다.
참고: Llama 2와 ChatGPT에 제공하는 외부 지식은 깁니다. 따라서 이 블로그에서는 전체 프롬프트를 표시하지 않습니다. 전체 프롬프트에 관심이 있다면 참고용 별도 문서인 Llama2와 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: 읽을 수 없는 정보가 제공되었을 때 질문에 답하기
실제 비즈니스 시나리오에서 텍스트 문서는 다양한 형식으로 제공될 수 있습니다. 따라서 이 경우, 우리는 두 모델 모두에게 GitHub의 Tailwind CSS에 관한 형식이 없고 읽기 어려운 텍스트를 제공했습니다. 그런 다음 관련 질문에 답하도록 요청했습니다.
프롬프트
당신은 정보 검색자입니다. 질문에 답하기 위해 [Knowledge]의 내용을 사용해야 하며, 지식이 당신의 지식과 다를 경우 [Knowledge]가 더 높은 우선순위를 가집니다.
[Knowledge Start]:
[['Q: Tailwind CSS를 사용하는 웹사이트의 예시는 무엇인가요?', 'A: ## 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) - Vue.js와 Tailwind CSS로 Bartik(Drupal의 기본 테마)을 재구축.
Rebuilding Airbnb's Home Page(https://web-crunch.com/re-create-airbnbs-home-page-with-tailwind-css) - Tailwind CSS로 Airbnb 홈페이지를 재구축.
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 - Atlassian의 Confluence 제품은 반응형 레이아웃과 스타일링에 Tailwind CSS를 사용합니다.
React Magazine - React Magazine의 웹사이트는 Tailwind CSS를 사용해 구축되었으며 깔끔하고 현대적인 디자인을 특징으로 합니다.
The Verge - The Verge의 기사 페이지는 타이포그래피와 간격에 Tailwind CSS를 사용합니다.
Dribbble - Dribbble의 웹사이트는 그리드 시스템과 타이포그래피에 Tailwind CSS를 사용합니다.
Smashing Magazine - Smashing Magazine의 웹사이트는 2020년에 Tailwind CSS를 사용해 재디자인되었습니다.
Laracasts - 인기 있는 Laravel 튜토리얼 사이트인 Laracasts는 스타일링에 Tailwind CSS를 사용합니다.
Statamic - 정적 사이트 생성기인 Statamic은 기본 설정의 일부로 Tailwind CSS를 사용합니다.
Figma - Figma의 블로그 및 문서 페이지는 타이포그래피와 간격에 Tailwind CSS를 사용합니다.
이는 Tailwind CSS를 사용하는 웹사이트의 몇 가지 예시에 불과합니다. 다른 많은 웹사이트와 애플리케이션도 이를 사용하고 있으며, 더 많은 개발자들이 이 프레임워크의 강력함과 유연성을 발견함에 따라 그 목록은 계속 늘어나고 있습니다.
ChatGPT는 복잡한 Markdown 마크업으로 제시된 경우에도 텍스트 정보를 정확하게 이해하고 고품질의 답변을 제공합니다. 반면 Llama2-chat은 제공된 정보를 이해하지 못하고 오직 자체 지식에 기반한 낮은 품질의 답변을 제공합니다.
위에서 언급한 세 가지 사례 외에도, 우리는 도메인별 지식과 재구성된 정보를 활용한 질의응답에서 Llama 2와 ChatGPT를 테스트했습니다. 자세한 내용은 Llama2 및 ChatGPT에 제공된 외부 지식 문서를 참조하세요.
주요 요점
Llama2와 ChatGPT 모두 실제 세계 지식을 기반으로 질문에 답하는 데 뛰어납니다.
두 모델 모두 제공된 지식이 질문에 대한 특정 답변을 뒷받침하는지 판단할 수 있습니다.
ChatGPT는 Llama 2보다 형식이 없고 읽기 어려운 정보를 더 잘 이해합니다. 그러나 형식이 없는 정보를 정리하면 Llama 2가 더 정확한 답변을 제공할 수 있습니다.
Llama 2의 성능 평가
이 섹션에서는 Llama 2 (13b) 모델의 성능과 배포 비용을 평가합니다. llama.cpp에서 실행하고, 샘플링된 프롬프트를 반복 실행하여 4비트 및 8비트 정수 양자화에서의 추론 성능을 측정합니다. 최신 Towhee 프레임워크의 Llama 2 오퍼레이터를 사용하여 몇 줄의 코드만으로 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)
테스트 결과
80GB 메모리를 탑재한 하이엔드 A100 GPU와 12GB 메모리를 탑재한 표준 데스크톱급 2080 GPU를 사용하여 Llama 2 (13b) 모델을 테스트했습니다.
8비트 정수 양자화에서의 Llama 2 (13b) 추론 성능
| 그래픽 카드 | 모델 수 | 그래픽 카드 사용량 | 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 부족 | / | / | / |
| 2 x GeForce RTX 2080 (12G) | 1 | 40%,40% | 8G + 8G | 18 tokens/s |
4비트 정수 양자화에서의 Llama 2 (13b) 추론 성능
| 그래픽 카드 | 모델 수 | 그래픽 카드 사용량 | 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 |
핵심 요점
저비트 양자화를 사용하면 단일 데스크톱급 GPU에서 Llama 2 (13b) 모델을 원활하게 실행할 수 있습니다. 이 접근 방식은 비용을 줄이면서 Llama 2의 성능을 극대화할 수 있게 해줍니다.
A100에 Llama 2 (13b) 모델을 배포할 때 GPU 메모리 사용량이 낮습니다.
A100 GPU와 2080 GPU에서 Llama 2 (13b)를 실행하는 것 사이에는 성능 차이가 크지 않지만, 데스크톱 GPU는 크기가 더 작아 단일 카드에 더 작은 모델만 로드할 수 있습니다.
요약
이 게시물에서는 RAG 영역에서 Llama 2 Chat (13b)의 기능과 llama.cpp 배포 모드에서의 성능을 살펴보았습니다.
Llama 2는 지식 텍스트를 효과적으로 이해하며, ChatGPT에 필적할 만큼 간단한 질문에 정확하게 답합니다. 그러나 복잡한 텍스트 형식을 마주할 때는 답변 품질을 유지하는 데 어려움을 겪습니다.
Llama 2는 하이엔드 GPU가 필요하지 않다는 점에서 두드러집니다. 데스크톱급 GPU에서 원활하게 작동하며, 특히 저비트 양자화를 거친 후 단일 NVIDIA A100 카드에서 인상적인 처리량을 달성합니다. 또한 단일 GPU에서 여러 모델을 실행하여 성능을 향상시킬 수 있습니다.
Llama 2의 텍스트 정보 처리 능력은 다양한 RAG 시나리오에 적합하게 만듭니다. Milvus와 같은 지식 데이터베이스와 함께 사용하면 고품질 답변을 제공할 수 있습니다.
결론적으로, Llama 2와 다른 오픈 소스 AI 모델들은 AI 환경에서 혁신을 이끌 것을 약속합니다. 이들은 사용자와 개발자에게 뛰어난 질의응답 경험을 제공할 잠재력을 지니고 있어, AI 언어 모델의 세계에 흥미로운 추가 요소가 됩니다.
계속 읽기

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

Why AI Databases Don't Need SQL
Whether you like it or not, here's the truth: SQL is destined for decline in the era of AI.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.



