[Model Review] LG의 강력한 LLM 모델 Exaone-3.0

nebchi·2024년 8월 13일

🧠 EXAONE-3.0

  • LG에서 2024년 8월 7일, 최첨단 LLM 모델 EXAONE-3.0을 발표했습니다.
  • 모델의 파라미터는 7.8B로, 국내에서는 삼성의 가우스, NC의 Varco, KT의 믿음 이후 공개된 대표 모델입니다.
  • 🇰🇷 특히 한국에서 개발된 오픈소스 LLM 중 가장 높은 성능을 보유한 것으로 평가됩니다.
  • 🫢 단, 비상업적 라이선스만 허용되므로 활용 시 이 점 반드시 유의하세요!

🧱 Model Architecture

  • RoPE (Rotary Position Embedding) 를 통해 컨텍스트 길이를 최대 4K까지 확장했습니다.
    다만, 최신 모델들이 8K 이상을 기본으로 지원하는 추세를 고려하면 다소 아쉬운 부분입니다.
  • GQA (Grouped Query Attention) 구조를 채택하여 그룹환된 Q벡터에 각 하나의 K와V 벡터를 매핑하여 계산량을 줄이면서 중요한 정보에 집중할 수 있도록 설계되어 효율성과 성능을 모두 확보했습니다.

🔤 Tokenizer

  • Vocab size 약 100K로, 대규모 토크나이저 덕분에 한국어뿐 아니라 영어 성능도 우수합니다.

  • 위 그래프에서 확인할 수 있듯, 최신 모델인 LLaMA3.1, Gemma2와 비교해도 영어 텍스트 처리 성능이 뛰어난 편이며, 한국어 성능은 특히 우수하여 빠른 응답과 높은 정확도를 보여줍니다.

📚 Pre-training

  • 사전학습 데이터는 웹 크롤링 데이터, 공개 데이터셋, 내부 데이터를 기반으로 구성되었습니다.
  • 전처리 과정
    • 규칙 기반 필터링
    • URL 기반 필터링
    • 개인 식별 정보 제거
  • 최종적으로 약 8T 토큰으로 학습을 수행했습니다.

🛠️ Post-training

  • SFT (Supervised Fine-Tuning)DPO (Direct Preference Optimization) 를 활용해 대화 능력을 향상시켰습니다.
  1. SFT
    → 다양한 고품질 지시문을 활용해 모델이 새로운 작업에 일반화할 수 있도록 학습
  2. DPO
    인간의 선호도 기반으로 응답 품질을 정제하여 사용자 친화적이고 일관성 있는 대화를 생성할 수 있도록 조정
    -> 추가적으로 Off-line DPO 과정을 추가하여 SFT+ On-line DPO로 학습된 모델에서 여러 개의 프롬프트를 주고, 여기에 가장 높은 순위의 Chosen-rejected Pair 데이터셋을 기반으로 추가 학습하여 높은 성능을 발휘

✅ 요약

  • EXAONE-3.0한국어 특화 성능 + 영어 대응 + 대규모 사전학습 + 고급 파인튜닝 기법까지 갖춘
    국내 최고의 공개형 LLM 중 하나입니다.

EXAONE-3.0 사용해보기

사용한 패키지 버전

  • flash_attn == 2.5.9.post1
  • accelerate == 0.30.1
  • torch == 2.4.0
  • transformers == 4.43.3
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline, TextStreamer
import torch

tokenizer = AutoTokenizer.from_pretrained(
    "LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct",
    trust_remote_code=True,
)

model = AutoModelForCausalLM.from_pretrained(
    "LGAI-EXAONE/EXAONE-3.0-7.8B-Instruct",
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map='auto',
)
streamer = TextStreamer(tokenizer)

messages = [
    {"role": "system", "content": "You are EXAONE model from LG AI Research, a helpful assistant."},
    {"role": "user", "content": "세종대왕의 맥북 던짐 사건에 대해 알려줘"},
]

input_ids = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)


output = model.generate(
    input_ids.to("cuda"),
    eos_token_id=tokenizer.eos_token_id,
    max_new_tokens=128
)
print(tokenizer.decode(output[0]))

# 결과
세종대왕과 맥북 던짐 사건에 대한 이야기는 역사적 사실이 아닙니다. 세종대왕(1397-1450)은 조선의 네 번째 왕으로, 한글 창제와 과학기술 발전에 큰 기여를 한 인물입니다. 그는 15세기 중반에 활동했으며, 당시에는 현대적인 전자기기나 컴퓨터가 존재하지 않았습니다.

맥북은 2006년 애플사가 출시한 노트북 컴퓨터로, 세종대왕이 살던 시기와는 약 500년 이상의 차이가 있습니다. 따라서 세종대왕이 맥북을 던졌다는 사건은 역사적 사실이 아니며, 이는 현대의 유머나 풍자적인 이야기일 가능성이 큽니다.

혹시 다른 역사적 질문이나 궁금한 점이 있으시면 말씀해 주세요!
profile
NLP Developer

0개의 댓글