데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      AI 데이터 분석가 도입을 통한 자동화된 데이터 인텔리전스 구현 - 연구과정(2)

      kon7672 24.08.31
      102 0 0
      DEVOTEE 요약
      안녕하세요! 저는 AI Fellowship 6기의 고스체인 팀입니다. 중간 발표에서 저희는 LLM을 이용해 데이터 분석을 자동화하는 기술을 소개하고, Text2SQL 모델과 Feature Generation LLM 모델을 통해 성능을 높이는 방법을 제시했습니다. 향후 계획은 모델 평가와 아키텍처 설계 개선을 통해 실무적 활용과 독창성을 높이는 것입니다.
      DEVOTEE 추천 블로그

      안녕하세요 😃


      AI Fellowship 6기의 “AI 데이터분석가 도입을 통한 데이터 인텔리젼스 실현” 과제를 수행하고 있는 고스체인 팀입니다.

      과제를 시작한 지 엊그제 같은데, 벌써 지난 주에 과제 진행에 대한 중간 발표까지 이루어졌습니다.

      발표를 기점으로, 지금까지 진행한 내용들을 정리하고 피드백을 기반으로 향후 과제를 발전시킬 수 있는 기회를 가질 수 있었습니다.


      이번 글에서는 저희가 중간 발표에서 진행했던 내용에 대해 소개드리고, 그에 대한 피드백과 향후 계획을 얘기하려 합니다.

      1. 중간 발표

      과제 소개

      지난 글에서 소개하였듯, 저희 과제의 목표는 LLM을 이용해 데이터 분석을 자동화하는 기술을 만드는 것입니다.

      데이터 분석 프로세스에서 LLM을 통해 자동화를 할 수 있는 부분을 두 가지 짚어볼 수 있습니다.


      첫째, 데이터 분석가가 요청하는 자연어 질의에 부합하는 SQL query문을 생성하는 Text2SQL 모델

      둘째, 머신러닝 모델링을 하는 경우 모델의 성능을 높이기 위해 새로운 feature를 생성해주는 LLM 모델


      데이터 분석가는 사용되는 사전 지식과, 개개인의 노하우를 바탕으로 추론을 통해 새로운 feature를 생성합니다.

      LLM이라면 이런 능력을 모사할 포텐셜이 충분히 있다고 판단하여, 데이터 분석, 머신러닝 등 모델링과 관련있는 논문을 통해 LLM을 학습시켜 새로운 feature를 생성하도록 하였습니다.

      text2sql

      분석가가 요구하는 자연어 질의를 입력으로 주어지면, 이에 해당하는 sql query를 생성하도록 하기 위해 spider와 와 ai hub의 dataset을 이용하였습니다.

      질의 데이터 중 난이도가 높은 6000여개의 데이터셋을 마련하였으며, 한국어로 된 자연어 질의는 gpt api를 통해 모두 영어로 번역하였습니다.

      또한 기존 공개된 학습용 데이터셋은 LLM이 테이블 스키마를 선택하는 능력을 기르기에는 구조적으로 아쉬운 점이 있어,

      입력 프롬프트에 주어지는 테이블 스키마를 다소 복잡한 형태가 되도록 학습 데이터를 증강하였습니다.


      스파이더 데이터셋에는 테스트용 데이터셋도 별도 마련되어 있어 우선 100개의 질의에 대해 대답을 요청한 결과 대략 62%정도의 정답률을 확인할 수 있었습니다.

      학습 데이터가 아직 수만개를 추가로 확보는 한 상태라 이들도 전처리 등 학습 데이터를 구축하기로 계획을 해 두고,

      저희 팀은 일단은 바로 Feature Generation LLM을 만드는 것에 우선적으로 집중하였습니다.


      <학습 데이터>

      image.png


      <모델 output>

      image.png

      Feature engineering LLM (FeG-LLM)

      피쳐 생성을 자동화하는 전체 프로세스를 3단계로 구분하였습니다.

      첫번째 단계는 Data Extraction, 즉 데이터 분석, 모델링과 관련된 논문을 크롤링하고 학습을 위한 데이터를 추출하는 단계입니다.

      두 번째 단계는 Lora기반의 Fine Tuning을 진행한 단계이며, 마지막 단계는 파인튜닝된 모델을 통해 새로운 피쳐를 생성하는 단계입니다.

      Data Extraction

      image.png

      전체 프레임워크는 아래와 같습니다.

      image.png

      모델 평가 계획

      • 저희의 모델 평가를 위해 사용할 ML모델과 데이터셋을 선정하였는데요,

        Feature generation의 자동화를 시도했던 선행 논문들에서 실험으로 사용한 ML 모델로 tree기반의 XGBoost, Catboost, RandomForest을 선정하였습니다.

      • 또한 선행 모델에서 평가했던 데이터셋 중 6개와 kaggle 데이터셋을 사용하여 평가를 진행했습니다.

        Kaggle에서는 다양한 도메인과 베이스 모델이 학습하지 않았을 법한 데이터셋, binary classification에 적합한 데이터셋을 기준으로 선정하였습니다.


        image.png


      여러 시도들과 현 모델

      바로 한 번에 원하는 대로 모델이 완성되면 좋겠지만....


      저희도 이 피쳐를 생성하는 LLM을 만들기 위해 많은 시도가 있었는데요,

      특히 중간 발표 전까지는 어떻게 해야 데이터 분석가의 노하우를 잘 반영하는 데이터를 논문으로부터 추출할 것인가에 논의를 활발히 하였습니다.

      • 최초 시도에서는 논문에서 새로 생성한 new feature와 이를 생성한 배경인 context를 추출하여 4bit로 양자화시킨 pre-trained model의 학습 데이터로 사용했습니다.

        그러나 학습된 모델의 답변의 질이 알아보기 어려울 만큼 좋지 않았습니다.

        따라서 논문에서 파생변수를 만들 때의 정보를 5가지로 세분화하고, qLoRA의 경우 8bit로진행하였습니다.

        image.png

      • 만들어진 feature의 성능 평가 단계를 자동화하기 위해, gpt api를 호출하여 모델의 결과를 주고, python code로 변환하도록 하였습니다.

        이렇게 최종으로 만들어진 python code를 이용하여 기존 데이터셋에 new feature를 추가하고 성능을 확인하였습니다.

      image.png

      ml모델에 적합시킨 결과, new feature를 적용하지 않았을 때보다 성능이 개선됨을 확인하였습니다. 하지만 이 모델에는 아쉬운 점이 있습니다.


      첫째, gpt를 이용하면 회사 내부의 데이터를 사용하기 어렵다는 점

      둘째, GPT의 개입으로 인해 향상된 성능이 학습시킨 모델의 영향인지 gpt의 영향인지 판단하기 어려운 부분이 존재한다는 점


      이를 해결하는 가장 최선의 방법은, 저희의 LLM 모델이 python code를 최종 답변으로 출력하는 모델을 만들고자 하였습니다.

      이에 대한 아키텍처는 다음과 같습니다.

      image.png

      학습 시 prompt 구조를 좀 더 구체화시키고, python code를 output으로 내뱉도록 학습을 진행했습니다.

      이렇게 학습된 모델이 바로 적용 가능한 형태의 python code를 답변으로 제시함을 확인할 수 있습니다.

      코드를 생성하게 구조를 바꾸어, 파생 변수 열 추가, 모델 적합 및 AUC 확인까지 모든 과정을 한번에 자동화하는 것을 가능하게 하였습니다.

      image.png


      Gpt api를 사용하지 않아도, 새로운 파생 변수를 추가할 시 성능 향상을 보여주는 것을 확인할 수 있었습니다.

      (본 모델이 완성된 시점이 중간 발표 자료 마감 시점이었어서, 시간 관계상 일부 데이터셋에 대해서만 우선 평가를 진행하였습니다.)

      image.png


      피드백 및 향후 계획

      저희의 연구 내용에 대해 멘토님들과 여러 동료분들께서 다양한 피드백을 주셔서 너무 감사하였습니다.

      피드백을 토대로 향후 계획을 크게 모델 평가, 아키텍처 설계 두 가지 부분으로 세워볼 수 있었습니다.

      모델 평가

      • AUC 지표가 조금 더 유의하면서도 안정적으로 변할 수 있도록 해 보려 합니다.

      • 아울러 평가용 tabular 데이터셋 중 LLM 학습에 사용된 논문에서 이미 다루었다면, 파생 변수를 쉽게 제안할 수 있을 테니 모델이 알고 있지 않은,

        최신 데이터에 대해서도 검증을 해 보면 좋겠다는 피드백을 토대로,

        논문에서 사용한 데이터를 날짜별로 정렬하여 가장 최신 데이터셋보다 더 늦게 나온 데이터셋으로도 모델을 평가할 계획입니다.

      • 이외에도 파이썬 코드 작동 비율, 생성된 새로운 피쳐의 내용적 풍부성 등 세부적인 평가 지표도 추가적으로 수립해 모델 평가에 반영할 계획입니다.

      아키텍처 설계

      • 현 시점까지는 "논문에서 전문가의 노하우를 잘 추출하는 방법"에 집중을 하였으니,

        이제부터는 "모델이 논리적으로 답변하고 이에 피드백을 주는 방법”에 집중을 할 계획입니다.

        이 부분을 해결하기 위해 DPO를 통한 피드백 부여, CoT 기반의 답변을 유도하는 방안을 구체화하고 있습니다.

      • 이를 해결함으로써 저희 과제의 중요한 부분인 AUC 지표에 유의한 도움을 줄 수 있습니다.

        여기에서 회사의 실무적 도움, 독창성 증대를 기대할 수 있습니다.

        현재 모델 적용을 위한 구체화와 코드 구현을 진행하고 있으며, 질이 높은 추가 데이터를 augmentaion을 하는 것도 계획 중입니다.

      이렇게 하여 중간 발표까지의 과제 상황 공유, 그리고 향후 계획까지 정리하였습니다.

      남은 펠로우쉽 기간도 열심히 달려서 성공적으로 과제를 수행하겠습니다.🔥


      감사합니다

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      kon7672 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기