Open Source License(오픈소스 라이센스)
: 소스 코드가 공개되어 있어 누구나 자유롭게 수정/사용/배포 가능한 소프트웨어
- 개발자들이 협업을 통해 기술의 혁신 및 개선을 추구할 수 있음
- 깃허브를 통해 오픈소스 개발과 공유가 한 단계 발전
- 대표적 오픈소스 소프트웨어 :
- Linux 운영체제
- 관계형 데이터베이스 : PostgreSQL, MariaDB 등
- 웹서버 서비스 : Apache 등
- 프로그래밍 언어 : Python 등
- 빅데이터 처리 프레임워크 : Hadoop, Spark 등
대표 오픈소스 라이센스
1. MIT 라이센스
- 사용자에게 소프트웨어를 (거의) 제한 없이 사용/복사/수정/배포할 수있는 권한 부여
- 원작자의 저작권 표시, 허가 표시를 모든 복사본 혹은 중요한 부분에 포함시켜야 함
2. Apache 2.0 라이센스
- 사용자에게 소프트웨어를 사용/복사/수정/배포할 수 있는 권한 부여
- 변경된 버전을 상업적으로 사용 가능
- 특허 관련 권리를 명시적으로 부여
3. GNU 일반 공중 사용 허가서(GPL)
- 소프트웨어를 자유롭게 사용/공유/수정 가능
- Copyleft : GPL 라이센스 하에 배포된 모든 수정 버전들도 동일한 라이센스를 따라야함
- 수정된 소프트웨어의 자유로운 사용 보장
4. BSD 라이센스
- 간단함. 제한이 적음 → 상업적 소프트웨어 프로젝트에 자주 사용
- 소스코드 재배포시, 원작자의 저작권 표시를 모든 광고 자료/문서에 포함시켜야함
5. Creative Commons (CC)
- 주로 데이터셋, 교육 자료, 창작물에 사용됨
- 여러 버전 존재. 일부는 상업적 사용 제한, 저작자 표시 의무, 동일한 방식으로 공유
Fine Tuning
: 파운데이션 모델 내부의 파라미터를 부가적인 훈련을 통해 변경하여 사용자 유스케이스에 맞게 모델을 커스터마이징하는 것
Fine Tuning하는 이유
- 모델을 처음부터 새로 만드는 것보다 특정 유스케이스에 훨씬 더 좋은 성능을 냄
- 비용 및 시간 절약 가능
LLM의 Supervised Fine-Tuning 프로세스
1. 파인 튜닝할 대상 결정(문제 정의)
2. 사용할 훈련 데이터셋 생성
3. 어떤 파운데이션 LLM 모델을 파인튜닝의 대상으로 할지 결정
4. Supervised ML 형태로 LLM을 재훈련
- [방법 1] 모든 파라미터들을 전부 재훈련
- [방법 2] 레이어 대부분의 파라미터들을 freeze하고, 가장 앞에있는 레이어듦나 재훈련 (Transfer Learning)
- [방법 3] PEFT (Parameter Efficient Fine Tuning)
- 모든 레이어의 파라미터들을 고정하고 앞단 레이어들에 새로운 파라미터를 추가하는 방식
- LoRA(Low Rank Adaption) 방식
5. 모델 성능 평가