Yongil Kim

Seoul National University

[ICLR2024] #INSTAG: INSTRUCTION TAGGING FOR ANALYZING SUPERVISED FINE-TUNING OF LARGE LANGUAGE MODELS

15 Apr 2024 » LLM, PLM

[pdf][github]

Keming Lu∗& Hongyi Yuan∗& Zheng Yuan & Runji Lin & Junyang Lin & Chuanqi Tan & Chang Zhou & Jingren Zhou
Alibaba DAMO Academy  

image

Abstract

  • ( Lack of diversity in instruction-following data ) LLM 을 supervised fine-tuning (SFT) 을 통해 instruction 을 학습시킬 수 있다. 이를 위해 좋은(good) instruction-following dataset 이 필요한데, 현재 diversity 와 complexity 의 측면에서 데이터가 희박하고 분석이 부족하다.
  • ( INSTAG ) 이제 저자들은 INSTAG 라는 open-set instruction tagging method 를 제안한다. 이는 tag 를 통해 human instruction 의 semantic 과 intention 을 부여하여, instruction diversity 와 complexity 를 정량적으로 분석할 수 있게한다.
  • (Data sampling procedure) INSTAG 의 diverse and complex instruction 을 통해 LLM 학습에 효과를 본 것을 토대로, data sampling procedure 를 통해 6K 개의 sample 을 선별한다.
  • (TAGLM) INSTAG 를 학습한 모델인 TAGLM 이 MT-bench 에서 다른 open-source model 을 압도한다.

1. Introduction

▶ Fine-tuning LLMs
LLM 을 finetuning 하는 것은 LLM 으로 하여금 Human preference 에 align 시키고 human intention 을 recognize 하게끔 만들어준다. 이러한 finetuning 방법에는 Supervised Fine-tuning (SFT)([1-Alpaca],[2-Vicuna]), rejection sampling([3-RRHF],[4-PRO],[5-DPO]), RLHF([6-RLHF],[7-InstructGPT],[8-LLama2]) 등이 존재한다.

▶ SFT for LLMs
그 중에서도 SFT for alignment 는 보통 multi-turn utterance manner 로 형성되며, 각 turn 은 human query 와 human preference 에 well-aligned 된 reponse 로 구성된다. 이러한 SFT 데이터셋들은 보통 crowd-sourcing data 를 활용하거나, 다른 LLM 으로 부터 distilling 하는 방법을 통해 모인다.

최근 여러 연구들에서 이러한 alignment 를 위한 SFT training data 들은 반드시 diverse/complex/covering various domains/tasks/semantics 등의 특징을 지녀야 한다고 주장한다. ([9-WizardLM],[10-Orca],[11-TULU]) 이러한 diversity 와 complexity 는 주로 query formation 에 의해 결정된다. 다양한 연구에서 SFT-aligned LLM 의 성능을 끌어올리기 위하여, query 의 diversity 와 complexity 를 발전시키기 위해 방법론들을 제안하였지만, 어떠한 연구에서도 diversity 와 complexity 를 정량적으로 측정하려는 연구는 없었다.

▶ INSTAG
이를 위해 저자들은 SFT dataset 들의 sample 을 categorize 하는 tagging system 을 제안한다. 다재다능한 task 를 풀기 위해서는 다재다능한 tagging system 이 필요하지만, manual 한 fine-grained tagging system 은 large scale dataset 에 적용하기 너무 어렵다. 이에 저자들은 ChatGPT 를 활용하는 INSTAG 라는 automatic Instruction Tagging method 를 제안한다. ChatGPT 의 prompting 에 심혈을 기울여, systematic tagging system 을 구성하고, INSTAG 를 SFT dataset 에 적용하여, human query 에 semantic 과 intention 을 잘 tagging 할 수 있음을 검증한다. 이 과정에서 diversity 와 complexity 의 측면에서 정량적으로 query distribution 을 측정할 수 있는 세세한 분석을 제공한다. 당연하게도, 이 분석과정에서 더 diverse 하고 더 complex 한 query 가 SFT 를 통해 alignment performance 를 향상시키는 것을 보인다. 이 검증에 따라, INSTAG 를 data selector 로 활용하여, compexlity-first diverse ampling method 를 구성하여 데이터를 모으고, 이 데이터를 학습시킨 LLM 이 MT-Bench 에서 좋은 성능을 보인다.

