AI/LLM

태태개발일지 - 사내 LLM 사업

태태코 2026. 4. 15. 14:35
반응형

사내 LLM 개발 flow

 

 

 

Open Model 설정(OpenSource LLM)

목적과 용도와 자원에 맞는 open model을 허깅페이스에서 가져와서 학습시킨다.

 

 

제로베이스의 모델을 pre-train 시키는건 쉽지않은 방법이라, open model을 가져와서 의도에 맞게 튜닝시킨다.

 

 

 

1. Tunning

크게는 3가지의 flow로 이루어져있다 NTP, SFT,RLFT

 

  1. NTP(Next token prediction) 
    기본 상식에 대한 훈련은 필요없고, 특정 도메인에 대한 훈련을 실행했을 때 성능이 좋다.
  2. SFT
    Full FT 또는 LoRA, Adapter, Prefix
  3. RLFT 
    두가지의 답변을 두고 선호하는 성향을 주입하여, 올바른 방향으로 답변하게 끔 훈련시키는 부분,
    DPO를 많이 사용한다고 알려짐.
단계 실무에서의 이름 필요 여부 비고
NTP Continual Pre-training 선택 특수 도메인 지식이 대량으로 필요할 때만 수행
SFT Instruction Tuning 필수 우리 회사의 말투나 작업 방식을 가르치는 핵심 단계 (LoRA 사용 권장)
RLFT Alignment (DPO/RLHF) 권장 챗봇의 센스, 안전성, 최종 품질을 높이고 싶을 때 수행

 

 

2. Model Evaluation

 

벤치마크 데이터를 통해서 모델을 평가한다.

 

 

구분 BLEU BERTScore LLM-as-a-judge
평가 세대 1세대 (통계적) 2세대 (임베딩 기반) 3세대 (생성형 모델 기반)
핵심 기준 텍스트 일치도 의미적 유사도 종합적 품질 (추론/논리 등)
비용 거의 없음 낮음 (로컬 GPU) 높음 (API 호출 비용)
정확도 낮음 (단순 비교) 보통 높음 (인간과 유사함)
주요 용도 번역, 단순 요약 의미 기반 유사성 체크 챗봇 성능, RAG 평가

 

보통 1세대 2세대를 빠르게 간단하게 검증하고 3세대로 final 검증하는 느낌.

 

3. Train data set 선정

 

1. 지식 자체가 부족할 때 → NTP (Continual Pre-training)

  • 상황: 최신 시사 상식, 특정 회사의 내부 규정, 전문 의학 지식 등 모델이 아예 모르는 내용에서 점수가 낮게 나올 때.
  • 조치: 관련 텍스트 데이터를 대량으로 모아 NTP(Next Token Prediction) 방식으로 추가 학습을 시킨다. 지식을 머릿속에 '주입'하는 단계이다.

2.  정답 형식을 못 맞추거나 지시를 무시할 때 → SFT

  • 상황: 지식은 있는 것 같은데, "JSON 형식으로 답해줘"라고 해도 줄글로 답하거나, 요약하라고 했는데 질문을 다시 반복하는 경우이다.
  • 조치: 벤치마크에서 틀린 문제들을 모아 "올바른 질문-답변 쌍"을 만들어 SFT(Supervised Fine-tuning)를 진행한다. 태도를 교정하는 단계이다.

3.  정답은 맞지만 '느낌'이 별로일 때 → RLFT (DPO/RLHF)

  • 상황: 답변 내용이 틀린 건 아닌데, 말투가 너무 딱딱하거나, 지나치게 방어적이거나, 사용자가 선호하는 스타일이 아닐 때이다.
  • 조치: "답변 A와 B 중 무엇이 더 좋은지"를 학습시키는 RLFT를 수행한다. 모델의 '센스'를 끌어올리는 단계이다.

 

2단계의 결과를 통해서 약한 부분에 대해서 학습데이터를 다시 만들고, 튜닝시키는 과정을 반복한다.

 

 

FINE TUNING

라는 궁금증이 들었다.

 

 

 

                                 GPT의 대답

 

 

 

 

이후 LangChain 등 기법을 이용한 RAG

 

화면안에 들어있지 않은 데이터를 함수나 다른 방법을 이용해서 AI가 데이터를 찾아서 호출해야할 때 사용하여, 성능을 향상시킨다.

 

 

 

 

반응형