안녕하세요! 오늘은 미스트랄이 Codestral Mamba에 이어 내놓은 또 하나의 AI 모델, Mistral NeMo에 대해 알아보겠습니다. Mistral NeMo는 최대 128k 토큰의 문맥 창을 제공하여 긴 텍스트도 처리할 수 있으며, 영어, 프랑스어, 한국어 등 다양한 언어를 지원합니다. 새로운 Tekken 토크나이저는 100개 이상의 언어에서 훈련되어 자연어 텍스트와 소스 코드를 효율적으로 압축하며, 한국어와 아랍어에서 특히 효율적입니다. 또한, 고도화된 지시 조정 기능을 통해 명령 수행, 논리적 추론, 다중 턴 대화 처리 및 코드 생성에 뛰어난 성능을 보입니다. 이 블로그에서는 Mistral NeMo의 개요, 특징 및 주요 기능에 대해 알아보고, 코딩 및 추론 테스트를 진행해 보겠습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Mistral NeMo 개요
Mistral NeMo는 NVIDIA와의 협업을 통해 개발된 최첨단의 12B 모델로, 최대 128k 토큰의 큰 문맥 창을 제공하며, 논리적 추론, 세계 지식, 코딩 정확도 면에서 동일 크기 카테고리 내 최고의 성능을 자랑합니다. 표준 아키텍처를 기반으로 하여 사용이 용이하며, 기존의 Mistral 7B를 사용하는 시스템에서 쉽게 대체할 수 있습니다. Mistral AI 팀은 연구자와 기업의 도입을 촉진하기 위해 Apache 2.0 라이선스 하에 사전 훈련된 베이스 모델과 지시 조정된 체크포인트를 공개했습니다.
다음은 Mistral NeMo의 특징 및 주요 기능입니다.
- 대규모 문맥 창: 최대 128k 토큰의 문맥 창을 제공하여 긴 텍스트도 무리 없이 처리할 수 있습니다.
- 다국어 지원: 영어, 프랑스어, 독일어, 스페인어, 이탈리아어, 포르투갈어, 중국어, 일본어, 한국어, 아랍어, 힌디어 등 다양한 언어를 지원하며, 전 세계적인 다국어 애플리케이션에 적합합니다.
- 고효율 토크나이저 - Tekken: 새로운 토크나이저인 Tekken은 100개 이상의 언어에서 훈련되어 자연어 텍스트와 소스 코드를 SentencePiece 토크나이저보다 더 효율적으로 압축합니다. 특히 한국어와 아랍어에서는 각각 2배, 3배의 효율성을 보였으며, Llama 3 토크나이저와 비교했을 때 약 85%의 언어에서 텍스트 압축에 더 뛰어난 성능을 보였습니다.
- 고도화된 지시 조정: 지시 조정 및 정렬 단계를 통해 정확한 명령을 따르고, 논리적 추론을 수행하며, 다중 턴 대화를 처리하고, 코드를 생성하는 데 뛰어난 성능을 보입니다.
https://mistral.ai/news/mistral-nemo/
Mistral NeMo 성능
Mistral NeMo 12B 모델은 HellaSwag, MMLU 등 자연어 이해능력에서 뛰어난 성능을 보이며, 적은 매개변수로 높은 정확도를 달성했습니다. 그러나 NaturalIQ와 TruthfulQA 등 자연어 추론 및 사실기반 질문 응답 능력에서 성능이 낮아 복잡한 추론에 대해 개선이 필요합니다. 다국어 성능 비교에서도 Mistral NeMo가 Llama 3보다 우수하나, 한국어에서는 상대적으로 낮은 성능을 보입니다.
위 Mistral NeMo 성능 분석표는 Mistral NeMo 12B 모델을 Gemma 2 9B, Llama 3 8B 모델과 비교하여 다양한 벤치마크에서의 성능을 보여줍니다. 각 벤치마크는 0-shot 또는 5-shot 설정으로 평가되었으며, 점수는 정확도를 나타냅니다.
- 대부분의 벤치마크에서 최고 성능: Mistral NeMo 12B는 HellaSwag(문맥 이해), Winogrande(대명사 참조해결), TriviaQA(일반지식 질문응답), MMLU(대규모 다중작업 이해), OpenBookQA(축적지식 기반 고급 질의응답), CommonSense QA(상식 기반 질문응답)에서 가장 높은 정확도를 기록했습니다. 특히, 128k라는 큰 Context Window를 활용하여 긴 텍스트를 처리하는 능력이 돋보입니다.
- 높은 성능: Mistral NeMo 12B는 Gemma 2 9B보다 대부분의 벤치마크에서 더 높은 성능을 보여줍니다. 하지만 매개변수가 더 큰 모델과의 비교결과는 공개되지 않았습니다.
- NaturalIQ 및 TruthfulQA에서의 낮은 성능: Mistral NeMo는 NaturalIQ(자연어 추론)와 TruthfulQA(사실기반 질문응답)에서 각각 31.2%, 50.3%의 정확도를 기록하며 다른 벤치마크에 비해 상대적으로 낮은 성능을 보였습니다. 이는 복잡한 추론이나 사실 정보 검색 능력에 개선의 여지가 있음을 의미합니다.
Mistral NeMo 12B는 대부분의 벤치마크에서 뛰어난 성능을 보이며, 특히 큰 Context Window를 활용한 긴 텍스트 처리 능력이 돋보입니다. 다음 그래프는 Mistral NeMo (12B)와 Llama 3 (8B) 모델의 다국어 성능을 세 가지 벤치마크 (Hellaswag, Arc Challenge, MMLU)를 기준으로 비교하고 있습니다. 각 벤치마크는 여러 언어에 대한 평가를 제공하며, 그래프는 각 언어별 정확도를 백분율로 보여줍니다.
전반적으로 Mistral NeMo (12B)는 대부분의 언어와 벤치마크에서 Llama 3 (8B) 보다 높은 정확도를 보여주며, Hellaswag와 MMLU 벤치마크에서 그 차이가 두드러집니다. Mistral NeMo는 특히 프랑스어 (FR), 독일어 (DE), 스페인어 (ES), 이탈리아어 (IT)에서 강력한 성능을 보여줍니다. 반면 한국어 (KO)에서는 Mistral NeMo의 성능이 상대적으로 낮게 나타납니다. 이는 한국어 데이터 학습량 부족이나, 한국어의 언어적 특징이 모델에 적합하지 않기 때문일 수 있습니다.
- Hellaswag(문맥 이해): Mistral NeMo는 모든 언어에서 Llama 3 보다 높은 정확도를 기록하며, 특히 러시아어 (RU)에서 큰 차이를 보입니다.
- Arc Challenge(일반화 및 논리적 사고) : Mistral NeMo는 대부분의 언어에서 Llama 3 보다 높은 정확도를 보여주지만, 포르투갈어 (PT)에서는 Llama 3 보다 약간 낮은 성능을 보입니다.
- MMLU(대규모 다중작업 이해): Mistral NeMo는 대부분의 언어에서 Llama 3 보다 높은 정확도를 기록하며, 특히 스페인어 (ES)에서 큰 차이를 보입니다.
코딩 및 추론 테스트
다음은 Mistral NeMo의 성능을 평가하기 위한 코딩 및 추론 테스트입니다. 테스트 환경은 WSL2, 파이썬 버전 3.11, 비주얼 스튜디오 코드(이하 VSC) 1.91.1이며, VSC를 실행하여 "WSL 연결"을 통해 Windows Subsystem for Linux(WSL) Linux 환경에 액세스 하도록 구성하고, 채팅 인터페이스로 NVIDIA NIM을 사용하였습니다.
NVIDIA NIM은 Nvidia Inference Microservices(NIM, 엔비디아 추론 마이크로서비스)의 약자로 추론 엔진, 표준 API 및 AI 모델 지원을 하나의 컨테이너에 패키징하여 사용자가 생성 AI 대형 언어 모델(LLMs)의 배포를 더욱 빠르고 효율적으로 활용할 수 있도록 하는 서비스입니다. 자세한 내용은 아래 포스트를 참고하시기 바랍니다.
2024.06.06 - [AI 도구] - NVIDIA 최신 소프트웨어 기술 NIM: AI 애플리케이션 간편하게 구축하기
코딩 성능 테스트
Mistral NeMo의 테스트를 위해 NVIDIA NIM 사이트에 접속해서 mistral-nemo-12b-instruct 모델과의 Chat을 클릭한 후, 스네이크 게임 생성 테스트를 위해 아래 화면과 같이 "pygame을 이용해 시작 버튼이 있는 스네이크 게임을 만드세요. 시작 버튼을 누르면 게임이 시작되고, 게임이 시작된 후에는 시작 버튼이 사라져야 합니다. 스네이크가 벽에 부딪히면 게임이 종료되고 "C" 버튼을 누르면 게임 재시작, "Q" 버튼을 누르면 게임이 종료되도록 만드세요."라고 입력하고 답변 내용을 복사해서 VSC에 붙여 넣고 실행하였습니다.
Mistral NeMo가 답변한 스네이크 게임은 첫 번째 시도에서 시작하자마자 게임이 종료되었으며, 이후 프롬프트 수정을 통해 아래 화면 오른쪽과 같이 세 번째 시도에서 정상적으로 실행되었습니다.
다음 코딩 테스트는 edabit.com 코딩 교육 사이트의 파이썬 코딩 시험문제로 테스트한 결과, Mistral NeMo는 Expert 난이도를 제외하고 모든 난이도 단계를 한 번에 성공하였습니다.
Python/Pass@1 | Easy | Medium | Hard | Very Hard | Expert |
Mistral Nemo | Pass | Pass | Pass | Pass | Fail |
JavaScript와 PHP에 대해 테스트한 결과는 다음과 같습니다. 난이도가 높은 문제는 맞히지 못하는 것을 알 수 있습니다.
JavaScript/Pass@1 | Easy | Medium | Hard | Very Hard | Expert |
Mistral NeMo | Pass | Pass | Pass | Fail | Fail |
PHP/Pass@1 | Easy | Medium | Hard | Very Hard | Expert |
Mistral NeMo | Pass | Pass | Pass | Fail | Fail |
추론 성능 테스트
다음은 추론성능 테스트로, 첫 번째 문제는 셔츠 건조시간 문제입니다.
"5장의 셔츠를 햇빛에 건조하는데 4시간이 걸린다고 해보자. 그렇다면 20장의 셔츠를 건조하는 데는 얼마나 걸릴까요? 각 단계를 차근차근 설명해 주세요. 여러 셔츠를 동시에 건조할 수 있습니다. " - Mistral NeMo 정답 : 4시간
다음 추론문제는 GSM8K (Grade School Math 8K, 8,500개의 다양한 초등학교 수학 서술형 문제 데이터셋)입니다.
"베티는 새 지갑을 위해 돈을 모으고 있습니다. 새 지갑의 가격은 $100입니다. 베티는 필요한 돈의 절반만 가지고 있습니다. 그녀의 부모는 그 목적을 위해 $15를 주기로 결정했고, 할아버지와 할머니는 그녀의 부모들의 두 배를 줍니다. 베티가 지갑을 사기 위해 더 얼마나 많은 돈이 필요한가요?" - Mistral NeMo 정답 : 5달러
다음 추론 테스트는 살인자 문제입니다.
"방 안에는 살인자가 세 명 있습니다. 어떤 사람이 방에 들어와 그중 한 명을 죽입니다. 아무도 방을 나가지 않습니다. 방에 아 있는 살인자는 몇 명입니까? 단계별로 추론 과정을 설명하세요." - Mistral NeMo 정답 : 3명
다음 추론 테스트는 영문 추론입니다. 문제는 다음과 같습니다.
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.(구슬을 유리컵에 넣습니다. 그다음 유리컵을 거꾸로 뒤집어서 테이블 위에 놓습니다. 그 다음에 유리컵을 들어서 전자레인지에 넣습니다. 구슬은 어디에 있습니까? 단계별로 설명해 주세요.)
영문 추론 문제에 대한 Mistral NeMo의 답변을 번역한 내용은 다음과 같습니다.
다음은 단계별 추론입니다:
1. 처음에, 구슬은 유리컵 안에 있습니다.
2. 유리컵을 뒤집어 탁자 위에 놓으면 구슬이 유리컵 밖으로 떨어져 탁자 위로 떨어집니다.
3. 유리컵을 그대로 집어 전자레인지에 넣으면 테이블 위에 구슬이 남게 됩니다. 따라서 구슬은 전자레인지가 아닌 테이블 위에 있습니다.
추론 성능 테스트에서 Mistral NeMo는 4문제 모두를 맞히면서 우수한 성능을 보여주었습니다.
추론 테스트/Pass@1 | 셔츠 건조시간 | GSM8K 문제 | 살인자 문제 | 구슬 문제 |
Mistral NeMo | Pass | Pass | Pass | Pass |
맺음말
Mistral NeMo는 NVIDIA와의 협업을 통해 탄생한 혁신적인 12B 모델로, 긴 텍스트를 처리할 수 있는 128k 토큰의 문맥 창을 제공하며, 다양한 언어를 지원하는 강력한 다국어 성능을 자랑합니다. 특히, 고효율 Tekken 토크나이저를 통해 한국어와 아랍어에서 뛰어난 압축 효율을 보여주고 있으며, 고도화된 지시 조정 기능을 통해 명령 수행, 논리적 추론, 다중 턴 대화 처리 및 코드 생성에서 뛰어난 성능을 발휘합니다.
NVIDIA NIM을 통해 Mistral NeMo를 사용해 본 후기는 다음과 같습니다.
- 코딩 성능이 우수하지만, 난이도가 높은 복잡한 코딩은 시행착오가 필요하다.
- 기존 Mistral 모델보다 한국어 성능이 우수하다.
- 논리적 추론능력이 뛰어나고, NVIDIA NIM을 통한 응답속도가 빠르다.
이 블로그가 Mistral NeMo 모델을 이해하는데 도움이 되었기를 바라면서 오늘 블로그는 여기서 마치겠습니다. 저는 다음 시간에 더 유익한 정보를 가지고 다시 찾아뵙겠습니다. 감사합니다.
2024.05.31 - [AI 언어 모델] - 🌟코딩 혁신: Codestral - 미스트랄이 만든 AI 코드 생성 끝판왕!🚀
'AI 언어 모델' 카테고리의 다른 글
🚀Mistral Large 2 리뷰: 유창한 한국어와 뛰어난 추론 능력의 코딩 AI (2) | 2024.07.26 |
---|---|
🚀 Llama 3.1: Meta의 최강 오픈소스 AI 모델 출시! 📈 (12) | 2024.07.24 |
🚀 GPT-4o mini: OpenAI의 최첨단 고성능 저비용 AI 모델 (0) | 2024.07.20 |
미스트랄 Codestral Mamba:🐍Mamba 아키텍처로 무장한 코드 생성 AI (2) | 2024.07.18 |
✨구글 Gemma 2 분석: 최신 오픈소스 모델로 무료 챗봇 만들기 🤖🔓 (2) | 2024.06.29 |