AI 모델 및 플랫폼
LLama 2: 자연어 이해와 생성 AI의 새로운 시대
대규모 언어 모델(Large Language Models, LLMs)은 복잡한推論 작업을 수행할 수 있는 잠재력을 보여주었으며, 프로그래밍과 창작 쓰기와 같은 특수 도메인에서 유용합니다. 그러나 LLMs의 세계는 단순히 플러그 앤 플레이天堂이 아닙니다. 사용성, 안전성, 계산 요구와 관련된 문제가 있습니다. 이 기사에서는 LLama 2의 기능에 대해 자세히 살펴보고, Hugging Face와 T4 GPU를 사용하여 Google (GOOGL ) Colab에서 이 고성능 LLM을 설정하는 자세한 단계를 제공합니다.
Meta와 Microsoft의 협력을 통해 개발된 이 오픈 소스 대규모 언어 모델은 생성 AI와 자연어 이해의 영역을 재정의하려고 합니다. LLama 2는 단순히 테라바이트의 데이터로 훈련된 통계 모델이 아닙니다. 그것은 철학의 구현입니다. 특히 생성 AI 영역에서 오픈 소스 접근 방식을 강조하는 철학입니다.
LLama 2와 그 대화 최적화 버전인 LLama 2-Chat은 최대 70억 매개변수를 갖습니다.它们는 인간의 선호도와 더욱 일치하도록 설계된 미세 조정 프로세스를 거칩니다. 이 수준의 세부 조정은 일반적으로 폐쇄형 “제품” LLMs, 즉 ChatGPT 및 BARD와 같은 모델에서만 볼 수 있습니다. 이러한 모델은 일반적으로 공개 검증 또는 사용자 지정에开放되지 않습니다.
LLama 2의 기술적 깊이
LLama 2 모델을 훈련시키기 위해, 이전 버전과 마찬가지로, 자동 회귀 변환기 아키텍처를 사용하여 자체监督 데이터의 광범위한 코퍼스에서 사전 훈련합니다. 그러나 인간의 행동과 선호도에 더욱 일치하도록 설계된 강화 학습을 사용하여 추가적인 복잡성을 추가합니다. 이는 계산적으로 비용이 많이 들지만 모델의 안전성과 효과성을 개선하는 데 필수적입니다.
사전 훈련 및 데이터 효율성
LLama 2의 기초적인 혁신은 사전 훈련 체제에 있습니다. 모델은 이전 버전인 LLama 1에서 힌트를 얻지만, 성능을 높이기 위해 몇 가지 중요한 개선점을 도입합니다. 특히, 훈련된 토큰의 총 수에서 40%의 증가와 컨텍스트 길이의 두 배 확장이 두드러집니다. 또한, 모델은 추론의 확장성을 높이기 위해 그룹 쿼리 주의(GQA)를 활용합니다.
감독된 미세 조정(Supervised Fine-Tuning, SFT) 및 인간 피드백을 통한 강화 학습(Reinforcement Learning with Human Feedback, RLHF)
LLama-2-Chat은 엄격하게 감독된 미세 조정과 인간 피드백을 통한 강화 학습을 거쳤습니다. 이 контек스트에서, 감독된 미세 조정은 RLHF 프레임워크의 필수적인 구성 요소로, 모델의 응답을 인간의 선호도와 기대에 더욱 일치하도록 세부 조정합니다.
OpenAI는 InstructGPT에서 사용된 SFT 및 RLHF 방법론에 대한 통찰력을 제공했습니다. LLama 2와 마찬가지로, InstructGPT도 이러한 고급 훈련 기술을 사용하여 모델의 성능을 최적화합니다.
아래 이미지의 1단계는 감독된 미세 조정을 중점으로 하고, 이후 단계는 인간 피드백을 통한 강화 학습 프로세스를 완료합니다.
감독된 미세 조정은 사전 훈련된 대규모 언어 모델을 특정 다운스트림 작업에 최적화하는 전문적인 프로세스입니다. 비감독 방법과 달리, 데이터 검증이 필요하지 않습니다. 감독된 미세 조정은 사전 검증되고 레이블이 지정된 데이터셋을 사용합니다.
일반적으로 이러한 데이터셋을 수집하는 것은 비용이 많이 들고 시간이 많이 걸리는 작업입니다. LLama 2의 접근 방식은 품질을 양보다 우선시했습니다. 27,540개의 주석만으로, Meta의 팀은 인간 주석자와 경쟁할 수 있는 성능 수준을 달성했습니다. 이는 깨끗한 데이터셋이면 높은 품질의 결과를 도출할 수 있다는 최근 연구와 일치합니다.
감독된 미세 조정 프로세스에서, 사전 훈련된 LLM은 레이블이 지정된 데이터셋에 노출되며, 감독 학습 알고리즘이 작동합니다. 모델의 내부 가중치는 작업별 손실 함수에서 계산된 그래디언트에 따라 재조정됩니다. 이 손실 함수는 모델의 예측 출력과 실제 레이블 간의 불일치를 양적화합니다.
이 최적화로 모델은 레이블이 지정된 데이터셋 내에 포함된 세부 패턴과 뉴앙스를 이해할 수 있습니다. 결과적으로, 모델은 일반화된 도구가 아니라 목표 작업을 높은 정확도로 수행할 수 있는 전문 자산으로 발전합니다.
인간 피드백을 통한 강화 학습은 모델의 행동을 인간의 선호도에 더욱 일치하도록 하는 다음 단계입니다.
조정 단계는 인간 피드백을 통한 강화 학습을 사용하여 중요도 샘플링과 근사 정책 최적화와 같은 기술을 사용하여 알고리즘 노이즈를 도입하여 로컬 최적을 피합니다. 이 반복적인 미세 조정은 모델을 개선하고 인간의 기대에 더욱 일치하도록 출력을 조정합니다.
LLama 2-Chat은 이진 비교 프로토콜을 사용하여 인간 선호도 데이터를 수집하여 질적 접근 방향으로의显著한 경향을 보입니다. 이 메커니즘은 보상 모델을 정보로 제공하며, 이후 대화 AI 모델의 미세 조정을 위해 사용됩니다.
고스트 주의: 다중 회신 대화
Meta는 LLama 2의 성능을 다중 회신 대화에서 향상시키기 위해 새로운 기능인 고스트 주의(GAtt)를 도입했습니다. 이는 지속적인 대화에서 컨텍스트 손실 문제를 효과적으로 해결합니다. 고스트 주의는 초기 지침과 모든 후속 사용자 메시지를 연결하는 앵커 역할을 하며, 강화 학습 기술과 결합하여 더 긴 대화에서 일관된 사용자와 일치하는 응답을 생성하는 데 도움이 됩니다.
Meta Git 저장소에서 download.sh 사용
- Meta 웹사이트 방문: Meta의 공식 LLama 2 사이트로 이동하여 ‘모델 다운로드’를 클릭합니다.
- 세부 정보 입력: 条件과 규정을 읽고 동의하여 진행합니다.
- 이메일 확인: 양식을 제출하면 Meta에서 모델을 다운로드할 수 있는 링크가 포함된 이메일을 받습니다.
- download.sh 실행: Git 저장소를 클론하고
download.sh스크립트를 실행합니다. 이 스크립트는 24시간 후에 만료되는 Meta의 URL을 사용하여 인증을 요청하며, 모델의 크기(7B, 13B, 또는 70B)를 선택할 수 있습니다.
Hugging Face에서
- 승인 이메일 수신: Meta에서 접근 권한을 얻은 후, Hugging Face로 이동합니다.
- 접근 요청: 원하는 모델을 선택하고 접근 권한을 요청합니다.
- 승인: 1~2일 내에 ‘접근 권한 승인’ 이메일을 받습니다.
- 접근 토큰 생성: Hugging Face 계정의 ‘설정’으로 이동하여 접근 토큰을 생성합니다.
Transformers 4.31 릴리스는 LLama 2와 완전히 호환되며, Hugging Face 생태계 내에서 많은 도구와 기능을 제공합니다. 훈련 및 추론 스크립트, bitsandbytes와의 4비트 양자화, Parameter Efficient Fine-tuning(PEFT) 등이 포함됩니다. 시작하려면最新의 Transformers 릴리스를 사용하고 Hugging Face 계정에 로그인했는지 확인합니다.
Google Colab 환경에서 LLama 2 모델 추론을 실행하는 단계별 가이드입니다:
패키지 설치
<p>!pip install transformers !huggingface-cli login
필요한 Python 라이브러리 가져오기.
from transformers import AutoTokenizer import transformers import torch
모델과 토크나이저 초기화
이 단계에서 사용할 LLama 2 모델을 지정합니다. 이 가이드에서는 meta-llama/Llama-2-7b-chat-hf를 사용합니다.
model = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(model)
파이프라인 설정
특정 설정으로 텍스트 생성을 위한 Hugging Face 파이프라인을 사용합니다.
pipeline = transformers.pipeline( "text-generation", model=model, torch_dtype=torch.float16, device_map="auto")
텍스트 시퀸스 생성
마지막으로, 파이프라인을 실행하고 입력에 따라 텍스트 시퀸스를 생성합니다.
sequences = pipeline(
'인공 지능 분야의 주요 기여자는 누구입니까?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"결과: {seq['generated_text']}")
A16Z의 LLama 2 UI
Andreessen Horowitz(A16Z)는 LLama 2를 위한 최신 Streamlit 기반 채팅봇 인터페이스를 출시했습니다. GitHub에서 호스팅되며, 이 UI는 세션 채팅 기록을 유지하고 여러 LLama 2 API 엔드포인트를 선택할 수 있는 유연성을 제공합니다. 이 사용자 중심 설계는 개발자와 최종 사용자를 위한 LLama 2와의 상호작용을 간소화하는 것을 목표로 합니다. 관심 있는 사람들을 위해 Llama2.ai에서 라이브 데모를 사용할 수 있습니다.
LLama 2: GPT 모델과 이전 버전 LLama 1과의 차이점
규모의 다양성
다른 언어 모델과 달리 LLama 2는 다양한 매개변수 옵션을 제공합니다. 모델은 7억에서 70억 매개변수까지 규모를 조정할 수 있으므로 다양한 컴퓨팅 요구에 맞는 다양한 구성이 가능합니다.
컨텍스트 길이 향상
LLama 2는 LLama 1보다 컨텍스트 길이가 4K 토큰 더 길어, 더 복잡하고 광범위한 콘텐츠를 이해하고 생성할 수 있습니다.
그룹 쿼리 주의
아키텍처는 이전 토큰 쌍을 캐싱하여 주의 계산을 가속화하는 그룹 쿼리 주의(GQA) 개념을 사용합니다. 이는 모델의 추론 확장성을 개선하여 접근성을 높입니다.
성능 벤치마크
LLama 2는 새로운 성능 표준을 설정했습니다. 이전 버전인 LLama 1을 능가하고 Falcon 및 GPT-3.5와 같은 다른 모델과 경쟁합니다.
LLama 2-Chat의 가장 큰 모델인 70B는 36%의 경우에서 ChatGPT를 능가하고, 31.5%의 경우에서 성능을 일치시킵니다. 출처: 논문
오픈 소스: 커뮤니티의 힘
Meta와 Microsoft는 LLama 2를 단순한 제품이 아닌 커뮤니티 주도 도구로 만들고자 합니다. LLama 2는 연구 및 비상업적 목적으로 무료로 접근할 수 있습니다. 이들은 AI 능력을 민주화하여 스타트업, 연구자, 비즈니스에 접근성을 높이고자 합니다. 오픈 소스 패러다임은 모델의 ‘크라우드소싱 트러블슈팅’을 허용합니다. 개발자와 AI 윤리학자는 모델을 스트레스 테스트하고, 취약점을 식별하며, 솔루션을 가속화된 속도로 제공할 수 있습니다.
그러나 라이선스 조건은 일반적으로 허용적이지만, 예외가 있습니다. 7억 명 이상의 월간 사용자를 보유한 대규모 기업인 Google와 같은 경우에는 LLama 2를 사용하기 위해 Meta의 명시적인 승인이 필요합니다. 또한, 라이선스는 LLama 2를 다른 언어 모델을 개선하는 데 사용하는 것을 금지합니다.
현재 LLama 2의 도전
- 데이터 일반화: LLama 2와 GPT-4는 때때로 다양한 작업에서 균일하게 높은 성능을 발휘하지 못합니다. 데이터의 품질과 다양성은 볼륨만큼 중요합니다.
- 모델 투명성: 이전에 AI가 오도할 수 있는 출력을 생성한 경우, 이러한 복잡한 모델의 의사 결정 논리를 탐구하는 것이 중요합니다.
Code LLama – Meta의 최신 출시
Meta는 최근 Code Llama를 발표했습니다. 이는 7B에서 34B까지의 매개변수 크기를 갖는 프로그래밍을 위한 대규모 언어 모델입니다. ChatGPT 코드 인터프리터와 유사하게, Code Llama는 개발자 워크플로우를 간소화하고 프로그래밍을 더 접근하기 쉽게 만들 수 있습니다. 다양한 프로그래밍 언어를 지원하며 Python과 같은 특정 언어에 최적화된 버전도 있습니다. 모델은 다양한 성능 수준을 제공하여 다양한 대기 시간 요구에 대응할 수 있습니다. 오픈 라이선스를 통해 Code Llama는 커뮤니티의 입력을 받아 지속적으로 개선될 수 있습니다.
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
결론
이 기사는 Google Colab에서 Hugging Face 지원을 사용하여 LLama 2 모델을 설정하는 방법을 안내했습니다. LLama 2의 성능은 자동 회귀 변환기 아키텍처에서 인간 피드백을 통한 강화 학습까지 다양한 고급 기술을 사용합니다. 최대 70억 매개변수와 고스트 주의와 같은 기능을 통해, 이 모델은 특정 영역에서 현재 산업 표준을 능가하며, 오픈 소스 특성으로 인해 자연어 이해와 생성 AI의 새로운 시대를 열어갑니다.

















