하이퍼 크로버 관련 테크니컬 리포트가 드디어 나왔습니다. GPT-4 보다 한국어 성능만큼은 더 좋다고 계속 얘기되었던 만큼 어떻게 학습시키고 구조가 어떻게 되고, 데이터셋을 어떻게 구성했을지 궁금했는데 링크드인을 서칭 중에 네이버 AI 관련 일 하시는 분들이 업로드해서 리뷰를 해보게 되었습니다. 이번 논문은 전체 번역보다는 Summary Review로 각 단락별로 중요한 내용과 제 생각을 적는 방식으로 리뷰 했습니다.
Abstrack
HyperCLOVA X는 한국어와 문화에 특화된 대규모 언어 모델(LLMs)의 새로운 시리즈로, 영어, 수학, 코딩 분야에서도 경쟁력을 지닙니다. 이 모델은 한국어, 영어, 코드 데이터의 균형 잡힌 혼합을 바탕으로 훈련되었으며, 책임감 있는 AI에 대한 우리의 약속을 반영하는 엄격한 안전 지침을 준수하면서 고품질의 인간 주석이 달린 데이터셋을 사용한 instruction-tunning을 거쳤습니다. HyperCLOVA X는 종합적인 추론, 지식, 상식, 사실성, 코딩, 수학, 채팅, 지시 따르기, 무해함을 포함한 다양한 벤치마크에서 한국어와 영어로 평가되었습니다. 이 모델은 한국어에 대한 깊은 이해와 문화적 뉘앙스를 바탕으로 강력한 추론 능력을 보여줍니다. 내재된 이중 언어 특성과 다국어로의 확장을 추가로 분석함으로써, 모델의 교차 언어 능력과 타깃이 되지 않은 언어로의 강력한 일반화 능력, 여러 언어 쌍 간의 기계 번역 및 교차 언어 추론 작업을 강조합니다. 우리는 HyperCLOVA X가 다른 지역이나 국가들이 자체 LLMs를 개발하는 데 유용한 가이드를 제공할 수 있을 것이라고 믿습니다.
PLM을 만든다는 것이 얼마나 어려운지 fine-tunning dataset을 만들어보면 알 수 있는데, 감 도 안 온다 사실.. 알바를 많이 쓰는 걸로 알고 있긴 한데, 그래도 이 일자체가 리소스도 많이 들고 인력, 돈 엄청난 도전 같다.
Introduction
소개에서는 하이퍼크로버 X의 배경과, 벤치마크에서 한국어 성능이 좋다는 내용이고 AI Safey를 초점으로 안전하고 신뢰할 수 있는 모델을 만들겠다는 목표하에 안전평가와 레드팀링을 거쳤다는 언급이다. Hyper Clova X HCX-L, HCX-S 두 가지로 모델의 크기에 따라 만들어졌는데, 아니라 영어, 다양한 task 잘한다고 한다.
Training
제일 중요한 부분이다 어떻게 훈련을 시켰는가 기본적으로 대세적으로 트랜스포머 디코더 구조를 차용하였고, Context 즉 문맥 길이를 늘이기 위해 rotary position embedding을 도입하고, 훈련을 보다 안전성, 효율성을 높이기 위해 Pre-normalization, 라마 2에서도 사용된 GQA(Group-Query-Attention) 이 사용되었다.
초기에는 한국어, 영어, 코드 데이터로 사전학습을 하고 , SFT와 RLHF 강화학습을 통해 instruction 능력을 강화시켰다고 한다,
rotary position embedding 이란?
기존의 PE의 self-attention에서는 단어 간의 거리를 고려하지 않았기 때문에 문장의 맥락을 정확히 이해하지 못하는 한계가 있어, 상대 위치 의존성 정보를 기존의 PE에 추가해서 단어 간의 거리를 고려함. 기존의 모델이 단어 순서만 고려해서 텍스트를 인코딩해서, 문장 전체적인 구조를 파악하지 못했기 때문에 회전행렬을 사용해서 단어의 절대 위치 정보를 인코딩하는 방법이다. 깊게는.. 논문을 찾아보는걸.. 하여튼 긴 문장의 맥락을 더 정확하게 파악할 수 있다는 장점이다.
Pre-normalization 이란?
기존의 트랜스포머 구조는 FFN 뒤에 배치를 했다면, 앞에 배치를 해서 학습 속도를 개선을 한 방법이라고 한다. 높은 learning rate를 사용하고 Gradient scale 문제를 완화시키는 게 큰 장점이다. 대신 모델 복잡도가 올라간다고 한다.
기존 트랜스포머 | Post-LN | 모델 구조 간단, 학습 과정 안정적 | 높은 learning rate 사용 어려움, gradient scale 문제 발생 가능성, internal covariate shift 문제 발생 가능성 |
Pre-LN 트랜스포머 | Pre-LN | 높은 learning rate 사용 가능, gradient scale 문제 완화, internal covariate shift 문제 완화 | 모델 구조 복잡, 학습 과정 덜 안정적일 수 있음, 특정 NLP 작업에서 성능 저하 가능성 |
GQA 이란?
LLama2에서도 사용한 방법으로, 아래의 그림을 보면 직관적으로 이해가 쉽다. MHA와 MQA의 장점을 결합했다고 볼 수 있다. KV 헤드를 1개로 줄이고 적절한 그룹핑을 해주기 때문에 MHA 보다 간결한 학습이 가능하고 MQA는 KV를 1개를 써서 메모리 대역폭을 대폭 줄이지만 성능 저하 위험과 학습이 불안정할 수 있다.
Data
데이터 에선 여러 Multiligual 데이터와 , 코드 대규모 데이터 셋이 있었고, 한국어와 문화에 관련된 데이터 비중을 늘렸다고 한다. 개인정보, 이메일주소 등 퀄리티가 낮은 문서도 걸러내고, 도메인관련된 데이터는 특정형식으로 대체를 하였다고 한다.
Tokenizer
한국어가 매우 어렵고 복잡하기 때문에, 같은 명사, 조사에 따라 동사나 형용사 변환이 가능하기 때문에 이런 특성을 반영하기 위해 100,000 Vocab size 크기의 단어장을 가진 바이트레벨 BPE(Byte Pair Encoding) 방식으로 모델을 훈련시켰다고 한다.
Pretraining Schema
아랍어 같은 경우는 우리나라의 문서처럼이 아닌 오른쪽에서 왼쪽으로 형태가 되어있는데, 우리나라 모델이니 오른쪽 왼쪽 읽는 능력, 내용을 채워 넣는 능력을 키우기 위해 PSM & SPM 훈련 방식을 채택했다고 한다. 요건 잘 모르겠어서.. 댓글 남겨주시면 감사하겠습니다 ㅎㅎ
이 방식을 차용하면 코딩 assistant 같은 여러 application에 유용하다고 함. 학습의 90%는 4096의 문맥길이로 나머지 10% 는 32,768로 진행하였고, bf16 precision과 Flash attention과 3d 병렬 처리를 하였다고 한다. 메모리 효율을 위해 Gemma 도 그렇고 여러 언어모델에서도 flash attention을 쓰고 있다.
SFT, RLHF에 관련된 설명이 다음 내용으로 나오는데 deep 하게 보고 싶은 분은 논문을 참고하시길 바랍니다. Alignment Learning 크로버 팀은 이 모든 학습 과정을 자동화해서 최적화 효율적으로 만들기 위한 Pipeline를 구축했다는 설명이다.
Code Benchmarks
HyperCLOVA X는 이중 언어 환경에서 한국어와 영어를 아우르는 대규모 언어 모델로서 뛰어난 능력을 입증합니다. 한국어 벤치마크에서 한국어에 특화된 모든 모델을 크게 앞서는 성능을 보였고, 영어 중심의 벤치마크에서도 가장 큰 LLaMA 2 모델과 비슷한 성능을 보였습니다. 이는 HyperCLOVA X가 다양한 영역에서 뛰어난 통합 능력을 가지고 있음을 시사합니다.
벤치마크 범주는 다음과 같습니다:
- 상식 추론(CS): 모델의 상식적 추론 능력을 평가합니다.
- 세계 지식 및 사실성(Fact): 모델이 세계에 대한 지식과 사실을 얼마나 정확하게 이해하고 있는지 평가합니다.
- 수학(Math): 모델의 수학 문제 해결 능력을 평가합니다.
- 코딩 능력(Code): 코드 작성 및 해석 능력을 평가합니다.
- 지시 따르기 및 채팅 능력(Chat): 모델이 지시를 얼마나 잘 따르고, 자연스러운 대화를 생성할 수 있는지 평가합니다.
- 무해성(Harml.): 모델이 해로운 내용을 생성하지 않는 정도를 평가합니다.
이러한 범주별로 HyperCLOVA X는 한국어 능력을 평가하는 벤치마크에서 한국어에 특화된 다른 모든 모델을 크게 뛰어넘는 성능을 보였으며, 영어 중심의 벤치마크에서도 최대 규모의 LLaMA 2 모델과 비교할만한 성능을 보였습니다. 이는 HyperCLOVA X가 이중 언어 환경에서 다양한 분야에 걸쳐 우수한 능력을 갖춘 대규모 언어 모델임을 시사합니다.
결국 영어성능은 LLAMA2와 대동소이하고, 한국어는 다른 모델에 비해 압도적인 성능을 보유하고 있다는 결과 같다. 표가 너무 많아서.. 본문을 참고하면 좋을듯하다.
Multilinguality
HyperCLOVA X는 주로 한국어, 영어, 그리고 코드 데이터로 훈련되었지만, 여러 다른 언어도 지원합니다. 이 섹션에서는 교차 언어 추론, 기계 번역, 그리고 교차 언어 전이를 통해 HyperCLOVA X의 다국어 능력을 보여줍니다.
Cross-lingual instruction-following
HyperCLOVA X의 첫 번째 다국어 능력은 아시아 언어로의 교차 언어 추론입니다. 명시적으로 훈련되지 않은 언어로 추론할 수 있는 능력을 조사합니다. 이를 위해 Cross-Lingual Natural Language Inference (XNLI)와 Cross-Lingual CommonsenseQA (X-CSQA) 같은 인기 있는 교차 언어 추론 벤치마크를 사용합니다.
Cross-lingual instruction-fallowing의 성능을 측정을 위한 식이다 특정 언어 X로 훈련이 되었을 때 Y로 의 성능을 그 모델이 언어 Y로 훈련되었을 때 Y로 나눈 값이다. 이 비율은 모델이 한 언어로 학습한 지식을 다른 언어로 얼마나 잘 전이하는 지를 평가하는 것이다.
XNLI
XNLI의 목표는 주어진 두 문장 쌍이 entailment, neutral, 또는 contradiction 관계인지를 결정하는 것입니다. 이는 문장 사이의 논리적 관계를 인식할 수 있는 능력을 검사합니다. 이 벤치마크에서는 아시아 언어에 초점을 맞추어 HyperCLOVA X와 다른 LLM의 정확도를 측정합니다.
X-CSQA
CSQA와 유사하게, X-CSQA는 다양한 언어 설정에서 상식 지식을 탐구하는 여러 질문으로 구성됩니다. 이는 주어진 모델이 가진 상식 지식의 양을 측정합니다. 이 벤치마크에서는 0-shot 프롬프팅을 사용합니다.
Safe and Responsible AI
HyperCLOVA X의 책임 있는 개발 접근 방법과 안전성 평가를 설명합니다. 우선 NAVER AI 윤리 원칙에 따 HyperCLOVA X 윤리 원칙을 소개하고, 효율적인 방법으로 이를 구축하기 위한 레드 팀링과 안전 데이터 수집 방법을 설명합니다. 마지막으로 영어와 한국어 벤치마크 데이터셋 및 인간 평가 결과에 대한 정량적 안전성 평가 결과를 제시합니다.
위 단락을 읽어보면, 윤리원칙, 레드팀링, 안전데이터 수집, 안전선평가, 독성, 사회적 편향, 인간평가로 구성되어 설명해 주는데 책임은 모델을 대용량의 코퍼스로 학습시킨 게 끝이 아니란 걸 볼 수 있다. 다양한 요소에서 인간에게 신뢰성 있는 정보를 전달하기 위해 여러모로 노력을 해야 한다는 것을 알 수 있다.
Conclusion
HyperCLOVA X는 특히 한국어와 문화에 중점을 두면서도 영어와 다른 언어에서 강력한 기능을 유지하는 LLM의 중요한 발전을 대표한다. 한국어, 영어 및 프로그래밍 언어의 균형 잡힌 혼합을 통한 훈련 과정과 인간 피드백에서 배운 감독된 미세 조정 및 강화 학습을 거쳐, HyperCLOVA X는 다양한 작업에서 탁월한 숙련도를 보여준다.
영어 추론, 코딩 수학 문제에서 다재다능한 성능 입증을 하였고, 교차 언어 추론 기계번역에서 다중언어 능력을 보여준다 할 수 있다. 책임감 있는 AI 개발을 위해 다양한 요소 윤리 원칙을 준수하며 개발하고 있다. 멀티모달도 연구할 계획이라고 하니 쭉 지켜보면 될 듯하다.
앞으로의 네이버에서 꾸준한 연구가 이루어졌으면 좋겠다. 미국 빅테크의 전유물이 될게 아니라 토종 IT의 자부심을 보여주면 좋겠다 ㅎㅎ