o1 멀티모달 RAG 구현 후기 - ESG 보고서 분석기

o1 멀티모달 RAG 구현 후기 - ESG 보고서 분석기
Photo by Myriam Jessier / Unsplash

24년 12월 OpenAI 의 추론 (Reasoning) 모델 o1 은 이미지를 인풋으로 받을 수 있게 되어 멀티모달 모델이 되었습니다.  

기존 GPT-4o 를 기반으로 만든 멀티모달 RAG 시스템이 있는데요, o1 으로 교체를 하면서 얼마나 똑똑해 졌는지, 비용은 얼마나 나올지 한번 해보겠습니다.  (+ 약간의 개선 작업도)

ESG 분석기 시스템 개요

목표는 간단합니다. 대부분의 큰 회사들은 ESG 관련 보고서를 내놓습니다. "지속가능경영보고서", "지배구조보고서" 등 다양하죠. 이 보고서를 AI가 분석할 것입니다. 특정 회사가 환경을 위해 어떤 노력들을 하고 있고, 지배구조를 과연 투명하게 운영하고 있는 지 평가해보는 시스템을 만드는 것이 목표입니다.

2024년 현대차 지속가능경영 보고서의 일부

PDF 파일을 소스 데이터로 하는 RAG 시스템을 만들고, 아래 예시와 같은 적절한 질문들을 던져서 결과로 평가를 자동화 해보겠습니다.

이사회 내에서 기후변화 및 탄소중립 안건을 보고하거나 결의하였나요?

보고서의 팩트에 기반해 정확하게 근거와 함께 대답해 주면 됩니다.

멀티모달 RAG 시스템 구조

가장 쉽고 효과적인 방법은 당연히 RAG (Retrieval Augmented Generation) 시스템입니다. 그런데 검색 대상이 단순 텍스트가 아니라 PDF 파일입니다. 이런 경우는 보통 어떻게 하는지 LangChain 의 제안을 살펴보겠습니다.

LangChain이 제안하는 멀티모달 RAG 시스템 구현 방법

3가지 정도 방법을 제안하는데, 큰 골자는 다음과 같고, 저는 어떻게 했는지 서술하겠습니다. 위 방법 당연히 다 해봤고요, 성능이 마음에 안들어서 제맘대로 다시 구현했습니다.

1단계 - Data 전처리 (추출)

LangChain 의 제안은  pdf 에서 텍스트, 테이블, 이미지를 각각 추출하는 것입니다. 그런데, 저는 이렇게 했습니다.

💡
pdf 파일의 각 페이지를 그냥 통째로 이미지로 한 장씩 추출한다. 

왜 이렇게 했을까요. 이건 원본 데이터인 보고서를 봐야합니다.

텍스트, 표, 피규어 들이 한 모여 있는 페이지.

결국 데이터들은 의미단위로 쪼개놔야 나중에 검색이 잘 됩니다. 위 보고서 페이지를 보면 텍스트, 피규어, 도식, 테이블이 한데 모여 하나의 "기후변화대응" 이라는 섹션을 만들어냅니다.  

이 보고서는 발표자료와 비슷한 형식이기 때문에, 이미지, 테이블, 텍스트가 연결되어 해석이 되어야 합니다. 사람은 눈으로 보고 한번에 복합적으로 데이터를 해석하죠.

이것도 마찬가지 입니다. 각 요소를 추출해서 해석하려 하면 문제가 전혀 해석이 잘 되지 않습니다.

참고로 이 첫번째 데이터 처리 과정에서의 변화가 가장 큰 성능 차이를 보였습니다.

2단계 - to Embedding Vector

이제 추출된 데이터를 vector로 만들어놔야 나중에 Semantic 서치를 할 수 있겠죠. 여기서 Langchain은 두 가지 방법을 제안합니다.

  1. 멀티모달 임베딩 모델로 텍스트, 이미지, 표 모두 vector로 변환한다.
  2. 멀티모달 LLM (VLM) 으로 이미지나 표는 모두 텍스트로 변환한 후, 텍스트 기반 임베딩 모델을 이용해서 vectorh 변환한다.

