Creative Prompters

Falcon 180B 출시! 본문

콩의 AI 연구 모음

Falcon 180B 출시!

AGI_콩 2023. 9. 6. 22:57

데모 맛보기

https://huggingface.co/spaces/tiiuae/falcon-180b-demo

 

Falcon-180B Demo - a Hugging Face Space by tiiuae

 

huggingface.co

Falcon 180B가 출시되었습니다. 

 

LLaMA 2 70B의 4배에 달하는 컴퓨팅으로 훈련되었습니다. 

 

기능 면에서 GPT-3.5와 GPT-4 사이에 위치합니다. 

 

이제 GPT-4 수준의 오픈 소스 모델 출시까지 두 달도 채 남지 않았습니다!

날개를 펼쳐보세요: Falcon 180B 출시

소개

오늘 HuggingFace에 TII의 Falcon 180B가 등장하게 되어 기쁘게 생각합니다 ! Falcon 180B는 개방형 모델에 대한 새로운 최첨단 기술을 제시합니다. 이는 1,800억 개의 매개변수를 포함하는 공개적으로 사용 가능한 가장 큰 언어 모델이며 TII의 RefinedWeb 데이터 세트 를 사용하여 3조 5천억 개의 대규모 토큰에 대해 훈련되었습니다 . 이는 개방형 모델에 대한 가장 긴 단일 에포크 사전 훈련을 나타냅니다. Hugging Face Hub( 기본 및 채팅 모델) 에서 모델을 찾고 Falcon Chat 데모 공간 에서 모델과 상호 작용할 수 있습니다 . 기능 측면에서 Falcon 180B는 자연어 작업 전반에 걸쳐 최첨단 결과를 달성합니다. (사전 훈련된) 개방형 액세스 모델의 리더보드 1위를 차지하며 PaLM-2와 같은 독점 모델과 경쟁합니다. 아직 확실하게 순위를 매기기는 어렵지만 PaLM-2 Large와 동등한 것으로 간주되어 Falcon 180B를 대중에게 가장 유능한 LLM 중 하나로 만듭니다. 이 블로그 게시물에서는 몇 가지 평가 결과를 살펴보고 Falcon 180B가 왜 그렇게 좋은지 살펴보고 모델을 사용하는 방법을 보여줍니다.

Falcon-180B란 무엇입니까?

Falcon 180B 는 Falcon 제품군의 이전 릴리스에 이어 TII 에서 출시한 모델입니다 . 아키텍처 측면에서 Falcon 180B는 Falcon 40B 의 확장 버전 이며 향상된 확장성을 위한 다중 쿼리 주의와 같은 혁신을 기반으로 합니다. 아키텍처에 대해 자세히 알아보려면 Falcon을 소개하는 초기 블로그 게시물을 검토하는 것이 좋습니다 . Falcon 180B는 총 ~7,000,000 GPU 시간 동안 Amazon SageMaker를 사용하여 최대 4096개의 GPU에서 3조 5천억 개의 토큰을 동시에 훈련했습니다. 이는 Falcon 180B가 Llama 2보다 2.5배 더 크고 4배 더 많은 컴퓨팅으로 훈련되었음을 의미합니다. Falcon 180B의 데이터 세트는 주로 RefinedWeb 의 웹 데이터 (~85%)로 구성됩니다. 또한 대화, 기술 문서, 코드의 작은 부분(~3%)과 같은 선별된 데이터의 혼합에 대해 교육을 받았습니다. 이 사전 훈련 데이터 세트는 3조 5천억 개의 토큰조차도 한 시대보다 적게 구성될 만큼 충분히 큽니다. 출시된 채팅 모델은 여러 대규모 대화 데이터 세트가 혼합된 채팅 및 지침 데이터 세트에서 미세 조정되었습니다. ✌️상업적 사용: Falcon 180b는 상업적으로 사용될 수 있지만 "호스팅 사용"을 제외하고 매우 제한적인 조건에서 사용할 수 있습니다. 상업적 목적으로 사용하는데 관심이 있는 경우 라이선스를 확인하고 법무팀에 문의하는 것이 좋습니다 .

팔콘 180B는 얼마나 좋은가요?

Falcon 180B는 현재 공개적으로 출시된 최고의 LLM으로 MMLU에서 Llama 2 70B 및 OpenAI의 GPT-3.5를 능가하며 HellaSwag, LAMBADA, WebQuestions, Winogrande, PIQA, ARC, BoolQ, CB, COPA에서 Google의 PaLM 2-Large와 동등합니다. , RTE, WiC, WSC, ReCoRD. Falcon 180B는 일반적으로 평가 벤치마크에 따라 GPT 3.5와 GPT4 사이에 위치하며 이제 공개적으로 출시되었으므로 커뮤니티의 추가 미세 조정이 매우 흥미로울 것입니다.

Hugging Face Leaderboard에서 68.74점을 획득한 Falcon 180B는 공개적으로 출시된 사전 훈련된 LLM 중 가장 높은 점수를 받아 Meta의 LLaMA 2(67.35)를 능가합니다.

모델크기리더보드 점수상업적 사용 또는 라이센스사전 훈련 기간

180B 68.74 🟠 3,500B
라마 2 70B 67.35 🟠 2,000B
야마 65B 64.23 🔴 1,400B
40B 61.48 🟢 1,000B
MPT 30B 56.15 🟢 1,000B

 

양자화된 Falcon 모델은 벤치마크 전체에서 유사한 측정항목을 유지합니다. torch.float16, 8bit, 를 평가해도 결과는 비슷했습니다 4bit. Open LLM 리더보드 에서 결과를 확인하세요 .