▶ Contributions
논문의 contribution 을 정리하면 아래와 같다.

  • (1) Instruction diversity/complexity metric 으로써의 open-set fine-grained intention tagging 방법인 INSTAG 를 제안한다.
  • (2) Query divserity 와 complexity 에 대한 분석으로 insight 를 제공한다.
  • (3) INSTAG 를 통한 data selection 을 통해 좋은 데이터를 모으고, 이를 학습하여 LLaMA 기반의 TAGLM 을 제안하여, MT-BENCH 에서 좋은 성능을 보인다.

Data for Human Alignment
It has been highlighted that the performance of aligned LLMs is affected by the quality of the SFT data. 이러한 Data quality 은 response-level([11],[12]) 에서 존재하거나, task difficulty([13]), query complexity([14]), semantic diversity([15],[16]), 그리고 sample amount scale([17]) 에 존재할 수 있다.

Self-Instruct, Evol-Instruct 등도 diversity 와 complexity 를 증가시킬 수 있는 방법이다. Orca 에서는 FLAN 의 response 와 query 를 기존의 LLM 을 활용하여 rewrite 하여 NLP task 를 푸는데 성능 향상을 가져왔다. UltraChat 에서는 manual 하게 design 한 다양한 anchor concept 과 entity 를 통해 ChatGPT 와의 대화를 통해 multi-turn data 를 생성한다. OpenChat 과 Vicuna 는 SharGPT 를 통해 GPT-4 의 user log 를 학습하여 cutting-edge instruction following 능력을 갖춘 ChatLLM 모델이다. OpenChat 에서는 ShareGPT 를 통한 user log 로부터 query 를 활용하는 것은 instruction following 능력을 향상시킨다는 결과가 있다. Lima 에서는 적은 양의 high-quality data 만으로도 human alignment 를 잘 학습시킬 수 있음을 보인다.

이렇듯 human intention 을 LLM 에 학습시키기 위해 diverse and complex SFT data 를 활용하는 연구가 많이 존재하지만, 여전히 query 의 diversity 와 complexity 를 정량적으로 측정하고 논의하는 연구는 부족하다. 이 연구에서는 ChatGPT 의 퍼포먼스를 바탕으로 automatic tagging system 을 제안하여 training data 의 diversity 와 complexity 를 정량적으로 제안한다.

3. INSTAG

image

3.1. OPEN-SET FINE-GRAINED TAGGING

최근 Chatbot 에 prompt 로 활용이 되는 Instruction 은 복잡하고 multifacted 되어 있는 user intention 의 표현이다. 위의 Figure1 의 ShareGPT 의 예시(Write flask routes for blog posts that implement CRUD. Use flask-sqlalchemy. The incoming and outgoing data should be in JSON. Use appropriate error handling and return status codes)와 같이, user intention 은 복잡하기 때문에 fine-grained tag 가 필요하다. 그러나 이러한 fine-grained tag 를 얻는 것은 어려운데 annotation 과 normalization 이 어렵기 때문이다. 이에 저자들은 ChatGPT 를 활용한 automatic tagging system 과 normalization technique 을 제안한다. 아래의 prompt 를 ChatGPT 에 부여하여 few-shot ICL 을 통해 tagging 을 한다.

image

3.2. TAG NORMALIZATION

위의 방법대로 ChatGPT 가 출력한 original raw tag 는 12,000 개로 다양한 fine-grained tag 를 생성할 수 있음을 알 수 있지만 너무 noise 하다는 단점이 있다. 예를 들어, 아래의 Table 1 과 같은 inonsistency 들을 포함할 수 있다.

image

Lexical Noise 는 ChatGPT 의 instability 로 인해 발생하는 것으로 post-processing 으로 간단히 해결 가능하다. Uncontrolled Granularity 는 너무 specific 한 tag 를 생성하는 경우이고, Spurious Corrletaion 은 ChatGPT 의 bias 에 의해 발생한다.

