LLM) 논문 내용 정리 Phi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone

2024. 5. 1. 14:37관심있는 주제/Paper

728x90

 

최근에 LLAMA3에 이어서 아주 핫한 Phi-3에 대해서 마이크로소프트가 작성한 논문이 있어 공유드립니다.

 

최근 인공지능 연구의 한계를 극복하고자 전 세계적으로 큰 규모의 언어 모델을 개발하는 노력이 지속되고 있습니다. 

이러한 대형 모델은 놀라운 성능을 보여주지만, 그 크기 때문에 일반 사용자가 접근하기에는 많은 제약이 따릅니다. 

하지만, Microsoft의 최신 연구에서 소개된 Phi-3-Mini 모델은 이러한 상황에 변화를 가져오고 있습니다.

이 논문은 이 모델이 어떻게 일상의 스마트폰에 적용될 수 있는지 에 대한 기술 내용을 정리한 보고서입니다.

 

1. Phi-3-Mini 모델 소개

Phi-3-Mini는 3.8억 개의 파라미터를 가진 언어 모델로, 3.3조 토큰으로 훈련되었습니다. 이 모델은 GPT-3.5와 같은 대형 모델들과 비교하여 탁월한 성능을 보여주며, 학술 벤치마크와 내부 테스트에서 모두 높은 점수를 기록했습니다. 

놀랍게도 이 모델은 그 크기가 충분히 작아 스마트폰에서도 구동될 수 있습니다.

 

2. 혁신적인 트레이닝 데이터 접근 방식

Phi-3-Mini의 성능은 특히 트레이닝 데이터의 최적화에서 기인합니다. 

이전 모델인 Phi-2에서 사용된 데이터셋을 확장하고 개선하여, 웹 데이터와 합성 데이터를 효과적으로 필터링하였습니다. 이러한 집중적인 데이터 최적화는 모델이 더 작은 규모에서도 높은 성능을 낼 수 있게 만들었습니다.

 

3. 기술 사양과 아키텍처

1. 아키텍처와 사양

Phi-3-Mini는 트랜스포머 디코더 아키텍처를 기반으로 하며, 기본적으로 4K의 콘텍스트 길이를 가지고 있습니다. 모델은 3072의 히든 차원, 32개의 헤드, 그리고 32층으로 구성되어 있습니다.
2. 확장된 컨텍스트 지원

LongRope 기술을 이용한 Phi-3-Mini-128K 버전은 콘텍스트 길이를 128K까지 확장하여 복잡한 문맥 이해에 탁월한 능력을 제공합니다.

3. 양자화와 효율성

모델은 4-비트로 양자화되어 메모리 사용량을 약 1.8GB로 줄이면서도, iPhone 14와 같은 현대적인 스마트폰에서 네이티브로 실행될 수 있습니다. 이로 인해 초당 12개 이상의 토큰을 처리할 수 있습니다.

 

 

훈련 방법론


훈련 데이터의 최적화:

Phi-3-Mini의 훈련은 고품질의 데이터를 사용하는 것에서 시작합니다. 

이 데이터는 웹에서 추출한 정보와 인공적으로 생성된 데이터를 포함하며, 특히 'education level'에 따라 철저히 필터링됩니다.
훈련은 두 단계로 이루어집니다. 

 

1. 일반 지식과 언어 이해를 위한 웹 데이터를 사용

2. 논리적 사고와 특정 기술을 가르치기 위한 더욱 엄격하게 필터링된 데이터를 사용


데이터 최적화 체제:

이 모델은 단순히 컴퓨팅 리소스를 최대화하는 대신, 데이터의 질을 고려하여 '데이터 최적 체제'로 훈련됩니다. 

이는 특정 규모의 모델에 가장 적합한 데이터 조합을 찾기 위해 노력하는 과정입니다.

 "데이터 최적 체제"에 근접한 스케일링 법칙을 보여주며, phi 모델 시리즈(Phi-1.5, Phi-2, Phi-3-mini, Phi-3-small)와 Llama-2 모델 시리즈(7B, 13B, 34B, 70B)를 같은 데이터셋으로 훈련시킨 결과를 비교한 그래프입니다. 그래프는 모델 크기(모델의 파라미터 수)의 로그값과 MMLU(Massive Multitask Language Understanding) 오류율의 로그값을 축으로 사용하여, 모델의 크기가 커질수록 성능이 어떻게 변화하는지 보여줍니다.

 

