분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
MarkDown + Ensemble Retriever + Llama-3.1-8B-It
LLM과 RAG에 대한 경험이 부족한 상태에서 대회에 참가했습니다. 최종 점수는 0.65-0.67 사이였습니다. 대회가 예상보다 어려웠지만, 많은 것을 배웠습니다. 향후 수상 코드를 참고하여 더 배워볼 예정입니다
## 1. Chunk 처리
- 주로 마크다운 청크를 사용 (표가 많아서)
- 마크다운 헤더 스플리트 후 512 크기로 청크 분할
- 개선점: PDF에서 표와 텍스트를 분리하여 각각 요약 생성 고려
## 2. Retriever
- 앙상블 방식이 효과적
- 사용 모델:
1. ko 형태소 기반 키워드 추출 (kiwibm25)
2. 문맥 유사도 판단 (faiss)
- 가중치: 0.5/0.5 비율로 적용
- 개선점: Retriever 결과 갯수가 상당히 많이 나와서 k를 조절하거나 Rerank 또는 필터링 적용하여 LLM 입력 전 정제가 필요하다고 생각
## 3. 언어 모델: Llama-3.1-8B-It
- 장점:
- HuggingFace에서 무료 사용 가능 (동의 필요)
- 빠른 처리 속도
- 한국어 이해도 우수
- 프롬프트에 EOS 토큰 추가로 문장 반복 방지
* PEFT로 단순히 QA로 파인튜닝도 해봤는데, 답변 형태에 대한 스타일은 잘 학습되는 것 같아서 어느정도 점수가 상승하긴 했습니다
## 개선 필요 사항
1. 표 처리 능력 향상
- 숫자 데이터에 대한 답은 잘 못하는 경우가 많았습니다. (예. 에너지바우처). 표에 대한 이해를 잘 할 수 있게 전처리를 잘해야 할 것 같습니다
2. 프롬프트 전략 개선
- 더 효과적인 프롬프트 설계로 점수 향상이 가능한 구조 같습니다. 중요 데이터 값이 틀려도 문장 형태가 비슷하면 높게 점수를 받는 구조로 보입니다
의견 주시면 감사하겠습니다
파인튜닝 후에는 상관이 없었습니다. 그런데 퓨어 모델을 사용할 땐 저런 패턴으로 안넣어주면, 문장이 반복되는 현상이 간혹 나와서요.
모델 파라미터로 조정이 가능할 것도 같은데 (top_p, penalty), 제가 잘 컨트롤 못하는지 반복이 계속 간혹 됐습니다
그런데 저런 패턴으로 넣어주니 아예 사라져서 공유 드렸습니다!
저도 표때문에 마크다운으로 가져와서 했는데 비슷한 어프로치를 하셨네요 저는 베이스라인 llama2(public 0.24)보다 더 낮은 그냥 야놀자모델(vram 4gb정도에서 구동가능한) 로 했는데도 0.35정도 나오는 것을 보면, 어떻게 긁어오는가도 꽤 중요한 것 같습니다
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
공유 감사합니다. 코드 정리를 깔끔하게 잘 하신 것 같아 배워야겠습니다.
template 부분에서는 eos token을 넣으셨는데, 저 부분은 빼야하지 않을까요? (eos_token은 모델이 next token prediction하다가 eos_token을 예측함으로써 추가적인 추론을 끝내기 위해 존재)