Project list

|

2024년 07월 이후 프로젝트는 portfolio page에 연결된 notion에서 확인 가능합니다.

본 포스트에 기재된 프로젝트들 모두 위 페이지에서도 확인 가능합니다.

Duration Project (click for details) Dev log
2024-06 - 2024-07 (1개월)
[개인 porj.] ReAct Multi Agent search system 개발
  • 프로젝트 정의
  • ReAct 기반 Multi Agent 검색 시스템 개발
    Agents: law, ai(blog post), realtime, websearch, image generation

  • 개발 단계
  • 1) agent 선정, agent별 pipeline 설계
    2) agent별 데이터 필요 분야 데이터 수집 (law, ai, realtime)
    3) agent별 ReAct 필요 분야 선정 및 ReAct 방법 설계
    4) 각 agent별 개발 후 전체 코드 구조화
    5) api 개발

  • 사용 기술
  • 1) ReAct
    2) Human in the loop
    3) Image generation
    4) Fastapi, Streamlit
    5) data collect, data processing

  • 개발 언어: python

  • ReAct Multi Agent search system 개발 일지
    2024-06 - 2024-07 (1개월)
    [개인 proj.] OCR+RAG : End-to-End 시스템 개발
  • 프로젝트 정의
  • 한국어 PDF OCR 시스템 + RAG 기반 검색 시스템 결합

  • 개발 단계
  • 1) PDF 입력- parsing - vectorDB 저장 - RAG 전체 pipeline 설계
    2) vectorDB 구조, PDF parsing 결과 처리 방식, 저장된 pdf 식별 등 DB 구조 전체 설계 및 개발
    3) RAG pipeline 설계 및 개발

  • 사용 기술
  • 1) PP-YOLOE (PDF layer detection model)
    2) PyMuPDF (text extraction)
    3) Fastapi, Streamlit
    4) RAG
    5) vector DB

  • 개발 언어: python

  • PDF parser + RAG 개발 일지
    2024-04 - 2024-06 (2개월)
    [개인 proj.] 한국어 PDF OCR 시스템 개발
    -> LLM-RAG 기반 검색/대화 시스템 개발 시 PDF 처리 단계에 사용
  • 프로젝트 정의
  • 한국어 PDF OCR 시스템 개발

  • 개발 단계
  • 1) PDF detection layout model 실험 및 최종 모델 선정
    2) 이미지 / pdf 내 text extraction 모델 및 라이브러리 실험 및 선정
    3) 선정된 detection layout model, text extraction model 병합
    4) 한국어 PDF Parser demo 페이지 개발

  • 사용 기술
  • 1) PP-YOLOE (PDF layer detection model)
    2) PyMuPDF (text extraction)
    3) gradio (demo page)

  • 개발 언어: python

  • 개발 과정 요약
  • - PP-YOLOE, microsoft/Florence-2-large, Detectron2, PDF to XML 등 PDF layer detection 모델 실험 + 최종 모델 선정
    - microsoft/Phi-3, PdfReader, ocrmypdf, PyMuPDF 등PDF text extraction 모델 실험 + 최종 모델 선정 (한국어 추출 성능이 선정 기준)
    - 선정된 모델을 병합하여 최종 개발물 완성
    - PDF OCR 시각 데모 페이지 구축

    PDF parser 개발 일지
    2023-11 - 2024-03 (4개월)
    검색 엔진 개발 (LLM(tuning model)-RAG)
    -> 국방 연구원 보고서 검색 시스템(폐쇄망) 검색 엔진으로 내장
  • 프로젝트 정의
  • 보안 문제로 폐쇄망만 가능한 환경에서 사용할 보고서 검색 시스템 개발

  • 팀 구성
  • 인공지능 개발자 2명, 백엔드 개발자 1명, 프론트 개발자 1명, 기획자 1명, 과제 총괄 1명

  • 담당 업무
  • 1) LLM 기반 검색 챗봇 개발

  • 사용 기술
  • 1) sLLM instruction tuning 기술 (Mistral, Solar DPO+Qlora tuning/ 7.24B,10.7B 모델 Merge)
    2) pdf로부터 instruction data 추출
    3) Model Merge(mergekit)
    4) Model Quantization (AWQ)
    5) Retrieval Augmented Generation 기반 검색 시스템 개발 기술
    6) RAG에 사용될 vectorstore 구축 기술
    7) vLLM
    8) Flask

  • 개발 언어: python (rag pipeline 구축에 사용된 library: Langchain / vectorstore: FAISS)

  • 수행 업무 요약
  • - DPO+Qlora를 통해 개발한 자체 sLLM instruction tuning model과 huggingface에 공개된 7.24B급 모델들의 merge 실험을 통해 해당 과제에 사용될 모델을 개발.
    - PDF형식의 각종 연구 자료에서 dpo data(instruction, context, response, rejected)를 추출하여 DPO+Qlora 학습 데이터 수집.
    - 연구자료 분석 및 분류 결과로 metadata생성, 이를 기준으로 RAG pipeline 구축
    - vLLM 적용을 통해 추론 속도 향상

  • 협업 기여도(인공지능 엔진 부분 기여도)
  • 50%(LLM tuning, RAG pipeline 구축)
    DPO tuning 기록
    RAG pipeline 구축 기록
    2023-08 - 2023-12 (4개월)
    검색 엔진 개발 (LLM(openai)-RAG)
    -> 행정연구원 보고서 검색 플랫폼 검색 엔진으로 내장
  • 프로젝트 정의
  • 연구/개발 기관에서 사용할 보고서 검색 시스템 개발

  • 팀 구성
  • 인공지능 개발자 1명, 백엔드 개발자 1명, 프론트 개발자 1명, 기획자 3명, 과제 총괄 1명

  • 담당 업무
  • 1) LLM 기반 검색 시스템 개발

  • 사용 기술
  • 1) Retrieval Augmented Generation 기반 검색 시스템 개발 기술
      - metadata filtering
      - hierarchical similarity search -> 3단계
        (1. query <-> document summary similarity search
        2. vectorstore내에서 1번에서 검색된 document를 기반으로 similarity search (속도 향상을 위한 filtering)
        3. retriever 정의 시 2번에서 검색된 document를 기반으로 similarity search)
      - translate(en->ko)
      - binary vectorstore(document type)
      - diverse Prompts(query type)
      - data summary for metadata
      - similarity-based reordering
      - return source file
      - 좋아요 싫어요 버튼 추가
      - [답변 일시, 소요 시간, 질문, 답변, 사용자 ip] 저장 기능 추가
    2) RAG에 사용될 vectorstore 구축
    3) Flask

  • 개발 언어: python (rag pipeline 구축에 사용된 library: Langchain / vectorstore: FAISS)

  • 수행 업무 요약
  • - openai 에서 공개한 GPT-4-turbo 모델을 사용하여 LLM 기반 검색 시스템 개발
    - RAG pipeline의 정교화
    - retrieval 결과의 정확도 향상을 위해 hierarchical similarity search 적용.
    - retrieval data, 사용자 예상 질문 리스트 분석을 통해 retrieval data 카테고리 분류. 분류한 카테고리를 기준으로 retrieval data에 metadata 추. 이를 통해 retrieval에 소요되 시간 감축.
    - gpt-4-turbo의 영어 답변 반환 문제를 해결하기 위해 영-한 번역 플로우를 추가

  • 협업 기여도(인공지능 엔진 부분 기여도)
  • 100%
    RAG pipeline 구축 기록
    2022-11 - 2023-11 (1년)
    대화 엔진 개발 (LLM(tuning model)-RAG)
    -> 역사 인물 복원 사업에 사용 중(김구, 윤봉길, 안중근 기념관 키오스크 전시)
  • 프로젝트 정의
  • 환각현상을 완화시킨 대규모 언어모델 기반 대화 시스템 개발

  • 팀 구성
  • 인공지능 개발자 2명, 백엔드 개발자 2명, 프론트 개발자 3명, 언리얼 1명, 기획자 4명, 과제 총괄 2명

  • 담당 업무
  • 1) LLM 기반 멀티턴 대화 모델 개발
    2) LLM instruction data 수집 및 전처리
    3) 윤리 검증 모델 개발
    4) 윤리 검증 모델 학습 데이터 수집
    5) 감성 분석 모델 제공

  • 사용 기술
  • 1) LLM instruction tuning 기술 (LLaMa 2 13B Qlora tuning)
    2) Data 전처리 (vicuna + dolly + alpaca + korquad1.0 + korquad2.0 각 데이터별 특성 분석 후 동일한 instruction data로 변형)
    3) Retrieval Augmented Generation 기반 챗봇 개발 기술
    4) RAG에 사용될 vectorstore 구축
    5) NLP-classifiacation model 개발 기술
    6) Flask

  • 개발 언어
  • python (framework: pytorch/ rag pipeline 구축에 사용된 library: Langchain / vectorstore: FAISS)
  • 수행 업무 요약
  • LLLM 기반 멀티턴 대화 모델 개발과 윤리 검증 모델, 감성 분석 모델 개발을 담당. 대화 모델의 경우 LLM의 환각현상을 줄이기 위해 RAG 기술을 적용, Retriever 정확도를 높이기 위해 vectorstore 저장 시 metadata에 데이터 출처와 소제목을 함께 저장.
    네 가지 데이터를 수집하여 윤리 검증 모델 개발(f1-score 90.6)
    사용자 감성 분석에 사용할 감성 분석 모델 개발

  • 협업 기여도(인공지능 엔진 부분 기여도)
  • 대화 모델 50%(2인 협동 개발), 윤리 검증 모델 100%, 감성 분석 모델 100%
    model tuning 기록
    RAG pipeline 구축 기록
    2022-08 - 2022-11 (3개월)
    Adapted Pretrained 모델 개발
  • 프로젝트 정의
  • 특수 도메인 데이터를 추가 학습시켜 도메인에 특화된 Pretrained model 개발

  • 팀 구성
  • 인공지능 개발자 1명, 기획자 1명

  • 담당 업무
  • 1) 특수 도메인에 사용될 Pretrained model 추가 학습 모델 개발(BERT, Electra, Roberta)

  • 사용 기술
  • 1) MLM task 수행 모델 구현 기술 (BERT, Electra, Roberta 적용)

  • 개발 언어: python (framework: pytorch)

  • 수행 업무 요약
  • 헬스케어, 법률 등 일상적으로 사용되는 문어 혹은 구어와 상이한 어휘가 다수 분포된 도메인에 사용될 사전학습 모델 개발

  • 협업 기여도(인공지능 엔진 부분 기여도)
  • 100%
    2022-06 - 2022-10 (4개월)
    개체명 인식 모델 개발(범용 42종, 의료 5종)
    -> 각종 정부 과제 검색 시스템 내부에 내장
  • 프로젝트 정의
  • 각종 검색 시스템에 활용될 범용 NER 모델 개발 및 헬스케어 산업에서의 NER 모델 활용 가능성 확인을 위한 bio NER 모델 개발

  • 팀 구성
  • 인공지능 개발자 1명, 기획자 1명

  • 담당 업무
  • 1) 범용/의료 개체명 인식 모델 개발

  • 사용 기술
  • 1) NLP-classifiacation model 개발 기술(최종 모델: Koelectra_bilstm_CRF (3 bilstm layer))
    2) Flask

  • 개발 언어
  • python (framework: pytorch)

  • 수행 업무 요약
  • - class 감축
      범용 NER의 경우, class의 과도한 세분화가 모델 성능에 부정적인 영향을 미치고 있다고 판단되어 약 100개 가량 되는 ner class에 대해 합일 및 제거를 통한 class 감축 작업 수행
      의료 NER은 NCBI에서 정의한 개체 class 그대로 사용
      (class 정보는 하단 개발 로그에서 확인 가능)
    - 범용 및 의료 NER 모델 개발
      - 기존 사내 NER 모델의 경우 모델 변경이 어려운 구조로 개발되어 있어 다양한 모델들이 공개되는 가운데 여러 비교 실험이 용이하지 않아 모델 전체 최신화 진행
      - 범용 NER 모델은 각종 검색 시스템에 활용하기 위해 개발
      - bio NER 모델은 헬스케어 산업에서의 NER 모델 활용 가능성 확인을 위해 개발
      - CRF layer 추가 → BERT 계열의 모델의 경우, sequence tag 추론 시 token간의 관계를 독립적으로 예측하는 경향이 있어 label간의 종속성을 명시적으로 모델링하기 위해 CRF layer 추가. 즉, label 간의 의존성을 고려한 결과를 반환 받기 위해 CRF layer를 추가.
      - BiLSTM layer 추가 → BERT 계열의 모델이 문맥 파악에 강점을 가지고 있지만 BiLSTM layer를 추가함으로써 문장 길이가 길어지거나 문장 구조의 복잡도가 증가했을 때 문맥 정보 파악 능력을 강화할 수 있다.
    - 결과:
    bio NER(5 class) general NER(42class)
    f1-score 0.83 0.94

  • 협업 기여도(인공지능 엔진 부분 기여도)
  • 100%

    개체명 인식 모델 개발 기록
    2022-01 - 2022-05 (4개월)
    감성 분석 모델 개발(34종, 8종 분류)
    -> 우울증 판별 사업, 아동 돌보미 봇 사업, 역사 인물 복원 사업 등에 활용
  • 프로젝트 정의
  • 우울증 징후 판별을 위한 감성 분석 모델 개발

  • 팀 구성
  • 인공지능 개발자 1명, 기획자 1명
  • 담당 업무
  • 1) 한국어 감성 class 선정
    2) 데이터 수집
    3) 감성 분류 모델 개발

  • 사용 기술
  • 1) 한국어 감성 분석 및 감정 표현 분류와 관련된 언어학 지식
    2) NLP-classifiacation model 개발 기술(최종 모델: Koelectra)
    3) Flask

  • 개발 언어
  • python (framework: pytorch)

  • 수행 업무 요약
  •   - class 정의
        한국어 감성 분석 및 감정 표현 분류와 관련된 언어학 지식을 활용하여 34종, 8종의 한국어 감성 분류(class 정보는 개발 로그에서 확인 가능)
      - 데이터 수집
    출처 수량
    data labeling 업체 수집 데이터(raw data: web crawling data) 302,028문장
    data labeling 업체 수집 데이터(raw data: aihub 한국어 SNS, 자유대화 데이터) 184,585문장
    aihub data (한국어 단발성 대화 데이터셋: 기쁨, 슬픔, 놀람, 분노, 공포, 혐오, 중립) 37,000문장
    aihub data (감성 대화 말뭉치: 기쁨, 당황, 분노, 불안, 상처, 슬픔) 28,000문장
    총 수량 551,613문장

      - 모델 개발
        Electra 기반의 감성 분류 모델 개발. (BERT 버전도 개발하였지만 Electra 성능이 더 좋아 Electra로 최종 선택)
        34종, 8종 감성 분류 모델 성능 평가 결과 각각 f1-score 78, 84로 측정

  • 협업 기여도(인공지능 엔진 부분 기여도)
  • 100%
    감성 분석 모델 개발 기록
    Co. Duration Project (click for details)
    NC Soft 2020-10 - 2020-12 (2개월)
    감정요인주석작업 보조연구원 (연세대학교 국어국문학과 연계 과제)
  • 담당 업무:
  • 1) 텍스트 감성 요인 라벨링

  • 사용 기술:
  • 1) 한국어 감성 분석 및 감정 표현과 관련된 언어학 지식

  • 수행 업무 요약:
  • 문장 감성과 해당 감성을 결정하는 동사, 형용사에 대한 정보를 태깅하는 업무를 맡았습니다.
    국립국어원 2021-08 - 2022-01 (2개월)
    일상대화 말뭉치 전사 작업 (연세대학교 국어국문학과 연계 과제)
  • 담당 업무:
  • 1) 텍스트 감성 요인 라벨링

  • 사용 기술:
  • 1) 한국어 감성 분석 및 감정 표현과 관련된 언어학 지식

  • 수행 업무 요약:
  • 녹음된 일상 대화를 전사하는 업무를 맡았습니다. 대화분석론을 공부하며 경험한 대화 전사 경험을 통해 빠르고 정확한 전사 결과를 전달하였습니다.
    Co. Duration Project (click for details)
    연세대학교 2018-09 - 2020-08 (1년 11개월)
    조교 및 조교장
  • 담당 업무:
  • 1) 학과 행사 관리
    2) 학과 전공 수업 관리 (과제 관리, 시험 감독 등)
    3) 학과 교수님 보조 업무
    4) (조교장 업무)학기별 수업 개설
    5) (조교장 업무) 학과 행정 업무
    6) (조교장 업무) 일반 조교 근무 관리