저는 2번 방법을 택했습니다. 멀티모달 임베딩 모델을 테스트 해봤는데, 너무 후지더라고요. 아직은요. 참고로 테스트는 구글 Gemini 의 멀미모달 임베딩 모델을 사용해 보았고, 결국은 OpenAI의 임베딩 모델로 선택했습니다.

여기서!

추출된 페이지를 텍스트로 변환해야 합니다. 초기 버전은 GPT-4o를 사용했고, 이번에 o1 으로 교체 하였습니다. 자세한 코드와 결과는 아래에서 보여드리겠습니다.

3단계 - RAG

이제 vector 가 준비 되었으니, 검색을 하고 결과물을 받아 답변을 생성해야겠죠. 여기서도 두가지 방법을 제안합니다.

  1. 원 데이터인 이미지, 테이블들을 멀티모달 모델에 넣는다.
  2. 원 데이터인 이미지 대신 요약된 텍스트를 LLM 에 넣늗다.

저는 당연히(?) 2번 방법을 선택했습니다. 텍스트로 요약하면서 정보가 소실 되기 때문에, 정량적인 수치나 데이터가 중요한 Task (ESG 보고서 분석) 특성상 원본이 데이터가 살아있는 것이 중요합니다. 여기서도 o1 으로 교체해보았습니다.


여기까지의 큰 골자 이외에도 하이브리드 서치나 relevance 체크 같은 디테일한 부분이 조금은 더 있으니 자세히 한번 보겠습니다.

데이터 전처리

전처리 단계

위에서 설명한 구조 그대로 입니다. 페이지를 이미지로 쪼개고, 텍스트로 요약하고 벡터로 임베딩하고.

여기서의 핵심은 원본 페이지에서 요약된 텍스트가 얼마나 정보를 잘 담고 있고, Retrieval 단계에서 빠지지않고 검색이 될 수 있게 준비를 해 두느냐가 되겠습니다.

위에서 보았던 24페이지를 GPT-4o-mini, GPT-4o, o1 에게 각각 투입해서 요약시켜 보겠습니다. 많이 기니까 스크롤 내리셔도 됩니다.

제목: 재생에너지 전환 및 RE100 추진 현황
키워드: RE100, 재생에너지, 목표, 온실가스, 에너지 전환, PPA, REC, ESG
주요 데이터:
  - RE100 목표: 2025년 100% 재생에너지 사용
  - 주요 사업장 재생에너지 사용 현황
    - 체코: 100%
    - 인도네시아: 68%
    - 국내 공장: 약 15MW 규모의 재생에너지 발전설비
  - 재생에너지 이행 절차
    - 2022년: 재생에너지 사용 시작
    - 2030년: 60% 재생에너지 목표
    - 2040년: 90% 재생에너지 목표
    - 2050년: 100% 재생에너지 목표
상세 내용:
  1. 재생에너지 목표 및 추진
    - RE100에 따른 2025년까지 100% 재생에너지 사용 목표 설정
    - 다양한 지역에서 PPA(전력구매계약)를 통해 재생에너지 확보
  2. 사업장별 재생에너지 사용 현황
    - 체코: 100% 재생에너지 사용
    - 인도네시아: 68% 재생에너지 사용 및 100% 재생에너지 목표 추진
    - 국내: 공장별 약 15MW 규모의 재생에너지 발전설비 운영
  3. 이행 일정
    - 2022년부터 재생에너지 사용 시작
    - 2030년까지 60%, 2040년까지 90%, 2050년까지 100% 재생에너지 목표
  4. 참고 사항
    - 지역별 재생에너지 사용 비율과 목표를 명확히 제시하며, RE100 이행을 위한 전략적 접근을 강조
GPT-4o-mini 의 답변

제목: 기후변화 대응 및 재생에너지 전환
키워드: RE100, 재생에너지 전환, 체코 생산법인, 인도네시아 생산법인, 브라질 생산법인, 현대자동차, 태양광 발전소, PPA 계약, REC 구매
주요 데이터:
  - RE100 이행 로드맵: 2021년 가입, 2022년 승인, 2030년 60%, 2040년 90%, 2045년 100% 달성 목표
  - 2023년 RE100 추진 현황 지도: 체코, 인도네시아, 인도, 미국, 멕시코, 브라질, 중국, 베트남
  - 재생에너지 전환 비율 및 이용수단 비율 표
    - 체코: 100% 전환, On-site PPA 없음, Off-site PPA 없음, REC 구매 100%
    - 인도: 59% 전환, On-site PPA 4%, Off-site PPA 31%, REC 구매 24%
