본문 바로가기

자연어처리/LM

Phi-4 Technical Report

■ phi-4는 organic data sources에 기반하는 대부분의 LM들과 달리, synthetic data에 중점을 두고 학습시킨 모델이다. 

- organic data란 온라인 상(예; 트위터)에서 다수의 사용자에 의해서 형성되거나, 스마트폰, 웨어러블 기기 등에서 자동으로 생성 및 축적된 데이터를 말한다. 

■ 이전 phi 시리즈는 주로 teacher model(예: GPT-4)의 능력을 증류하는 데 그쳤던 반면, phi-4는 post-training을 통해 특정 도메인에서 teacher model보다 더 좋은 성능을 달성하였다.

 post-training을 위해 "Pivotal Token Search (PTS)"라는 방법을 도입했는데, 이 부분이 논문의 핵심 요소 중 하나이다. 

■ phi-3 아키텍처에 최소한의 변경만 적용했음에도 불구하고, 개선된 데이터, training curriculum, post-training scheme 덕분에 14B phi-4는 모델 크기 대비 강력한 성능을 달성했으며, 특히 reasoning이 요구되는 benchmarks에서 더 좋은 성능을 보인다.  

[2412.08905] Phi-4 Technical Report

 

Phi-4 Technical Report

We present phi-4, a 14-billion parameter language model developed with a training recipe that is centrally focused on data quality. Unlike most language models, where pre-training is based primarily on organic data sources such as web content or code, phi-

arxiv.org

 

1. Introduction

phi-4 training data의 대부분을 synthetic data가 차지하며, Synthetic data들은 multi-agent prompting, self-revision workflows, instruction reversal를 포함한 다양한 techniques을 사용하여 생성되었다. 

■ 이를 통해 모델에 더 강력한 reasoningproblem-solving abilities을 유도하는 데이터셋을 구축할 수 있다. 

phi-4의 synthetic data는 post-training에서도 model outputs을 다듬는  결정적인 역할을 한다.

(1) Synthetic Data for Pretraining and Midtraining

■ high-quality synthetic datasets은 reasoning과 problem-solving을 우선시하도록 설계되었으며, diversity와 relevance를 고려하여 생성되었다.  

■ training curriculum을 변경하고, 새로운 pretraining 및 midtraining data mixtures을 구성했으며, 이전 세대의 phi 모델들에 비해 synthetic tokens의 할당 비중을 높였다.  

(2) Curation and Filtering of High-Quality Organic Data

■ web content, licensed books, code repositories와 같은 organic data sources을 큐레이션하고 필터링하였다. 이 과정을 거친 organic data들은 모델의 high-depth reasoning을 끌어내기 위한 synthetic data들의 seeds로 사용된다.   
- 즉, seed(organic data)를 바탕으로 synthetic data를 생성한 것이다.  
- 예를 들어, web content data를 입력으로 주고 LLM(예: GPT-4)에게 해당 내용을 기반으로 QA 문제를 생성하도록 요청하는 방식이다. 

■ 저자들은 이 방식으로 high-quality의 synthetic datasets을 구축하기 위해, pretraining에 사용할 high-quality data를 web에서 선별하였다.  

(3) Post-Training

■ "pivotal token search"라는 technique을 사용하여 DPO pairs을 생성하고, 이를 학습시켰다. (섹션 4.3)

■ 이러한 innovations을 통해, reasoning-related tasks에서 phi-4는 훨씬 더 큰 모델들과 필적하거나 능가하는 성능을 달성하였다.  

■ phi-4가 GPQA, MATH에서 자신의 teacher model인 GPT-4o를 상당히 능가한 것을 Table 1에서 볼 수 있다. 


1.1 Addressing Overfitting and Data Contamination

Decontamination

■ foundation models을 만들 때 주의해야 할 점 중 하나는, 학습을 위해 수집한 web corpus를 통해 benchmark test sets이 leakage되는 경우 이다. 

- 즉, web data들을 수집하고 학습시켰는데, 해당 data가 모델 평가에 사용해야 할 benchmark test set의 data들인 경우. 이런 경우 해당 benchmark test set에서 과적합이 발생할 수 있다.  

■ 저자들은 이러한 data contamination 문제를 방지하기 위해, 이전 phi 모델들에 사용된 것보다 더 개선된 data decontamination process를 사용했다. (Appendix B) 

B.1 Decontamination

■ 저자들은 benchmark의 test set과 일치하는 부분을 제거하기 위해 13-gram과 7-gram을 사용하는 hybrid \( n \)-gram algorithm을 적용했다. (Algorithm 1) 

■ Wiki와 train set에서 공통적으로 발견되는 13-gram들의 집합을 생성하고, 이것들을 제거하지 않도록 설계하였다. 
- 단순히 겹친다고 contamination으로 간주하고 다 제거하는 것은 바람직하지 않다. 예를 들어, 객관식 문제의 보기 형식은 모델이 문제 형식을 배우기 위해 필요하다.  
- 그래서 저자들은 train set과 Wiki에서 공통적으로 발견되는 문구들은 일반적인 문구로 판단하고, 해당 문구들은 예외 처리한 것이다.  

- 먼저, training text(train)에서 모든 13-gram을 추출한다. (line 3) 
- 각 13-gram이 벤치마크의 test(tests)에 들어있는지 확인한다. 단, 공통 패턴(allowed_13gram)은 제외한다. 허용되지 않은 13-gram이 벤치마크 데이터와 일치하면 이를 "Contaminated"으로 판정한다. (line4-6) 
- 13-gram 검사를 통과했더라도, 통과된 text 중에는 문장을 살짝 고친 것들이 존재할 수 있다. 이러한 것들을 제외시키기 위해 7-gram 검사를 진행한다.  
- train에서 모든 7-gram을 추출한 다음(line 8), tests에 대해 7-gram overlap 수를 계산한다. (line 9) 
- 그리고 중복 비율을 계산한다. train이나 tests 중 더 짧은 쪽의 길이를 기준으로, 7-gram이 얼마나 많이 겹치는지 비율을 계산한다. ratio = 중복된 7-gram 수 / min(train 7-gram 수, benchmark 7-gram 수) (line12-13) 

- 최종적으로 max_ratio가 결정되면, 임곗값을 기준으로 contamination, partial contamination, clean으로 분류한다. (line17-22) 

AMC Benchmark

■ test set에 대한 과적합을 방지하는 가장 확실한 방법은, fresh data로 테스트하는 것이다. 그래서 저자들은 AMC-10 및 AMC-12 math competitions에서 모델을 테스트하였다. 

■ phi-4의 training data 수집이 끝난 뒤에 치러진 시험 문제이다. 즉, phi-4의 training data에 이 문제들이 포함될 수 없으므로, data contamination 가능성이 매우 낮다.  

