데이터 분석 Data Analytics/프로그래머스 데이터분석 데브코스 2기

[TIL] 데이터분석 데브코스 73일차 - 오픈소스 라이센스/Fine Tuning/Custom GPT 만들기/Zapier

상급닌자연습생 2024. 5. 29. 17:42

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. 모델 성능 평가