따라서 저자들은 위의 Figure 1 과 같이, 다음의 네 가지 normalization procedure 를 통해 raw tagging 을 cleaning 한다.

  • Frequency Filtering : $\alpha$ time 미만의 long-tail tag 는 filter-out 한다.
  • Rule Aggregation : Lexcial noise 해결을 위해, 모두 소문자화하고 특수문자를 공백처리하는 post processing 을 제거한다.
  • Semantic Aggregation : PhraseBERT 혹은 DensePhrase 같은 text embedding model 을 활용하여 tag 의 semantic 을 얻고, DBSCAN 알고리즘을 활용하여 tag 를 cluster 하여 대표(representative) tag 로 뭉친다.
  • Association Aggregation : Mathematics 나 coding query 에서 주로 발생하는 atomic tag 문제 해결을 위해, FP-Growth 알고리즘 을 적용하여 association 통합을 한다.

저자들은 INSTAG 방법을 SHAREGPT, OPENChat, UltraCHAT, Alpaca, WizardLM, FLAN, Dolly, OAssist, Unnatural, Lima, Math Collections, Code Collections 등 17개 데이터셋에 적용한다. $\alpha$ 는 20 으로 한 뒤 나머지 aggregation 방법을 적용한 결과, 1,772 개가 남았다.

3.3. QUALITY EVALUATION

GPT-4 와 human annotator 들을 활용하여 tagging quality 를 분석한다. 분석 메트릭은 다음의 두 가지이다.

  • Precision : Query-Tag 사이의 일치도를 본다.
  • Consistency : Tag 와 그 tag 에 속하는 randomly selected instruction 사이의 일치도를 본다.

결과는 아래와 같다.

image

※ 자세한 결과분석은 논문 참고

3.4. PRELIMINARY ANALYSIS

image

Open-source dataset 에 대한 normalized tag 의 분석 결과는 Figure 2 에서 볼 수 있다.

  • Diversity : query 속의 semantic 과 intention 의 range 를 측정한다. dataset 이 individual tag 를 많이 가지면 가질 수록 diverse 하다고 판단한다.
  • Complexity : 하나의 query 가 여러 개의 tag 에 assign 되어 있을 수록 complex 한 query 이다. 따라서 dataset 속의 query 들의 average tag number 가 complexity 의 척도가 된다.

분석 결과 Diversity 와 Complexity 에 대해서 아래의 네 가지 발견을 할 수 있다.

  • (1) Tag-based metrics well presents diversity and complexity : WizardLM(Alpaca) 는 Evol-Instruct 를 기반으로 Alpaca dataset 의 query 를 complicating 한 것이고, 높은 diversity 와 complexity 를 보인다.
  • (2) The larger size, the more diverse and more complex
  • (3) Math and Code show different trends : MATH, GSM8K 같은 수학 관련 데이터셋이나, DMCC, MBPP, DrRepair 같은 코드 생성 관련 데이터셋은 낮은 diversity 와 높은 complexity 를 보인다.
  • (4) Diverse and complex data induces higher performance : upper-right corner 에 위치한 ShareGPT, UltraChat, OpenChat-v1 등의 데이터셋은 finetuning 에 활용되었을 때 leaderboard 상단에 위치한다.

Open-source dataset 들 사이의 correlation 은 오른쪽 Figure 에서 볼 수 있다. 두 가지 결론을 낼 수 있다.

  • (1) Tags can identify different tasks : 수학/코드 task 가 다른 task 에 비해 높은 tagrecall 을 보인다. tag 가 general-purpose dataset 에 비해 수학/코드 데이터셋의 uniqueness 를 부여하는 것이다.
  • (2) Few cover all : WizardLM (Alpaca), WizardLM (SharGPT), UltraChat, SharGPT 는 다를 데이터셋에 비해 매우 높은 tag recall 을 갖는다. 이것들은 왼쪽의 그림에서도 upper-right 에 해당하는 좋은 데이터셋들이다.

두 가지 outlier 도 발견할 수 있다. 하나는 Alpaca 로 큰 data size 를 지녔음에도 낮은 performance 와 low complexity 를 보인다. 다른 하나는 OpenChat-v1 으로 filtering 과정 이후 단 8K 개의 multi-turn 만 남은 small data scale 임에도 높은 complexity 와 높은 diversity 를 보인다.