팔콘 180B를 어떻게 사용하나요?

Falcon 180B는 Transformers 버전 4.33부터 Hugging Face 생태계에서 사용할 수 있습니다.

데모

이 공간 이나 아래에 포함된 놀이터 에서 Big Falcon 모델(1,800억 개의 매개변수!)을 쉽게 시험해 볼 수 있습니다 .

<script type="module" src=" https://gradio.s3-us-west-2.amazonaws.com/3.42.0/gradio.js"> </script>

하드웨어 요구 사항

유형친절한최소 요구 사항예시 설정

팔콘 180B 훈련 전체 미세 조정 5120GB 8x 8x A100 80GB
팔콘 180B 훈련 ZeRO-3을 갖춘 LoRA 1280GB 2x 8x A100 80GB
팔콘 180B 훈련 QLoRA 160GB 2x A100 80GB
팔콘 180B 추론 BF16/FP16 640GB 8x A100 80GB
팔콘 180B 추론 GPTQ/int4 320GB 8x A100 40GB

프롬프트 형식

기본 모델에는 프롬프트 형식이 없습니다. 이는 대화형 모델이 아니거나 지침에 따라 훈련된 모델이 아니므로 대화형 응답을 생성할 것이라고 기대하지 마십시오. 사전 훈련된 모델은 추가 미세 조정을 위한 훌륭한 플랫폼이지만 처음부터 직접 사용해서는 안 됩니다. 채팅 모델은 매우 간단한 대화 구조를 가지고 있습니다. System: Add an optional system prompt here User: This is the user input Falcon: This is what the model generates User: This might be a second turn input Falcon: and so on

 

트랜스포머

Transformers 4.33이 출시되면 Falcon 180B를 사용하고 다음과 같은 HF 에코시스템의 모든 도구를 활용할 수 있습니다.

  • 훈련 및 추론 스크립트와 예시
  • 안전한 파일 형식(safetensor)
  • 비트샌드바이트(4비트 양자화), PEFT(매개변수 효율적 미세 조정) 및 GPTQ와 같은 도구와의 통합
  • 보조 생성("추측적 디코딩"이라고도 함)
  • 더 큰 컨텍스트 길이를 위한 RoPE 확장 지원
  • 풍부하고 강력한 생성 매개변수

모델을 사용하려면 해당 라이센스와 사용 약관에 동의해야 합니다. Hugging Face 계정에 로그인했는지 확인하고 다음이 최신 버전인지 확인하세요 transformers. pip install --upgrade transformers huggingface-cli login

 

bfloat16 이것이 NET에서 기본 모델을 사용하는 방법입니다 bfloat16. Falcon 180B는 대형 모델이므로 위 표에 요약된 하드웨어 요구 사항을 고려하세요. from transformers import AutoTokenizer, AutoModelForCausalLM import transformers import torch model_id = "tiiuae/falcon-180B" tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, device_map="auto", ) prompt = "My name is Pedro, I live in" inputs = tokenizer(prompt, return_tensors="pt").to("cuda") output = model.generate( input_ids=inputs["input_ids"], attention_mask=inputs["attention_mask"], do_sample=True, temperature=0.6, top_p=0.9, max_new_tokens=50, ) output = output[0].to("cpu") print(tokenizer.decode(output)

 

그러면 다음과 같은 출력이 생성될 수 있습니다. My name is Pedro, I live in Portugal and I am 25 years old. I am a graphic designer, but I am also passionate about photography and video. I love to travel and I am always looking for new adventures. I love to meet new people and explore new places.

 

8비트 및 4비트bitsandbytes Falcon 180B의 8비트 및 4비트 양자화 버전은 레퍼런스와 비교하여 평가에서 거의 차이가 없습니다 bfloat16! 이는 하드웨어 요구 사항을 줄이기 위해 양자화된 버전을 자신있게 사용할 수 있으므로 추론에 있어 매우 좋은 소식입니다. 하지만 8비트 추론은 .NET 에서 모델을 실행하는 것보다 훨씬 빠릅니다4-bit . 양자화를 사용하려면 라이브러리를 설치 bitsandbytes하고 모델을 로드할 때 해당 플래그를 활성화하기만 하면 됩니다. model = AutoModelForCausalLM.from_pretrained( model_id, torch_dtype=torch.bfloat16, load_in_8bit=True, device_map="auto", )

 

채팅 모델 위에서 언급했듯이 대화를 따르도록 미세 조정된 모델 버전은 매우 간단한 교육 템플릿을 사용했습니다. 채팅 스타일 추론을 실행하려면 동일한 패턴을 따라야 합니다. 참고로 Chat 데모에서 다음과 같은 format_prompt 함수를 살펴보세요 .

def format_prompt(message, history, system_prompt):
    prompt = ""
    if system_prompt:
        prompt += f"System: {system_prompt}\n"
    for user_prompt, bot_response in history:
        prompt += f"User: {user_prompt}\n"
        prompt += f"Falcon: {bot_response}\n"
        prompt += f"User: {message}\nFalcon:"
    return prompt

보시다시피 사용자의 상호 작용과 모델의 응답 앞에는 User: 및 Falcon: 구분 기호가 있습니다. 우리는 이를 함께 연결하여 대화의 전체 기록을 포함하는 프롬프트를 형성합니다. 생성 스타일을 조정하기 위한 시스템 프롬프트를 제공할 수 있습니다.

추가 리소스