카테고리 없음
[NLP Project 1] 나를 닮은 챗봇 만들기(1)
Honestree
2024. 1. 11. 23:06
1. 개요
- 본격적으로 프로젝트를 시작하기 앞서 간단한 예제를 보면서 LLM에 익숙해지기로 했다.
- 아래의 자료들을 참고하여 진행
- 소스
- 위의 자료와 완전히 동일
GitHub - Hyunmok-Park/llm_project
Contribute to Hyunmok-Park/llm_project development by creating an account on GitHub.
github.com
2. 개발환경
datasets 2.16.1
evaluate 0.4.1
huggingface-hub 0.20.2
numpy 1.24.4
peft 0.7.1
python 3.8.18
scikit-learn 1.3.2
tokenizers 0.15.0
torch 2.1.2
transformers 4.36.2
typing-extensions 4.9.0
2. 세부 내용
- 사용 모델은 distilbert-base-uncased 라는 모델로 자세히는 모르지만 아마 bert 기반의 모델로 추정된다. (distil 이라는 수식어가 붙어있으니 knowledge distilation과 연관이 있지 않을까 예상된다...)
- 데이터셋은 허깅페이스의 shawhin/imdb-truncated 라는 데이터인데 영화 리뷰내용과 내용의 긍정 / 부정에 대한 라벨링으로 보인다.
- 출처에서는 PEFT :Parameter-Efficient Fine-Tuning of Billion-Scale Models on Low-Resource Hardware 라는 기법을 사용하여 fine-tuning을 진행하였다. 이에 대해서는 추가적으로 공부할 예정
- PEFT는 한마디로 요약하면 적은 파라미터만을 조정하여 전체 파라미터를 조정하는것과 같은 효과를 내는 fine-tuning 기법으로 보여진다.
3. 결과
- RTX3060을 기준으로 약 40분 / 1093MiB 소요
4. 추가 학습 필요
- Tokenizer 개념
- PEFT 개념
- distilbert-base-uncased 모델 개념
- 사용 함수들 세부 조사
- 데이터셋 구성 확인