요즘 회사에서 특정 도메인 데이터로 모델을 커스터마이징해야 할 것 같은데, 미세조정이 뭔지 정확히 모르고 시작하려니까 막히네요. 코스들을 봐도 다 당연하다고 설명하고 넘어가더라고요. 초보자 입장에서 정리해봤는데 혹시 틀린 부분 있으면 지적해주세요.
제가 이해한 바로는 미세조정은 이미 학습된 큰 모델(예: Llama, GPT 같은 거)을 가져와서, 우리가 원하는 특정 작업이나 스타일에 맞게 추가로 학습시키는 거더라고요. 처음부터 모델을 만드는 게 아니라 기존 모델의 가중치를 조금씩 조정하는 거라서 리소스도 덜 들고 시간도 훨씬 빠르다고 하더라고요. 근데 실제로 한 번도 안 해봐서 이게 맞는지 확신이 안 섭니다.
지금 저는 HuggingFace 사이트에 올려진 모델들을 둘러보고 있는데, 거기서 바로 미세조정할 수 있는 방법이 있는 것 같아요. 근데 코드를 봐도 복잡하고... 혹시 처음 시작하기 좋은 튜토리얼이나 라이브러리 있을까요? 예를 들어 PyTorch 말고 더 간단한 방식도 있을 것 같은데요.
그리고 또 하나 궁금한 게 미세조정할 때 데이터는 얼마나 필요한가 싶어요. 뭔가 몇 천 개의 예제가 필요하다는 글도 봤는데, 우리 회사 데이터는 그것보다 훨씬 적을 수도 있거든요. 이 경우에는 미세조정이 효과가 없을까요 아니면 방법이 따로 있을까요?
정리하신 내용 다 맞는데, 처음엔 LoRA 써보세요. PyTorch 직접 짜는 것보다 훨씬 간단하거든요. peft 라이브러리 추천합니다.
인공지능개그맨
Transformers 라이브러리의 Trainer 클래스 써보세요. PyTorch 직접 짜는 것보다 훨씬 간단하더라고요. HuggingFace 공식 튜토리얼에 예제 코드도 많고요.
딥러닝장인
이해하신 게 정확합니다. 저도 처음엔 복잡하게 생각했는데 결국 그거더라고요. PyTorch 대신 transformers 라이브러리의 Trainer 클래스 쓰시면 훨씬 간단해요. HuggingFace에서 공식으로 제공하는 튜토리얼도 꽤 친절한 편입니다. 작은 데이터셋으로 한두 번 돌려보시고 나면 감이 올 거예요.