■ phi-4는 비슷한 크기나 open-weight models뿐만 아니라, 훨씬 더 큰 frontier models보다 더 높은 점수를 기록했다. 이러한 fresh test set에서의 성능은 MATH에서 phi-4가 보여준 성능(Table 1)이 과적합이나 contamination 때문이 아님을 시사한다.  

Relying on Contamination-Proof Benchmarks

■ GPQA와 같이 questions이 독창적이고 web에 나타나지 않는 benchmarks에 비중을 두었다. 그리고 MS에서 직접 작성한 prompts로 구성된 내부 벤치마크를 사용했다.  

Long Chain-of-Thought Models

■ long chains of thought을 생성하여 inference-time compute을 확장하는 스타일의 LLM이 등장했다. 이러한 모델들은 reasoning benchmarks에서 좋은 성과를 기록했다.  

■ 유일한 open weight인 QWQ는 AMC-10/12 setting에서 평균 124.5점을 기록했는데, 이 실험에서 사용된 QWQ는 phi-4보다 4배 더 많은 토큰을 사용하며 파라미터 수도 2배 이상 많다.  

■ 즉, 비용이나 latency 측면에서 이 모델들은 phi-4와 동급이 아니며, phi-4보다 훨씬 더 비싸다. 



2. Approach to Data


2.1 Purpose of Synthetic Data

■ phi 시리즈에서는 textbook-quality synthetic data의 중요성을 지속적으로 강조해 왔다. synthetic data는 단순히 organic data의 저렴한 대체재가 아니며, organic data와 비교했을 때 몇 가지 advantages을 가지고 있다.  

Structured and Gradual Learning

■ organic datasets에는 tokens 간의 관계가 복잡하거나 간접적인 data들이 있으며, 이런 data들은 current token을 next token과 연결하기 위해 많은 reasoning steps이 필요할 수 있으며, 이는 모델이 "next-token prediction"을 학습하는 것을 어렵게 만든다.  
- 사람이 쓴 글은 문맥이 생략되거나, 비약적인 논리 전개가 포함될 수 있다. 그러므로, next token을 선형적으로 생성하는 LM에게 이러한 중간 내용이 비어 있는 text는 next-token prediction을 학습하기에 적합하지 않을 수 있다. 

■ 대조적으로, LM이 생성한 text는 정의상 확률적으로 앞 단어들(즉, preceding tokens)에 이어질 가장 그럴듯한 단어를 한 단계씩 선택한 결과물이다. 그러므로, 모델이 추론 패턴을 따라가는 것을 더 쉽게 만든다.   

■ 예를 들어, 수학 문제 해설에서는 최종 정답을 먼저 제시한 뒤 나중에 풀이 과정을 설명하는 경우가 있다. 이때 사람은 nonlinear editing, 즉 생각을 정리하며 내용을 수정하거나 결론을 먼저 쓰고 근거를 뒤에 보완하는 방식으로 최종 답안을 완성할 수 있다. 

■ 그러나 LM에게 이러한 데이터는, 문제를 입력받자마자 곧바로 정답을 생성하도록 강요하는 형태가 된다. 이는 LM이 텍스트를 선형적으로 생성하며, 최종 정답 역시 그 과정의 결과로 생성되기를 기대하도록 학습되기 때문이다. 

■ 수학 문제에 대한 synthetic solutions은 이러한 문제점을 갖지 않는다. LM에 의해 생성된 synthetic solution은 LM의 사고 과정(next-token prediction)의 결과물이기 때문이다.  

■ 그러므로 모델이 이러한 synthetic solution을 학습할 때, 자연스럽게 단계별 추론을 따라가기가 용이하다. 

Alignment with Inference Contexts

■ synthetic data는 일반적으로 모델이 생성하기를 기대하는 출력 형식에 더 가깝다. 그러므로 synthetic data로 학습시키는 것은 학습 단계의 분포를 inference 시점의 시나리오와 일치시키는 데 도움이 된다. 

■ 이러한 정렬을 통해, 모델이 생성 중에 출력하는 context를 학습한 데이터의 분포 내에(in-distribution) 머물도록 할 수 있다. 즉, 학습과 추론(inference) 간 분포 불일치를 줄인다. 

■ 예를 들어, 모델에 어떤 정보를 학습시켰을 때, 그 정보가 모델이 학습했던 문체나 형식과 상이하면, 모델은 inference time에서 그 정보를 낮은 확률로 처리하여 해당 정보를 꺼내 쓰지 못할 수 있다.  

■ 이를 모델의 대화 스타일로 재작성하여 학습시키면, inference에서 모델이 해당 정보가 더 쉽게 활성화된다.  

Principles

phi-4를 위한 synthetic data generation approach는 다음 원칙들을 따른다. 

- (1) Diversity: 각 도메인 내의 subtopics과 skills 을 빠짐없이 다루도록, organic sources에서 다양한 seed를 큐레이션해 커버리지를 확보한다.  

- (2) Nuance and Complexity: 효과적인 학습을 위해서는 도메인의 complexity와 richness를 반영하는 non-trivial examples이 필요하다. 단순/기초 examples을 넘어서 edge cases과 advanced examples도 사용해야 한다.  

- (3) Accuracy: code의 경우 올바르게 실행되어야 하고, 증명은 타당해야 하며, 설명은 정립된 지식(즉, 설명의 사실성)에 따를 수 있도록 정확한 데이터를 사용해야 한다. 

- (4) Chain-of-Thought: 모델에게 문제 해결을 위한 다양한 접근 방식을 step-by-step으로 가르치고, 체계적인 추론을 유도할 수 있는 데이터를 사용해야 한다. 이를 통해 complex tasks에서도 일관된 outputs을 출력할 수 있다.  


2.2 Synthetic Data for Pretraining and Midtraining

■ 50가지 유형의 synthetic datasets을 구축했다. 광범위한 topics, skills 등을 폭넓게 커버하고 있으며, 이는 총 400B tokens의 규모이다.  

synthetic datasets 생성에 사용된 methodologies은 다음과 같다. 

Seed Curation

■ synthetic data의 기반이 되는 high-quality seeds을 다양한 도메인에서 선별한다. 

- (1) Web and Code-based Seeds

- 2단계 필터링을 통해 높은 complexity, reasoning의 깊이, 그리고 교육적인 가치가 높은 콘텐츠를 선별한다.

- 먼저, 교육적 잠재력을 가진 콘텐츠를 식별한 다음, 선택된 콘텐츠를 passage 단위로 분할하여 각각의 내용과 reasoning 콘텐츠에 대한 점수를 매긴다.  

- (2) Question Datasets

- 먼저 websites, forums, Q&A platforms에서 questions을 수집한다. 이 questions은 다수결 기반의 technique을 사용하여 필터링되었다. 

- 구체적으로, 각 question에 대해 여러 개의 독립적인 answers을 생성한 다음, majority voting을 적용하여 responses의 일관성을 평가한다.

