목차
반응형
1. 개요
- 지난 시간에 새로운 모델을 학습 하기 위해서는, 비용이 너무 커 개인이 실행하기는 어렵다는 것을 깨닳았다.
- 이번에는 오픈소스 사전 학습된(Pretrain)모델을 파인튜닝(Finetunning)하기위해, 유명한 오픈소스 모델 중 하나인 Llama2 모델을 사용하는 방법부터 알아 보자
2. 모델 종류
2.1.설명
- Llama 2는 7B, 13B, 70B 등 다양한 매개변수 크기의 모델이 있음
- chat: 대화 사용 사례에 최적화된 모델
- hf: RLHF(인간 피드백)으로 조정
2.2. 종류
- meta-llama/Llama-2-7b (링크)
- meta-llama/Llama-2-7b-hf(링크)
- meta-llama/Llama-2-7b-chat(링크)
- meta-llama/Llama-2-7b-chat-hf(링크)
- 나머지는 Llama2 아무거나 들어가서 링크 하단에 나옴
3. 모델 사용 방법
- 먼저 huggingface에 가서 사용 권한을 요청해야 한다. huggingface에서 meta 홈페이지로 갈 수 있는 링크를 클릭해서 권한 요청을 한다.
- 먼저 huggingface에 로그인을 한다.
from huggingface_hub import login
login()
- 가장 작은 사이즈의 모델을 불러와 봅시다.
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("text-generation", model="meta-llama/Llama-2-7b-chat-hf")
4. Llama2 문서 요약
4.1. Overview
- Llama2 모델은 7B ~ 70B개의 매개변수를 가짐
- 채팅에 맞는 언어모델
- Llama2 모델은 bfloat16을 사용하여 훈련되었지만 원래 추론 시에는 float16을 사용
- 추가설명: bfloat16, float16과 달리 정밀도가 높다. 따라서 중요한 숫자를 더 정확하게 표현할 수 있다.
- Llama2 모델 Llama모델과 유사하다. 그룹화된 쿼리 어텐션 (GQA)이 추가되었다.
- Tip
- config.pretraining_tp를 1과 다른값으로 설정 -> 선형 계산이 더 느려지지만, 더 잘 맞춘다.
- 원래 모델에서 pad_id = -1을 사용하며 이는 패딩 토큰이 없음을 의미
- 파라미터를 수정한 후, huggingface에 저장 할 수 있음.
- 스크립트를 실행하려면 충분한 CPU RAM이 필요하며, 가장 큰 모델 버전의 경우 145GB RAM이 필요
- LLaMA 토크나이저는 sentencepiece를 기반으로 하는 BPE 모델이며, 시퀀스를 디코딩할 때 특이한 점은 첫 번째 토큰이 단어의 시작인 경우 (예: "Banana"), 토크나이저가 문자열 앞에 접두어 공백을 추가하지 않음
4.2. Resources
- 블로그 소개
- 블로그 커뮤니티 있음 (Llama2 에 필요한 리소스를 빠르게 모으는 방법, Llama 사용방법 등등..)
- text generation (Colab에서 fine-tune 방법)
- text classification(Colab에서 fine-tune 방법)
- optimization(Colab에서 fine-tune 방법)
- inference (Llama2 실행 방법)
- 배포 (AWS SageMaker로 배포)
4.3. Llama2 구성
- LlamaConfig: 각종 파라미터
- LlamaTokenizer, LlamaTokenizerFast: 토크나이저
- LlamaModel, LlamaForCausalLM, LlamaForSequenceClassification
다음에는 파인튜닝을 실습한 후기에 대한 글을 여러편 작성하고, 마지막으로 모델 구성에 대한 내용과 논문 요약을 하고 이번 글을 마무리 할 것 같습니다.
반응형
'자연어처리 > LLM 모델' 카테고리의 다른 글
[LLM] Google Gemini - 논문 요약 (3) | 2024.09.11 |
---|---|
[LLM] Llama2 - 논문 요약 (2) (3) | 2024.09.11 |
[LLM] Llama1 - 논문 요약 (5) | 2024.09.11 |
LLM공부를 위해 Hugging Face 데이터셋 뒤져본 후기 (3) | 2023.10.11 |
LLM이란? 그리고 공부하려면 (2) | 2023.10.04 |