onlybooks / llm

LLM을 활용한 실전 AI 애플리케이션 개발
https://www.onlybook.co.kr/entry/llm
65 stars 40 forks source link

LLM 지도미세조정에 관한 질문 #11

Closed sejinhwang97ko closed 3 weeks ago

sejinhwang97ko commented 1 month ago

안녕하세요? 책 구입해 잘 읽고있으며 특히 3장 허깅페이스 트랜스포머 라이브러리 부분 정말 도움이 많이 되었습니다. 감사합니다. (다만, 126page 4번째 줄에 "에포크 수는 3으로, ~" 부분에서 3이 아닌 1이 아닌지요? 예제 3.22에 num_train_epochs=1 이라 되어있네요.)

4장 읽으며 궁금한 점이 생겨 질문드립니다. 책을 읽었을 때 "지도미세조정"이란 지시 데이터셋을 LLM이 인과적 언어 모델링 사용하며 학습하는 방식 인데요. 보통 LLM을 파인 튜닝 한다고 하면 "지시 데이터셋"을 지도 학습 하는 건가요? 지시 데이터셋(요청과 응답 데이터)이 아닌 "사전"과 같이 단어와 뜻 데이터셋을 학습시키면 그건 보통의 LLM 파인 튜닝 방식이 아닌건가요? 이렇게 학습해봤는데 성능이 잘 안나와서(환각 증상) 개념에 대해 여쭤봅니다. 감사합니다.

shangrilar commented 3 weeks ago

안녕하세요. 허정준입니다. 문의 남겨주셔서 감사합니다 :)

  1. 126page 오타 네, 확인해봤는데 말씀해주신 부분이 맞습니다. 코드를 변경하면서 본문 내용 변경을 놓쳤네요. 정오표에 반영하겠습니다. 감사합니다.

  2. 지도 미세 조정 질문 (1) 지도 학습과 비지도 학습 잘 아시겠지만 ML에서 학습 방식을 크게 지도 학습과 비지도 학습으로 구분합니다. 지도 학습은 정답값(target)이 있는 데이터셋으로 모델을 학습시키는 것을 의미하고, 비지도 학습은 정답이 없는 데이터셋으로 데이터 자체의 특성을 학습시키는 방식을 말합니다. LLM을 학습시키는 "다음 토큰 예측" 방식은 그런 점에서 비지도 학습 방식에 해당합니다.

(2) "지도" 미세 조정 LLM을 "지시 데이터셋"으로 미세 조정하는 방식을 "지도 미세 조정(Supervised Fine-Tuning)"이라고 부릅니다. 이 이름은 학습 방식이 지도 학습이어서 붙은 이름은 아니고 "지시 사항(prompt)"과 "적절한 응답(정답)"이 포함된 "지시 데이터셋"으로 학습시키기 때문입니다. 학습 방식 자체는 여전히 "다음 토큰 예측", 즉 비지도 학습 방식입니다.

(3) "사전" 데이터셋 학습 LLM을 미세 조정할 때 기대하는 바는 "내가 원하는 작업을 잘 수행하도록" 모델을 변경하는 것입니다. 따라서 단어를 입력했을 때 그 뜻을 생성해서 반환하는 모델이 필요하시다면 사전을 학습 데이터셋으로 사용해도 괜찮을 것 같습니다. 하지만 모델을 활용하시려는 작업이 "단어 입력 -> 뜻 생성" 형태가 아니라면 해당 데이터셋으로 학습시켰을 때 생성 결과가 원하시는 형태가 아닐 수 있습니다.

혹시 더 궁금하신 사항이나 이해가 어려운 부분이 있다면 말씀 부탁드립니다. 감사합니다~!

sejinhwang97ko commented 3 weeks ago

답변 감사드립니다!

제가 LLM 미세조정을 통해 기대하는 바는 "단어를 입력했을 때 모델이 뜻을 생성하길 원하는 작업"이 맞습니다. 그래서 어떤 특정 도메인 데이터의 용어 데이터를 사전 형식으로 학습 데이터셋을 사용한 것인데 환각 증상이 나오는 부분은 이런 "LLM 미세조정 기법을 사용해서"가 아니라 추가로 환각 증상을 완화시키는 방법을 적용하지 않는 것, 혹은 데이터의 문제라고 봐도 될까요?

shangrilar commented 3 weeks ago

정확한 원인을 파악하기는 어렵지만, 짐작해보자면 "LLM 미세조정 기법을 사용해서" 라기 보다는 입력하시는 단어가 사전 학습(Pre-Training)에 충분히 포함되지 않아 단어 자체에 대한 충분한 학습이 되지 않아서 그렇지 않을까 싶습니다. 그래서 미세조정 에포크를 키워보시면서 환각 증상이 완화되는지 확인해보시면 원인 파악에 도움이 될 수 있을 것 같습니다.

혹시 더 궁금하신 사항이 있다면 말씀 부탁드립니다. 감사합니다~!

sejinhwang97ko commented 3 weeks ago

네! 답변으로 인해 도움 주셔서 정말 감사합니다!