메뉴 바로가기 본문 바로가기 하단 바로가기

KOBICian’s Story

프로필사진
[39호] 슈퍼컴퓨터 이야기
  • 작성자 윤종철 (KOBIC 연구기사)
  • 작성일2024-12-09 09:11:49
  • 조회수1003

슈퍼컴퓨터(Supercomputer)"현존하는 가장 빠르고 고성능의 컴퓨터 시스템"으로 정의합니다(출처: Oxford Languages). 이 용어는 1960년대 초반부터 사용되기 시작되었으며, 과학 연구, 기후 모델링, 군사 시뮬레이션 등 복잡한 계산 작업에 사용되면서 더욱 대중화되었습니다. 현재 "슈퍼컴퓨터"란 용어는 그 시대의 최첨단 기술을 적용한 컴퓨터 시스템을 의미하며, 성능 기준은 시간이 지나면서 계속 변화하고 있습니다.

최초의 슈퍼컴퓨터는 Stretch라는 별칭으로도 잘 알려진 IBM 7030(1960)으로 성능은 약 1 MFlop/s(초당 메가플롭)입니다. 1 MFlop/s는 이론 성능이며, 1초 동안 1,000,000번의 부동소수점 계산을 할 수 있는 성능을 의미합니다. 여기서 이론 성능은 "(코어) × (클럭 속도) × (부동소수점 연산 개수)"로 계산됩니다. 1989년 발표되어 PC에서 널리 쓰인 인텔 80486 프로세서의 성능이 이미 1 MFlop/s를 넘겼고, 2010년 출시된 삼성 갤럭시 S 스마트폰에 쓰인 허밍버드 S5PC110200 MFlop/s의 연산 속도를 달성할 수준이 되었으니 기술의 발전 속도는 정말 빠릅니다.

202411월 기준 현재 가장 빠른 슈퍼컴퓨터는 2,746.38 PFlop/s(초당 페타플롭)로 최초 슈퍼컴퓨터보다 3조 배 이상 빨라졌습니다. 이러한 급격한 성능 향상은 CPU 제조 기술 발전, 병렬처리 기술도입, 복합 프로세서(FPGA, GPU ) 사용 등 다양한 기술 발전의 결과입니다.

전 세계 슈퍼컴퓨터 성능 순위는 매년 두 차례 발표됩니다. 첫 번째는 매년 6월 독일에서 개최되는 ISC(International Supercomputer Conference)이고, 두 번째는 11월 미국에서 개최되는 SC(Supercomputing Conference)입니다. 이때 이론 성능(Rpeak)뿐만 아니라 실측 성능(Rmax)도 같이 포함됩니다실측 성능은 LINPACK 벤치마크 프로그램을 사용하여 측정합니다. LINPACK이란 컴퓨터에서 수치 선형 대수를 처리하기 위한 소프트웨어 라이브러리(포트란으로 작성)로서 1970~1980년대에 만들어졌습니다. LINPACK 수행 시 파라미터 값(문제 크기(N), 블록 크기(NB), 프로세스 수(P,Q) )에 따라 성능이 달라지기에 최적의 값을 찾아 수행해야 합니다실측 성능은 이론 성능의 약 50% ~ 80% 수준이며, CPU가 아닌 복합 프로세서(FPGA, GPU )가 많이 장착된 시스템일수록 이론대비 실측 성능도 낮아집니다. 또한 메모리 대역폭, 네트워크 속도, LINPACK 벤치마크 최적화 등으로 실측 성능값은 달라질 수 있습니다.

