본문 바로가기
AI 언어 모델

🚀EXAONE 3.0 7.8B 리뷰: LG AI 연구소의 혁신적인 언어 모델

by James AI Explorer 2024. 8. 11.
    728x90

    안녕하세요! 오늘은 LG AI 연구소에서 개발한 최첨단 대형 언어 모델, EXAONE 3.0에 대해 알아보겠습니다. EXAONE은 "EXpert AI for EveryONE"이라는 비전을 가지고 인공지능 기술을 통해 전문가 수준의 능력을 대중에게 제공하는 것을 목표로 개발되었으며 , 특히 한국어에서 뛰어난 성능을 보일뿐 아니라, 영어를 포함한 다양한 언어에서도 경쟁력 있는 성과를 보여줍니다. 이 모델은 다양한 크기로 제공되며, 이번에 공개된 7.8B 모델은 비상업적 연구 목적으로 사용할 수 있도록 공개되었습니다. 이 블로그에서는 EXAONE 3.0의 개요, 특징 및 주요 기능과 성능평가 결과에 대해 살펴보겠습니다.

    🚀EXAONE 3.0 7.8B 리뷰: LG AI 연구소의 혁신적인 언어 모델

    "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

    EXAONE 3.0 특징

    EXAONE 3.0은 디코더 전용 트랜스포머 아키텍처7.8B 파라미터를 갖추고 4,096 토큰최대 컨텍스트 길이를 지원하며, RoPE(Rotary Position Embeddings, 회전 위치 임베딩)와 GQA(Grouped Query Attention, 그룹화된 쿼리 어텐션)을 적용해 성능을 최적화했습니다. 이 모델은 영어와 한국어를 모두 지원하는 이중 언어 모델로서 특히 한국어 성능에서 탁월한 결과를 보여주며, 영어에서도 유사한 크기의 최근 출시된 대형 언어 모델들과 경쟁력 있는 성능을 자랑합니다.

     

    EXAONE 3.0의 주요 특징은 다음과 같습니다:

    1) 모델 아키텍처: EXAONE 3.0의 모델 아키텍처는 최신 표준 트랜스포머 기술을 기반으로 구축되었습니다. 모델은 효율적인 계산을 위해 병렬 처리를 극대화하는 구조를 채택하고, 각 레이어마다 셀프 어텐션 메커니즘을 활용하여 입력 데이터의 상호 의존성을 학습합니다. 모델의 각 레이어는 다중 헤드 어텐션 피드포워드 네트워크로 구성되어 있으며, Rotary Position Embeddings (RoPE)와 Grouped Query Attention (GQA)을 사용하여 성능을 최적화했습니다.

    • RoPE: 트랜스포머 모델에서 위치 정보를 효과적으로 인코딩하는 방법으로, 입력 토큰 간의 상대적인 위치 정보를 회전 변환을 통해 표현합니다. 이를 통해 모델은 입력 데이터의 순서에 대한 정보를 유지하면서 더 긴 문맥을 처리할 수 있습니다. RoPE는 기존의 정적 위치 인코딩 방식보다 유연하고, 특히 긴 문서나 문장 내의 관계를 잘 학습할 수 있도록 도와줍니다. 이는 모델의 이해력과 성능을 향상시키는 데 중요한 역할을 합니다.
    • GQA: 트랜스포머 모델의 어텐션 메커니즘을 개선한 방식으로, 쿼리 토큰을 그룹으로 나누어 어텐션 계산을 수행합니다. 이를 통해 계산 복잡도를 줄이고 메모리 사용을 효율적으로 관리할 수 있습니다. 각 그룹 내에서 어텐션을 수행한 후, 그룹 간의 어텐션을 통해 전체 관계를 학습합니다. GQA는 모델의 계산 효율성을 높여 더 빠른 추론 속도를 제공하며, 큰 데이터셋을 처리하는 데 유리한 구조를 제공합니다.

    표준 트랜스포머 구조(좌), RoPE(우, 출처: arXiv:2104.09864v5)

    2) BBPE 토크나이저: EXAONE 3.0 7.8B는 영어와 한국어를 지원하는 이중 언어 모델입니다. 두 언어의 이질적인 언어학적 특성을 고려하여, 특히 한국어의 교착어적 특성(어근에 접사나 조사를 붙이는 언어)을 위해 오픈소스 형태소 분석기, MeCab을 사용해서 미리 텍스트를 토큰으로 분리하는 사전 토큰화를 적용했습니다. 그 후 텍스트를 바이트 단위로 쪼개서 처리하는 BBPE (Byte-level Byte-Pair Encoding) 토크나이저를 102,400의 어휘 크기로 처음부터 학습시켰습니다. 

    항목 BPE (Byte-Pair Encoding) BBPE (Byte-level Byte-Pair Encoding)
    단위 글자(Character) 또는 단어(Subword) 바이트(Byte)
    입력 처리 방식 문자를 기반으로 입력 텍스트를 처리 텍스트를 바이트 시퀀스로 처리
    어휘 생성 자주 등장하는 글자 또는 단어 조합 자주 등장하는 바이트 조합을 어휘로 만듦
    압축률 언어에 따라 다르지만 전반적으로 높은 편 영어에서는 BPE와 유사, 한국어에서는 낮음(과도한 토큰화 방지)
    복잡한 문자 유니코드 문자 등 복잡한 문자 처리에 한계 모든 종류의 유니코드 문자 처리가 가능
    적용 예시 주로 NLP 모델에서 많이 사용 다국어 및 특수 기호가 포함된 텍스트에서 활용

    3) 사전 학습: EXAONE 3.0 7.8B 모델은 총 8조 개의 토큰으로 사전 학습되었습니다. 이는 다른 유사한 크기의 모델들과 비교했을 때 경쟁력 있는 규모입니다. 데이터 처리 과정에서는 규칙 기반 필터링, 기계 학습 기반 필터링, URL 기반 필터링, 퍼지 중복 제거, 개인 식별 정보(PII) 제거 등의 표준 절차를 적용했으며, 법적 위험이 있는 데이터 소스를 제외하는 등 데이터 준수에도 주의를 기울였습니다.

    4) 사후 학습: EXAONE의 명령어 따르기 능력을 향상시키기 위해 두 단계의 사후 학습을 수행했습니다: 지도 미세 조정(SFT)직접 선호도 최적화(DPO)입니다. SFT 단계에서는 다양한 주제와 명령 기능을 정의하고, 이를 바탕으로 실제 사용자 상호작용을 모방한 다중 턴 데이터셋을 생성했습니다. DPO 단계에서는 오프라인 DPO와 온라인 DPO를 순차적으로 적용하여 모델을 인간의 선호도와 일치시켰습니다.

    • 지도 미세 조정(SFT, Supervised Fine-Tuning) SFT는 AI 모델을 훈련할 때 사용하는 방법 중 하나이며, 이 과정에서 사람들이 이미 정답을 알고 있는 질문과 답변 쌍을 모델에게 보여줍니다. 예를 들어, "파리는 프랑스의 수도인가?"라는 질문과 "네, 맞습니다."라는 답변을 모델에게 여러 번 보여주는 것이죠. 이렇게 하면 모델이 이 패턴을 배우게 되고, 이후 비슷한 질문을 받았을 때 더 잘 대답할 수 있게 됩니다.
    • 직접 선호도 최적화(DPO, Direct Preference Optimization) DPO는 모델이 더 사람답게 대답하도록 만드는 방법입니다. 여기서는 사람들이 좋아하는 답변 스타일이나 내용에 맞춰 모델을 조정합니다. 예를 들어, "이 답변이 더 친절하다"거나 "이 답변이 더 정확하다"고 사람들이 평가한 데이터를 사용해 모델이 더 나은 답변을 하도록 최적화합니다. 이는 모델이 단순히 정답을 맞히는 것을 넘어서, 사람들이 더 선호하는 방식으로 답변하도록 하는 데 중점을 둡니다.

    5) 명령어 추종 능력: EXAONE 3.0은 명령어를 따르는 능력을 향상시키기 위해 고급 후처리 기법이 적용되어, 실제 상황에서의 응답 정확도와 일관성을 높였습니다. 먼저, 추가적인 데이터로 특정 작업에 맞게 모델을 재훈련하는 파인튜닝을 실시한 후, 리플레이스먼트를 통해 잘못된 응답을 정확한 것으로 대체하고, 필터링 및 정제를 통해 불필요한 정보를 제거하여 명확한 응답을 제공합니다. 리랭킹 기법을 사용해 생성된 여러 응답 중 가장 적절한 것을 선택하며, 응답 조정을 통해 상황에 맞는 형식과 스타일로 출력을 조정합니다. 이러한 후처리 기법들은 모델이 실제 사용 환경에서 더 신뢰할 수 있는 결과를 제공하도록 돕습니다.

    728x90

    EXAONE 3.0 성능

    EXAONE 3.0 7.8B 모델의 성능은 다양한 벤치마크를 통해 평가되었습니다. 주요 성능 결과는 다음과 같습니다:

    1) 영어 능력: MT-Bench, Arena-Hard-v0.1, WildBench, AlpacaEval 2.0 LC 등의 벤치마크에서 EXAONE은 유사한 크기의 다른 모델들을 능가하는 성능을 보여주었습니다. MT-Bench에서는 9.01점을 기록하여 주목할 만한 성과를 달성했습니다.

    EXAONE 3.0 7.8B 모델 벤치마크 결과
    EXAONE 3.0 7.8B 영어 성능

    EXAONE 3.0 7.8B 모델은 GSM8K와 MATH 데이터셋 모두에서 Llama 3.1과 유사한 성능을 보여주며, 평균적으로 가장 높은 점수를 기록했습니다. 특히 MATH에서 34.4점으로 다른 모델들을 압도했습니다. 이는 EXAONE 3.0이 수학적 문제 해결에 뛰어난 능력을 갖추고 있음을 시사합니다. HumanEval에서는 72.0으로 가장 높은 점수를 기록하며, 코딩 능력에서도 강점을 보입니다. 전반적으로 ChatEXAONE은 구조화된 데이터를 다루는 작업에서 강점을 보이지만, 복잡한 추론이나 과정 설명, 요약 등의 작업에서는 개선의 여지가 있어 보입니다. 이 결과는 ChatEXAONE의 특성과 향후 개선 방향을 제시하고 있습니다.

    ChatEXAONE의 코딩성능

    2) 한국어 능력: KLUE-STS, KoBEST, KoCommonsenseQA 등의 벤치마크에서 다른 모델들을 크게 앞서는 성능을 보여주었으며, KoCHET, KorQUAD, KLUE-NLI 등의 벤치마크에서도 최고의 성능을 달성했습니다. EXAONE 3.0 7.8B 모델은 특히 한국어 성능에서 두각을 나타내며, 영어에서도 유사한 크기의 최신 오픈 모델들과 견줄 만한 성능을 보여주고 있습니다. 이는 EXAONE이 이중 언어 모델로서 뛰어난 균형을 갖추고 있음을 입증합니다.

    EXAONE 3.0 7.8B 한국어 성능

     

    EXAONE 3.0 테스트

    다음은 EXAONE 3.0 모델의 코딩과 추론성능을 실제로 테스트해 보겠습니다. 원본 모델은 허깅페이스에서 접속에러가 계속 발생해서, GGUF 양자화모델 "exaone-3.0-7.8B-it-Q5_K_M.gguf"로컬에서 Open WebUI로 테스트하였으니, 참고하시면 되겠습니다. Ollama 모델로 변환한 모델을 아래 제 계정에 올려놓았으니, 받아서 테스트해 보실 수 있습니다. 

    https://ollama.com/jmpark333/exaone

     

    jmpark333/exaone

    exaone-3.0-7.8B-it-Q5_K_M

    ollama.com

    (2024.10.5 update) Ollama 모델로 변환할때 필요한 Modelfile 공유합니다.

    Modelfile
    0.00MB

    코딩 테스트

    코딩테스트는  edabit.com 코딩 교육 사이트 Python, JavaScript, C++에 대하여 테스트하였으며, 재시도 없이 첫 번째 시도의 채점결과를 그대로 반영하였습니다. 

    exaone-3.0-7.8B-it-Q5_K_M 코딩 테스트
    Python Medium(좌), Hard(우)
    Python Very Hard(좌), Expert(우)
    JavaScript Medium(좌), Hard(우)
    JavaScript Very Hard(좌), Expert(우)
    C++ Medium(좌), Hard(우)
    C++ Very Hard(좌), Expert(우)

     

    코딩 테스트의 결과는 다음과 같습니다. 총 15문제 중 10문제를 맞혔으며, 특히 파이썬에서 좋은 성능을 보였습니다. 

    EXAONE 3.0 7.8B/Pass@1 Easy Medium Hard Very Hard Expert
    Python Pass Pass Fail Pass Pass
    JavaScript Pass Pass Pass Fail Fail
    C++ Pass Pass Pass Fail Fail

    추론 테스트

    다음은 추론테스트입니다. 문제는 총 5문제이며, GPT-4o와 비교한 결과는 아래와 같습니다. 

    EXAONE 3.0 7.8B 첫번째 추론문제 답변화면
    EXAONE 3.0 7.8B 다섯번째 추론문제 답변화면

    문제 정답 EXAONE 3.0  GPT-4o
    5학년과 6학년 학생 160명이 나무 심기에 참가하였습니다.
    6학년 학생들이 각각 평균5그루,5학년 학생들이 각각 평균 3그루씩 심은 결과 모두 560그루를 심었습니다.
    나무심기에 참가한 5,6학년 학생은 각각 몇명일까요?
    5,6학년 학생 모두 평균 3그루씩을 심는 경우 160 * 3 = 480 그루를 심었을 것입니다.
    모두 560그루를 심었기 때문에 80그루를 더 심었습니다.
    따라서 6학년 학생들이 2그루씩 더 많이 심었기 때문에 6학년 학생들은 80/2 = 40 명입니다.
    5학년 학생은 160 - 40 = 120 명입니다.
    Pass Pass
    베티는 새 지갑을 위해 돈을 모으고 있습니다. 새 지갑의 가격은 $100입니다. 베티는 필요한 돈의 절반만 가지고 있습니다. 그녀의 부모는 그 목적을 위해 $15를 주기로 결정했고, 할아버지와 할머니는 그녀의 부모들의 두 배를 줍니다. 베티가 지갑을 사기 위해 더 얼마나 많은 돈이 필요한가요? $100/2-($15+$30)=$5 Pass Pass
    어떤 마을에 성실하거나 또는 사기꾼 두 유형의 상인이 있습니다.
    성실한 사람은 영원히 진실된 말만 하고 사기꾼은 영원히 거짓말만 합니다.
    우리는 마을의 4명의 상인과 이야기를 하였습니다.
    우리는 "당신들은 어떤 사람인가요? 성실한 사람인가요 아니면 사기꾼인가요?" 하고 물어 보았습니다.
    이 네 사람은 다음과 같이 대답하였습니다.
     
    첫번째사람 : "우리 네 사람은 모두 사기꾼입니다."
    두번째 사람 : "우리 중 한 사람이 사기꾼입니다."
    세번째 사람 : "우리 네 사람 중 두 사람은 사기꾼입니다."
    네번째 사람 : "나는 성실한 사람입니다."
     
    네번째 사람이 성실한 사람입니까?
    첫번째 사람은 거짓말 일 수밖에 없습니다. 만약 진실이라면 자신의 말이 진실이기 때문에 자신이 성실한 사람이 되어야 하는데 이것은 모순입니다.
    두번째 사람이 진실이라면 세번째 사람은 진실이어야 하는데
    두번째 사람의 말이 진실이라면 세번째는 거짓일 수 밖에 없습니다. 따라서 두번째 사람도 거짓말을 하고 있습니다.
    세번째 사람이 진실이라고 하면 네번째 사람은 진실입니다.
    세번째 사람이 거짓이라고 하여도 네번째 사람은 진실일 수 밖에 없습니다.(네번째 사람이 거짓인 경우 첫번째 사람의 말이 진실이 되는 모순이 발생)
    따라서 네번째 사람은 진실을 말 하고 있습니다.
    Fail Pass
    방 안에는 살인자가 세 명 있습니다. 어떤 사람이 방에 들어와 그중 한 명을 죽입니다. 아무도 방을 나가지 않습니다. 방에 남아 있는 살인자는 몇 명입니까? 단계별로 추론 과정을 설명하세요. 세 명 Pass Pass
    A marble is put in a glass. The glass is then turned upside down and put on a table. Then the glass is picked up and put in a microwave. Where's the marble? Explain your reasoning step by step. 테이블 위 Pass Pass

    추론테스트에서 EXAONE 3.0은 5문제 중 4문제를 맞혔으며, 추론 내용도 논리적이었으나, 복잡한 문제에서는 다소 부족한 모습을 보였습니다. 

     

    맺음말

    EXAONE 3.0은 LG AI 연구소가 개발한 혁신적인 대형 언어 모델로, 한국어와 영어를 포함한 다양한 언어에서 뛰어난 성능을 발휘합니다. 특히 GSM8K, MATH, HumanEval, MBPP 등의 벤치마크에서 우수한 수준의 성능을 달성하고, 한국어 벤치마크에서 다른 모델들을 크게 앞서는 성능을 보여주었습니다.

     

    EXAONE-3.0-7.8B-it-Q5_K_M.gguf 모델을 테스트해 본 후기는 다음과 같습니다

    • 파이썬 코딩 성능이 기존 한국어 모델보다 우수하다.
    • 한국어 표현이 자연스럽고 정확하다.
    • 복잡한 추론에서는 논리가 부족하다.

     

    오늘은 최신 모델 EXAONE 3.0에 대해 알아보았는데요, 여러분도 제 Ollama 계정 EXAONE 모델을 다운로드하셔서 한번 체험해 보시면 새로운 한국어 모델의 매력을 느끼실 수 있을 것 같습니다. 그럼 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다. 

     

    https://fornewchallenge.tistory.com/

     

     

    2024.04.13 - [AI 언어 모델] - [AI 논문] 올해의 한국어 LLM에 선정된 야놀자 언어 모델, EEVE🚀EXAONE 3.0 7.8B 리뷰: LG AI 연구소의 혁신적인 언어 모델

     

    [AI 논문] 올해의 한국어 LLM에 선정된 야놀자 언어 모델, EEVE

    안녕하세요! 오늘은 최근 "올해의 한국어 LLM"으로 선정된 야놀자의 대형 언어 모델, EEVE에 대해 살펴보겠습니다. EEVE모델은 Efficient and Effective Vocabulary Expansion의 약자로, 효율적이고 효과적인 어

    fornewchallenge.tistory.com

     

     

    728x90