Github

https://github.com/hosugator/smart_summary_bot

일정

9-10시: 프로젝트 설명 및 역할 분담

10-12시: 기능 구현

12-12:30: 스크럼

14-15시: 리팩터링 및 구현

15-16시: 코드 발표

구조

/smart_summary_bot
├── crawler/
│   ├── __init__.py
│   └── crawler.py        # 크롤링 기능을 담은 파일
├── preprocessor/
│   ├── __init__.py
│   └── preprocess.py     # 전처리 기능을 담은 파일
├── answer/
│   ├── __init__.py
│   └── summarizer.py     # 요약 기능을 담은 파일
├── embedder/
│   ├── __init__.py
│   └── embed.py          # 임베딩 기능을 담은 파일
├── modeler/
│   ├── __init__.py
│   └── model.py          # 모델 관련 기능을 담은 파일
├── evaluator/
│   ├── __init__.py
│   └── evaluate.py       # 모델 평가 기능을 담은 파일
├── main.py               # 프로젝트의 유일한 진입점
├── requirements.txt
└── README.md

# 추가 기능
├── server/
│   ├── __init__.py
│   └── app.py            # (추가 기능) 웹 서버 구동 스크립트
├── web/
│   ├── static/
│   └── templates/        

추가 기능

커밋 규칙

커밋 메시지 작성 규칙

type(scope): description

이러한 규칙을 사용하면, 커밋 메시지만 보고도 어떤 변경이 일어났는지 빠르게 파악할 수 있어 협업 효율성을 높일 수 있습니다.

다음은 일반적으로 사용되는 접두어와 그 의미입니다.

주요 커밋 타입

NLP 남은 발표 및 마치며

3조: smart_summary_bot

https://github.com/hosugator/smart_summary_bot

시작부터 모듈화를 고민한 점이 인상적이다.

추후 재사용 및 확장이 가능하므로, 취합 및 통합 구현까지 완성해봐라.

다만, 뉴스 요약 정도는 LLM API 유료 서비스를 이용하기보다는, 허깅 페이스의 kogpt 등을 사용하면 유사한 성능으로 사용 가능하다.

마치며

전술하였듯, LLM 모델 학습은 방대한 데이터/고성능 하드웨어가 필수적이므로, 실무에서는 직접 생성하는 일은 드물다.

pre-trained 모델을 전이 학습으로 파인 튜닝하여, 특정 목적에 따라 사용하면 된다.

이 때, 모든 코드들을 동작 가능하게 만든 후에, 실제 학습에서는 GPU 렌탈 서비스를 이용하면 된다.

다양한 GPU 렌탈 서비스들이 있으므로, 사용량 기준보다는 시간 단위 서비스를 선택해서 해봄직하다.