슈퍼컴퓨터의 공식 순위는 TOP500 사이트(https://top500.org/)에서 확인할 수 있으며, 올해 우리나라에서는 13개의 시스템이 리스트에 등재되었습니다. 11월 발표된 리스트에 의하면 세종(네이버, 40), 카카오클라우드(카카오, 41위 및 87), SSC-21(삼성전자, 48), 타이탄(SK텔레콤, 63), 구루와 마루(기상청, 73위 및 74), 누리온(KISTI, 91) 등입니다.

TOP500 사이트에는 LINPACK 벤치마크로 수행한 성능 측정 리스트뿐만 아니라, HPCG(High-Performance Conjugate-Gradient) 벤치마크로 수행한 리스트도 존재합니다. LINPACK 벤치마크의 경우 슈퍼컴퓨터의 부동소수점 연산 성능을 측정하는데 적합하여 1993년도부터 널리 사용되어 왔습니다. 그러나 과학 및 공학 응용 프로그램에서는 희소 행렬과 메모리 대역폭, 데이터 접근 패턴 분석이 더 중요한 경우가 많고, 그에 적합한 슈퍼컴퓨터를 구축하였을 것입니다.

LINPACK과는 달리 HPCG 벤치마크는 메모리 대역폭, 데이터 접근 패턴, 통신 성능 등 실질적인 HPC(Hardware Performance Computing) 문제를 평가하는 방식을 사용하기 때문에 LINPACK 벤치마크 한계를 보완하고 있습니다. 또한 HPCG 벤치마크를 수행하여 나온 성능 측정값을 2017년도부터 TOP500에 별도로 발표하고 있습니다. 이에 따르면 202411월 현재 KISTI의 누리온(38) 한국 슈퍼컴퓨터 중에서는 가장 빠릅니다. 향후 TOP500 성능 측정 기준이 LINPACK 벤치마크에서 HPCG 벤치마크로 변경 가능성이 있습니다.

KOBIC에서 보유하고 있는 시스템은 어느 정도 성능을 가지고 있는지 알아보겠습니다. 2015년에 측정 했을 때 이론 성능 65TFlop/s, 실측 성능 48TFlop/s이 나왔습니다. 참고로 2015TOP 500500위 시스템은 160TFlop/s이며, 당시 우리나라가 보유한 9개의 시스템이 등록되었습니다2024년에는 이론성능 113TFlop/s, 실측 성능 85TFlop/s 이라는 값을 얻었습니다. 이는 2015년 대비 약 1.73배 향상된 수치입니다.

KOBIC에 슈퍼컴퓨터와 스토리지는 ISC(International Supercomputer Conference)SC(Supercomputing Conference)에서 발표된 시스템을 참고하여 시스템 성능과 안정성을 향상시키고 있으며, 기회가 된다면 슈퍼컴퓨터 순위 TOP500(https://top500.org/) 또는 스토리지 성능 순위 IO500(https://io500.org)에 등재하도록 노력하겠습니다.

KOBICian’s story는 KOBIC 멤버가 직접 작성하는 현장감 넘치는 글로서 KOBIC의 업무 방향이나 공식 입장과는 다를 수 있습니다.

다른 KOBICian’s Story 보기

KOBICian's Story Thumbnail

 

디지털 생명과학 시대에 접어들면서 우리는 다양한 형식과 규모의 바이오 데이터를 데이터베이스 내에 쌓아가고 있습니다. 유전체, 전사체, 단백체, 대사체, 바이오이미징, 전임상, 화합물 등 서로 다른 분야의 생명연구자원은 이제 함께 연결되어 통합적으로 해석되어야 할 대상으로 주목받고 있습니다. 이러한 데이터를 하나의 통합된 데이터베이스 안에 정리하고 연계하는 일은 단순한 저장을 넘어 복잡한 설계가 필요한 일이자, 생명현상을 깊이 이해하기 위한 필수적인 과정입니다.

바이오 데이터는 개별적으로 존재하는 것이 아니라 유기적으로 연결되어 있습니다. 예를 들어, 하나의 유전자가 활발히 작동하면 단백질이 만들어지고, 이는 대사 반응에 영향을 주며, 그 결과는 실험 이미지나 화합물 반응에서도 나타날 수 있습니다. 하나의 사건이 여러 데이터로 확산되는 이 구조를 이해하려면 단편적인 정보의 나열이 아니라 관계 중심의 데이터 연결이 필요합니다.

또한 생명과학 데이터는 표 형식뿐 아니라 이미지, 3D 구조, 그래프 등 다양한 형태로 존재합니다. 단백질만 해도 서열 정보, 3차 구조, 기능 정보 등이 모두 서로 다른 방식으로 저장됩니다. 이를 하나의 시스템에 담기 위해서는 다양한 형식을 수용할 수 있도록 유연하게 설계되어야 합니다.

이처럼 복잡하고 다양한 데이터를 효과적으로 다루고 서비스 하기 위해서는 기존의 관계형 데이터베이스만으로는 한계가 있을 수 있습니다. 관계형 데이터베이스는 명확한 테이블 구조와 고정된 스키마를 기반으로 동작하기 때문에, 데이터의 형태가 유동적인 비정형 데이터를 다루기 어렵고, 유전자와 단백질, 대사산물, 화합물 사이처럼 복잡하게 얽힌 다대다(M:N) 관계나 계층적 데이터 구조를 표현하는 데도 제약이 큽니다. 이러한 이유로 정형/비정형 문서중심의 NoSQL, 관계 구조를 표현하기 쉬운 그래프 데이터베이스 등 다양한 기술을 함께 활용해야 하며, 각각의 장점을 살려 통합적으로 설계하는 것이 중요합니다.

이러한 기술적 고려 외에도 데이터베이스를 설계할 때 무엇보다 중요한 것이 있습니다. 데이터베이스의 설계 및 모델링은 단지 기술로만 완성되지 않습니다. 누가 데이터를 만들고, 어떻게 분석하며, 어떤 방식으로 활용되는지를 이해하고, 그 흐름에 맞게 구조화되어야 진정으로 활용 가능한 시스템이 됩니다. 업무 흐름이 명확하면 데이터도 자연스럽게 정돈되고, 문제 발생시 빠르게 대응할 수 있으며, 새로운 작업이 추가되더라도 유연하게 적용할 수 있습니다. 

여기서 중요한 개념이 데이터 모델링과 데이터베이스 모델링입니다. 데이터 모델링은 분석할 대상의 개념과 의미를 정의하고 그 관계를 추상적으로 설계하는 과정이며, 데이터베이스 모델링은 이를 실제 시스템에 구현 가능한 형태로 구체화하는 작업입니다. '무엇을 담을 것인가'를 정의하는 것이 데이터 모델링이라면, '어떻게 담을 것인가'를 결정하는 것이 데이터베이스 모델링입니다. 두 과정은 생명과학 데이터의 통합과 활용을 위한 기반입니다.

이러한 철학은 K-BDS(Korea BioData Station)가 추구하는 방향과도 일치합니다. K-BDS는 유전체, 전임상, 단백질, 대사체, 영상/이미지 등 다양한데이터를 통합하여 연구자들이 효율적으로 활용할 수 있도록 지원하는 국가 바이오데이터 플랫폼입니다. 현재 K-BDS는 데이터 간 연계성을 점진적으로 확장하며, 다양한 생명과학 데이터가 유기적으로 연결되는 구조로 발전하고 있습니다. 단일 유형의 데이터 제공을 넘어, 다양한 데이터 간 의미 있는 관계를 표현하고 공유할 수 있는 환경을 구축하고자 합니다.

우리가 만들고자 하는 바이오 데이터베이스는 단순한 저장소가 아닌, 다양한 사람들이 데이터를 생성하고 다듬고 활용하는 하나의 '업무 생태계'입니다. 이 생태계가 원활히 돌아가기 위해서는 기술적인 설계와 더불어, 업무 흐름과 역할, 절차가 명확히 정의되어야 하며, 그것이 데이터 구조 안에 반영되어야합니다. K-BDS가 단순한 데이터 모음이 아닌, 사람과 업무 중심의 구조로 구현될 때 그 가치는 더욱 커질 것으로 기대합니다.

 

  • 작성자장인수
  • 작성일2025-06-16
  • 조회수60
KOBICian's Story Thumbnail

한국 국적의 여러분들은 대한민국헌법 제38조에 따라 납세의 의무를 부담합니다. 한편, KOBIC에서 근무하는 여러분들은 원활하고 효율적인 업무를 위해 3색 볼펜을 구매·사용할 권리를 가진다고 말할 수도 있겠습니다. 이하에서는 예산 실무 지원 전임(前任) 담당자로서 예산 업무의 이관을 기념(?)하여 우리가 부과하는 세금이 어떤 과정을 거쳐 3색 볼펜의 사용까지에 이르는지 그 과정을 살펴보고자 합니다.

예산은 납세를 통해 모아진 국가의 재원을 배분하여 집행하기 위한 계획으로, 그 시작은 정부의 예산안 편성에서 시작됩니다. 연초가 되면 우선 각 정부부처는 매년 131일까지 한국의 곳간 열쇠를 가지고 있다고 표현되는 기획재정부에 향후 5년간(=5회계연도)의 주요 계속사업에 대한 중기사업계획서를 제출해야 합니다. 그 이후에는 그 사업계획을 기획재정부의 사업 담당자가 판단할 수 있도록 중기 심의과정을 거치게 되는데, 이 과정에 대한 심의 양식 작성이 필요하며, 그 이후에는 기획재정부에 대한 사업설명회도 진행합니다(대체로 3월 중).

각 부처에서 사업계획서를 제출받은 기획재정부는 향후 5년간 적용할 재정운용의 기본방향, 경제성장률, 세입규모 전망 등을 고려하여 국가재정운용계획을 수립하고 매년 331일까지 각 부처에 이를 통보합니다. 실무적으로는 이 과정에서 각 부처에 지출한도를 통보합니다. 쉽게 말하면 가정 내에서 각 구성원이 다음 달에 지출할 비용에 대한 계획을 제출하라고 하면 각자가 필요한 계획을 제출했을 때, 결정권자가 닌텐도 스위치 구입은 고장난 세탁기 수리보다 급하지 않으니 제외(한도외 편성-추가 예산이 발생하면 집행 검토)’, ‘발목 부상으로 인해 다음 달 필라테스 강습을 못 받게 되었으니(불용예산), 이 비용으로 외식비를 집행(예산전용)’ 등의 결정을 하게 되는데, 이렇게 각 부처가 지출할 수 있는 한도를 설정해주는 것이지요.

그런데 일반적인 국가 예산의 집행과는 다르게 국가연구개발사업(=R&D)’의 예산은 절차가 조금 다릅니다. 위에서 설명한 과정은 국가재정법에 따른 것인데, 과학기술분야의 R&D 예산을 규정하는 과학기술기본법은 국가 사업 중 국가연구개발사업과 관련해서는 중기사업계획서를 131일까지 과학기술정보통신부장관에게, 국가연구개발투자의 방향은 중기사업계획서 검토 후 과학기술자문회의의 심의를 거쳐 기획재정부장관 및 관계 중앙행정기관의 장에게, 예산요구서도 531일까지 과학기술정보통신부장관에게, 예산요구서 심의 결과를 630일까지 기획재정부장관에게 알리라고 하고 있습니다. 다시 말하면 R&D 예산의 심의는 일부 그 역할이 과학기술정보통신부, 그 중에서도 과학기술혁신본부(중에서도 연구개발투자심의국)에 맡겨져 있습니다. 이 단락에서의 과학기술정보통신부는 이 혁신본부를 말하는 것입니다.

본론으로 돌아와서, 통보받은 지출한도를 기반으로 해서 4~5월에는 부처 내에서 예산안을 편성하게 됩니다. 부처 내에는 차관과 등의 위계가 있고 과별로 사업이 편성되어 있기 때문에 부처 내에서도 통보받은 지출한도를 어떻게 나누어 지출할 것인지에 대한 협의가 필요합니다. 그 협의를 거쳐서 이른바 부처 내에서의 실링(ceiling, 상한을 뜻하는 말)’이 통보되고, 이 실링에 따라 한도내 예산액을 정하여 예산요구서를 제출하게 됩니다. 예를 들어 중기사업계획에서 어느 사업에 대해 26년에 500억을 지출하겠다고 제출을 했는데, 지출한도 통보 이후, 부처 내에서 실링액이 결정되어서 해당 사업에 대해 400억 실링을 통보받으면, 예산요구서에는 “400(한도내), 100(한도외)”로 기재하여 심의를 받게 되는 것이지요. 실링은 대체로 4월 말 정도에 통보되어 예산요구서를 작성하게 되고, 해당 예산요구서가 혁신본부에 제출되면 그것을 근거로 대체로 5월 초에 해당 사업의 분과별 위원회에서 심의를 받게 됩니다. 5월 중에는 이 심의를 거쳐 혁신본부의 조정안이 결정되고, 조정의 과정은 3~4차까지도 진행되며, 그 과정을 거쳐 조정안이 630일까지 기획재정부에 통보되는 것입니다. , 4~6월은 혁신본부의 시간입니다.

7~8월은 기획재정부의 시간입니다. 기획재정부가 본래적 의미의 예산 심의 담당 부처이기 때문에 기획재정부 역시 예산 검토를 수행해야 합니다. 혁신본부에서 통보한 예산요구서 심의 결과를 토대로 기재부 예산심의가 진행되며, 이 과정에서 기재부 대응을 위한 예산요구서 작성 및 예산의 적절성을 설명하는 등의 대응 절차를 거칩니다. 이 과정을 거쳐서 정부의 예산안이 기획재정부를 통해 확정되면 해당 예산안이 국회에 제출됩니다. 회계연도 개시 120일 전까지 국회 제출이기 때문에 9월 초 정도로 생각하면 됩니다.

9~12월은 국회의 시간입니다. 헌법에 따라 회계연도 개시 30일 전까지 국회 의결이 있어야 하므로, 법적으로는 122일에 국회 확정 의결이 있어야 합니다. 그 전까지는 국회 상임위, 예결위 등의 심사가 진행되며, 해당 심사에 활용될 예산 공통요구자료 등을 작성하고, 필요한 경우 각 의원실 또는 각 정당에서의 요구자료에 대응해야 합니다.

통상 12월 초에 국회 의결을 거쳐, 각 사업의 차년도 집행을 준비해야 합니다.(정치상황에 따라 그렇지 않은 경우도 왕왕 있습니다) 일반적으로 사업을 집행할 연구관리전문기관에서 사업 집행의 근거가 되는 사업시행계획()을 마련하고, 각 사업의 추진위원회를 통해 심의·의결을 하게 됩니다. 이 과정 또한 저희 KOBIC에서 운영을 지원해왔습니다. 이제 사업 추진위원회 심의를 거쳐 1월이 되었으니 각 과제의 협약을 하고 연구비를 집행할 수 있게 되었습니다. 이 과정을 거쳐서 제 책상 위에는 3색 볼펜이 자리할 수 있게 되었습니다. 예산 업무도 한숨 돌리게 되었겠군요.

그럴까요? 아닙니다. 이제 1월이 되었으니, 차년도 중기재정계획을 준비해야지요. 더욱이 여기에서는 예산 업무만 설명했을 뿐, 결산 업무는 지면상 말도 꺼내지 못했습니다. 그리고 사업의 필요성에 따라 4~6월에는 추가경정예산인 이른바 추경예산편성도 진행될 가능성이 있습니다. 때에 따라서는 감사원에서 자료 요구가 오기도 하며, 지출구조조정 대응, 고용영향평가 대응 등의 과정이 필요하기도 합니다.

여러분께 이와 같은 지난한 과정에 대한 응원을 부탁드리겠습니다.

  • 작성자조근형
  • 작성일2025-06-09
  • 조회수163
KOBICian's Story Thumbnail

현대의 우리는 흔히 정보의 홍수 속에 살고 있다고 합니다. 하지만 너무 많은 정보는 우리가 문제를 이해하고 결정을 내리는데 더욱 어려움을 겪게 할 수도 있습니다. 이런 상황 속에서 내가 필요로 하는 정보를 효과적으로 찾을 수 있는 방법은 매우 중요합니다.

검색은 수많은 데이터에서 꼭 필요한 것만을 정확히 찾아내는 데 필수적인 수단입니다. 사람들은 자연스럽게 자신이 찾고자 하는 내용의 키워드를 고민하여 고르고 그 키워드를 입력하여 검색을 수행합니다. 이 글에서는 대표적인 검색 기법의 원리와 그 특징을 소개해 드리고자 합니다.

키워드 검색(Keyword Search)

키워드 검색은 사용자가 입력한 키워드를 기반으로 관련된 콘텐츠를 찾아주는 방법입니다. 이 방식은 사용자의 니즈를 빠르게 파악하고 관련된 정보만 노출하도록 도와줍니다.

우리가 일반적으로 사용하는 구글이나 네이버 등의 검색 방식은 키워드 검색이라 할 수 있습니다. 키워드를 입력하면 검색엔진은 수많은 웹페이지 중 해당 키워드가 포함된 웹페이지를 찾고 내부적인 연산을 통해 연관도를 계산한 다음 키워드와 가장 관련이 많을 것 같은 페이지를 순서대로 제공합니다. 이때, 연관도가 높은지 판단하는 기준은 "웹페이지 내에 키워드가 얼마나 많이 등장 하는가"라고 할 수 있습니다. 초창기 구글은 페이지랭크 알고리즘을 사용하여 웹 페이지의 중요도에 따라 검색 결과의 순위를 결정하였지만 나중에 알고리즘을 비공개로 전환하였습니다.

예를 들어 오픈소스 검색 및 분석 알고리즘인 Elasticsearch에서는 아래 수식과 같이 TF/IDF기반의 BM25알고리즘을 사용하여 연관도를 측정합니다.

 

복잡해 보이는 이 계산에는 크게 TF, IDF 그리고 Field Length 3가지 요소가 연관도를 나타내는 스코어에 영향을 줍니다. 예를 들어, 구글 등에서 쥬라기 공원이라는 검색어로 검색을 한다고 가정해보면, 해당 키워드가 5번 들어있는 웹 페이지보다는 10번 들어있는 웹페이지가 내가 찾고 싶어 하는 내용일 확률이 높을 것 입니다. 문서 내에서 검색된 키워드가 더 많을수록 점수가 높아지는 것을 TF(Term Frequency)라고 합니다. 그리고 동일한 검색에서 쥬라기 또는 공원중 어떤 단어든지 포함하고 있는 페이지들은 검색 결과에 포함될 수 있습니다. 이때 쥬라기가 포함된 결과는 10, “공원이 포함된 결과는 100개라고 가정한다면 흔한 공원보다는 희소한 쥬라기가 더 중요한 키워드일 가능성이 높습니다. 검색한 키워드를 포함하고 있는 문서 개수가 많을수록 그 키워드의 가중치가 감소하는 것을 IDF(Inverse Document Frequency)라고 합니다. 그리고 문서에서 필드길이(Field Length)가 큰 필드보다는 짧은 필드에 있는 키워드의 비중이 클 것입니다. 제목과 내용필드에 검색어가 모두 있는 경우 텍스트 길이가 긴 내용필드보다는 짧은 제목 필드의 키워드의 점수가 더 높게 나타납니다. 이처럼 키워드 검색 방식에서는 검색어에 대한 종합적인 스코어 계산을 통해 연관성이 높은 순서로 결과를 나타내줍니다.

하지만 이런 검색방식에는 여러 가지 문제점들이 나타날 수 있습니다. 실제 Elasticsearch를 사용하고 있는 바이오소재 정보 통합플랫폼(BioOne)에서도 초기에는 "liver cancer"에 대한 논문 검색 시 내용의 관련성 보다는 "Liver Cancer"저널의 논문이 주요 결과로 검색되는 등 검색 의도와는 다른 결과들이 도출되는 경우도 있었습니다.

이밖에도 키워드 검색 방식은 정확하지 않은 키워드를 입력할 경우 관련된 콘텐츠를 찾을 수 없으며, 동일한 의미를 가지는 용어들에 대해 결과가 다르게 나타날 수 있습니다. 예를 들어 야간은 같은 의미이지만 사용하는 키워드에 따라 다른 결과가 나올 수 있습니다. 반면 ”, “등과 같이 여러 가지의 의미를 가지는 용어를 키워드로 선택할 경우 사용하는 의미가 다르지만 이를 구분할 수 없어 서로 의도와 다른 검색 결과를 얻을 수도 있습니다.

 

의미 기반 검색(Semantic Search)

이런 문제를 보완할 수 있는 기술이 바로 의미기반 검색(Semantic Search)입니다. 의미 기반 검색은 단순히 키워드를 찾는 것이 아니라, 사용자 검색의 의도와 문맥적 의미를 이해하고 유사한 내용을 찾는 방식입니다.

이러한 의미 기반 검색을 가능하게 하는 것이 바로 벡터 검색 기술입니다. 먼저 질문과 문서의 내용을 숫자 형태의 벡터로 변환하는 임베딩(Embedding)과정을 수행합니다. 임베딩(Embedding)은 텍스트를 실수 벡터 형태로 표현한 결과를 의미합니다. 특정한 단어, 문장 또는 문서를 임베딩 생성 모델에 입력하면, 일정 수의 실수로 구성된 벡터가 출력됩니다임베딩의 결과는 사람이 직접 관찰하고 그 의미를 파악하기는 어렵지만컴퓨터는 서로 다른 단어 또는 문서에서 추출된 임베딩 간의 거리를 계산하여 이들 간의 의미적 관계를 이해할 수 있습니다.

(출처 : Elasticsearch Relevance Engine(ESRE))

일반적으로 고차원 벡터인 이러한 임베딩은 데이터의 본질적 의미를 포함하는 개념적 위치로 표현할 수 있습니다. 비슷한 의미, 개념 또는 맥락을 가진 항목은 이 벡터 공간에서 서로 가깝게 배치됩니다. 이 벡터들 사이의 관계를 측정해서 서로 얼마나 가까운지를 계산하여 가장 유사한 내용을 가진 문서를 우선적으로 보여주는데, 이때 유사도를 측정하는 방법으로 코사인 유사도라는 수학적 계산을 사용합니다. 결론적으로 의미 기반 검색은 벡터 검색을 기반으로 사용자의 의도에 맞는 직관적인 검색결과를 얻을 수 있어 활용도가 높고 보다 관련성이 높은 정확한 결과를 제공할 수 있습니다.

최근에는 단어나 문장을 벡터로 추출하는데 활용할 수 있는 기술로 언어 모델(Language Model)이 이용되고 있으며, 2019년 이후 BERT, GPT 등 다양한 대형 언어 모델이 많이 활용되고 있습니다.

이런 흐름에 따라, 향후 BioOne에서도 단순 키워드 검색의 다양한 문제점들을 보완하기 위해 의미기반 검색방식의 장점을 도입하고 접목하여 검색의 정확성을 높이고 효율적인 검색이 가능하도록 고도화할 계획입니다.

  • 작성자강태호
  • 작성일2025-06-02
  • 조회수188
TOP