- 이때, 모든 답변이 일치(즉, question 난이도가 너무 쉬움)하거나, 답변이 완전히 일관성이 없는(즉, 너무 어렵거나 모호한 question) questions은 제거한다.  

- 이러한 필터링 과정을 통해, 모델의 reasoning 및 problem-solving abilities에 도움이 되는 dataset을 생성한다. 

- 다수결로 선택된 답변들(즉, 생성된 답변 중 가장 품질이 좋은 답변)은 rejection-sampling based generations에서 ground truth를 대신하여 사용되었다.  

- (3) Creating Question-Answer pairs from Diverse Sources

- seed curation을 위해 LM을 활용하여 책, 과학 논문, 코드와 같은 organic sources에서 question-answer pairs을 추출한다. 

- 단, 텍스트 내에 존재하는 명시적인 Q&A 쌍을 찾아내는 것이 목표가 아니다. 텍스트 내의 추론 흐름(deduction chains이나 논리적 전개)를 찾아 이를 QA 쌍으로 재구성하여 추출하는 것이 목표이며, 이를 위해 특별히 설계된 파이프라인을 사용한다.  

- 이렇게 생성한 Q&A 쌍으로 학습하면, 원문을 그대로 학습하는 것보다 성능 향상에 훨씬 더 효과적인 것으로 나타났다고 한다.  

Rewrite and Augment

■ seeds은 multi-step prompting workflows을 통해 synthetic data로 변환된다. workflows에는 주어진 passages에서 유용한 콘텐츠를 연습 문제, 토론, 또는 structured reasoning tasks로 재작성하는 과정이 포함되어 있다.  

Self-revision

■ initial responses은 feedback loop를 통해 반복적으로 refined된다. 이 loop에서 모델은 reasoning과 factual accuracy에 초점을 맞춘 채점 기준에 따라 자신의 출력을 critique하고 그에 따라 개선한다.  

■ 이러한 self-revision 과정을 통해 추론의 일관성과 사실 정확도를 지속적으로 강화한다. 

Instruction Reversal for Code and Other Tasks

■ instructions로부터 outputs을 생성하는 모델의 능력을 향상시키기 위해, "instruction reversal" technique을 사용한다. 

■ 예를 들어 code(즉, output)로부터 거꾸로 instruction을 생성한다. 그리고 원본 코드와 재생성된 코드(생성된 instruction을 사용해 얻은) 사이에 높은 fidelity(즉, 서로 매우 비슷)를 가진 데이터만 선별한다.  

Validation of Code and Other Scientific Data

■ reasoning 비중이 높은 synthetic datasets의 품질을 검증하기 위해 실행과 테스트를 수행한다. 

■ scientific datasets의 경우, questions은 높은 관련성과 근거, 난이도 밸런스를 보장하도록 설계된 방법을 사용하여 scientific materials에서 추출한다.  


2.3 Curation and Filtering of Web and Q&A Data

Q&A datasets

■ public websites, 기존 datasets, 그리고 external datasets을 통해 수천만 개의 organic problems and solutions을 수집했다.  

■ 이전 모델들에서는 question-answer data가 mathematical reasoning 및 academic performance와 같은 능력에 효과적인 것을 보여주었다.  

■ ablation studies에 따르면, "organic questions이 synthetic questions보다 더 효과적"인 것으로 나타났다. 

■ 더 큰 데이터셋을 확보하기 위해 organic questions의 dataset을 synthetically하게 augment했지만, 모델의 능력 향상이 organic questions만큼 뚜렷하지 않고, 제한적이었다고 한다.  

■ 수집된 questions의 대부분이 정확한 solutions을 포함하지 않았으며, 이를 해결하기 위해 answers을 synthetically generated된 answers로 대체하고 정확성을 높이기 위해 majority voting을 사용했다.  

■ 그리고 수집된 모든 questions, solutions에 대해 decontamination process를 수행하여 test sets과 겹치지 않도록 하였다.   

Targeting High-quality Web Data

■ 학술 논문, 교육 포럼, 프로그래밍 튜토리얼 등 reasoning 비중이 높은 material에 초점을 두고, phi-4를 위한 다양한 high-quality의 organic data sources을 수집했다.  

■ 이렇게 수집한 텍스트를 직접 학습에 사용하는 것 외에도, 앞에서 설명한 것처럼 다양한 web sources을 synthetic data 생성을 위한 seeds로 사용했다.   

■ 저자들은 clean하고 correct한 organic data가 synthetic data seeding에 절대적으로 중요하다는 점을 발견했다고 보고한다. organic data에 있는 사소한 오류가 organic data에서 파생된 synthetic data의 품질을 심각하게 저하시킬 수 있기 때문이다. 

■ 그래서 저자들은 웹 데이터에 대해 엄격한 큐레이션을 수행하는 데 상당한 자원과 노력을 투입하였다.

- (1) Targeted Acquisitions

- 공개적으로 사용이 허용되었거나 라이선스 가진 reasoning 밀도가 높은 documents의 repositories(예: arXiv, PubMed Central, GitHub나 라이선스가 달린 책들)을 선별적으로 수집했다.  

- 이는 외부에서 구할 수 있는 일반적인 코퍼스의 표준을 뛰어넘는 품질을 확보하기 위해서이다. 

- (2) Filtering Web Dumps

- 정보가 풍부한 web sources(예: 포럼, 블로그, 강의 자료, domain-specific wiki)의 long tail을 얻기 위해, 대량의 web dumps에서 최상위 품질의 documents만 선별했다.  

- 이를 위해 \( \sim 10^6 \) 개의 LLM-generated annotations로 학습된 small (non-LLM) classifiers을 사용했다. 

- 단, 이 방식은 STEM 관련 키워드(즉, 수학, 과학 키워드)에 지나치게 편중되는 경향이 있어, 균형을 맞추기 위해 고품질의 non-STEM content(예: 예술, 역사, 여행, 문화, 엔터테인먼트)를 증폭시키기 위한 별도의 파이프라인을 구축하였다.  

- 그리고 n-gram statistics 및 compression ratios에 따른 outliers을 식별하여 손상된 텍스트와 바이너리 파일을 제거했다. 

- (3) Multilingual Data

- 다양한 언어를 모델이 처리할 수 있도록 multilingual datasets을 포함시켰다. 주요 출처는 CommonCrawl, Wikipedia 기반의 high-quality multilingual documents이다.  

- 다국어 처리 파이프라인은 다음 단계로 구성된다: 먼저, fastText 기반의 언어 식별 모델로 각 document에 대해 176개 언어로 중 하나로 분류, 그 후 web dumps 필터링에 사용된 것과 동일한 classifiers을 사용하여 고품질만 선별 

- 사용한 classifiers은 multilingual LLM-generated annotations으로 학습된 classifiers이다. 

- (4) Custom Extraction and Cleaning Pipelines