4. INSTAG FOR DATA SELECTION

4.1. EXPERIMENTAL SETUP

INSTAG 방법을 활용한 Data selection 을 진행하여 Data 를 모은다. (위의 section 3 에서는 open-source dataset 에 적용하여 분석을 진행한 것이고 여기서는 새로 모은다.)

Data Pool
위의 Figure 에서의 분석을 토대로 WizardLM (Alpaca), WizardLM (ShareGPT), UltraChat, ShareGPT 에 적용한다. 적용된 이후 dataset 은 306,044 sample 과 6,398 tag set, avearege tag number 4.48 을 갖는다.

Data Sampling
Pooled dataset 에서 가장 높은 complexity 를 보이는 6K 를 고른다. 이 6K sample 은 16.56 개의 average tag number 를 갖고, 100% 의 tag coverage 를 보인다. 이 Complexity-first Diverse Sampling 알고리즘은 아래와 같다.

image

Configuration
6K sample 을 LLaMA 와 LLaMa-2 에 적용하여 각각 TAGLM-13b-v1.0, TABLM-13b-v2.0 으로 이름 붙인다. Batch size 는 128, lr 은 2e-5 이고, finetuning 동안 Vicuna-style 의 template 으로 query-response 를 학습시킨다.

Baselines

  • Closed-source : GPT-4, GPT-3.5, Claude-V1
  • Open-source : Vicuna, WizardLM, Baize, OpenChat, Alpaca

4.2. RESULTS

image

  • TAGLM-13b-v1.0 이 단 6K sample 을 finetuning 했음에도 모든 open-source LLM 을 능가한다.

4.3. DECOUPLED ANALYSIS

image

우선, data size 가 미치는 영향을 알기 위해, Cf-D 알고리즘으로 data size 를 달리하며 data selection 을 해본 뒤 측정한다. 위 Table 의 위쪽에서 볼 수 있듯이, 6K 일 때 가장 좋고, 10K, 16K 일 때는 떨어지지만 여전히 다른 open-soruce LLM 보다는 좋다. 이는 LIMA 에서의 finding 과 같이, small scale 이지만 매우 좋은 퀄리티의 데이터 를 학습하는 것이 중요하다는 결과와 일치한다.

또한, 밑의 Random 과 비교했을 때 같은 6K sample size 에서 5.76 에 비해 무려 0.68 이나 증가한 6.44 가 된 것으로 보아 Complexity 를 우선으로 하는 Cf-D sampling 기법이 효과적임을 볼 수 있다.

5. INSTAGGER: LOCAL TAGGER BY DISTILLATION

INSTAG 방법은 ChatGPT 를 활용하기 때문에 large-scale application 을 위해서는 expensive 하다. 이에 저자들은, INSTAGGEr 라고 불리는 distllation model 을 공개한다. LLaMA-2 7B 모델 버전인 이 모델은 EM 기반 F1 score 와 semantic-based fuzzy match 에서 각각 31.8%, 73.4% 를 기록한다. 6K 가 넘는 tag 중 정확히 맞춰야하는 EM 은 rigorous 한 metric 임에도 31.8% 라는 높은 성능을 보였고, PhraseBERT 를 통해 계산한 fuzzy match 는 gold tag 와 0.8 이상의 cosine 유사도를 보이는 것을 맞는 것으로 측정한 결과로 73.4% 의 높은 성능을 보인다.

6. CONCLUSION

In this paper, we introduced INSTAG, an open-set tagging method leveraging the instructionfollowing ability of ChatGPT for SFT data analysis. We apply INSTAG on open-source SFT datasets, showing diverse and complex data leads to better alignment performance. We designed a complexity-first diverse sampling method to select 6K samples, and TAGLM fine-tuned on this selected dataset outperforms other open-source models aligned with considerably more data. Moreover, further decoupled analyses revealed that model performance increases with fine-tuning on more diverse and complex SFT data, respectively. In summary, our proposed INSTAG provides a novel aspect for a deeper understanding of query distribution in the alignment of LLMs. It has robust potential to be extended to more applications beyond the data selection shown in this work, such as creating comprehensive evaluations and tag-based self-instruct.