[koala] 드디어 DB 구축 완료👊

O(logn)·2023년 12월 15일

KOALA 프로젝트

목록 보기
9/9
post-thumbnail

드디어 길고 길었던 embedding 및 DB 구축이 1차 완료가 되었다.
너ㅓㅓㅓㅓ무 힘들었다.
먼저 DB 스키마 설계는 엑셀로 테이블 구성과 Primary키 통일 등을 해주었다.

행 수가 10만 개 이상이 되니까 검색 속도가 많이 느려진다.
하지만 SQL의 장점은 여전히 강력한데, csv 파일로 있을 땐 50GB정도 차지하던 데이터셋이 2.67GB로 줄어든 점이 가장 좋다..!

DB에서 데이터를 가져와 Pandas로 데이터 처리를 해준 다음 웹 UI와 연동이 되도록 구성해주면 될 것 같다. 이제부턴 Streamlit으로 함께 개발을 진행할 예정이다. (협업 시 연동을 편리하게 하기 위한 웹 데모 용으로)

진행 과정 중 어려움

  • gdrive에서 작업했는데 colab의 런타임이 계속 끊기는 현상때문에 밤을 지새워가며 수동으로 데이터를 임베딩하고, DB에 업로드했다. 2차 데이터 업로드부터는 조금 더 매끄럽고 자동으로 이루어지도록 다음을 유의해야겠다.
    - Solution: 서버에서 작업하기_ GPU 덕분에 임베딩 속도가 10배가량 빨랐다.
  • DB는 리스트, 딕셔너리 데이터타입을 저장하지 못한다.
    - Solution: JSON데이터로 변환하여 저장한다. 예를 들면 이런 식이다.

위와 같이 key이름을 각 요소마다 지정해주고 TEXT로 저장하면 된다.

  • 유의어 생성에서 어려움이 있었는데 'effective free energy'를 유의어 생성을 해보면 free를 '공짜'로 출력하는 등, 의미가 기존과 많이 멀어진다는 점이다. free energy는 열역학에서 사용하는 용어인데 범용 코퍼스에는 당연히 포함되어 있지 않기 때문에 제대로된 유의어를 출력하지 못하는 것이다. chatgpt는 다음과 같이 출력해줬다.
  1. Gibbs Free Energy: 물리학에서, 특히 열역학에서 자주 사용되는 개념으로, 시스템의 엔트로피 변화를 고려한 에너지 상태를 나타냅니다.
  2. Helmholtz Free Energy: 열역학에서, 일정한 온도와 부피에서의 시스템의 유용한 일을 나타내는 또 다른 에너지 형태입니다.
  3. Thermodynamic Potential: 열역학에서 다양한 조건 하에서 시스템의 에너지 상태를 나타내는 일반적인 용어입니다.
  4. Effective Potential: 특히 이론 물리학에서 사용되며, 필드 이론에서의 복잡한 상호작용을 단순화한 잠재적 에너지 형태를 가리킵니다.

chatgpt api를 끌어다 쓰는 비용은 약 2천원밖에 안든다..
다만 물리학 용어를 이해를 못하니 검증이 불가능하단 것이 함정이다.

또 문맥을 고려했을 때 정확도가 높아지는 것은 당연한 말인데, 15000원이 들어간다. 프롬프트 엔지니어링을 잘 해야겠다.

profile
聞一知十

0개의 댓글