상세 내용:
  1. 현대자동차의 RE100 목표 달성 계획
    - 2021년 전기 에너지 100% 재생에너지 전환 목표 선언
    - 2045년까지 국내외 사업장 재생에너지 전환
  2. 주요 사업장 재생에너지 도입 현황
    - 체코 생산법인: 2022년부터 100% 재생에너지 전환
    - 인도네시아 생산법인: 2023년부터 REC 구매로 100% 재생에너지 사용
    - 브라질 생산법인: 2030년까지 100% 전환 목표
  3. 국내 공장 및 연구시설
    - 울산, 아산, 전주 공장: 2024년 15MW 규모 태양광 발전 설비 완공 예정
    - 연구시설: 2025년까지 10MW 규모 태양광 발전시설 운영 예정
GPT-4o 의 답변

### 제목: 기후변화 대응 - RE100 이행 계획 및 주요 생산사업장 재생에너지 전환 현황

### 키워드: RE100, 재생에너지, 글로벌 생산사업장, 체코생산법인, 터키/기아생산법인, 인도네시아, 인도, 브라질, 연구시설, PPA(전력구매계약), REC(재생에너지인증서), 온사이트 발전, 오프사이트 발전, RO(Guarantee of Origin), 탄소중립

### 주요 데이터:
  - 2023년 RE100 추진 현황 (생산사업장 지도):
    - 유럽(체코), 인도, 중국/베트남, 중남미(브라질) 등 지역별 재생에너지 전환 비율 표시
    - 재생에너지 이행 수단별 비중(자가 발전, On-site PPA, Off-site PPA, REC 구매) 표
  - RE100 이행 로드맵:
    - 2021년 7월: RE100 가입 선언
    - 2022년 4월: RE100 승인
    - 2030년: 재생에너지(전기) 60% 전환 목표
    - 2040년: 재생에너지(전기) 90% 전환 목표
    - 2045년: 국내(전기) 100% 재생에너지 달성 목표
  - 주요 생산사업장 재생에너지 도입 현황:
    - 체코생산법인: 2022년부터 재생에너지 보증(GO) 구매로 100% 재생에너지화
    - 터키/기아생산법인: 2025년까지 RE100 달성을 목표로 2023년부터 REC 구매… 현재 전체 전기 중 68%를 재생에너지로 전환 중
    - 인도네시아생산법인: 2023년부터 REC 구매 계약 → 100% 재생에너지 전환 추진
    - 국내 공장: 약 15MW 규모 태양광 발전설비를 추가 도입 중 (울산·아산 등 주요 사업장)
    - 인도생산법인: 2025년까지 100% 재생에너지 사용 목표, 약 24%는 REC로 확보
    - 브라질생산법인: 현재 전체 전기 사용량의 41%를 재생에너지로 전환, 향후 PPA 및 신재생 에너지 확보 통해 목표 달성
    - 연구시설: 620kW 규모 태양광 발전시설 운영, 2025년까지 10MW 수준으로 확대

### 상세 내용:
1. RE100 이행 계획  
   - 글로벌 이니셔티브 RE100 가입 후 단계적으로 재생에너지 사용 비중 확대 추진  
   - 2021년 가입 선언 → 2022년 승인 완료 → 2030년 60%, 2040년 90%, 2045년 100% 목표  

