경진대회 개요이번 경진대회는 AD 경진대회로 이상 탐지하는 경진대회였다. 24시간 내내 운영되는 화학 공정은 이상이 발생하면 막대한 금전적 피해를 입을 수 있다. 공정 상태를 예측하고 대비책을 마련하는 것이 중요한 과제인데, 이를 위해서는 공정 데이터를 이해하고 이상 징후를 파악하는 것이 필수적이다.이번 대회는 화학 공정 데이터를 이용한 이상 탐지(anomaly detection)를 수행하여, 공정 데이터에서 비정상적인 동작을 탐지하는 것을 목표로 한다. 이를 통해 공정에서 발생할 수 있는 문제를 예측하고 대비할 수 있다. 이번 대회에서 사용되는 입력 데이터와 출력 데이터는 모두 CSV 파일 형태로 제공된다. 입력 데이터로는 약 25만 개의 화학 공정 데이터가 제공되며, 이에 대응하는 약 7만 2천 개의..
전체 글
하다보니 재미있는 개발에 빠져있는 평양냉면7 문의사항: ysoil8811@gmail.com경진대회 개요이번 경진대회는 질문과 이전 대화 히스토리를 보고 참고할 문서를 검색 엔진에서 추출 후 이를 활용해서 질문에 적합한 대답을 생성하는 태스크다.경진대회 기간은 12.16 - 12.19 4일간 진행되었다. 평가기준은 MAP(Mean Average Precision)을 변형해서 질문별 적합 문서 추출 정확도를 측정하며, 과학 상식 질문이 아닌 경우 검색 결과가 없을 때 1점을 부여하는 로직을 추가로 적용되었다. 제출된 결과는 eval.jsonl을 통해 자동 평가된다. 준비된 데이터셋은 다음과 같이 과학 지문이다.최종 output jsonl 파일 형식은 다음과 같다. 구현 범위 요약다음은 이번 경진대회 때 우리 팀에서 구현한 범위를 도식화한 거다.파란 박스의 숫자는 큰 의미는 없고 각각 큰 섹션에 ..
이번 글에서는 ColBERT와 LLM을 이용해서 RAG를 구현해보려고 한다. 그리고 RAG 구현을 위해서 LLM 프롬프트를 어떻게 사용할 수 있는지 확인해 보자. 목표는 다음과 같다.RAG 구현을 위한 내부 모듈 및 시스템 파이프라인을 이해한다.ColBERT와 OpenAI API를 사용하여 RAG를 실제로 구현할 수 있다.Function calling을 포함한 프롬프트 엔지니어링 방법에 대해 이해한다.이번 글에서 다룰 데이터셋은 LoTTE 벤치마크의 dev세트다. LoTTE 데이터 세트는 Wikipedia와 같은 엔티티 중심의 지식 기반에서는 잘 다루지 않을 수 있는 롱테일 주제에 대한 IR 시스템을 평가하기 위해 설계되었다. 이번 실습에서는 주로 반려 동물을 다루고 있는 문서를 사용한다. 1. 환경 설..
1. What is Large Language Model(LLM)?LLM이란 기존 언어모델의 확장판이라고 생각하면 된다. 방대한 파라미터 수(빌리언 단위)를 가진 언어모델을 의미한다. 지금까지 배운 GPT3, T5를 넘어서 그 이후에 ChatGPT, Bard, Ernie, Farm 등등 많은 초거대 언어 모델이 나오고 있다.Large Language Models 시대 = Foundation Models의 시대Large Language Models 시대는 이제 Foundation Models의 시대로 볼 수 있다.머신 러닝 안에 딥러닝이 있고, 그 안에 파운데이션 모델이 있다. Foundation Model 같은 경우 기존에 transformer를 기반으로 어떻게 보면 다 이루어지고 있다고 말할 수 있는데..
이번 실습에서는 Faiss를 이용하여 vector 유사도 검색을 실험해 보자.이번 글에서는 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 이용할 거다. 1. 환경 설정먼저 Faiss 패키지를 설치해 준다. gpu와 cpu를 사용하는 패키지가 서로 다른데 나는 구글 코랩에서 gpu를 사용할 거기 때문에 gpu 버전으로 다운받아줬다.# GPU를 사용하는 버전의 Faiss Python 패키지 설치!pip install faiss-gpu그리고 임베딩 생성을 위한 벡터 인코더로 sentence-transformers를 설치해 준다.!pip install sentence-transformers2. 데이터 전처리이제 데이터를 다운받고 전처리를 해주자.# 위키미디어로부터 kowiki ..
Elasticsearch를 이용해 vector 유사도 검색을 실험해 보자. 기존 역색인 검색과 비교해서 결과가 어떻게 달라지는지 확인해 보면 좋을 것 같다. 이번 글에서는 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 이용할 거다. ES를 설치하고, 한글 형태소 분석기인 Nori를 설치하고(기존 역색인 검색과 비교하기 위해 설치) ES 데몬 인스턴스 만들고 접속하는 부분은 지난 글에 작성했기 때문에 넘어가겠다. 👇 이전 글 👇구글 코랩에서 Elasticsearch 설치 및 실습 구글 코랩에서 Elasticsearch 설치 및 실습이번 실습에서는 가장 많이 활용되고 있는 검색엔진 솔루션 중 하나인 Elasticsearch를 설치하고 구동해 보자.데몬으로 구동한 후 가장..
이번에는 Elasticsearch 검색 API 및 Query DSL를 사용해서 다양한 형태의 검색 명령을 수행해 보자.이번 데이터셋도 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 사용해 볼 것이다.환경설정하고 ES 데몬 실행하고 wikimedia 데이터셋 가져와서 nori 분석기로 데이터 색인까지 저번글에 작성되어 있으니 그 부분 참고하면 좋을 것 같다. 👇 이전 글 👇구글 코랩에서 Elasticsearch 설치 및 실습 구글 코랩에서 Elasticsearch 설치 및 실습이번 실습에서는 가장 많이 활용되고 있는 검색엔진 솔루션 중 하나인 Elasticsearch를 설치하고 구동해 보자.데몬으로 구동한 후 가장 간단한 형태의 색인 및 검색 테스트를 통해 정상적으로 ..
이번에는 지난 글에 이어서 Elasticsearch에서 공식적으로 지원하는 한글 형태소 분석기인 Nori를 설치하고 사용해 보자. 기본 Analyzer 사용 시와 Nori 형태소 분석기를 사용했을 때의 차이점에 대해 비교해 보자. 이번에 사용할 데이터셋은 wikimedia kowiki로 wikimedia에서 제공하는 한국어 데이터셋을 사용할 거다.다음 명령어는 지난번에 다뤘기 때문에 빠르게 넘어간다.!pip install elasticsearch==8.8.0!wget -q https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.8.0-linux-x86_64.tar.gz!tar -xzf elasticsearch-8.8.0-linux-x86..