현대 인공지능(AI)의 발전은 데이터 처리 및 학습 모델에 있는 변화를 통해 이루어지고 있습니다. 특히, 소형 언어 모델의 파인튜닝은 비즈니스와 연구 분야에서 중요한 위치를 차지하고 있습니다. 이 리포트에서는 LLaMA-Factory와 Axolotl이라는 두 가지 혁신적인 도구를 통해 소형 언어 모델을 효과적으로 파인튜닝하는 방법을 살펴보고, 각각의 도구가 사용자의 필요에 어떻게 부합하는지를 분석합니다. LLaMA-Factory의 간편하고 직관적인 사용 방식과 Axolotl의 고급 데이터셋 생성 기능은 여러분이 원하는 결과를 얻는 데 정말 도움이 될 것입니다. 이를 통해 리포트를 읽고 나면 데이터셋 생성 및 모델 학습 환경을 개선할 수 있는 통찰력을 얻을 수 있을 것입니다.
LLaMA-Factory는 No-Code 방식으로 소형 언어 모델을 파인튜닝할 수 있게 돕는 혁신적인 도구예요. 기초적인 프로그래밍 지식이 없더라도 이 도구를 사용하면 손쉽게 모델을 조정할 수 있어요. 그뿐만 아니라, 데이터셋 생성 과정도 간단해져 사용자들이 원하는 결과를 얻지 못한다는 불안감을 덜 수 있습니다. LLaMA-Factory는 Huggingface에 등록된 여러 데이터셋을 활용할 수 있으며, 사용자가 직접 Instruction dataset을 생성할 수 있는 기능도 제공해요. 예를 들어, 공무원 인사제도에 기반한 데이터를 Instruction과 Output 형식으로 구성한 데이터셋으로 만들 수도 있답니다.
Axolotl은 파인튜닝을 한층 더 간편하게 돕는 No-Code LLM 파인튜닝 툴이에요. 이 도구는 다양한 오픈 소스 LLM 모델에 대한 기본 설정 및 필요한 파라미터들을 템플릿 형태로 정리하여 사용자들이 복잡한 환경 설정 없이도 쉽게 모델을 조정할 수 있도록 도와줘요. 특히, Axolotl의 강력한 기능 중 하나는 Custom 데이터셋을 생성하는 것으로, 이 기능을 통해 멀티턴 데이터셋도 생성할 수 있답니다. 또, GPT-4와 같은 고급 모델을 이용한 데이터 증강 방법도 지원하며, 사용자가 더욱 필요한 데이터셋을 실질적으로 만들 수 있도록 도와주죠.
LLaMA-Factory와 Axolotl 두 도구는 각기 다른 장점과 단점을 가지고 있어요. LLaMA-Factory는 간단한 사용법과 구성 방법 덕분에 기초 지식이 부족한 사용자들에게도 유용해요. 반면에 Axolotl은 커스터마이징이 용이해 멀티턴 데이터셋 생성에 강점을 발휘해요. 하지만, Axolotl은 데이터셋 생성 비용이 상대적으로 높을 수 있으니 사용자가 신중히 고려해야 할 점이랍니다. 두 도구 모두 데이터셋 생성과 파인튜닝 과정에서 사용자의 요구를 충족시킬 수 있는 다양한 기능들을 제공하고 있어요.
여러분, 데이터 증강 기술이 왜 중요한지 궁금하지 않으세요? 데이터 증강은 파인튜닝을 위한 데이터셋의 품질을 극대화하는 핵심 요소예요. 고품질의 예제가 많을수록 모델의 성능이 더욱 향상되는데, 이는 우리가 예제 수를 두 배로 늘릴 때마다 선형적으로 성능이 증가하기 때문이에요. 따라서 다양한 변형 데이터를 생성하기 위해 데이터 증강 기술을 적극 활용하는 것이 필수적이에요!
훈련 데이터셋을 생성하는 과정에 대해 알고 싶으신가요? 데이터셋은 하나의 입력(‘prompt’)과 그에 대한 출력(‘completion’)으로 구성된 학습 예제 세트를 준비하는 것으로 시작해요. 구분자를 통해 프롬프트의 끝과 완성의 시작을 모델에 알리고, 각 예제는 명확하게 형식화해야 해요. 일반적으로 사용되는 구분자는 \n\n###\n\n이며, 각 완성은 고정된 종료 시퀀스로 끝맺어야 해요. 모델의 성능을 최적화하기 위해서는 수백 개의 고품질 예제를 제공하는 것이 이상적이며, 욕설이나 부정확한 내용을 수동으로 필터링하는 작업도 반드시 필요해요!
훈련용 데이터셋의 형식, 어떻게 해야 할까요? 훈련 데이터셋은 구조화된 형식을 통해 모델이 이해하기 쉬운 형태로 구성해야 해요. 이는 사전 학습된 모델에 적합해야 하고, supervised 형태의 레이블이 포함된 데이터셋이 바람직해요. 예를 들어, 문장에 대한 감성 레이블이 첨부된 데이터나 특정 도메인(예: 의료, 법률)에 특화된 텍스트들이 필요하답니다. 데이터셋의 형식은 파인튜닝 시 모델에 활용될 입력 및 출력 구성을 명확히 전달하면서 다양한 작업에 맞게 조정되어야 해요.
파인튜닝 과정에서 모델 선택은 결정적인 요소랍니다. 일반적으로 사전 학습된 다국어 모델을 활용하게 되는데, 여기에는 tiny, medium, base 모델이 포함됩니다. 이 모델들은 모두 다양한 언어로 학습된 것이죠. 하지만 large-v2 모델 같은 경우는 48G의 VRAM을 가진 GPU 카드에서는 파인튜닝이 불가능하기 때문에 실험에서 제외되었다는 점, 기억해두세요! 더불어, 허깅페이스(Hugging Face) 플랫폼에서는 Whisper 모델을 ESPnet 툴킷에서 불러올 수 있는 기능도 제공해요. 다양한 선택지가 있으니 잘 고려해보세요!
하이퍼파라미터 조정은 파인튜닝 과정에서 필수적인 요소에요. 학습률이나 배치 크기 같은 하이퍼파라미터를 조정함으로써 최적의 학습 환경을 조성할 수 있죠. 예를 들어, Whisper 모델은 CTC 손실 함수와 Attention 손실 함수를 조합하여 학습하였고, 이 과정에서 가중치를 0.3으로 설정했답니다. 이렇게 조정된 하이퍼파라미터들이 모델 성능에 큰 영향을 미친다는 것을 알고 계신가요?
모델 학습 및 성능 평가는 파인튜닝의 핵심 단계랍니다. 훈련에 사용된 KsponSpeech 데이터셋은 약 1,000시간의 한국어 비정형 음성 데이터로 구성되어 있으며, 이를 학습, 개발, 평가 세트로 나누어 활용하게 돼요. 그리고 AIHub 데이터는 한국 방송 콘텐츠에서 수집된 약 10,000시간 이상의 데이터를 바탕으로 성능을 더욱 향상시킬 수 있답니다. 평가 데이터셋으로는 KsponSpeech 데이터셋의 평가 분할 세트인 kspon-evalother과 kspon-evalclean을 사용해 성능을 검증하게 되니, 이 과정을 놓치지 말아야겠죠!
이번 리포트에서 우리는 소형 언어 모델 파인튜닝에 있어 LLaMA-Factory와 Axolotl 두 툴의 중요성을 집중적으로 살펴보았습니다. 각 도구는 사용자의 수준과 요구에 따라 최적의 솔루션을 제공합니다. LLaMA-Factory는 초보자들도 쉽게 활용할 수 있도록 설계되어 있으며, Axolotl은 고급 사용자에게 보다 깊이 있는 데이터셋 생성 기능을 제공합니다. 이러한 도구들은 파인튜닝 과정에서 데이터 증강과 데이터셋 품질 관리의 중요성을 강조하며, 특정 도메인에서 성능을 극대화하는 데 기여할 것이며, 훈련된 모델이 실제 업무에 어떻게 적용될 수 있을지에 대한 기대감을 높입니다. 앞으로는 다양한 언어와 도메인에서 이 두 툴의 확장성과 실용성을 지속적으로 평가하고, 데이터셋 품질을 높이기 위한 다양한 방법을 모색하는 것이 중요할 것입니다.
출처 문서