2. 재생에너지 도입 현황(주요 사업장)  
   - 체코생산법인  
     - 2022년 보증서(GO) 구매를 통해 사용 전력 전량을 100% 재생에너지로 전환  
   - 터키/기아생산법인  
     - 2025년까지 RE100 달성 목표, 2023년부터 REC(재생에너지인증서) 구매 추진  
     - 현재 전기 사용량 중 68% 이상을 재생에너지로 전환  
   - 인도네시아생산법인  
     - 2023년부터 REC 선도구매 계약 체결, 100% 재생에너지 전환 추진 중  
   - 국내 공장  
     - 울산·아산·광주·전주 공장 등에 태양광 발전설비(약 15MW 규모) 증설, 2024년 준공 목표  
   - 인도생산법인  
     - 2025년까지 100% 재생에너지 사용 목표 설정, 약 24%는 REC로 충당  
     - 현재 690kW 규모 태양광 발전시설 운영  
   - 브라질생산법인  
     - 재생에너지 사용 비율 41% 달성, 향후 PPA 등을 통해 비중 확대  
   - 연구시설  
     - 620kW 태양광 발전시설 운영, 2025년까지 10MW급 전력 생산 설비로 확장 예정  

3. 지역별 재생에너지 전환 비율 및 이행수단 (표)  
   - 사업장별 재생에너지 적용 현황(체코 100%, 터키/기아 68%, 인도 59%, 중남미 41%, 인도네시아 0%, 기타 9%)  
   - 이행수단별 비중: 자기 발전(On-site), PPA(Off-site), REC 구매 등을 혼합하여 사용  

4. 요약  
   - 본 페이지는 RE100 목표(2021년 선언, 2045년 100% 달성) 이행을 위한 글로벌 사업장별 재생에너지 전환 계획을 소개함  
   - 체코·인도·인도네시아·브라질 등 현지 사업장별 세부 이행 방안(REC 구매, PPA 계약, 태양광 발전 설치)을 제시  
   - 단계적 로드맵(2021년 가입 → 2030년 60% 달성 → 2040년 90% 달성 → 2045년 100% 달성)을 통해 기후변화 대응 역량 강화 및 친환경 경영 실현 목표를 자세히 언급함  
o1의 답변

많이 다르죠...? 분명히 같은 프롬프트 입니다. 모델만 교체한 것이에요.

💡
o1 만 모든 글로벌 법인들의 데이터 정보가 살아있습니다. 

예를 들어 터키 법인의 정보는 o1 을 제외하면 다 없네요. 터키 법인과 관련된 질문이 들어온다면, o1으로 처리된 RAG 시스템만 답변이 가능하겠죠.

이렇게 한페이지 요약시키면 10,000 토큰 정도 됩니다. 현 시점 기준으로 대략 300원 정도 되겠네요. 많이 비싸죠... 참고로 gpt-4o 는 다섯배 정도 싸고 gpt-4o-mini는 100배 쌉니다. gemini 도 저렴하긴 한데, OpenAI 기준으로만 계산하겠습니다.

o1을 사용했다면, 일반 사람보다 무조건 잘해야만 수지타산이 맞습니다. 최소 ESG 분야의 직원 수준으로 결과를 내놔야만 합니다.

참고 - 전처리에 사용된 프롬프트

You are an assistant tasked with summarizing images for retrieval.
These summaries will be embedded and used to retrieve the raw image.
Give a concise summary of the image that is well optimized for retrieval.

Instructions

- Image is page of sustainability report, and this RAG system will be used to QA task for ESG analyst.

- Summary should be in Korean.

- RAG 목적에 맞게 제목, 키워드, 주요 데이터 를 추출해주고, 내용을 빠짐없이 모두 마크다운 형식으로 정리해주고, 특히 삽입된 이미지와 표를 잘 인식해서 텍스트로 변환해줘

- 페이지가 섹션을 구분하는 페이지 이거나, 제목, 목차와 같은 페이지라면, 내용을 짧게 작성하도록해.

- 페이지에 정보가 적다면, 내용이 적어도 괜찮고, 정보가 많다면, 내용이 누락되지 않게 자세하게 작성해.

- 요약 결과 포맷은 다음과 같아.


예시 포맷

---


제목: 기후변화 리스크 및 기회 의사결정 프로세스와 전사 대응, 온실가스 감축 목표

키워드: 기후변화 리스크, 기후변화 기회, 중대성 평가, ESG위원회, CEO, CLO(ESG 총괄), ESG추진 실무단, 전사 리스크 관리, 온실가스 (Scope1, Scope2, Scope3), 재생에너지 사용 비율, 대응 로드맵

