본문 바로가기
AI 언어 모델

⚡Hermes 3: Llama 3.1을 넘어선 최첨단 오픈 소스 언어 모델의 등장

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

    안녕하세요! 오늘은 Nous Research에서 개발한 최신 오픈 소스 대규모 언어 모델 Hermes 3에 대해 알아보겠습니다. Hermes 3는 AGIEval(일반 인공지능 평가 능력), ARC-C(상식적 추론 능력), ARC-E(과학적 추론 능력), Hellaswag(상황 예측 능력), TruthfulQA(사실 기반 응답 능력) 등의 평가지표에서 메타의 Llama 3.1 모델보다 우수한 성능을 보이며, 유연한 페르소나 적용, 구조화된 출력, 단계별 추론 및 계획, Mermaid 다이어그램 표현 등 다양한 고급기능을 갖추고 있습니다. 이 블로그에서는 Hermes 3의 특징 및 주요 기능, 성능평가 결과를 살펴보고, 코딩 및 추론성능 테스트비주얼 스튜디오 코드 Co-pilot 설정방법에 대해 알아보겠습니다. 

    ⚡Hermes 3: Llama 3.1을 넘어선 최첨단 오픈 소스 언어 모델의 등장

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

    Hermes 3 특징 및 주요기능

    Hermes 3 모델은 8B, 70B, 405B 파라미터 버전으로 제공되며, Llama 3.1을 기반으로 한 Instruction tuning을 통해 만들어졌습니다. Hermes 3의 훈련 데이터는 다양한 분야의 고품질 지시 데이터를 기반으로 구성되어 있으며, 엄격한 필터링 과정을 거친 약 3억 9천만 개의 토큰으로 이루어진 균형 잡힌 데이터셋을 사용하여, AI 모델의 편향성을 최소화하고 다양한 상황에서 일관된 성능을 제공할 수 있도록 설계되었습니다. Hermes 3의 훈련 과정은 지도 학습 미세 조정(SFT)과 직접 선호도 최적화(DPO) 두 단계로 이루어졌습니다. 

     

    Hermes 3는 다양한 고급 기능을 갖추고 있어 전통적인 언어 모델링 작업을 넘어선 폭넓은 활용이 가능하며, 그 특징 및 주요기능은 다음과 같습니다. 

    • 유연한 페르소나 적용: Hermes 3는 시스템 프롬프트에 매우 민감하게 반응합니다. 이를 통해 사용자는 모델의 행동과 응답 스타일을 세밀하게 제어할 수 있습니다. 예를 들어, 셰익스피어 스타일의 대화나 특정 전문가 역할 수행 등 다양한 페르소나를 쉽게 구현할 수 있습니다.

    Hermes 3 7B의 세익스피어 스타일 대화 예시

    • 긴 컨텍스트 처리: Llama 3.1의 128K 토큰 컨텍스트 윈도우를 활용하여 긴 대화나 복잡한 작업을 일관성 있게 처리할 수 있습니다. 이는 롤플레잉이나 장기적인 작업 수행에 특히 유용합니다.
    • 구조화된 출력과 시각적 표현: XML 태그를 사용하여 구조화된 출력을 생성하거나, Mermaid 다이어그램 생성 기능을 통해 복잡한 개념이나 프로세스를 시각적으로 표현할 수 있습니다. 이는 복잡한 문제 해결 과정을 더 명확하고 해석하기 쉽게 만듭니다.

    XML 데이터 출력(좌), Mermaid 다이어그램 생성(우)

    • 코딩 능력: 다양한 프로그래밍 언어에서 복잡하고 기능적인 코드 스니펫을 생성하고, 상세한 코드 설명과 문서화를 제공할 수 있습니다.

    Hermes 3 Python 코드 생성 화면

    • 도구 사용 및 RAG: Hermes Function Calling 표준을 통해 외부 도구를 정의하고 호출할 수 있습니다. 또한 Retrieval Augmented Generation (RAG) 기능을 통해 외부 데이터를 인용하고 활용할 수 있습니다.
    728x90

    Hermes 3 성능평가 결과

    Hermes 3의 성능은 다양한 벤치마크를 통해 평가되었습니다. 특히 405B 모델은 여러 공개 벤치마크에서 최고 수준의 성능을 보여주었습니다. 주요 평가 결과는 다음과 같습니다:

    Hermes 3 벤치마크 결과

    Hermes 3와 Llama 3.1의 성능을 비교한 위 표를 바탕으로 분석한 내용은 다음과 같습니다. 

    • 일반적인 이해력과 추론 능력: AGIEval, ARC-C, ARC-E 등의 지표에서 Hermes 3가 대체로 우수한 성능을 보입니다. 이는 일반적인 지능과 추론 능력이 향상되었음을 시사합니다.
    • 언어 이해 및 생성: Hellaswag, TruthfulQA 등의 지표에서 Hermes 3가 우수한 성능을 보여, 언어 이해와 생성 능력이 개선되었음을 알 수 있습니다.
    • 소규모 모델에서의 경쟁력: 8B 모델에서 Hermes 3가 대부분의 지표에서 Llama 3.1을 앞서고 있어, 작은 규모의 모델에서도 효과적인 성능 개선이 이루어졌음을 보여줍니다.
    • 다중 턴 대화 능력: MuSR, OpenBookQA 등의 지표에서 Hermes 3가 우수한 성능을 보여, 맥락을 이해하고 유지하는 능력이 향상되었음을 시사합니다.

    Hermes 3는 수학적 추론이나 다국어 이해, 기계 번역 능력에서는 Llama 3.1에 비해 성능이 낮습니다. 

    • 수학적 추론 능력: MATH Lvl 5 지표에서 Hermes 3가 Llama 3.1에 비해 현저히 낮은 성능을 보입니다. 이는 복잡한 수학적 문제 해결 능력에서 약점이 있음을 나타냅니다.
    • 다국어 이해: MMLU, MMLU-PRO 지표에서 Hermes 3가 Llama 3.1에 비해 낮은 성능을 보여, 다양한 분야의 지식과 다국어 이해 능력에서 개선의 여지가 있습니다.
    • 기계 번역: MT-Bench 지표에서 Hermes 3가 약간 낮은 성능을 보여, 번역 능력에서 소폭 뒤처지는 것으로 보입니다.
    • 대규모 모델에서의 일관성: 405B 모델에서 일부 지표(BoolQ, BBH, IFEval 등)에서 Llama 3.1이 더 우수한 성능을 보이고 있어, 대규모 모델에서의 일관된 성능 개선이 과제로 남아 있습니다.

    전반적으로 Hermes 3 405B는 대부분의 벤치마크에서 Llama 3.1 Instruct 405B와 비슷하거나 더 나은 성능을 보여주었습니다. 특히 AGIEval, ARC, GPQA, Hellaswag 등 일반적인 언어 이해와 생성, 맥락 유지 능력에서 우수한 성능을 보였습니다. 그러나 MATH, MMLU-PRO 등 일부 전문적인 지식을 요구하는 특정 전문 분야(수학, 다국어) 벤치마크에서는 Llama 3.1 Instruct 405B에 비해 다소 낮은 점수를 기록했습니다. 이는 Hermes 3의 훈련 데이터와 방식이 이러한 특정 영역에서 약간의 개선 여지가 있음을 시사합니다.

    코딩 및 추론성능 테스트

    다음은 코딩 및 추론성능 테스트를 해보았습니다. 테스트는 https://openrouter.ai/chat 웹 사이트에서 진행하였으며, 테스트 모델은 Hermes 3 405B Instruct입니다.  

    추론성능 테스트

    1. 첫 번째 문제: 5학년과 6학년 학생 160명이 나무 심기에 참가하였습니다. 6학년 학생들이 각각 평균 5그루, 5학년 학생들이 각각 평균 3그루씩 심은 결과 모두 560그루를 심었습니다. 나무 심기에 참가한 5, 6학년 학생은 각각 몇 명일까요?

    추론 첫번째 문제에 대한 Hermes 3의 답변

    2. 두 번째 문제: 베티는 새 지갑을 위해 돈을 모으고 있습니다. 새 지갑의 가격은 $100입니다. 베티는 필요한 돈의 절반만 가지고 있습니다. 그녀의 부모는 그 목적을 위해 $15를 주기로 결정했고, 할아버지와 할머니는 그녀의 부모들의 두 배를 줍니다. 베티가 지갑을 사기 위해 더 얼마나 많은 돈이 필요한가요?

    3. 세 번째 문제:  5장의 셔츠를 햇빛에 건조하는데 4시간이 걸린다고 해보자. 셔츠를 동시에 건조할 공간이 있습니다. 그렇다면 20장의 셔츠를 건조하는 데는 얼마나 걸릴까요? 각 단계를 차근차근 설명해 주세요.

    추론 세번째 문제에 대한 Hermes 3의 답변

    4. 네 번째 문제: I have 2 apples, then I buy 2 more. I bake a pie with 2 of the apples. After eating half of the pie how many apples do I have left? 

    추론 네번째 문제에 대한 Hermes 3의 답변

    5. 다섯 번째 문제: 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.

    추론 다섯번째 문제에 대한 Hermes 3의 답변

    문제 정답 Hermes 3 405B Llama 3.1 405B
    1 5학년 120명, 6학년 40명 Pass Pass
    2 $100/2-($15+$30)=$5 Pass Pass
    3 4시간 Pass Fail
    4 2개 Pass Pass
    5 테이블 위 Pass Pass

    코딩성능 테스트

    코딩테스트는 edabit.com 코딩 교육 사이트의 파이썬 언어, Medium/Hard/Very Hard/Expert 난이도 총 4문제에 대하여 테스트하였으며, 재시도 없이 첫 번째 시도의 채점결과를 그대로 반영하였습니다.

    Hermes 3 모델의 코딩 테스트 화면
    Hermes 3 Medium(좌): 성공, Hard(우): 성공
    Hermes 3 Very Hard(좌): 성공, Expert(우): 성공
    Llama 3.1 405B , Hard: 실패

    파이썬 문제 난이도 Hermes 3 405B Instruct Llama 3.1 405B Instruct
    Medium Pass Pass
    Hard Pass Fail
    Very Hard Pass Pass
    Expert Pass Pass

    추론 및 코딩성능 테스트 결과 이해력과 추론 능력, 파이썬 코딩 부분에서 Hermes 3 모델이 Llama 3 모델보다 일부 앞서는 것을 확인할 수 있습니다. 

    VSC 코딩 보조 설정

    다음은 Hermes 3의 코딩 성능을 활용하기 위하여 비주얼 스튜디오 코드의 코딩 보조로 설정하는 방법을 알아보겠습니다. 

    1. 먼저 아래 화면과 같이 VSC의 확장 프로그램에서 Continue를 검색하고 설치합니다. 

    VSC 확장 프로그램 Continue

    2. 다음은 OpenRouter 웹 사이트에 접속해서 가입한 후, API Key를 발급합니다. 

    https://openrouter.ai/settings/keys

     

    OpenRouter

    LLM router and marketplace

    openrouter.ai

    OpenTouter API Key 발급화면

    3. VSC 좌측 확장 프로그램 아이콘에서 Continue를 선택한 후, 톱니바퀴 아이콘을 클릭하면 나오는 우측 config.json 파일에 다음 내용을 복사해서 아래 화면과 같이 추가합니다. 

    {
          "title": "Hermes-3",
          "model": "nousresearch/hermes-3-llama-3.1-405b",
          "contextLength": 4096,
          "apiKey": "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",
          "apiBase": "https://openrouter.ai/api/v1/",
          "provider": "openai"
        }

    Hermes 3 VSC Co-pilot 추가 설정화면
    Hermes 3 VSC Co-pilot 활용 화면

    이제 Hermes 3 450B 모델을 활용해서 코드를 작성하거나, 코드에 대해 질문하고 대화할 수 있습니다.  

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

    맺음말

    이 블로그에서는 최신 오픈 소스 대규모 언어 모델인 Hermes 3의 다양한 기능과 성능에 대해 자세히 살펴보았습니다. Hermes 3는 뛰어난 성능과 유연성을 바탕으로, 다양한 벤치마크에서 메타의 Llama 3.1 모델을 능가하는 결과를 보여주었으며, 특히 복잡한 추론, 코딩, 시각적 표현에서 탁월한 능력을 발휘합니다.

     

    Hermes 3는 연구자와 개발자에게 새로운 가능성을 열어주는 도구로, 유연한 페르소나 적용부터 구조화된 출력, 복잡한 문제 해결 능력에 이르기까지 다방면에서 활용될 수 있습니다. 이 모델을 통해 사용자는 더욱 직관적이고 효율적으로 AI를 활용할 수 있으며, 특히 비주얼 스튜디오 코드와 같은 환경에서 코딩 보조 역할로도 훌륭한 성과를 낼 수 있습니다.

     

    이 블로그를 통해 Hermes 3 모델을 이해하는 데 도움이 되었기를 바라면서 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다. 

     

    https://fornewchallenge.tistory.com/

     

     

    2024.07.24 - [AI 언어 모델] - 🚀 Llama 3.1: Meta의 최강 오픈소스 AI 모델 출시! 📈

     

    🚀 Llama 3.1: Meta의 최강 오픈소스 AI 모델 출시! 📈

    안녕하세요! 오늘은 Meta에서 공개한 최신 언어모델 Llama 3.1에 대해서 알아보겠습니다. Llama 3.1은 8B, 70B, 405B 세 종류의 매개변수로 출시되었으며, 128K 문맥 길이와 8개 언어 지원을 특징으로 하는

    fornewchallenge.tistory.com

     

    728x90