인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

sdt님의 프로필 이미지
sdt

작성한 질문수

모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기

Llama 2 Fine-Tuning을 위한 형태로 KorQuad 데이터셋 정제하기

Fine-tuning 데이터셋 질문

작성

·

139

·

수정됨

0

llama 3 fine-tuning 을 위해 데이터셋을 구축하고 있습니다.


제가 가지고 있는 데이터는 마크다운 형식의 데이터 셋인데요,
현재 강의에서 사용하는 SFT 형식의 데이터 셋은 ### 를 통해 Instruction 과 Response 를 구분하고 있기 때문에 마크다운 형식의 데이터가 제대로 학습이 되지 않습니다.

제가 가지고 있는 데이터의 예시는 다음과 같습니다.

[{"text": "### Instruction: ## 제목입니다. \n ### 소제목 입니다. \n 콘텐츠 입니다. 다음 내용에 이어질 말은 무엇일까요? ### Response: 다음 내용에 이어지는 응답입니다."}, ... ]

이와 같은 데이터를 학습시키고 Response 를 받으면 다음과 같은 응답을 받게 됩니다.:

Input: ## 제목 \n ### 소제목 \n 다음 내용은?
Ouput: 내용은 다음과 같습니다: \n ### Instruction: ## 다음에 들어갈 제목 \n 컨텐츠 ..~~~ ### Response: ## 소제목 ~~~

이런식으로 "Instruction" 과 "Response" 도 마크다운 형식의 데이터로 인식하여 거의 모든 답변에 "### Instruction:" 와 "### Response:" 라는 텍스트가 추가되어 나타납니다.


1. 이러한 마크다운 형식의 데이터를 가지고 있는 경우 Instruction 과 Response 를 어떻게 구분 할 수 있을까요?

  1. [{"system": " ", "Instruction": " ", "Response": " "}, ... ] 이러한 형식의 데이터로 학습 시킬 순 없을까요?

  2. SFT 형태의 데이터가 아닌 다른 형태의 데이터로 학습시키는게 좋을까요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

마크다운 형식의 데이터를 가지고 있는 경우 Instruction과 Response를 구분하는 방법에 대해 말씀드리겠습니다.

  1. 마크다운 형식의 데이터에서 Instruction과 Response를 구분하고자 한다면, 특정 패턴(예: “### Instruction:”, “### Response:”)을 사용하여 데이터를 전처리하는 과정이 필요합니다. 실제 학습 데이터를 구성할 때는, 명확히 구분할 수 있는 식별자를 사용하여 Instruction과 Response 사이의 경계를 명확히 하고, 필요 없는 마크다운 표시(##, ### 등)는 제거하거나 다른 식별 가능한 형태로 변환하는 작업이 필요할 수 있습니다.

  2. [{"system": " ", "Instruction": " ", "Response": " "}, ... ] 이러한 형식의 데이터로 학습시킬 수 있습니다. 각 JSON 객체 내에 Instruction과 Response를 명확히 구분하여 기록하시면 됩니다. 이렇게 데이터를 구성하면 모델이 Instruction과 Response를 더 명확히 인식하고, 학습 과정에서 데이터의 구조를 인식하는 데 도움이 됩니다. 학습 데이터를 준비할 때는 이러한 구조적인 형태로 데이터를 전처리하여 모델에 입력하는 것이 좋습니다.

  3. SFT(Supervised Fine-Tuning) 형태의 데이터가 아닌 다른 형태의 데이터로 학습시키는 것이 좋은지 여부는 목표하는 모델의 성능과 학습 데이터의 특성에 따라 달라질 수 있습니다. 일반적으로, 명확한 지도 학습 데이터가 모델이 특정 작업에 더 잘 맞게 학습하는 데 도움이 될 수 있지만, 데이터의 구조나 형태가 모델의 학습 능력을 저해하지 않도록 주의가 필요합니다. 다른 형태의 데이터로 학습시키기 전에는, 해당 데이터 형태가 학습 목표와 잘 어울리는지, 모델이 해당 데이터로부터 적절한 정보를 학습할 수 있는지 등을 고려해야 합니다.

중요한 것은 모델이 학습 과정에서 Instruction과 Response를 정확하게 구분하여 이해할 수 있도록 데이터를 최적화하는 것입니다. 데이터 전처리 단계에서 모델 학습에 적합한 형식으로 데이터를 조정하는 것이 중요합니다.

원하는 답변을 찾지 못하셨나요?
그럼 우측 하단의 ‘문의하기’ 에서 직접 문의해주세요.
최대한 빠르게 답변드리도록 하겠습니다!

sdt님의 프로필 이미지
sdt

작성한 질문수

질문하기