생성형 AI 기반 BIM 전문가 시스템 개발해 보기
BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 지난 연재를 통해 설명한 생성형 AI 기술을 바탕으로 BIM(건설 정보 모델링) 전문가 시스템을 개발하는 방법을 간단히 알아보도록 한다.
■ 강태욱
건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/ GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
페이스북 | www.facebook.com/laputa999
블로그 | http://daddynkidsmakers.blogspot.com
홈페이지 | https://dxbim.blogspot.com
팟캐스트 | www.facebook.com/groups/digestpodcast
이 글에서는 LLM(대규모 언어 모델)과 RAG(검색 증강 생성) 기술을 적용하여 BIM IFC(Industry Foundation Classes) 데이터의 정보를 검색하고, 이를 바탕으로 BIM 지식 전문가 에이전트를 개발하는 방법을 소개한다. 이런 에이전트는 자연어 기반의 사용자 쿼리를 통해 필요한 정보를 신속하고 정확하게 제공하며, 건설 프로젝트의 전반적인 효율성을 높일 수 있다. 이 글에서 소개하는 방법은 RAG를 이용해 전문가 시스템을 개발하는 여러 가지 대안 중 하나임을 미리 밝힌다. IFC와 같은 포맷을 이용한 RAG와 LLM 사용 기법은 목적에 따라 구현 방법의 차이가 다양하다.
LLM RAG 기반 BIM 전문가 시스템 프로세스
현재 대중적인 목적으로 개발된 LLM 기술인 ChatGPT(오픈AI), Gemini(구글), Llama(메타), Phi(마이크로소프트)는 BIM의 일반적인 지식, 예를 들어 BIM 관련 웹사이트에서 공개된 일반적인 개념 설명, PDF에 포함된 텍스트를 학습한 모델을 제공하고 있다.
다만, 이들 LLM 도구는 BIM 모델링 정보를 담고 있는 IFC와 같은 특수한 데이터셋 파일은 인식하지 않는다. 현재는 PDF같은 일반적인 파일 형식만 검색 증강 생성을 지원하는 RAG 기술을 이용해, 도메인에 특화된 지식 생성을 지원한다. 이는 특정 도메인 지식을 훈련하기 위해 필요한 비용이 너무 과대하며, 도메인 지식을 모델 학습에 맞게 데이터베이스화하는 방법도 쉽지 않기 때문이다. 예를 들어, ChatGPT-4 모델을 훈련할 때 필요한 GPU 수는 엔비디아 A100×25,000개로 알려져 있으며, 학습에 100일이 걸렸다. A100 가격이 수천 만원 수준인 것을 감안하면, 사용된 GPU 비용만 천문학적인 금액이 소모된 것을 알 수 있다.
이런 이유로, LLM 모델을 전체 학습하지 않고 모델 중 작은 일부 가중치만 갱신하는 파인튜닝(fine-tuning), 범용 LLM는 운영체제처럼 사용하여 정보 생성에 필요한 내용을 미리 검색한 후 컨텍스트 프롬프트 정보로서 LLM에 입력해 정보를 생성하는 검색 증강 생성 기술인 RAG이 주목받고 있다.
RAG는 <그림 1>과 같은 순서로 사용자 질문에 대한 답변을 생성한다.
그림 1. RAG 기반 BIM 전문가 시스템 작업 흐름(한국BIM학회, 2024)
RAG는 LLM에 입력하는 템플릿에 답변과 관련된 참고 콘텐츠를 프롬프트에 추가하여 원하는 답을 생성하는 기술이다. 이런 이유로, 답변에 포함된 콘텐츠를 처리하고, 검색하는 것이 매우 중요하다.
LLM은 입력 프롬프트에 생성에 참고할 콘텐츠를 추가하지 못하면 환각 문제가 발생되는 단점이 있다. 각 RAG 단계는 검색이 가능하도록 데이터셋을 청크(chunk) 단위로 분할(split)하고, 데이터는 임베딩(embedding)을 통해 검색 연산이 가능한 벡터 형식으로 변환된다. 이 벡터는 저장 및 검색 기능을 가진 벡터 데이터베이스(vector database)에 저장된다. 사용자의 질문은 검색 알고리즘을 통해 벡터 데이터베이스에서 가장 근사한 정보를 포함하는 콘텐츠를 얻고, 프롬프트에 추가된 후 LLM에 입력된다. 그 결과 LLM은 원하는 답변을 출력한다. 이를 통해 학습하지 않은 전문 분야의 토큰을 인식하지 못하는 LLM이 원하는 결과를 생성할 수 있도록 한다.
BIM IFC 콘텐츠 데이터 구조 분석
앞서 살펴본 바와 같이 RAG 성능은 입력되는 데이터셋의 특징과 검색 알고리즘에 큰 영향을 받는다. 그러므로, 개방형 BIM 데이터 형식으로 사용되는 IFC의 특징을 분석하여 BIM RAG를 위한 데이터 처리 시 이를 고려한다.
IFC 파일 구조는 STEP(ISO 10303), XML 스키마 형식을 준용한다. IFC는 객체지향 모델링과 그래프 모델 구조의 영향을 많이 받았다. 확장성을 고려해 BIM을 구성하고 있는 건축 객체의 부재들, 관계, 속성집합에 Instance ID 및 GUID(Globally 2025/1 Unique IDentifier)와 같은 해시값(hash)을 할당하고, 이들 간의 관계를 해시번호로 참조하여, 거대한 온톨로지 그래프 구조를 정의한다. <그림 2~3>은 이를 보여준다.
그림 2. IFC 객체 그래프 구조(Wall instance)
그림 3. IFC 그래프 구조 표현(강태욱, 2022)
■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2025-01-06