- 예를 들어 PDF나 웹 페이지를 텍스트로 바꿀 때, 수식이 깨지거나 코드의 들여쓰기가 사라지거나, 표가 엉망이 되면 학습 데이터로서 가치가 없다.  

- 그래서 저자들은 서로 다른 형식과 구조를 가진 organic data sources 간 통일성을 위해, source별 맞춤 파이프라인을 구축했다.  

- 예를 들어 web data의 경우, parsers에 의해 자주 손상되는 콘텐츠(예: TeX/MathML 수식, 코드 블록, 표 등)를 보존하기 위해, 자체 HTML-to-text extractor를 구축하여 사용하였다.  


2.4 Post-Training datasets

■ post-training data는 다음과 같이 구성된다.

Supervised Fine-Tuning (SFT) Datasets

■ publicly available datasets과 synthetically generated data의 mixture에서 가져온 curated user prompts을 사용하여 여러 개의 model responses을 생성하고, LLM-based evaluation process를 사용하여 가장 좋은 것을 선택한다.  

Direct Preference Optimization (DPO)

■ rejection sampling과 LLM evaluation를 기반으로 DPO pairs을 생성한다. 이 중 일부는 pivotal token-based pairs이다 (섹션 4.3).  



3. Pretraining details

■ phi-4는 decoder-only transformer 아키텍처를 기반의 14B 파라미터와 4096 tokens의 default context length를 가진 모델이다. context length는 이후 midtraining에서 16K까지 확장된다.  

■ 그리고 더 나은 multilingual support를 위해 tiktoken tokenizer를 사용하며, 4K context length에 대해 full attention을 사용한다.  

■ phi-4는 약 10T tokens에 대해 pretrained되었으며, peak learning rate 0.0003, constant weight decay 0.1, 그리고 global batch size 5760을 적용한 linear warm-up and decay schedules을 사용했다.  

■ pretraining stage가 끝난 다음에는, 원래의 context length인 4K를 16K로 늘리기 위해 짧은 midtraining stage가 이어진다.  

■ instruction-tuned을 적용하지 않은 pre-trained models은 instruction following 능력이 부족하기 때문에, 0-shot 평가는 부적절하다.  

■ 그래서 저자들은 다양한 tasks에 대해 og-likelihood and/or few-shot prompts을 혼합하여 사용하는 internal benchmarks을 pretraining 평가에 사용하였다. 
- MMLU(5-shot), MMLU-pro, ARCC(1-shot)는 log-likelihood를, TriviaQA (TQA), MBPP, MATH, GSM8k는 1, 3, 4, 8개의 few-shot examples을 사용 

■ Table 2는 pretrained phi-4와 phi-3-medium을 비교한 결과이다.


3.1 Data Composition in Pretraining

■ phi-3는 two-phase strategy을 통해 학습되었다. training tokens의 대부분은 phase 1 training에 사용되었으며, 이는 주로 필터링된 web data였다.  

■ phase 2는 주로 synthetic tokens과 아주 적은 양의 ultra-filtered된 reasoning 중심의 web data로 구성된 data mixture가 사용되었다.  

■ synthetic data의 크기와 복잡성이 증가하면서, phi-3에서는 non-synthetic tokens을 사용하는 이점이 미미하게 감소하는 현상이 관찰되었다.  

■ 관찰 결과는 
- (1)  web datasets은 reasoning 중심의 benchmarks에서 작은 이점을 보였다. 새로운 web tokens을 추가하여 같이 사용하는 것보다 "synthetic data에 대해 더 많은 epochs를 할당하는 것"이 더 나은 성능으로 이어졌다. 즉, web data는 reasoning 능력에 큰 기여를 하지 않는다.  
- (2) 오직 synthetic data로만 학습된 모델은 knowledge 중심의 benchmarks에서 저조한 성능을 보였으며, hallucinations이 증가함을 보여주었다. 즉, web data가 필요하긴 하다.  

■ Fig 2는 smaller scale로 phase 2 pretraining을 수행한 결과이다. phase 1 pretrained checkpoints에서 동일한 수의 training tokens을 사용하여 model scale당 두 번의 학습을 수행했다. 

■ 이 실험에서 4 epochs과 12 epochs에 대해 실험한다. 이때, 고유한 synthetic tokens의 수는 고정되어 있다. 나머지 training tokens은 web sources에서 공급된 새로운 고유한 toekns로 채워진다. 

■ Fig 2에서 7B든 14B든, 12 epochs + synthetic tokens의 결과가 더 좋은 성능을 달성한 것을 볼 수 있다. 즉, synthetic data에 대해 더 많은 iterations을 수행하는 것이 더 많은 web tokens을 사용하는 것보다 더 유익하다. 

■ web data를 아예 사용하지 않고, 전적으로 synthetic data만 사용하여 13B 모델을 학습시켰다. 이 모델은 각 data source를 20회 이상 반복해서 보도록 학습되었다.  

■ 분석을 명확히 하기 위해 synthetic data를 다시 분류했다: 필터링된 web content를 재작성한 것을 포함하는 web rewrites와 다른 모든 유형의 synthetic data로 분류 

■ Table 3은 phi-3-medium과 synthetic data로만 학습된 새로운 모델을 비교한 것이다. 대다수의 벤치마크에서 phi-3보다 향상된 성능을 달성한 것을 볼 수 있다.  

■ 그러나 1-shot TQA와 같은 knowledge-related benchmarks에서는 큰 성능 저하가 발생했다.  

■ 즉, synthetic-only 모델은 reasoning은 강하지만 knowledge-related tasks에서는 약한 성능을 보인다. 

■ 이러한 관찰 결과를 토대로 저자들은 web data를 대량의 training tokens 공급원으로 쓰는 전략에서 벗어나, web data의 역할을 synthetic data 생성을 위한 seed뿐만 아니라 knowledge 보정과 hallucination 억제로 재정의하게 된다.  


3.2 Data Mixture

■ 주어진 training token budget 내에서 pretraining data mixture를 설계하기 위해, 다양한 sources에서 오는 tokens의 서로 다른 할당량을 탐색했다.  
- sources은 구체적으로 1) synthetic, 2) web rewrites, 3) filtered web (reasoning 중심과 knowledge 중심 부분으로 나뉨), 4) targeted acquisitions and organic data (예: academic data, books, and forums), 5) code data. 

■ data mixture를 도출하기 위해 1T tokens을 사용하였다. 
- data mixture 탐색은 조합 공간이 매우 크므로, 모든 tokens을 사용하기엔 비용이 과도하다. 그래서 1T tokens라는 비교적 짧은 학습 구간에서 data mixture 탐색을 진행한 것으로 보인다. 

■ 1T tokens 사용에 대한 전제는 "짧은 학습과 긴 학습 간에 높은 순위 상관관계가 있다"는 기존 실험 결과이다. 

