• 카테고리

    질문 & 답변
  • 세부 분야

    자연어 처리

  • 해결 여부

    미해결

Gpt3.5 FineTuning 을 보고 문의 드립니다.

23.11.05 17:12 작성 조회수 211

0

안녕하세요. 강의 잘 보고 있습니다.

이렇게 좋은 강의를 제공해 주셔서 감사합니다.

 

2가지 케이스에 대한 문의 사항이 있습니다.

이런 경우에는 어떻게 해야 하는건가요?
가령 예를 들어서 gpt api 를 이용해서 사내 업무에 특화된 서비스를 개발하려고 합니다.

첫번째 케이스는 회사의 업무를 만드는 케이스입니다.

1. 가령 인사업무, 총무업무,회계업무 등의 다양한 업무가 있다면 이런것들은 인사,총무,회계 등의 형태로 모델을 다 다르게 만들고 질문의 영역이 들어올 때 이 문제가 인사인지, 총무인지,회계인지 등으로 먼저 파악을 하고 질문에 대해서 각각 모델을 지정해서 응답을 하도록 만들어야 하는지

  1. 아니면 회사전체의 모든 업무를 담을 수 있는 하나의 모델을 만들고 거기에 fine tuning 을 시켜야 하는지요.?

    1. 이 경우에 회사에서 사용하는 api 의 경우는 finetuning 된 모델을 사용하도록 지정을 해도 되나요? 그러니까 제가 fine tuning 한 모델을 지정을 하면 그것만 답변을 잘하고 다른것들은 답변을 잘 못하게 되나요?

두번째 케이스는 개발업무를 assist 하는 케이스를 만들고 싶은데요

1. 이런 경우에 db 테이블 정보를 fine tuning 의 형태로 학습 시키는 것이 가능한가요?

  1. 가령 주요 테이블 정보를 fine tuning 시키고 query 를 만들때 fine tuning 된 테이블 정보를 이용해서 query 를 만든다거나 하는 형태가 가능할까요?

 

바쁘실텐데 시간내셔 답변주시면 정말 많은 도움 될듯합니다. 감사합니다. ^^

답변 2

·

답변을 작성해보세요.

0

???님의 프로필

???

질문자

2023.11.09

안녕하세요~^^

이정도로까지 친절하게 답변주실지는몰랐습니다.

너무나도 친절하고 깊이있는 답변 진심으로 감사합니다.

송구스럽고 감사해서 뭐라고 답변응ㄹ 달아야 할지모르겠네요^^

말씀하신 다음 강의가 준비가 된다면 또다시 바로 듣도록하겠습니다.^^

감사합니다. :)

0

안녕하세요~. 반갑습니다.

먼저 강의를 수강해주셔서 감사합니다^^.

 

첫번째 케이스는 회사의 업무를 만드는 케이스입니다.

1. 가령 인사업무, 총무업무,회계업무 등의 다양한 업무가 있다면 이런것들은 인사,총무,회계 등의 형태로 모델을 다 다르게 만들고 질문의 영역이 들어올 때 이 문제가 인사인지, 총무인지,회계인지 등으로 먼저 파악을 하고 질문에 대해서 각각 모델을 지정해서 응답을 하도록 만들어야 하는지

아니면 회사전체의 모든 업무를 담을 수 있는 하나의 모델을 만들고 거기에 fine tuning 을 시켜야 하는지요.?


-> 원론적으로는 인사업무에 대한 Fine-Tuning, 총무업무에 대한 Fine-Tuning, 회계업무에 대한 Fine-Tuning 각각의 모델을 만드는게 가장 성능이 좋을수 있습니다.

다만 트레이닝 데이터가 충분하지 않거나 Fine-Tuning에 대한 노하우가 충분하지 않을경우 하나의 모델을 만들고 거기에 Fine-Tuning하는 것 대비 큰 성능 차이가 없을수도 있어서 하나의 모델로 Fine-Tuning하는 것이 더 좋을 수도 있습니다.

또한 모델의 Fine-Tuning하는 것도 중요하지만 말씀해주신대로 그에 못지않게 인사 업무, 총무 업무, 회계 업무에 적합한 형태로 프롬프트 엔지니어링을 통한 적합한 프롬프트 템플릿을 만들어서 GPT에게 잘 전달하는 것이 가성비측면에서(즉, 인컨텍스트 러닝으로 문제를 해결하는 것이지요.) 더 효율적일 수도 있습니다.

 

이 경우에 회사에서 사용하는 api 의 경우는 finetuning 된 모델을 사용하도록 지정을 해도 되나요? 그러니까 제가 fine tuning 한 모델을 지정을 하면 그것만 답변을 잘하고 다른것들은 답변을 잘 못하게 되나요?

-> 이 경우도 트레이닝 데이터의 양이나 GPT에게 주어지는 프롬프트가 얼마나 회사에 특화된 질문이냐에 따라 다를 수 있지만 어느정도 범용성있는 질문으로 프롬프트를 구성한다면 Fine-Tuning을 한다고해서 GPT가 다른 것에 대한 답변을 잘 못하게 되지는 않습니다.

 

두번째 케이스는 개발업무를 assist 하는 케이스를 만들고 싶은데요

1. 이런 경우에 db 테이블 정보를 fine tuning 의 형태로 학습 시키는 것이 가능한가요?

가령 주요 테이블 정보를 fine tuning 시키고 query 를 만들때 fine tuning 된 테이블 정보를 이용해서 query 를 만든다거나 하는 형태가 가능할까요?

-> db 테이블 정보를 fine-tuning하는 형태로 학습시키는 것도 가능합니다. 다만 말씀해주신 문제 상황의 경우 최근에는 랭체인(LangChain)과 같은 LLM 연동 라이브러리 등을 이용해서 db 테이블 정보를 해당 라이브러리와 연동해주고 이를 다시 LLM과 연동해서 구현하는 형태가 더 손쉬운 접근법 일 수도 있습니다. (아래 문서를 참조해보세요.)

 

https://python.langchain.com/docs/use_cases/qa_structured/sql

참고로 Part 2 강의로 랭체인(LangChain) 라이브러리 활용법을 제작중이니 랭체인 라이브러리에 관심이 있으시다면 Part 2 강의가 출시되면 참고해보시면 좋을 것 같습니다.

 

그럼 좋은 하루되세요~.

감사합니다.