Zephyr 7B 살펴보기: 최신 대형 언어 모델에 대한 종합 가이드 - KDnuggets

Zephyr 7B 살펴보기: 최신 대형 언어 모델에 대한 종합 가이드 – KDnuggets

소스 노드 : 3084992

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드
님이 촬영 한 사진 Google DeepMind
 

2023년은 대규모 언어 모델과 오픈소스의 해였습니다. 많은 신생 기업과 회사는 ChatGPT 및 Claude와 같은 독점 LLM에 맞서기 위해 모델과 가중치를 오픈 소스로 제공했습니다. 2023년에 중요한 회사와 모델(오픈소스)은 다음과 같습니다.

  • 메타(LLama, LLamav2)
  • TII (팔콘 7B, 40B, 180B)
  • 미스트랄(미스트랄 7B, Mixtral8x7B)

그러나 배포가 상대적으로 쉽고 저렴한 7B 모델은 70B와 같은 더 큰 모델과 동등하지 않습니다. 가장 강력한 오픈 소스 경쟁자는 Mistral 7B로 많은 대형 모델보다 성능이 뛰어납니다.

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드
Mistral-7B의 비교 Mistral.ai
 

그러나 이러한 작은 모델은 여전히 ​​자연스러운 프롬프트에 잘 반응하지 않으며 우수한 프롬프트 엔지니어링이 필요합니다. 

Zephyr 7B는 HuggingFace H4(Helpful, Honest, Harmless, Huggy) 팀이 만든 모델로, 주요 목표는 사용자 의도에 부합하고 더 큰 모델보다 성능이 뛰어난 더 작은 언어 모델을 만드는 것이었습니다.

Zephyr는 주로 Distillation의 힘으로 생성된 Mistral-7B의 정렬 버전이며 학술 및 대화 벤치마크에서 70B 모델과 유사합니다.

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드Zephyr-7B의 성능 비교 | 원천: 제퍼페이퍼

주요 특징들

Zephyr의 뛰어난 성능 뒤에는 H4팀이 사용한 4가지 핵심 기술이 있습니다.

  1. Self-Instruct 데이터 생성 및 DSFT(Distilled Supervised Fine-Tuning)
  2. 피드백 수집
  3. DSFT 모델의 DDPO(Distilled Direct Preference Optimization)

자율 학습 데이터 생성 및 DSFT

전설적으로 감독형 미세 조정(SFT) 고품질 명령어 완성 쌍을 통해 대규모 언어 모델에서 수행됩니다. 이 데이터를 구축하는 데는 비용이 많이 들고 사람의 감독이 필요합니다(Chung et al., 2022; Sanh et al., 2021). 

여기서 흥미로운 접근 방식 중 하나는 교사 모델(이미 학습된 LLM)을 사용하여 지침과 응답을 생성하는 것입니다. 이 증류 기술은 Alpaca(Taori et al., 2023)에서 처음 사용되었으며, 이는 작은 모델이 더 큰 모델보다 성능이 우수하다는 것을 입증했습니다. 증류된 감독 미세 조정.

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드
자가 학습 파이프라인 | 원천: 자기지도서
 

H4 팀은 DSFT 수행에 사용되는 고품질 지도(지시, 완성) 데이터 세트를 구축하기 위해 Zephyr를 사용했습니다. (생성된 지침/완료에 대한 모델 교육은 DSFT: Distilled Supervised Fine-Tuning으로 알려진 증류의 한 형태입니다.)

피드백 수집

대규모 언어 모델은 일반적으로 다음의 도움으로 정렬됩니다. 인간 피드백을 통한 강화 학습(RLHF). 대신 Zephyr는 Ultra Feedback 접근 방식에 따라 더 나은 교사 모델(예: GPT-4)의 피드백을 사용하여 모델의 관심 사항을 조정합니다. 

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드
울트라피드백 구축과정 | 원천: 울트라피드백 논문
 

작동 방식은 SFT의 각 프롬프트 감독 프롬프트가 4개의 모델(Claude, LLama, Falcon 등)에 전달되고 단일 프롬프트에 대한 4개의 응답 각각이 GPT-4의 도움으로 점수가 매겨지는 것입니다. 이제 입력(x), 최고 점수 완료(yw), 낮은 점수 완료(yl)로 표시된 무작위 프롬프트의 데이터 세트가 있습니다. 즉, (x, yw, yl)의 세 개가 있습니다.

선호도 최적화