이 그림에서 모델의 규모가 증가함에 따라 데이터의 질과 양이 어떻게 다뤄져야 하는지, 그리고 어떻게 최적화되어야 하는지에 대한 중요한 통찰을 제공합니다. 이러한 분석은 미래의 언어 모델 개발 방향을 제시하는 데 도움이 될 수 있습니다.

 

즉, 좋은 아키텍처에 아주 검열이 잘 되고 매우 좋은 데이터를 넣게 되면, 작은 모델로도 충분히 좋은 성능을 낼 수 있다고 주장하는 것 같습니다.

 

후처리 과정

phi-3-mini는 후처리 과정은 두 단계로 구성됩니다.

 

SFT

SFT 과정은 다양한 도메인에 걸쳐 엄선된 고품질 데이터를 활용합니다. 이 데이터는 수학, 코딩, 추론, 대화, 모델 정체성 및 안전성과 같은 분야를 포괄합니다. 

SFT의 목표는 모델이 이러한 분야에서 정확하고 일관된 성능을 발휘할 수 있도록 훈련하는 것입니다. 

이 과정은 영어 데이터로만 사용하엿고, 모델이 다양한 상황과 질문에 대응할 수 있도록 합니다.

 

DPO

DPO 과정은 챗봇 포맷의 데이터, 추론 작업, 그리고 책임 있는 AI (RAI=(responsible AI)) 노력을 포함합니다.

이 단계는 모델이 원하지 않는 행동을 피하도록 조정하는 데 중점을 둡니다.

특히, DPO는 모델이 생성한 부적절하거나 원치 않는 응답을 "거부된 응답"으로 사용하여, 모델이 더 적절하고 윤리적인 반응을 하도록 유도합니다.


콘텍스트 길이 확장
Phi-3-Mini 모델은 기본적으로 4K의 콘텍스트 길이를 지원하지만, 후처리 과정에서 이를 128K로 확장하는 작업을 진행했습니다. 

이 확장은 두 단계로 구성되었습니다. 첫 번째는 mid-training 동안 긴 콘텍스트를 처리할 수 있도록 조정하고, 두 번째는 SFT와 DPO를 포함하는 long-short mixed post-training를 통해 이루어졌습니다. 이러한 확장은 모델이 더 긴 문맥의 작업을 효과적으로 처리할 수 있게 하여, 실제 사용 상황에서의 유연성을 크게 향상합니다.

실험결과

그림 중에서 Phi-3와 최근에 나온 논문들과 비교했을 때 더 좋은 성능이 나온 것을 알 수 있었고, 이렇게까지 좋게 나오니 신기하긴 했다.

 

안정성(Ssfety)

Phi-3-mini 모델은 Microsoft의 책임 있는 AI 원칙에 따라 개발되었습니다. 

이 원칙은 AI 기술이 사회적, 윤리적 책임을 지며 안전하게 사용될 수 있도록 보장하는 것을 목표로 합니다. 

Phi-3-mini의 개발 과정에서는 특히 안전성 정렬, 독립적 검증, 지속적인 평가 및 개선이 중점적으로 이루어졌습니다.

 


1. 포스트-트레이닝의 안전 정렬:
포스트-트레이닝 과정에서는 다양한 책임 있는 AI(RAI) 위해 범주에 걸쳐 안전성을 조정합니다. 

이는 특히 도움이 되고 해가 없는 반응을 생성하기 위한 데이터셋을 사용하여 수행됩니다. 

여기에는 과거 연구에서 영감을 받은 수정사항과 다수의 내부에서 생성된 데이터셋이 포함됩니다.

 