■ 또한, data mixtures 간의 거리가 충분히 크다면, 서로 다른 data mixtures에서의 7B 모델과 14B 모델의 성능 간에도 높은 순위 상관관계가 있음을 관찰했다고 한다.  
- 즉, 작은 모델에서 data mixtures A, B, C 간의 성능이 A > B > C라면(단 A, B, C는 데이터 구성이 서로 많이 다름. 즉, data mixtures 간의 거리가 충분히 큼), 큰 모델에서도 결과가 그대로 A > B > C인 경우가 대부분인 것이다.  

■ 이 결과를 근거로 저자들은, 7B에서 실험을 수행하고 그 결과를 14B로 전이하였다. 

■ data mixture 탐색을 위해 targeted acquisitions과 code categories에서 오는 토큰 비율은 고정하고, synthetic, web, web rewrites clusters의 토큰 비율을 변경하는 실험을 진행했다. 

■ Table 4는 데이터 구성의 성격을 가장 잘 드러내는 일부 결과만을 선별한 것이다. 세 가지 카테고리 간의 균등한 토큰 할당(Uniform)은 차선책이다. 

■ web data로부터 명확한 이점을 보여주는 유일한 벤치마크는 TQA인 것과 2행과 3행에 있는 synthetic 중심의 변형들은 knowledge benchmark인 TQA에서 성능 저하가 있음을 볼 수 있다.  

 그래서 저자들은 모델 능력의 균형을 맞추기 위해 targeted 및 knowledge-heavy filtered web data sources을 통합하여 knowledge 성능을 보완하는 선택을 했다.  

■ 또한 중요한 관찰로, 최종 선택한 data mixture와 synthetic-heavy 간의 성능 격차가, 모델이 post-training stage를 거치면서 대부분 좁혀진다는 것을 확인했다고 한다.  

■ phi-4에 사용된 data mixture는 다음과 같다. 
- training tokens의 30%를 web 및 web rewrites data sources에 할당하며, 이 둘을 동일 비율로(즉, 각 15%) 할당하였다.

- 40%는 synthetic data를, 20%는 code data (mixture of synthetic and raw code), 그리고 나머지 10%는 academic data 및 books과 같은 targeted acquired sources에 할당하였다.   

■ 각 구성의 unique tokens의 총 개수 측면에서는, filtered web data가 ~ 1.3T tokens로 가장 크며, 두 번째와 세 번째는 code와 targeted acquisitions으로 각각 ~ 820B, ~ 580B tokens이다. web rewrites 및 synthetic data는 ~ 290B tokens로 비슷한 토큰 수를 가진다.  

■ 각 data source에 대한 epochs 수는 mixture 내 할당된 토큰 비율과 해당 source의 unique tokens 개수를 사용하여 결정하였다.  

■ Table 5를 보면, web data는 unique tokens의 수가 1.3T로 엄청 많지만, 학습 비중은 15%라서 1.2 epochs만 수행된다. 반면, synthetic data는 unique tokens이 290B로 적지만, 학습 비중이 40%라서 13.8회 반복 학습하게 된다.  


3.3 Midtraining Details

■ phi-4는 context length를 원래의 4K에서 16K로 늘리는 midtraining stage를 수행했다. 

■ 저자들은 long-context performance에 대한 데이터의 역할을 확인하기 위해 몇 가지 ablations을 진행했는데, 본질적으로 long context를 가지는 데이터(예: 논문)와 짧은 길이의 샘플들을 패딩하여 시퀀스를 채우는 방식으로 인위적으로 생성한 long context를 비교했다.  

■ 실험 결과 전자가 long context tasks에서 더 나은 성능을 보여주었다고 한다. 즉, 단순히 길이를 길게 맞춘 데이터보다, 글 전체의 호흡이 긴 데이터로 학습해야 모델의 long context 처리 능력이 향상된다는 것이다.  

■ 긴 구조를 가진 데이터가 long context 성능에 더 효과적이라는 점을 근거로, 저자들은 midtraining stage에서 사용할 데이터를 그에 맞게 재구성했다.  

■ 구체적으로, high-quality non-synthetic datasets을 대상으로 필터링을 수행하여, 8K context 이상의 샘플들을 분리했다. 이 중에서도 16K 이상 길이를 갖는 샘플들은 long context 성능에 크게 기여할 것으로 판단해, 학습 시 더 높은 가중치를 부여했다.

■ 또한 > 4K 길이(즉, 4K 이상)의 시퀀스를 충족하는 새로운 synthetic datasets도 생성해 midtraining에 포함시켰다. 

■ 이렇게 구성된 midtraining의 최종 data mixture는 새롭게 큐레이션된 long context data 30%와 pretraining stage의 recall tokens 70%로 구성된다.  

■ 추가로, 더 긴 context를 수용하기 위해 RoPE의 base frequency를 250K로 설정하였다. 

■ midtraining은 pretraining보다 더 미세한 조정 단계이기 때문에, pretraining stage 대비 maximum learning rate를 10분의 1로 낮추고, 총 250B tokens에 대해 midtraining을 진행했다.  

■ 모델의 long context 처리 능력을 제대로 평가하기 위해서는, 포괄적인 평가가 필수적이다. 그래서 저자들은 real-world applications을 반영하는(즉, 현실적인 시나리오들을 반영하는) 다양한 tasks에 초점을 두었다.  

■ Table 6은 HELMET evaluation suite에서 저자들이 선택한 tasks에 대한 phi-4 및 다른 모델들의 성능이다. 결과는 각 카테고리별로 5회 실행 평균값이다.  

- Recall은 무작위로 생성된 긴 JSON 파일에서 특정 key가 주어졌을 때, 그에 해당하는 value를 검색하는 task이다. (metric: SubEM) 

- RAG는 수많은 Wikipedia documents을 검색·셔플한 뒤, 이를 input으로 주고 질문에 답하게 하는 task이다. 사용된 데이터셋은 NaturalQuestions, HotpotQA, PopQA이며 최종 결과는 모든 데이터셋의 평균이다. (metric: SubEM)  

- Re-rank는 query와 수많은 검색·셔플된 documents가 주어졌을 때, top-10 documents을 re-rank하는 task이다. MSMARCO 데이터셋을 사용한다. (metric: nDCG@10) 

- ICL은 TREC coarse, TREC fine, Banking77, NLU, CLINC150과 같은 데이터셋을 사용하여 many-shot in-context learning을 수행하는 task이다. 최종 결과는 모든 데이터셋의 평균이다. (metric: F1) 

- QA: 긴 문서가 주어졌을 때 질문에 답변하는 task이다. (metric: GPT-4o가 채점)

- Sumn은 긴 법률 문서를 요약하는 task이며, 사용된 데이터셋은 MultiLexSum이다. (metric: GPT-4o가 채점) 



4. Post-Training

■ post-training에서는 pretrained language model (PLM)을 사용자가 안전하게 상호작용할 수 있는 AI assistant로 변환하는 것을 목표로 한다.  