주요 데이터:

- 의사결정 프로세스 표

- 이사회(ESG위원회) → 경영진(CEO, CLO) → 실무단(ESG추진)

- 온실가스 배출량 (Scope1·2·3)

- 재생에너지 사용 비율

- 연간 목표(중대성 평가 결과 반영)

상세 내용:

1. 기후변화 리스크 및 기회 의사결정 프로세스

- 중대성 평가 및 리스크 인식

- 조직 내 검토되는 기후변화 리스크를 다른 리스크와 함께 평가, 우선순위 결정

- 평가 과정: 내부 영향 분석 → 이슈 식별·분류 → 중대성 평가 → 핵심 이슈 도출

- 중대한 리스크·기회 요인 발생 시 CLO에게 즉시 보고 후 필요시 CEO, ESG위원회까지 단계별 보고

- 의사결정 구조

- 이사회(ESG위원회)

- 핵심 기후변화 리스크·기회에 대한 최종 의결

- SK텔레콤에 심각한 영향을 미치는 사안에 대한 심의

- 경영진(CEO)

- 중대한 리스크·기회 요인에 대한 의사결정

- 사업·재무에 심각한 영향을 미치는 핵심 이슈 발생 시 ESG위원회 보고

- 경영진(CLO, ESG 총괄)

- 기후변화 리스크·기회가 중대한 사안일 경우 CEO 보고

- 영향 범위 및 대응 방안 검토, 필요시 이사회(ESG위원회)와 심의

- 실무단(ESG추진)

- 리스크·기회 요소 모니터링 및 중대성 평가(내부 영향 분석) 수행

- 평가 결과를 토대로 대응 시나리오 수립, ESG위원회·경영진 보고

2. 기후변화 리스크 및 기회 전사 대응 프로세스

- 의사결정 이후 후속 조치

- ESG 추진 유관 부서가 대응 방향 설정 → 중장기 관점의 대안 마련

- 매년 자체 계획 반영 및 이행 성과 모니터링, 필요 시 공공기관 등 이해관계자와 협력

- 전사 리스크 대응 체계에 기후변화 리스크·기회를 포함하여 상시 관리

- 주요 추진 내용

- 정기·수시 모니터링: 경영·재무적 영향, 조직 운영 리스크 검토

- 중대한 이슈 발생 시 ESG위원회 보고와 함께 내부 프로세스 강화

- 중대성 평가 결과 반영 후 전사 전략 및 목표 재조정

3. 기후변화 리스크 및 기회 관련 지표와 목표

- 온실가스 배출량 (Scope1)

- 단위: tCO₂e

- 2020: 1,039,979

- 2021: 1,101,340

- 2022: 1,132,090

- 간접 배출량 (Scope2)

- 단위: tCO₂e

- 2020: 1,031,338

- 2021: 1,094,967

- 2022: 1,126,600

- 기타 간접 배출량 (Scope3)

- 단위: tCO₂e

- 2020: 6,918,286

- 2021: 6,925,159

- 2022: 7,059,192

- 재생에너지 사용 비율

- 2020: 1.0%

- 2021: 2.0%

- 2022: 2.5%

- 목표: 5.0%

- 참고 사항

- Scope1: 직접 배출(연료 사용 등)

- Scope2: 전기·열 사용 등 간접 배출

- Scope3: 밸류체인 전반(구매, 물류 등)에서 발생하는 기타 간접 배출

- 재생에너지 사용 비율: 연간 전력 사용량 대비 재생에너지 비중

4. 요약

- 이 문서는 SK텔레콤이 기후변화 리스크 및 기회를 중대 리스크로 인식하고, 이사회(ESG위원회)·경영진·실무단 간 협업을 통해 식별·우선순위화·대응 방안을 결정하는 과정을 상세히 다룸

- 온실가스 배출(Scope1·2·3) 추이와 재생에너지 사용 목표 등 주요 지표를 공개하고, 매년 중대성 평가와 ESG 전략 수정·이행 모니터링을 반복하여 리스크를 체계적으로 관리하는 내용을 제시함


검색 (Retrieval)

데이터가 준비 되었으니, 검색을 해보죠.

