연구실 과제/Llama와 RAG를 이용한 챗봇 만들기
huggingface에 있는 Llama4 Maverick사용해보기
dongok218
2025. 4. 14. 18:41
from huggingface_hub import login
login("read 토큰")
우선 이런식으로 로그인을 해줘야 한다.
from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch
model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct"
processor = AutoProcessor.from_pretrained(model_id)
model = Llama4ForConditionalGeneration.from_pretrained(
model_id,
attn_implementation="flex_attention",
device_map="auto",
torch_dtype=torch.bfloat16,
)
#텍스트 기반 메세지만 이용
messages = [
{
"role": "user",
"content": [
{"type": "text", "text": "What's the diffrence between RAG and web search in GPT-4?"}
]
}
]
inputs = processor.apply_chat_template(
message,
add_generation_prompt=True,
tokenize=True,
return_dict=True,
return_tensor="pt",
).to(model.device)
outputs = model.generate(
# **inputs이란, inputs이란 딕셔너리를 generate()함수의 인자로 펼쳐서 전달
**inputs,
max_new_tokens=256,
)
#응답 디코딩
response = processor.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])[0]
print(response)
난 huggingface에 있는 'Llama-4-Meverick-17B-128E-Instruct'라이브러리를 사용했다. 참고로 이 라이브러리를 사용하려면 먼저 huggingface에서 해당 자료에 대한 사용 권한을 승인받아야 한다.
🧠 이 모델은 어떤 모델인가요?
meta-llama/Llama-4-Maverick-17B-128E-Instruct
- 이름 의미:
- Llama-4: Meta의 최신 4세대 LLM
- Maverick: LLaMA 4의 고성능 버전
- 17B: 170억 파라미터 (base 크기)
- 128E: 128개의 Experts (MoE 구조)
- Instruct: 대화 지시문에 최적화된 버전
구성:
- ✅ Text + Image 입력 가능 (멀티모달)
- ✅ RAG, 챗봇, 이미지 기반 QA 등 다양한 작업에 활용 가능
요약 📝
항목내용
무엇을? | LLaMA 4 Maverick 모델의 55개 가중치(.safetensors) 파일 |
왜 필요한가? | 모델을 로컬에서 직접 실행하려면 반드시 필요 |
얼마나 큰가? | 전체 용량 약 40~60GB |
끝나면? | Python에서 모델 로딩 후 텍스트/이미지 응답 생성 가능 |