■ 저자들은 한 번의 SFT, pivotal token search method에서 얻은 데이터를 사용한 한 번의 DPO, 그리고 전체 길이 preference pairs에 대한 한 번의 DPO를 통해 PLM을 align하였다. 

■ 이 모델은 standard chatml format을 사용하여 대화형으로 finetuned되었으며, 두 번의 conversation rounds에 대한 example usage template은 다음과 같다.  


4.1 Supervised Fine-Tuning

■ math, coding, reasoning, conversation, model identity, safety를 포함한 다양한 도메인의 high-quality data로부터 생성된 다양한 data에 대해 \( 10^{-6} \)의 학습률로 pretrained model을 fine-tune한다.  

■ 또한, 40개 언어에 대한 multilingual data도 추가했다. 이 단계에서는 약 8B tokens의 data를 사용하며, 모두 chatml format으로 포맷팅되었다.   


4.2 Direct Preference Optimization

■ DPO를 사용하여 모델을 human preferences에 맞게 align하고 desired 및 undesired outputs의 pairs을 통해 unwanted behavior로부터 모델을 멀어지게 유도한다.  

■ DPO data는 chat format data, reasoning, Responsible AI (RAI) data를 포함하며, math, coding, reasoning, robustness, safety 면에서 모델을 개선한다.  

■ SFT 모델에 대해 두 번의 DPO를 수행하는데, 첫 번째 DPO 라운드를 위한 pairs을 생성하기 위해 "Pivotal Token Search (PTS)"라는 technique을 사용한다.  

■ judge-guided DPO라고 부르는 두 번째 DPO 라운드를 위해, 약 850K pairs의 desired, undesired outputs을 수집한다.  

■ 프롬프트는 publicly available한 instruction tuning datasets에서 소싱되며, safety 및 RAI와 관련된 프롬프트도 포함된다.  

■ 수집 후, 각 프롬프트에 대해 GPT-4o, GPT-4t, 그리고 phi-4로부터 responses을 생성한다. 이러한 responses로 다양한 DPO pairs 조합을 생성하고, GPT-4o를 judge로 사용하여 주어진 pairs에 대해 positive/negative를 라벨링한다.  

■ 주어진 responses의 pair에 대해, 각 assistant의 response는 accuracy, style, 그리고 detail에 따라 점수가 매겨진다.  

■ 저자들은 더 높은 accuracy 또는 전반적인(accuracy, style, detail의 평균) 점수를 받은 response를 positive response로 라벨링했다.  

■ 두 DPO 라운드 모두 safety와 hallucinations 완화를 위한 소량의 데이터가 사용된다.  


4.3 Pivotal Token Search

■ 주어진 프롬프트에 대해 토큰 단위로 response를 생성하는 generative model을 생각해 보면, 생성된 각 토큰은 이전까지 생성된 토큰 시퀀스에 조건부로 선택된다.  

■ 이는 해당 토큰 시퀀스가 주어졌을 때 next token이 정답일 확률로 정의할 수 있다. 그러므로, 그 토큰에 대한 확률의 증분. 즉, 그 토큰을 생성하기 전과 후의 정답 확률 차이도 고려할 수 있다.  

■ 중요한 점은 새로운 토큰 하나가 추가될 때마다 이 확률이 연속적으로 변화하며, 어떤 토큰들은 그 변화량이 매우 작지만, 소수의 특정 토큰들은 정답 확률을 급격히 증가시키거나 감소시킨다는 것이다.  

■ 즉, 전체적인 정답 여부는 모든 토큰의 누적 효과가 아니라, "소수의 핵심 토큰을 성공적으로 생성하느냐"에 크게 의존하는 경우가 많다.  

■ 예를 들어, Fig 3에서 모델이 수학 풀이를 출력할 때, 핵심 토큰인 "negative"가 샘플링되면 풀이가 실패에서 성공으로 바뀌는 반면, 그 후 "(a" 토큰이 샘플링되면 다시 실패 가능성이 커지는 것을 볼 수 있다.   

■ 이처럼 개별 토큰 하나가 이후 생성 경로 전체를 유리하거나 불리한 방향으로 강하게 전이시키는 경우가 있으며, 저자들은 이러한 토큰을 "pivotal token"이라고 정의한다.  

■ Fig 3에서 볼 수 있듯이 "negative"의 확률보다 훨씬 낮은 확률을 가진 토큰들이 존재한다. 이러한 토큰들은 정답 여부와 직접적인 관련이 없으메도 불구하고 gradient 계산에 포함되기 때문에, 결과적으로 pivotal token이 만들어내는 학습 신호를 희석시키는 노이즈로 작용한다.  

■ 더 심각한 문제는 DPO 학습에서, 풀이를 방해한 토큰, 예를 들어 "(a"와 같이 실패 가능성을 높였던 선택이, 그 자체의 발생 확률이 매우 낮다는 이유로 강한 positive learning signal을 받게 된다는 점이다. 
- DPO 학습 시, 선호 데이터에 "(a"가 포함되어 있으면 "(a"는 나쁜 선택이었음에도 불구하고, 정답 응답에 포함된 토큰들은 모두 바람직하다는 암묵적 가정 때문에, "(a"를 올바른 선택으로 오해하고 이 선택을 강화하는 부작용이 발생한다.  

■ 게다가 직관적으로, 두 텍스트가 서로 상당히 달라지는 경우, 개별 토큰의 로그 확률을 비교하는 것은 큰 의미가 없다.  
- 예를 들어, 선호 응답과 비선호 응답 문장이 100 tokens 동안 다르다면, 그 100 tokens을 다 비교하는 것은 비효율적이고 의미가 없다.  

■ 오히려, 두 텍스트가 서로 "갈라지기 시작한 직후의 첫 번째 토큰들(즉, 두 응답이 처음으로 갈라지는 지점)"에서 preference signal이 나와야 한다는 것이 더 타당하다.  
- 즉, 두 응답이 갈라지기 시작한, 그 첫 순간의 선택이 왜 달랐는지를 학습하는 것이 더 효과적인 것으로 본 것이다. 

■ 이를 위해, 저자들은 "Pivotal Token Search (PTS)"라는 방법을 도입했다. PTS는 pivotal token을 식별한 뒤, 이를 해당 토큰 하나만 다른 경우와 positive/negative로 구성하여 선호 최적화가 token-level에서 작동하도록 DPO pair를 생성한다.  
- 저자들은 위에서 설명한 문제점들 때문에, 일반적인 sequence-level의 DPO가 아닌, token-level DPO를 수행하고자 한 것이다.  

■ 이를 통해 불필요한 토큰들로 인한 gradient 노이즈를 제거하고, 모델이 실제로 중요한 선택 지점에서 더 안정적인 결정을 내리도록 학습시키는 것이 이 접근의 핵심이다. 