Hybrid Search

질문이 들어오면, 하이브리드 서치를 수행합니다. 하이브리드 서치란, 키워드 서치와 시멘틱 서치 두 가지를 동시에 행하는 것을 말합니다.

  • 시멘틱 서치 (Semantic Search)

Vector로 cosine 유사도를 계산하여 검사합니다. RAG 의 기본이니 아마 다 아실 것 입니다. 여기서 문제가 하나 있습니다. Cosine 유사도는 의미를 고려해서 연관된 정보를 잘 찾아주지만, 도메인 특화된 특별한 키워드들은 헤메는 경향이 있습니다.

예를 들어 다음과 같은 ESG 도메인 특화 키워드를 보겠습니다.

"PPA(전력구매계약), REC(재생에너지인증서), 온사이트 발전, 오프사이트 발전, RO(Guarantee of Origin)"

Vector 로 된 유사도 검색으로는 위와 같은 내용들이 잘 찾아지지 않기 때문에 키워드 서치가 필요합니다.

  • 키워드 서치

한국어용 kiwi tokenizer 를 사용해서 토큰으로 처리를 했습니다. Kiwi 를 사용한 이유는 제가 한국어 토큰에 대해 문외한 이기 때문에, 주변의 고수에게 추천을 받았습니다. 다른 토크나이저가 더 좋을 수도 있습니다.

Corpus는 pdf 파일에서 생성된 모든 페이지의 텍스트 요약이고, 이를 기반으로 BM25 점수를 계산하여 매깁니다. BM25 알고리즘은 NLP 에 대한 지식이 있다면 아실텐데요, 쉽게 설명하면 자주 등장하지 않는 키워드에 가중치를 둬서 해석하는 알고리즘이라고 보면 되겠습니다.

검색 2단계 - Reranking

두가지 기준으로 검색된 문서들을 모읍니다. 그리고 이제 합쳐서 순위를 다시한번 매겨보고, 혹시 관련이 없는 것은 없나 필터링을 해보겠습니다.

Reranking & Relevance Check

  • Cosine Similarity를 벡터간의 Distance로 수치화해서 가까운 페이지들을 찾았습니다.
  • BM25 로 정량화 해서 질문에 주요한 키워드들이 들어간 문서들을 찾았습니다.

그리고, 이제 그 문서들을 모아 Reranking 을 할 텐데요. Reranking은 Cohere 사의 reranker-v3.5 를 사용했습니다.

참조 - Cohere Reranking Dev Docs

Reranker 모델은 사용할 만한 후보가 사실 몇가지 없습니다. Cohere 사의 Aya 모델을 24년 말 파인튜닝 강의에서 매우 유용하게 사용했었고, 특히 한국어를 잘 한다는 것을 확인한 경험이 있었기에 고민없이 Cohere 의 reranker를 사용했습니다. 가격은 매우 저렴하니 신경 안써도 됩니다. 제 선택을 지금 다시 돌아보니 AI 모델에도 브랜드 가치가 중요한가? 싶네요.

Reranking을 적용한 결과

Rerank 점수로 다시 순위를 매긴 결과입니다. 확실히 하이브리드 서치 결과의 종합적으로 좋은 문서들이 reranking 점수도 높은 경향이 있씁니다.  Reranking 결과라는 것은 정량화 하기가 매우 어렵습니다. 정말 수많은 질문들과 검색 결과를 검증해야 알 수 있죠. 정성적으로 몇가지 정도 판단해 봤을 때에는 꽤 순위가 잘 매겨져서 잘 사용하기로 결정했습니다.

검색 3단계 - Relevance Check

검색 결과에 대하 한번만 더 체크를 해볼 것입니다. 현재까지 우려스러운 점이 하나 남아 있습니다.

텍스트 요약 정보로 검색을 했는데, 원본 페이지와 텍스트 요약이 정보가 완전히 동일하지 않으니 문제가 있을 수도 있지 않을까?

그래서 멀티모달 모델에게 한번만 체크를 돌려봅니다.

질문과 검색 된 결과들의 원본 페이지 이미지를 넘겨주며, gpt-4o 에게 물어보겠습니다.