2. 독립적 레드 팀의 역할:
Microsoft 내의 독립적 레드 팀이 Phi-3-mini 모델을 반복적으로 검토하여 포스트-트레이닝 과정 중 개선점을 식별합니다. 이 팀은 모델의 반응에서 발생할 수 있는 윤리적, 사회적 위험을 평가하고, 이러한 문제를 해결하기 위한 구체적인 피드백을 제공합니다.


3. 맞춤형 데이터셋을 통한 개선:
레드 팀의 피드백을 바탕으로, 추가적인 맞춤형 데이터셋이 개발되어 모델이 그 통찰을 반영하도록 합니다. 이는 포스트-트레이닝 데이터셋을 더욱 정제하고, 모델의 안전성을 강화하는 데 기여합니다.

 

유해 반응률의 유의미한 감소:
이러한 접근 방식은 Phi-3-mini 모델의 유해 반응률을 유의미하게 감소시키는 결과를 가져왔습니다. 이는 모델이 사용자와의 상호작용에서 보다 안전하고 신뢰할 수 있는 반응을 제공할 수 있음을 보여줍니다.

약점

모델 크기에 따른 한계

factual knowledge의 저장 한계:

Phi-3-Mini는 그 크기로 인해 "factual knowledge"을 충분히 저장할 수 없는 한계를 가지고 있습니다.

이는 TriviaQA 같은 벤치마크에서 낮은 성능으로 나타나며, 모델이 일반 지식 질문에 답변하는 능력이 제한적일 수 있음을 시사합니다.

언어 제한:

Phi-3-Mini는 주로 영어 데이터로 훈련되어, 다국어 처리 능력이 제한적입니다. 

이는 글로벌 사용자 기반을 대상으로 하는 응용 프로그램에 제약을 줄 수 있습니다.

(실제로 한글로 물어봤을 때도 결과는 나오지만 쩍 잘하지는 못했던 것 같다)

해결 방안 및 개선 전략


검색 엔진을 통한 보완:

Phi-3-Mini의 팩투얼 지식 저장 한계는 검색 엔진과의 통합을 통해 보완될 수 있습니다. 

예를 들어, HuggingFace의 기본 Chat-UI를 사용하여 검색 기능을 통합함으로써 모델이 더 광범위한 정보에 접근하고 사용자 질문에 보다 정확하게 응답할 수 있도록 합니다.

(즉 RAG 같은 것을 쓰면 대응이 된다고 하는 것 같다.)


다국어 지원 확대:

다국어 데이터를 추가로 통합하여 훈련함으로써, Phi-3-Small과 같은 후속 모델들이 다양한 언어를 보다 효과적으로 처리할 수 있도록 개선할 수 있습니다. 이는 모델의 범용성을 향상하고, 다양한 언어 환경에서의 활용 가능성을 넓힐 것입니다.

 

HuggingFace 주소 링크

여기에 ms에서 공개한 모델이 있는데, 아쉽게 현재까지는 base model은 올려주지 않았다.

https://huggingface.co/microsoft/Phi-3-mini-128k-instruct
https://huggingface.co/microsoft/Phi-3-mini-4k-instruct
 

 

개인 생각

MS에서 핸드폰에 넣을 수 있는 LLM 모델에 대한 기술적인 내용을 정리해 준 보고서 같고, 결국에 중요한 것은 특정 TASK를 잘 수행할 수 있는 기본적인 능력을 가진 모델을 만드는 것이 중요하고, 나머지 부가적인 지식 같은 것은 Context로 제공하면 된다는 것 같다.

그래서 ms처럼 먼가 작은 모델로 좋은 결과를 낸다고 했을 때, 단순히 해당 특정 업무만 수행하는 모델이 아니라 관련해서 필요한 지식들을 배울 수 있는 데이터가 중요하다는 것을 실험적으로 잘 정리해 준 보고서인 것 같다.

 

관련 링크

https://arxiv.org/abs/2404.14219

 

Phi-3 Technical Report: A Highly Capable Language Model Locally on Your Phone

We introduce phi-3-mini, a 3.8 billion parameter language model trained on 3.3 trillion tokens, whose overall performance, as measured by both academic benchmarks and internal testing, rivals that of models such as Mixtral 8x7B and GPT-3.5 (e.g., phi-3-min

arxiv.org

 

728x90