■ PTS는 user query \( Q \)에 대해 모델이 생성한 completion token sequence \( T_{\text{full}} = t_1, t_2, \dots \)를 대상으로, 각 token이 생성되는 시점의 \( t_1, \dots, t_i \)가 주어졌을 때, 최종 답이 정답일 확률 \( p(\text{success} \mid t_1, \dots, t_i) \)이 어떻게 변하는지, 어떤 token이 이 확률에 중대한 영향을 미치는지를 식별한다. 

■ PTS는 \( Q + t_1, \dots, t_i \)를 입력으로 시작하여 여러 개의 completion을 샘플링하고, 해당 completion들이 정답인지 여부를 oracle을 통해 판별함으로써 조건부 성공 확률을 추정한다.  

■ Fig 4는 알고리즘의 기본적인 구현을 나타낸 것이다.  

■ SUBDIVIDE 절차는 시퀀스를 특정 구간의 세그먼트 \( t_i, \dots, t_j \)로 재귀적으로 분할하면서, 세그먼트 \( t_i, \dots, t_j \)가 주어졌을 때, 세그먼트의 성공 확률 변화량 \( | p(\text{success} \mid t_1, \dots, t_{i-1}) - p(\text{success} \mid t_1, \dots, t_j) | \)가 임곗값 \( p_{\text{gap}} \) 미만이 되거나 세그먼트가 single token이 될 때까지 \( t_i, \dots, t_j \) 분할을 반복한다.  

■ 이 과정에서 성공 확률에 급격한 변화가 있는 토큰들은 pivotal으로 간주된다. 

■ 이렇게 식별된 pivotal token은 선호 데이터로 변환되는데, 그 방법은 \( Q + t_1, \dots, t_i \)를 query로 삼고, \( p(\text{success} \mid \dots) \)의 확률을 증가/감소시키는 single token \( t_{\text{acc}} \)와 \( t_{\text{rej}} \)를 각각 accepted completion, rejected completion으로 구성하는 것이다.  

■ 그 결과 생성되는 DPO pair는 전체 응답이 아니라 동일한 문맥에서의 "single token 선택 차이"만을 비교 대상으로 하며, 선호 최적화의 학습 신호가 정확히 그 토큰 선택에 집중되도록 한다.  

■ binary-search 형태의 PTS가 모든 pivotal token을 항상 찾아낸다고 보장할 수는 없지만, 적어도 비결정적인 토큰을 잘못 선택하지는 않으며(즉, 오직 pivotal token만을 찾아내며), 성공 확률이 거의 단조적으로 변화하는 경우에는 모든 pivotal token을 정확히 찾아낼 수 있다.  

■ 저자들은 수학, 다양한 형태의 QA, 코딩과 같이 ground-truth를 쉽게 구할 수 있는 tasks에 대해 선호 데이터를 생성하기 위해 PTS를 사용했다.  

■ 그리고 샘플 효율성을 높이기 위해, 모든 문제를 대상으로 PTS를 적용하지 않고, 성공 확률이 \( 0.2 \leq p(\text{success}) \leq 0.8 \)인 문제들만 선별하였다.   

■ 이는 너무 쉬운 문제의 경우 모델이 거의 항상 정답을 생성하므로 성공 확률을 크게 변화시키는 pivotal token을 찾기 어렵기 때문이다. 반대로 너무 어려운 문제의 경우 어떤 토큰을 선택하더라도 성공 확률이 낮아 역시 의미 있는 pivotal token을 찾기 어렵다.  

■ 그러므로 중간 난이도 구간에 해당하는 문제들(\( 0.2 \leq p(\text{success}) \leq 0.8 \)인 문제들)만을 대상으로 PTS를 적용함으로써, 계산 비용 대비 유의미한 선호 신호를 얻을 수 있는 데이터만을 수집하도록 설계한 것이다.  

■ Fig 5는 PTS를 사용하여 생성한 선호 데이터의 예시이다. Fig 5의 수학 문제에서 나타나듯이, pivotal token은 종종 명백한 실수가 아니라, 논리적으로 타당하지만 "모델의 성공 확률 관점에서는 덜 안정적인 추론 경로로 이어지는 선택"인 경우가 존재한다.

 예를 들어, 양변에 분모를 각각 곱하는 방식과 cross-multiplying을 수행하는 방식은 수학적으로 모두 올바르지만, 실험에 사용한 모델에게는 후자가 모델에게 더 견고한 풀이 경로를 제공한다. 

■ PTS는 이러한 "정답이지만 취약한 선택"과 "정답이면서도 안정적인 선택"을 구분해, 동일한 문맥에서 어떤 single token이 이후 성공 확률을 높이거나 낮추는지를 기준으로 DPO pair data를 구성한다.  

■ 그 결과 생성되는 선호 데이터는 단순히 틀린 답을 배제하는 것이 아니라, 여러 가능한 올바른 경로 중에서 모델이 이미 상대적으로 강점을 보이는 추론 경로로 더 자주 진입하도록 유도하는 학습 신호를 제공할 수 있다.  

Related Work

■ 잘못된 추론 경로를 학습한 모델을 사용해, 어떤 토큰들이 실패에 기여했을 가능성이 높은지 점수를 매기고, 이를 DPO에서 rejected responses에 가중치로 부여하는 연구가 있다.  

■ 그러나 이러한 접근은 실패 기여도를 추정하기 위해 별도의 모델을 사용해야 하며, 그 모델이 실제 성공 여부와 얼마나 잘 대응되는지에 대한 불확실성이 존재한다.  

■ 이에 비해 PTS는 실패 또는 성공의 원인을 간접적으로 추론하지 않고, oracle을 사용해 조건부 성공 확률 \( p(\text{success}) \)를 직접 추정함으로써, 실패 기여도를 추정하도록 학습된 모델로부터 발생할 수 있는 편향과 복잡성을 피할 수 있다. 

■ 한편, automated process supervision methods은 process reward models (PRM)을 학습시키기 위한 데이터를 생성하기 위해 탐색과 rollout을 적용해 왔다.  

■ 이러한 맥락에서 PTS는 전체 추론 경로를 점수화하거나 reward models을 학습시키는 대신, token-level에서 성공 확률 변화에 연결되는 선호 신호를 생성한다는 점에서 automated process supervision method의 한 형태로 볼 수 있으며, 그 결과물이 DPO에 사용할 수 있는 token-level의 선호 데이터라는 점이 특징이다.  


4.4 Hallucination mitigation

■ hallucination을 완화하기 위해 SFT 데이터와 DPO pairs을 생성했다. 

■ 모델이 정답을 모르는 경우, hallucination을 만들어내기보다는 답변을 거부하는 편이 낫다. 이를 고려하여 학습시킨 후 SimpleQA에서 hallucination이 크게 감소되었다. (프롬프트 및 이 과정에 대한 details은 Appendix A.1)


4.5 Post-Training Ablation

