본 글은 유튜브 테디노트에 출연한 이승유 님의 경험 공유와 관련된 영상에 나왔던 내용을 바탕으로 작성된 글입니다.
Open Ko(한국어) LLM 리더보드 최장기간 1위 모델 개발...
서론
대형 언어 모델(LLM)은 다양한 task에서 놀라운 성능을 제공하지만, 이를 실제 서비스나 업무 환경에 도입하기 위해서는 현실적인 제약을 고려해야 합니다.
특히, Llama3.1-70B, gemma2-27B와 같이 파라미터수가 많은 모델은 높은 성능을 발휘할 수 있지만, 이를 그대로 활용하려면 대량의 GPU 자원이 필요합니다. 예를 들어, 70B 모델을 활용하려면 최소 2~3개의 80GB vram을가지는 GPU가 필요하며, 학습 과정에서는 그 이상이 요구될 수 있습니다.
따라서 실제 운영을 고려하면 파라미터 수가 적은 모델(예: Llama3.1-8B)을 최적화하는 것이 더 중요해집니다. 이 글에서는 이러한 소형 모델을 보다 효율적으로 학습시키기 위해, 대형 모델을 활용해 데이터를 생성하고 이를 학습에 적용하는 방법을 소개하고자 합니다.
이 접근법은 전통적인 지식증류 방식과는 다르지만, 소형 모델의 성능을 최대화하는 데 효과적일 수 있습니다.
이번 글에서는 Gemma2-27B 모델을 사용해 문서의 요약문을 생성한 후, 그 데이터를 바탕으로 Gemma2-2B 모델을 학습시키는 방식으로 실험을 진행했습니다. 이를 통해 학습 전/후의 모델 성능을 비교하고, 해당 방법이 얼마나 효과적인지 분석할 예정입니다.
LLM을 활용한 데이터 생성
첫 번째로 요약문을 생성하기 위한 원문 데이터가 필요합니다. 저는 AI Hub에서 법률안 검토 보고서 요약 데이터를 활용하여 요약문을 생성하였습니다.
해당 데이터에 요약문이 포함되지만, 이번 실험에서 활용하지는 않았습니다. 데이터 예시는 아래 사진을 참고 바랍니다.
위 형식의 데이터가 약 40,000개가 포함되어 있으며, 저는 그중 2만 개 정도를 모델 학습 데이터로 생성해 주었습니다.
원본 데이터를 학습용 데이터로 바꾸기 위해 gemma2-27b 모델을 활용하여 요약문을 생성해 주었습니다.
일반적인 형태의 요약문은 gemma2-2b 모델도 어느 정도 잘 생성하기 때문에, 확실한 구분을 위해 예시와 같이 원문을 3줄로 요약하도록 하였습니다.
# 원문
(1) 재정사업을 민간투자사업으로 전환시 국회의 심사․의결을 거치도록 함
개정안은 ① 재정사업을 민자사업으로 전환하거나, ② 향후 민자사업으로 전환할 계획으로 재정사업을 추진하는 경우 국회의 심사․의결을 거치도록 하려는 것임.
개정안은 다음과 같은 점이 지적되고 있음.
첫째, 재정사업의 민자사업 전환이 국가 재정에 추가적인 부담을 주는 것은 아니므로 국회의 심의를 거칠 대상이 아님.
둘째, 향후 민자사업으로 전환할 계획으로 재정사업을 추진하는 경우는 이를 사전에 특정하기 어렵고 재정사업 추진시 이미 국회의 예산 심의를 거쳐야 하므로 입법 실익이 적음.
그러나 다음과 같은 측면을 함께 고려하여야 할 것임.
첫째, 재정사업에 대한 국회의 예산 심의는 국가 재정부담의 규모 뿐 아니라 사업추진 방식에 대해서도 함께 이루어지는 것임. 또한 민자사업 전환은 이용료 상승 등 이해관계의 변화를 초래할 수 있다는 점에서 국회에서 그 타당성을 심사하도록 하는 방안을 고려할 필요가 있음.
현재도 국회에서 예․결산 및 임대형민자사업(BTL) 총한도액 심의․의결이나 국정감사를 통해 민자사업에 대해 통제하고 있다는 의견도 있을 수 있음. 그러나 결산 등 사후적인 심의는 그 영향력이 제한적이라는 점에서 민자사업 전환의 타당성을 사전에 심의하도록 하는 방안이 논의될 필요가 있음.
둘째, 국회에서 민자사업 전환의 적절성을 미리 점검함으로써 그 타당성에 대한 논란의 소지를 최소화 할 필요가 있음. 최근 서울-세종 고속도로 등의 사업을 민자사업으로 전환하는 것이 적정한지에 대한 논란이 있음.
(2) 재정사업을 민간투자사업으로 전환시 규모에 관계없이 타당성분석 및 민자사업심의위원회 심의를 거치도록 함
개정안은 재정사업을 민자사업으로 전환하는 경우 타당성분석과 민자사업 심의위원회의 심의를 거치도록 하고 타당성분석 결과를 국회 소관 상임위와 예결위에 제출하게 하려는 것임.
그런데 별도 규정 신설의 실익이 적다는 지적이 있음. 현재도 재정사업의 민자사업 전환을 새로운 민자사업의 지정으로 보아 총사업비 2,000억원 이상의 대규모 사업에 대해서는 타당성분석 등을 거치고 있음.
그러나 개정안은 작은 규모의 재정사업에 대해서도 민자사업 전환이 보다 신중하게 이루어질 수 있도록 하는 효과가 있다는 점을 함께 고려할 필요가 있을 것임. 개정안에 따르면 총사업비 2,000억원 미만 사업의 경우에도 타당성분석 등을 거치게 됨.
# gemma2-2b 요약문
개정안은 재정사업을 민간투자사업으로 전환하는 것을 권장하며, 이를 위해 국회의 심사․의결을 거치도록 하고, 규모에 관계없이 타당성분석 및 민자사업심의위원회 심의를 거치도록 함.
특히, 개정안은 작은 규모의 재정사업에도 타당성분석 등을 거치도록 하여 민자사업 전환의 신중성을 높이는 효과를 기대한다.
# gemma2-27b 3줄 요약문
- 재정사업의 민간투자사업 전환 시 국회 심사 의결을 거쳐야 한다는 개정안이 논의되고 있다.
- 이 개정안은 재정 부담 증가 가능성이나 사업 추진 방식 변화 등을 고려하여 국회 심의가 필요하다는 의견과, 사후적 심의의 한계를 극복하기 위한 방안으로서의 필요성이 제기된다.
- 또한, 민간투자사업 전환 시 규모에 관계없이 타당성 분석과 민간투자사업 심의위원회 심의를 거쳐야 한다는 개정안도 논의되고 있다.
학습용 데이터셋을 만들기 위한 주요 코드는 다음과 같습니다.
from tqdm import tqdm
def gen_text(user_message):
messages = [
{"role": "user", "content": user_message},
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id
]
outputs = model.generate(
input_ids,
max_new_tokens=512,
eos_token_id=terminators,
do_sample=True,
temperature=0.4,
top_p=0.9 ,pad_token_id=tokenizer.eos_token_id
)
response = outputs[0][input_ids.shape[-1]:]
return tokenizer.decode(response, skip_special_tokens=True)
for i in tqdm(range(20000)):
# 텍스트 길이가 너무 길면 제외
if len(docs[i])>2048:
continue
prompt = f"""
주어지는 문서의 내용을 요약하는 요약문을 작성 해주세요. 요약된 결과는 아래와 같이 3줄로 요약 되어야합니다.
각 줄에 작성되는 내용은 50자를 넘어서는 안됩니다. 마크다운 언어를 사용하지 마세요.
<요약 결과>
- 핵심 내용 1
- 핵심 내용 2
- 핵심 내용 3
</요약 결과>
문서 :
{docs[i]}
"""
gemma_summary = gen_text(prompt)
# 데이터 저장
summary_result.append(gemma_summary)
use_summary.append(gen_summary[i])
use_docs.append(docs[i])
생성된 데이터는 아래와 같은 형식의 CSV로 저장해 주었습니다.
sLLM 모델 학습
생성된 학습데이터를 이용해 모델 학습을 진행하기 전에, 어떤 방식으로 학습을 할지 고민하였습니다.
full-fine tuning, lora, q-lora 중 아무래도 full-fine tuning이 실험에 대한 비교가 수월할 것이라 생각하였고, 사용가능한 gpu memory양도 넉넉했기 때문에, 모델의 전체 weight를 업데이트하는 full-fine tuning 방식으로 모델을 학습해 주었습니다. 학습 방법에 대한 자세한 설명은 아래 링크를 참고바랍니다.
LLM의 다양한 SFT 기법: Full Fine-Tuning, Lora, QLora
모델 학습을 위해 gemma2에서 사용되는 프롬프트에 맞도록 데이터를 전처리 해주었습니다.
gemma2는 아래와 같은 형식의 프롬프트를 사용합니다
<bos><start_of_turn>user
...
<end_of_turn>
<start_of_turn>model
... <end_of_turn>
<eos>
전처리가 적용된 데이터 셋은 다음과 같이 변환되었습니다.
이후 아래 코드를 바탕으로 모델 학습을 진행하였으며, 전체 데이터의 10%를 eval data로 활용하였습니다.
LLM에 SFT를 적용하면서 eval data를 사용 안 하는 사람들이 꽤 많은데, 반드시 사용해야 합니다..
예전이라고 하기도 조금 그렇지만 1~2년 전만 해도 딥러닝 모델 학습 코드에 evaluation 과정이 없는 코드는 거의 없었습니다.
요즘 LLM관련 학습 코드를 찾아보다 보면 evaluation을 하는 코드가 찾아보기가 힘듭니다.
gpu memory나 데이터 수량등 다양한 이유가 있겠지만, evaluation dataset을 꼭 따로 구축해서 모델 학습에 사용하도록 합시다!!
# train-test split
dataset = dataset.train_test_split(test_size=0.1)
training_arguments = TrainingArguments(
output_dir='./new_model',
per_device_train_batch_size=1,
per_device_eval_batch_size=4,
gradient_accumulation_steps=4,
optim="adamw_8bit",
num_train_epochs=2,
evaluation_strategy="steps",
eval_steps=0.1,
logging_steps=50,
warmup_steps=500,
logging_strategy="steps",
learning_rate=2e-4,
fp16=False,
push_to_hub=False,
report_to='none',
)
trainer = SFTTrainer(
model=model,
train_dataset=dataset["train"],
eval_dataset=dataset["test"],
# peft_config=lora_config,
max_seq_length=2048,
dataset_text_field="text",
tokenizer=tokenizer,
args=training_arguments,
packing= False,
)
trainer.train()
모델 학습은 2 epoch을 하였고, train log를 살펴보면 Validation Loss도 적절하게 수렴한 것을 확인할 수 있습니다. 다음 코드를 통해 학습된 모델을 저장하며, 학습과정을 마무리합니다.
import torch
from datasets import Dataset, load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig, pipeline, TrainingArguments
from peft import LoraConfig, PeftModel
from trl import SFTTrainer
BASE_MODEL = "google/gemma-2-2b-it"
ADAPTER_MODEL = "./new_model/checkpoint-7500"
model = AutoModelForCausalLM.from_pretrained(BASE_MODEL, device_map='auto')
model = PeftModel.from_pretrained(model, ADAPTER_MODEL, device_map='auto')
model = model.merge_and_unload()
model.save_pretrained('./gemma2-2b-it-summary')
성능 비교
학습 전후로 모델의 성능을 비교해 보겠습니다. 성능비교는 gpt-4를 활용하였습니다.
테스트 1
# 원문
□ 현행 「마약류 관리에 관한 법률」제2조 제2호 가목에서는 양귀비를 정의하고 있으며, 양귀비과의 파파베르 솜니페룸 엘(Papaver somniferum L) 또는 파파베르 세티게름 디․시(Papaver setigerum D․C) 2종류로 한정하고 있음.
양귀비과의 식물로는 전세계에 30속 500종이 있고, 주로 북반구의 온대 지역에 분포하며, 한국에는 6속 16종이 자라고 있음. 참고로, 파파베르 솜니페룸 엘의 국명은 양귀비이고, 파파베르 세티게름 디․시의 국명은 나도양귀비임.
□ 개정안은 양귀비의 정의에 기타 마약 성분을 함유하는 양귀비과에 속하는 식물로서 대통령령으로 정하는 것을 추가하고자 하는 것임.
양귀비의 정의를 양귀비과(科)의 파파베르 솜니페룸 엘(Papaver somniferum L) 또는 파파베르 세티게름 디․시(Papaver setigerum D․C) 2종류로 구체화하며 한정한 것은 두 종에서 주로 유의미한 정도의 아편을 추출할 수 있기 때문으로 생각되며, 다른 관상용 양귀비과에 속하는 식물과의 구별을 위한 것으로 보임.
□ 그러나, 파파베르 솜니페룸 엘 또는 파파베르 세티게름 디․시의 경우에는 양귀비로 규정되어 있어, 국민들이 이에 대한 재배 추출 등의 금지를 명확히 알 수 있으나,
파파베르 브락테아툼(Papaver bracteatum) 등 마약 성분을 함유하고 있는 양귀비 경우에는 추출 및 재배 등이 금지되고 있음에도 불구하고 법에서는 양귀비로 명확히 규정되지 않은 점을 고려할 때, 개정안은 바람직한 것으로 생각됨.
한편, 개정안과 같이 개정되더라도 식약처에서는 대통령령의 개정을 통해 우선적으로는 파파베르 브락테아툼만을 양귀비로 규정한다는 입장을 밝히고 있어 시장에 미치는 영향은 크지 않을 것으로 생각되나, 개정안은 향후 기타 양귀비과에 속하는 식물이 양귀비에 추가되어 마약으로 규정될 수 있도록 규범적으로 열어두게 될 것임.
□ 참고로, 현행 규정에서 제외된 양귀비인 파파베르 브락테아툼에서는 테바인(Thebaine)을 추출할 수 있으며, 테바인은 「마약류 관리에 관한 법률」제2조제2호라목 및 같은 법 시행령 [별표1]에 따라 마약으로 규정되어 있음. 또한, 같은 법 제3조에서는 마약의 원료가 되는 식물을 재배하거나, 그 성분을 추출하는 것 등을 금지하고 있음.
이에 따라, 현행 규정으로도 파파베르 브락테아툼을 재배하거나 그 성분을 추출하는 것이 금지되어 있으며, 이를 위반한 경우 같은 법 제58조부터 제61조에 따라 벌칙을 받게 됨(벌칙 조문에 관하여는 참고자료1 참조).
□ 이외에도, 현행 「마약류 관리에 관한 법률」제2조 제2호 가목에서는 파파베르 솜니페룸 엘(Papaver somniferum L) 또는 파파베르 세티게름 디․시(Papaver setigerum D․C)를 규정하고 있으나,
통상적으로 명명자를 약자로 표기한 경우에는 뒤에 온점을 찍도록 하고 있으므로 이를 수정할 필요성이 있으며, 학계에서는 D․C가 아닌 DC. 로 표기하고 있으므로 이를 수정할 필요성이 있음.
# 기존 모델 요약문
- 현행 법률은 양귀비와 파파베르 솜니페룸 엘, 파파베르 세티게름 디․시 2종류를 정의하고 있습니다.
- 개정안은 양귀비의 정의를 확장하여 기타 마약 성분을 함유하는 양귀비과에 속하는 식물을 포함하는 것을 목표로 합니다.
- 개정안은 파파베르 브락테아툼을 양귀비로 규정하는 것으로, 마약으로 규정된 테바인과 같은 법적 규정을 준수해야 합니다.
# fine tuning 모델 요약문
- 양귀비의 정의를 확대하여 기타 마약 성분을 함유하는 양귀비과 식물을 포함하려는 개정안이 있다.
- 현재 양귀비는 파파베르 솜니페룸 엘 또는 파파베르 세티게름 디․시로 한정되어 있다.
- 개정안은 마약 성분을 함유한 양귀비의 재배 및 추출을 금지하는 법적 근거를 마련한다.
테스트 1 성능 비교
- 모델 학습 후 요약문은 지시사항을 더 잘 따른 것으로 보입니다. 각 문장이 50자를 넘지 않고, 정보가 보다 간결하게 전달되며 개정안의 핵심 내용이 잘 요약되어 있습니다.
- 반면, 모델 학습 전 요약문은 첫 문장이 50자를 초과하였으며, 내용이 약간 길고 복잡하게 표현되어 있습니다.
테스트 2
# 원문
□ 안전재해의 범위에 황사 및 미세먼지로 인한 질병 포함
현행법은 ‘농어업작업안전재해’의 범위에 미세먼지로 인한 피해를 포함하지 않고 있으나, 개정안은 농어업작업 수행 중 황사 및 미세먼지로 인해 발생한 질병을 농어업작업안전재해의 범위에 포함하려는 것임.
「농어업인의 안전보험 및 안전재해예방에 관한 법률(이하 「농어업인 안전보험법」이라 함)」은 농어업작업으로 인하여 발생하는 농어업인과 농어업근로자의 부상ㆍ질병ㆍ장해 또는 사망을 보상하기 위한 농어업인의 안전보험과 안전재해예방에 관하여 필요한 사항을 규정하고 있음.
동법은 농어업작업으로 인하여 발생한 농어업인 및 농어업근로자의 부상ㆍ질병ㆍ장해 또는 사망을 "농어업작업안전재해"라고 정의하고(법제2조제4호) 농어업인 및 농어업근로자가 특정한 사유로 부상, 질병 또는 장해가 발생하거나 사망한 경우 이를 농어업작업안전재해 (농어업작업 관련 ‘사고’ 및 농어업작업 관련 ‘질병’ 등 두 가지 분야로 구분)로 인정하고 있음(법제8조). 이에 따라 특정 사고나 질병이 농어업작업안전재해로 인정될 경우 농어업인 안전보험의 보장대상이 될 수 있음.
개정안은 농어업작업 수행과정에서 황사나 미세먼지로 인해 발생한 질병을 농어업작업안전재해 중 농어업작업 관련 질병으로 인정하려는 것임.
황사는 중국이나 몽골의 사막지대 등에서 불어오는 흑먼지이고 미세먼지는 직경이 10㎛(마이크로미터) 이하인 먼지를 의미하는 것으로, 10㎛ 이하인 미세먼지와 2.5㎛ 이하인 초미세먼지로 구별되고 있음.
황사가 건조지대에서 발생한 모래먼지인데 비해 미세먼지는 주로 화석연료가 연소될 때 또는 제조업·자동차 매연 등 배출가스에서 발생되는 것이며, 주요 성분은 일부 광물성분과 함께 탄소 또는 이온 등으로 분석됨. 3월에서 5월 사이에 집중되는 황사는 농작물 등의 생육을 방해하는 것으로 알려져 있고 미세먼지는 특정한 시기와 무관하게 나타나며 코 점막을 통해 걸러지지 않고 장기에 직접 침투하여 천식이나 폐질환 등을 일으키는 것으로 알려짐.
농작업의 특성은 장시간 야외 활동을 해야 하는 것임에도 현재로서는 황사 및 미세먼지로 인하여 발생한 질병에 대해 보상할 수 있는 근거 규정이 미약하고 최근 황사나 미세먼지가 심해지면서 이로 인한 농어업인의 호흡기 질환이 더욱 우려되는 상황임을 고려할 때 개정안의 취지는 긍정적인 것으로 보임.
다만, 농식품부는 다음과 같은 측면에서 개정안에 대해 반대하고 있음.
첫째, 농어업인에게 특정한 질병이 발생한 경우 현재로서는 해당 질병이 미세먼지와 황사로 인한 것임을 입증하는데 한계가 있다는 것임.
아직까지 미세먼지나 황사로 인한 질병을 농업작업 관련 질병으로 특정하기 위한 인과관계를 규명하기 어렵고, 통상 보험상품의 보장범위는 한국표준질병사인분류(KCD)에 기반하여 개발되지만 현재로서는 KCD에 “황사 또는 미세먼지”를 원인으로 한 별도 질병분류표가 없으므로 이를 「농어업인 안전보험법」상 보장대상으로 명시하기는 곤란하다는 것임.
둘째, 현행법 체계상 구체적인 재해의 종류는 시행령에 위임하고 있으므로 시행령을 개정하여 황사 및 미세먼지로 인한 질병에 대한 보상이 가능하다는 것임.
「농어업인 안전보험법」은 제8조에서 농어업작업 관련 질병을 안전재해로 인정하면서, 구체적인 농업작업 관련 질병의 종류는 시행령으로 규정하도록 위임하고, 동법 시행령은 <별표 1>에서 구체적인 질병의 종류를 특정하고 있음. 황사 및 미세먼지로 인한 질병의 경우에도 농업인 질병과의 인과관계가 규명된다면 시행령 <별표 1>에서 ‘농업작업 관련 질병’으로 규정하여 농어업인 안전보험의 보장대상이 될 수 있을 것으로 예상됨.
참고로, 해양수산부 및 농촌진흥청도 대기오염과 질병간의 인과관계가 명확히 입증될 경우, 시행령을 개정을 통해 황사 및 미세먼지로 인한 질병에 대한 보상이 가능하다는 입장을 보이고 있음.
따라서, 농어업작업 관련 질병에 황사 및 미세먼지로 인한 질병을 추가하려는 개정안과 관련해서는 개정안의 취지와 농식품부 및 관련 기관의 의견을 종합적으로 검토하여 입법정책적으로 결정해야할 것으로 보임.
# 기존 모델 요약문
- 안전재해의 범위에 황사 및 미세먼지로 인한 질병을 포함하는 개정안이 제기되었으며, 농어업인 안전보험법에 따른 농어업작업 안전재해의 범위 확대를 목표로 한다.
- 황사와 미세먼지로 인한 질병은 현재 농어업작업 안전재해에 포함되지 않지만, 개정안은 이를 농어업작업 안전재해로 인정하려는 것이다.
- 개정안은 농어업인 안전보험의 보장대상이 될 수 있도록 황사 및 미세먼지로 인한 질병을 농어업작업 관련 질병으로 인정하려는 것이다.
- 농식품부는 개정안에 대한 반대 의견을 제기하며, 미세먼지나 황사로 인한 질병의 인과관계를 규명하는 어려움과 농어업인 안전보험법 시행령에 대한 개정 필요성을 제기했다.
# fine tuning 모델 요약문
- 이 개정안은 황사와 미세먼지로 인한 질병을 농어업작업안전재해에 포함하려는 것입니다.
- 농어업인은 황사와 미세먼지로 인해 발생한 질병에 대한 보상을 받을 수 있도록 합니다.
- 하지만, 미세먼지와 황사로 인한 질병의 인과관계에 대한 명확한 입증이 필요합니다.
테스트 2 성능 비교
- 모델 학습 후 요약문이 지시사항을 더 잘 이해하고 따랐습니다. 각 문장은 50자를 넘지 않으며, 개정안의 목적과 핵심 사항을 간결하게 전달하고 있습니다.
- 모델 학습 전 요약문은 개정안의 목적과 관련된 정보를 잘 담고 있지만, 네 번째 줄이 지시사항을 초과하며 요구된 형식에 적합하지 않습니다.
테스트 3
# 원문
안 제6조는 이 법에서의 크루즈산업 육성 시행계획을 수립·시행하기 위해 필요한 재원을 확보하기 위한 법적 근거를 마련하고자 함.
현행법에서 해양수산부는 크루즈산업의 기반을 조성하고 경쟁력을 강화하기 위하여 5년마다 수립되는 기본계획을 근거로 매년 시행계획을 수립·시행하여, 크루즈산업의 활성화를 위한 기반 조성, 크루즈산업의 경쟁력 강화 등을 위한 사업을 추진하고 있으나, 현행법에 이들 사업 추진을 위한 재원 마련의 근거규정은 마련되어 있지 않은 상태임.
이에 안 제6조제1항의 시행계획의 실시에 필요한 재원 확보 노력의무 부여는 계획의 실효성을 확보하여 크루즈산업의 발전 기반을 조성하기 위한 관련 사업들을 차질 없이 추진하기 위하여 필요한 입법사항으로 보임.
또한, 현행법상 기본계획을 수립하거나 변경한 때에는 이를 지체 없이 관계 중앙행정기관의 장 및 시·도지사에게 통보하도록 하고 있으나, 시행계획을 관계 중앙행정기관의 장 및 시·도지사에게 통보하는 근거가 마련되어 있지 않음.
이에 따라 해양수산부가 해당 시행계획에 따른 정책 사업을 진행하는 과정에서 중앙행정기관 및 지자체와의 소통 부재, 비협조 등에 따른 문제가 발생할 여지가 있음.
따라서 안 제6조제2항과 같이 시행계획의 지자체 통보 규정을 마련하는 경우 중앙행정기관 및 지자체와의 정보공유, 원활한 협조 등을 통해 해당 계획의 실효성 제고에 기여할 수 있을 것으로 보임.
# 기존 모델 요약문
- 안 제6조는 크루즈산업 육성 시행계획의 재원 확보를 위한 법적 근거를 마련하고자 함.
- 현행법은 크루즈산업 활성화를 위한 기반 조성 및 경쟁력 강화 사업을 추진하지만, 재원 마련의 근거규정이 부족하며, 시행계획의 지자체 통보 규정이 마련되지 않아 중앙행정기관과 지자체 간 소통 부재 및 비협조 문제 발생 가능성이 존재.
- 이에 따라 안 제6조제2항은 시행계획의 지자체 통보 규정을 마련하여 중앙행정기관 및 지자체와의 정보공유 및 원활한 협조를 통해 시행계획의 실효성을 제고할 수 있도록 함.
# fine-tuning 모델 요약문
- 이 법안은 크루즈산업 육성 시행계획 수립 및 시행을 위한 재원 확보를 위한 법적 근거 마련을 목표로 합니다.
- 현재 법에는 크루즈산업 활성화 사업 추진에 필요한 재원 마련에 대한 명확한 근거가 부족합니다.
- 시행계획의 지자체 통보를 통해 중앙행정기관 및 지자체와의 정보 공유를 통해 계획의 실효성을 높일 수 있습니다.
테스트 3 성능 비교
- 모델 학습 후 요약문이 지시사항을 더 잘 이해하고 따랐습니다. 각 문장이 50자를 넘지 않으며, 법안의 주요 내용과 핵심 사항을 간결하고 명확하게 전달합니다.
- 반면, 모델 학습 전 요약문은 세부 사항을 더 충실하게 포함하고 있지만, 문장 길이가 지시사항을 초과하는 부분이 있어 형식적으로 적합하지 않습니다.
종합 평가
모델 학습 후 요약문이 지시사항을 가장 충실히 따르고 있으며, 최종적으로 더 적합합니다. 이유는 다음과 같습니다.
- 형식 준수: 모든 문장이 50자 이내로 구성되어 있어, 지시사항에서 요구된 형식을 완벽하게 따르고 있습니다.
- 핵심 내용 전달: 법안의 주요 목적, 현행법의 문제점, 그리고 해결 방안이 간결하면서도 명확하게 요약되어 있습니다.
- 효율성: 불필요한 세부사항을 제외하고, 본질적인 정보만을 효율적으로 전달하고 있습니다.
반면, 모델 학습 전 요약문은 중요한 세부 사항을 잘 담고 있지만, 일부 문장이 50자를 초과하여 형식적으로 지시사항을 완전히 따르지 못했습니다. 내용 측면에서는 다소 더 상세한 정보를 포함하고 있으나, 이로 인해 간결함이 떨어지고 지시된 형식에 부합하지 않는 문제가 있습니다.
대형 모델 활용의 장점과 한계
LLM을 활용한 sLLM 최적화는 다양한 분야에서 유용하게 적용되며, LLM이 학습한 방대한 지식을 바탕으로 특정 작업에 최적화된 sLLM을 개발할 수 있습니다. 이러한 방법은 sLLM의 최적화 시간을 단축하고, 데이터 수집이 어려운 경우에도 LLM이 생성한 데이터를 통해 sLLM의 성능을 개선할 수 있습니다.
LLM을 활용하면 소형 모델을 더 빠르고 정확하게 훈련할 수 있으며, 데이터 부족 문제도 해결할 수 있습니다. 그러나 GPU 자원과 시간이 많이 소요되며, 비용 부담이 클 수 있습니다. 따라서 자원 관리와 효율성을 고려하여 대형 모델을 활용하는 전략이 중요합니다.
결론적으로, LLM을 활용한 sLLM을최적화는 매우 효과적인 방법이지만, GPU 자원, 비용, 시간 등의 현실적인 제약을 고려해야 합니다. 이러한 한계를 관리하면서, LLM의 잠재력을 최대한 활용하는 것이 성공적인 모델 최적화 전략의 핵심이 될 것입니다.
결론
이번 실험을 통해 대형 언어 모델(LLM)을 활용한 데이터 생성이 sLLM 최적화에 유용하게 활용될 수 있다는 가능성을 확인할 수 있었습니다.
Gemma2-27B 모델로 생성된 고품질 요약 데이터를 이용해 Gemma2-2B를 학습시킨 결과, 모델 성능이 개선되었으며, 특히 학습 전보다 요약문 생성의 정확성과 효율성이 향상된 것을 확인할 수 있었습니다. 이는 기존의 지식증류 방식과는 다릉방식의 접근법이지만, 대형 모델의 고차원적 지식을 소형 모델로 성공적으로 전이할 수 있다는 점에서 의미가 큽니다.
향후 연구는 이러한 기술을 확장해 법률, 의료, 금융 등 특정 도메인에 특화된 소형 모델의 최적화를 위해 대형 모델을 활용한 데이터 생성 및 학습 기법이 더욱 주목받을 것으로 예상됩니다.
또한, 자가지도학습(Self-supervised Learning) 기법을 통해 대형 모델 없이도 소형 모델이 데이터를 생성하고 학습하는 방식이 발전할 가능성도 있습니다. 이러한 발전은 성능 향상뿐만 아니라 자원 절약과 비용 효율성을 극대화할 수 있을 것입니다.
결론적으로, LLM을 활용한 sLLM의 최적화는 새로운 연구 가능성을 열어주며, 효율적인 데이터 생성과 지식 전이를 통해 더 나은 AI 시스템을 구축하는 데 기여할 것입니다. 이 기술이 실용화된다면, 다양한 산업 분야에서 실질적인 응용이 가능해지고, AI 활용의 범위가 더욱 확장될 수 있을 것입니다.
Reference
'딥러닝 > LLM' 카테고리의 다른 글
All you need to know about RAG (0) | 2024.10.09 |
---|---|
RAG(Relevance-Augmented Generation): LLM의 한계를 넘는 새로운 접근 (0) | 2024.10.09 |
LLM의 양자화가 한국어에 미치는 영향 (0) | 2024.08.19 |
[논문리뷰] How Does Quantization Affect Multilingual LLMs? (0) | 2024.08.12 |
LLM의 다양한 SFT 기법: Full Fine-Tuning, PEFT (LoRA, QLoRA) (0) | 2024.08.06 |