💡
검색된 페이지에 있는 정보가 질문에 대한 답을 하는데 도움이 되니?

이 질문은 통상적으로 LLM-as-Judge 에서 사용 되는 평가 방법를 응용해서 구현했습니다. 프롬프트만 살짝 튜닝 했습니다.

o1 에게 물어볼 수도 있는데, 검색된 페이지에 대해서 다 물어봐야하니 너무너무너무너무 비쌉니다. 10개의 문서를 물어본다 가정하면 10배 비싸지니 gpt-4o 에게만 물어보는 것으로 타협했습니다.

Relevance Check

오른쪽 끝 컬럼에 Relevant 여부와 Explanation 이 생겼습니다. Chain-of-Thought 방식으로 질문했고, structured output 기능을 이용해서, 이유와 설명을 달았습니다.

여기서 explanation은 relevance 체크의 정확성을 올려주는 역할이기도 하지만, 저를 포함한 본 시스템 개발자/사용자들이 설명을 참고하여 판단하기 위함입니다.  

예상외로 reranked 순위가 높은 문서도 relevant 검사에서 필요 없는 페이지다라는 결론이 나오기도 합니다. (3번째 row, 85 페이지)

정성적으로 판단해본 결과 꽤 타당합니다. 그래서 비용을 투자하면서 relevance 검사를 workflow 에 넣기로 결정하였습니다.

이 과정을 거쳐 정제된 페이지들이 질문에 대한 근거 자료로 검색이 되었습니다!


답변 (Generation)

이제 답변할 차례입니다.

Answer Generation

Output 의 내용이 제일 중요한 답변 생성이기 때문에, 검색 결과의 원본 페이지 이미지들을 Input으로 넣어주고, 답변도 o1 으로 생성합니다.

근거 데이터를 참조해서 추론, 판단을 해야합니다. 그렇기에 가장 확실한 데이터인 원본 문서, 가장 똑똑한 모델인 o1 을 사용했습니다. Chain of Thought 도 추가로 프롬프팅 해줬습니다.

번외로 답변을 받고 문서를 꾸미기 위한 추가 작업을 더 수행하는데, 본질은 아니니 생략하도록 하겠습니다.

결국 답변은 아래와 같은 형식으로 나옵니다.


답변 요약

등급: 나. 지역사회 상생 활동 공개

  • 지역사회 상생 활동을 공개하고 있으나, 수혜자 중심의 구체적 성과지표(수혜자 수, 편익 규모 등)는 확인되지 않음

상세 설명

  1. 활동 공개
  • 보고서 17페이지와 66페이지에서 문화예술 후원(‘뷰티필마인드’와의 협력), 학습활동 장려(장학금 및 연구 활동 지원), 전기차 충전소 설치 등 다양한 사회공헌 활동과 지역사회 상생 활동이 소개되고 있습니다.
  • 보고서 90페이지의 ESG Performance Data에서는 기부금 내역, 임직원 봉사활동 현황 등을 구체적인 수치(금액, 참여 인원, 봉사시간 등)로 공개하고 있습니다.
  1. 성과 공개
  • 현재 공개된 자료는 기업이 투입한 자원(기부금, 봉사시간 등)에 대한 정보 위주로 제시되고 있습니다.
    수혜자 수, 편익 등을 계량화하여 보여주는 지표(예: 기부금 수혜 인원, 현물 기부 효과 등)는 확인되지 않습니다.
  • 따라서 지역사회 상생 활동이 공개되고 있으나, 수혜자 중심의 성과 지표가 충분히 제시되지 않아 ‘활동 공개’ 수준으로 판단됩니다.

주요 근거 자료

  • 17페이지: 주요 이해관계자(지역사회 포함)에 대한 주요 관심 이슈와 대응 활동
  • 66페이지: 지역사회에 대한 문화예술 후원, 학습활동 장려, 전기차 충전소 설치 등 사회공헌 활동 사례
  • 90페이지: ESG Performance Data: 사회공헌(기부금, 임직원 자원봉사 등) 현황

근거와 함께 평가 결과가 나오게 되고, 이는 하나의 질문에 대한 답이기 때문에, 수백개의 평가 질문을 던져 최종 평가를 하게 됩니다.