■ Table 9에서  post-training 동안 모델 성능이 어떻게 변하는지를 볼 수 있다. DPO stage 2 only는 pivotal token DPO(DPO stage 1)을 생략하고 오직 두 번째 단계의 DPO(judge-guided DPO)만 수행한 결과이다. 

pivotal token DPO가 reasoning-heavy tasks (GPQA, MATH)에서 유용하고, judge-guided DPO는 ArenaHard에 유용한 것을 확인할 수 있다. 

■ 그리고 두 단계를 모두 거친 phi-4는 각각을 따로 했을 때보다 전반적으로 더 우수한 성능을 달성하였다. 이는 두 DPO가 상호 보완적임을 시사한다. 



5. Benchmarking Considerations

■ academic benchmarks은 LLM의 성능을 측정하기 위해 사용되지만, 모델의 진정한 능력과 약점을 드러내지 못할 수 있는 몇 가지 한계점을 가지고 있다. 이러한 한계점은 다음과 같다.  

Data Contamination

■ 많은 benchmarks은 pretraining corpora와 겹치는 datasets에 의존하여 data contamination risk가 있다.

■ training data에 standard \( n \)-gram deduplication 및 decontamination를 포함하여 광범위한 조치를 취했지만, 이러한 방법들이 rephrasing(문장 재구성이나 의미는 같고 표현만 다른 경우)을 포함한 모든 시나리오에 효과적인 것은 아니다.  

■ 그러므로, 벤치마크 점수가 높아도 이것이 진짜 모델 실력인지(즉, generalization인지) 100% 확정 지을 수 없다는 한계가 있다. 

Limited Skill Scope

■ 대부분의 benchmarks는 특정 학년 수준의 수학 문제 풀이나 파이썬 함수 구현과 같이 좁게 정의된 기술에 대해 모델을 평가한다. 이러한 좁은 범위의 평가는 모델의 능력과 약점을 폭넓게 포착하지 못할 수 있다.  

Bias in Generation-Based Benchmarks

■ 일부 benchmarks은 생성된 output을 평가하기 위해 LLM-as-judge를 사용한다. 이러한 judgment는 때때로 reasoning의 정확성과 타당성보다 output의 스타일, 문장의 유창함, 형식적인 완성도와 같은 표면적인 품질을 우선시하여, 채점 시 잠재적인 편향이 발생할 수 있다.  

Limitations of Multiple-Choice Tasks

■ multiple-choice questions을 다루는 benchmarks은 종종 reasoning을 통해 기본 개념을 효과적으로 활용하기보다는, 패턴 매칭을 이용해 정답을 맞히는, 추측 능력을 측정하는 경우가 많아 실제 문제 해결 능력을 과대평가할 위험이 있다.  

■ 이러한 기존 benchmarks의 한계를 보완하기 위해, 저자들은 "PhiBench"라는 내부 벤치마크를 별도로 구축했으며, 다음과 같은 목표들을 가지고 설계되었다. 

(1) Originality

phi-4의 pretraining data에 benchmark의 questions이 존재하지 않도록, benchmark의 모든 questions을 직접 작성했다. 

pretraining data에 benchmark data가 포함되지 않았음을 보장함으로써, generalization를 측정하는 데 목적을 둔다. 

(2) Skill Diversity

■ 모델 성능의 다차원적인 측면을 평가하기 위해 광범위한 tasks을 포함시켰다. 

■ 예를 들어 코딩에서는 함수 구현을 넘어, 디버깅, 코드 스니펫 설명 등을 포함하며, 수학 영역에서도 단순히 방정식을 푸는 것이 아니라 증명 과정의 오류를 식별하거나 새로운 관련 문제를 생성하는 task를 포함시켜, 평가를 통해 모델의 추론 과정과 개념적 이해를 폭넓게 드러내도록 했다. 

(3) Rigorous Scoring for Generation Tasks

model-generated outputs에 대한 judgment가 필요한 tasks의 경우, 정교하게 설계한 judge instructions (or "judge notes")을 사용하여 LLM 기반 채점의 일반적인 문제점을 해결했다. 

■ 설계한 채점 기준은 스타일 편향을 최소화하면서, 정확성, 논리적 구조, task 요구사항 준수를 달성하는 데 초점을 맞춰 LLM judge가 model responses을 평가하는 방법을 정확하게 명시한다. 

■ 그 결과, 평가 일관성이 크게 향상되고 주관적 선호도로 인한 편차가 감소했음을 관찰했다고 한다. 

■ 이러한 PhiBench는 단순한 보고용 벤치마크가 아니라 phi-4 개발 과정에서도 사용되었는데, post-training을 위한 dataset mixtures과 하이퍼파라미터 선택을 위해 사용되었다. 



 

6. Weaknesses

■ phi-4가 훨씬 더 큰 모델들에 필적하는 언어 이해 및 추론 능력을 달성했음에도 불구하고, factual knowledge와 관련된 hallucinations 문제에서는 모델 크기로 인해 근본적인 한계를 지니고 있다. 

■ 예를 들어 X가 그럴듯한 사람의 이름일 때, "X는 누구인가?"라는 형식의 프롬프트에 대해 모델은 때때로 X라는 인물에 대한 가짜 전기를 지어내어 응답한다. 

■ 이러한 한계는 모델에 검색 엔진을 추가함으로써 개선될 수 있겠지만, factual hallucinations을 완전히 제거할 수는 없다.

■ 그리고 phi-4는 질문에 답하고 추론 작업을 수행하는 데 있어 비교적 강력한 성능을 보여주지만, following detailed instructions, 특히 특정한 formatting을 요구하는 instructions을 따라는 데는 다소 어려움을 겪는다. 

■ 예를 들어 표 형식으로 output을 생성하거나, 미리 정의된 글머리 기호 구조를 준수해야 하는 task가 주어졌을 때, 모델은 사용자가 지정한 specified guidelines을 벗어나는 outputs을 생성할 수 있다. 

■ 이러한 한계에 대해 저자들은, 모델 학습의 초점이 instruction-following보다 QA 및 reasoning tasks에 맞춘 synthetic datasets을 우선시했기 때문에 발생했다고 주장한다. 

reasoning tasks에서도 실수를 할 수 있는데, 예를 들어 "9.9와 9.11 중 더 작은 숫자는?"이라는 question을 받았을 때, 모델은 "9.9가 9.11보다 작다"라고 확신을 가지고 결론 내릴 수 있다. 

- . 뒤의 9와 11을 비교하여 9.9가 더 작다고 결론을 내린 것. 이렇게 기본적인 수 개념에서 국소적인 실패를 일으킬 수 있다.

■ 게다가, phi-4의 data는 chain-of-thought examples을 많이 포함하고 있기 때문에, 때때로 간단한 문제에 대해서도 길고 정교한 답변을 내놓기도 한다. phi-4는 multi-turn보다는, single-turn에서의 성능을 극대화하도록 fine-tuned되었다.