#llama3 #trl #lora finetuning #huggingface #runpod #economic news #labeling with gpt4o #"NCSOFT/VARCO-8B-Instruct" #llama chat template #runiarang/finance_news_summarizer
지난번(ai100-1) 경제 뉴스를 라마팩토리로 llama3 파인튜닝해봤는데,
이번에는 허깅페이스의 trl을 이용해서 똑같이 llama3 파인튜닝해보겠다.
기본적인 흐름은 똑같다.
허깅페이스에 올려둔 경제 뉴스 전처리된(gpt4o가 True,False 라벨링한) 데이터 (runiarang/finance_news_summarizer) 를 불러와서 학습에 사용한다.
<요약>
@ 개발 환경(파인튜닝 및 추론) : 런팟 A100x1
@ 데이터 수집 :
- 지난번에(ai100-1) gpt4o가 True,False 라벨링한 데이터를 허깅페이스"runiarang/finance_news_summarizer" 에 올려두었었는데, 이를 불러와서 학습에 사용한다. (전체 1,000개 중 5:5로 train:test 데이터 비율을 설정한다.)
@ 데이터 전처리 : train/test 분할 -> OpenAI format으로 변환
@ 모델/토크나이저 로드 : "NCSOFT/VARCO-8B-Instruct"
@ 라마 챗 템플릿(토크나이저 기반) 적용 : 데이터에 라마 챗 템플릿 적용
@ 파인튜닝 준비 ; LoRA와 SFTConfig 설정 -> 학습 중 전처리 함수 collate_fn -> 데이터 정수 인코딩
@ 모델 파인튜닝 : 런팟 (A100x1 RAM 70GB) 이용해서 16분간 lora 파인튜닝 학습
@ 테스트 데이터 준비하기
@ 파인튜닝 모델 추론 : 런팟 (A100x1 RAM 70GB) 이용해서 6분간 추론
@ 기본 모델 추론 : 런팟 (A100x1 RAM 70GB) 이용해서 6분간 추론
@ 결과 :
- 파인튜닝 모델 성능
5개의 테스트 샘플에 대해 파인튜닝된 모델은 모두 정답을 맞혀주어 정확도 100%를 기록했습니다.
반면 기본 모델(파인튜닝 전)으로 동일 샘플을 추론한 결과 4개 정답을 맞혔고, 이에 따른 정확도는 80%였습니다. - 파인튜닝 및 추론
파인 튜닝 시간은 16분, 추론 시간은 3분이었으며, 전체 GPU 메모리 70GB 중 약 30GB를 사용했습니다. 해당 작업에 든 비용은 $1.6 (약 2,000원)이었으며, 파인튜닝 및 추론을 포함한 총 비용이었습니다.
@ 의의 :
- 효과적인 성능 향상
짧은 시간과 낮은 비용으로도 파인튜닝만으로 기본 모델 대비 성능이 크게 향상됨을 확인할 수 있었습니다. 정답률이 80%에서 100%로 올라간 점이 그 증거입니다. - 빠르고 경제적인 실험 가능
A100 GPU 하나만으로 16분 파인튜닝, 6분 추론, 그리고 $1.6의 비용만 들였다는 점은 대규모 자원이 아닌 간단한 환경에서도 실험이 충분히 가능함을 보여줍니다. - TRL의 실용성 강점
Hugging Face의 TRL 프레임워크를 사용하여, LLaMA 기반 모델에 대해 간단하면서도 효과적인 파인튜닝을 수행할 수 있었습니다. 이러한 툴을 활용하면 빠른 프로토타이핑에 매우 적합하다는 인사이트를 제공합니다. - 범용 모델 vs 특정 도메인 적응
기본 모델은 이미 준수한 성능(80%)을 보였지만, 도메인(경제 뉴스) 특화된 추가 파인튜닝을 통해 정밀도 100%까지 끌어올릴 수 있었습니다. 이는 실무 적용 시 도메인 적응의 중요성을 강조합니다. - 작업 효율성 및 생산성
파인튜닝에 필요한 데이터 전처리, LoRA 구성을 포함한 학습 설정, 그리고 적은 자원 소모 등은 반복적 실험 및 확장 작업에 있어서 큰 장점으로 작용할 수 있습니다.

---------------------------------------------------------------------------------------------------------------------
@ TRL vs 라마팩토리
TRL(Hugging Face) : 범용 파인튜닝 프레임워크
LlamaFactory는 LLaMA 계열 모델(SFT, LoRA, RLHF 등)에 특화된 통합 툴킷
@ 개발 환경

@ 데이터 전처리




@ 모델 로드 및 템플릿 적용


@ Lora와 SFTConfig 적용



@ 학습 중 전처리 함수: collate_fn


@ 데이터 정수 인코딩
# 입력 정수 인코딩 결과

# labels 정수 인코딩 및 디코딩 결과

@ 학습하기



# 최종 학습 결과 : checkpoint-375가 최종 모델

@ 파인튜닝된 모델 추론


# 파인튜닝된 모델 추론


# 파인튜닝 모델로 테스트 샘플 5개 추론해보기

5문제 샘플 중 5개를 전부 다 맞췄다. 샘플 경제 뉴스의 주식시장 영향 True/False 추론을 잘하는 것을 알 수 있다.
파인튜닝하는데 a100 GPU 메모리는 총 70GB 중 30GB 정도 사용하였다.

@ 기본 모델 추론
# 기본 모델로 샘플 데이터 5개 추론


5문제 샘플 중 4개를 맞췄다(정답률 80%). 기본 모델의 정답률은 파인튜닝 모델의 100%보다 낮은 것을 알 수 있다.
@ 런팟에서 모델 파인튜닝 학습 및 추론에 사용한 비용과 시간
# 비용 :
20.5 달러 - 18.9 달러 = 1.6 달러(약 2,000원)
# 시간
A100 SXM x1 : 파인튜닝 16분 / 추론 6분
'LLM 파인튜닝' 카테고리의 다른 글
| [한국어 데이터셋] 허깅페이스 주요 한국어 파인튜닝 데이터셋 종류 (0) | 2025.08.26 |
|---|---|
| [ai100-5T] [RAG 파인 튜닝] klue mrc 데이터 파인튜닝 후 RAG QA 테스트 (2) | 2025.08.25 |
| [ai100-4T] [RAG 학습 데이터 생성2] no aswer 질문 데이터 만들기 (0) | 2025.08.25 |
| [ai100-3T] [RAG 학습 데이터 생성1] 다수의 문서를 인용하는 질문 데이터 만들기 (0) | 2025.08.24 |
| [ai100-1T] [경제 뉴스 예측 파인튜닝 모델 만들기1] 라마팩토리로 경제 뉴스 llama3 파인튜닝 (2) | 2025.08.13 |