이 마지막 단계의 목표는 yl(낮은 점수 완료)보다 yw(최고 점수 완료)에서 모델의 선호도를 최대화하는 것입니다. 이는 다음을 사용하여 수행됩니다. DPO (직접 선호도 최적화). DPO를 사용하는 것은 일반 RLHF를 사용하는 것보다 간단하며 직관적으로 RLHF보다 성능이 더 좋습니다. 이 경우의 접근 방식은 다음과 같습니다. dDPO 교사 모델의 도움으로 생성된 정제된 데이터세트를 사용하기 때문입니다.

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드DPO 대 RLHF | 원천: 제퍼페이퍼
 

전체 알고리즘은 다음과 같습니다.

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드
 

그리고 다음 단계로 번역될 수 있습니다:

  1. dSFT 모델에서 (x, yw) 및 (x, yl)에 대한 확률을 계산합니다(순방향 전용).
  2. dDPO 모델에서 (x, yw) 및 (x, yl)에 대한 확률을 계산합니다.
  3. 방정식 1을 계산하고 역전파하여 업데이트합니다. 반복하다

Zephyr가 사용한 기본 모델은 출시 당시 최첨단 오픈소스였던 Mistral-7B입니다. 그들은 TRL 미세 조정 및 정렬을 위한 라이브러리입니다. Deep-Speed ​​Zero 3 및 Flash-Attention 2는 훈련을 최적화하고 속도를 높이며 GPU를 완전히 활용하는 데 사용되었습니다. 모델은 AdamW 최적화 프로그램을 사용하여 훈련되었으며 가중치 감소는 사용되지 않았습니다. 모든 실험은 bfloat16 정밀도를 사용하여 100개의 A16에서 실행되었으며 일반적으로 완료하는 데 2~4시간이 걸렸습니다. 당신은 원본 종이 Zephyr의 훈련 절차에 대한 자세한 내용을 확인하세요.

Zephyr 팀은 최고의 기술을 결합하여 대규모 언어 모델을 교육했으며 단 40B 매개변수로 7B 모델의 성능을 일치시켰고 채팅 모델의 경우 70B와 일치했습니다.

 

Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드Zephyr와 다른 LLM 비교 | 원천: 제퍼페이퍼
Zephyr 7B 살펴보기: 최신 대규모 언어 모델에 대한 종합 가이드Zephyr와 다른 LLM 비교 | 원천: 제퍼페이퍼

Zephyr 모델은 Hugging Face에서 공개적으로 사용 가능하며 다른 언어 모델과 유사하게 사용할 수 있습니다.

import torch
from transformers import pipeline

pipe = pipeline("text-generation",
                model="HuggingFaceH4/zephyr-7b-alpha",  # can also use the beta model
                torch_dtype=torch.bfloat16,
                device_map="auto")

# We use the tokenizer's chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating
messages = [
   {
       "role": "system",
       "content": "You are a friendly chatbot who always responds in the style of a pirate",
   },
   {"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])

출력:

|system|>
You are a friendly chatbot who always responds in the style of a pirate.
|user|>
How many helicopters can a human eat in one sitting?
|assistant|>
Ah, me hearty matey! But yer question be a puzzler! A human cannot eat a helicopter in one sitting, as helicopters are not edible. They be made of metal, plastic, and other materials, not food!

Zephyr-7B는 LLM에서 소형 모델로 증류의 위력을 보여준 소형 모델입니다. MISTRAL-7B를 기반으로 한 결과 모델 ZEPHYR-7B는 7B 매개변수 채팅 모델에 대한 새로운 최첨단을 설정하고 MT-Bench에서 LLAMA2-CHAT-70B보다 성능이 뛰어납니다.

참고자료

  1. Zephyr: LM 정렬의 직접 증류(https://arxiv.org/abs/2310.16944)
  2. HuggingFace Zephyr 블로그(https://huggingface.co/blog/Isamu136/understanding-zephyr)  
  3. 자가 지시: https://arxiv.org/abs/2212.10560
  4. 울트라피드백: https://arxiv.org/abs/2310.01377

 
 

아마드 아니스 현재 에서 일하고 있는 열정적인 머신러닝 엔지니어이자 연구원입니다. redbuffer.ai. Ahmad는 본업 외에도 기계 학습 커뮤니티에 적극적으로 참여하고 있습니다. 그는 개방형 과학에 전념하는 비영리 단체인 Cohere for AI의 지역 책임자이자 AWS 커뮤니티 빌더입니다. Ahmad는 Stackoverflow의 활발한 기여자이며 2300+ 포인트를 보유하고 있습니다. 그는 OpenAI의 Shap-E를 포함하여 많은 유명한 오픈 소스 프로젝트에 기여했습니다.

타임 스탬프 :

더보기 너 겟츠