수십개 정도의 질답 평가를 수동으로 진행하였는데요, 사람보다 잘하면 잘했지 못하지는 않습니다. 문제는 비용인데, 한국 인건비보다는 저렴한 것 같고, 하나의 회사를 평가하는데 10만원 이상 비용이 발생합니다.

다행인 점은, 25년 1월 현재 OpenAI 에서 매일 최대 백만 토큰을 무료로 제공 해줍니다. 데이터 제공을 동의한 경우에 한해서요. 아주 잘 활용하고 있습니다. 그래서 o1 을 사용하고 있기도 합니다.

기타 방안들에 대한 의견

  • HyDE 와 같은 RAG 기법들

위의 구현체는 제가 임의로 결정한 것입니다. 여러개의 RAG 시스템을 구현해 보면서 HyDE가 대부분의 경우에 효과적임을 확인했으나, 본 데이터에서는 좋지 않더군요. 아무래도 데이터를 찾는 것이 주 목적이다 보니, 가상의 답변이 유사도를 높여주지 않는 것 같습니다.

이 외에도 Query Decomposition 이나 기타 방법들은 모두 테스트해보지는 않았고, 직관적으로 효과가 있을 법한 기법들만 테스트 해보았습니다.

  • Agent 도입

요즘 AI Agent 에 대해서 사람들이 관심이 많은 것 같습니다. 본 시스템은 Agent 라고 부르기는 어려운 수준입니다. Anthropic의 정의에 따르면 workflow로 구분하는 것이 맞겠네요. (참고 - Agent의 정의)

Agentic 시스템을 도입하지 않은 이유는 간단하게도 비용 입니다. o1을 더 사용해서 답변 퀄리티를 높인다 한들 더이상 올릴 퀄리티가 미비 합니다. 생각해볼만한 것은 o1 이 아닌 저렴한 모델을 Agent로 구축하는 것인데, 그건 안해봤습니다. 가능성은 있을 수도 있겠네요. 좋은 선택지는 아닌 것 같습니다 어차피 호출은 법인의 갯수와 비례하니 더 늘어날 여지가 없으니까요.

  • LangSmith 운영

데이터 기록 및 ESG 전문가들과의 소통 창구로 LangSmith 를 사용합니다. 비용을 지불하는데 가치는 충분한 것 같고요. 이 파트는 장기간에 걸친 사용 후 다시 회고를 해봐야겠네요. 아무래도 시스템의 정량적인 성능 평가가 아직 해결되지 못한 문제인데, LangSmith 가 그 해법이 될 거라고 예상하고 적극적으로 사용해보고 있습니다.

결론 및 회고

23년 말 정도에 gpt-4v 를 시작으로 이런 경우에 사용할만한 멀티모달 모델이 처음 나온 것 같은데요. (CLIP 은 훨씬 오래 전 부터 있었지만, 이런 경우까지 범용적으로 쓸만하지는 않았던 것 같아요.)

이번에 o1 에 까지 비전 인풋이 가능해지면서 정말 사람을 대체해 나갈 것이라는 확신이 생겼습니다.

데이터가 아주 잘 정돈된 텍스트가 아니어도  그냥 이미지로 처리가 가능해지면서 사용하기가 매우 편해졌습니다. o1 정도면 지능도 충분한 것 같고요.

아직은 비용이 문제이지만, 1년이면 또 많이 해결이 되지 않을까 싶네요.

본 프로젝트는 글을 작성하고 있는 현 시점 기준, 정밀 평가를 앞두고 있습니다. 문제가 아주 없지는 않겠지만,

N 명의 인력을 대체하는 것은 확정적입니다.

게다가 사람은 대량 처리가 불가능하니 시간이 장기간 소요되는데에 반해, AI 는 확장이 가능하니, 시즌성으로 닥치는 일이 빠르게 해결이 가능합니다. 평가자 들의 편차도 없어져서 공정함, 일관성도 올라갑니다.

다음으로는 각 회사가 공시한 다른 보고서들을 모아 복합적으로 분석할 예정입니다.

Appendix

전체 흐름 개요