3월 넷째주 그래프 오마카세

3월 넷째주 그래프 오마카세

기다려주셔서 감사합니다.

다시 한 번 같이 한 번 Graph와 생물에 관련된 논문을 읽어보아요.

김지원

Graph Structured Neural Network는 생물학적 자극에 대한 변화를 모델링 하기에 적합하다. 단백질 및 분자 요소들이 생물학적 경로와 유전자 발현 메커니즘을 시간과 공간적 배경에서 조절을 하는 현상을 의미한다. 이미지를 다루는 CNN는 서로 가까운 픽셀들을 aggregation와 같은 방식으로 구조화하고 이에 변화량을 학습하여 task를 맞추는 것였더라면, GSNN은 이미 구조화된 cell signaling 네트워크를 레이어화 하여, 서로가 서로의 인풋과 아웃풋으로 정의하여 이 부분을 학습하여 task를 맞추는것이었다. Task 란, 특정 약물에 대해서 어떤 반응이 이루어질까 예측을 하는것이다.

위 이미지는 protein-RNA-drug spaces를 규정하는 그림이다.

아래 이미지는 하나의 조그맣한 그래프로써, 노드들과 엣지들이 어떻게 이루어져있는지 볼 수 있다. Omics nodes는 약물, 유전자 발현량, CNV (Copy Number Variation), 변이, 그리고 메틸화로 정의가 내려져있었다. 이를 통해서 변화를 하게되는 부분은 단백질과 RNA이기 때문에 Function Nodes라 하였다. Output nodes 는 Function Nodes의 변화라 정의하였다.

본 테이블은 GSNNExplainer 알고리즘에 대해 설명하고 있다. 이는 GSNN 모델 결과를 생물학적 해석이 동반되기 위해서, edge importance scores를 밷어내게끔 하는 알고리즘이다.Subgraphs와 그에 대한 edge importance score를 표기를 하기 위한 알고리즘이다. Gumbel-Softmax는 discrete edges sampling을 differentiable 가능케 만들어주는 방법이다. 이는 그라데이션 기반 최적화를 쓸 수 있는 의미가 되고 이는 또 최적의 edges 조합을 찾아낼 수 있는 중요한 셋팅이 된다.

GSNNExplainer를 이용하여 PC3 세포주 (전립선암) 에 대해 “BRD-K50691590” (proteasome inhibitor)가 영향을 끼치는 유전자 발현 반응을 예측을 하였다. ESR1이 중요하다고 알려져있는데, GSNNExplainer를 이용하여 설명력을 가지는 유전자들 중 하나가 ESR1이라는것을 알 수 있다.

GSNNExplainer는 생물학적 현상을 나타낼 수 있는 GSNN 기반의 xAI 모델이다.

Contact Info

Gmail : kjwk1221@gmail.com

LinkedIn : https://www.linkedin.com/in/jiwonkimbrian/


SAM-guided Graph Cut for 3D Instance Segmentation

Arxiv 2023

배지훈

paper link

video

Keypoints

3D Instance Segmentation, Superpoint Graph, SAM (Segment Anything Model)

Background

  • Meta AI에서 이미지 분할을 위한 Vfm (Vision Foundation model)으로 SAM (Segment Anything Model) 논문 및 데모를 공개하였습니다. 워낙 유명한 모델이라 독자 여러분들 대부분은 이미 들어보셨거나 알고 계실거라 생각합니다.
  • SAM의 뛰어난 일반화 성능을 바탕으로, 이를 파인튜닝하여 2D 이미지 분할의 넓은 스펙트럼 영역에서 꾸준하게 좋은 결과들을 보이고 있습니다. 하지만 방대한 양의 2D 이미지 및 마스크 정보를 가지고 학습한 SAM baseline은 3D 데이터 상에서 그 성능을 발휘하지 못하고 있습니다.
  • SAM이 발표된 이후로, 다음 한계점을 파악하고 3D 분야에서 SAM을 적극적으로 활용해보고자 하는 시도들이 많이 등장하고 있습니다. 특히 Nerf 기반의 Radience Field와 3D 포인트 클라우드 도메인에서도 활발한 연구들이 진행되고 있는 것으로 알고 있습니다. (Segment Anything 3D in Nerf & Panoptic Lifting - 이하 Nerf , SAM3D - 이하 Pointcloud)
  • 그렇다면, 제가 집중적으로 다루고 있는 3D 비전 그래프 도메인 상에서도 SAM을 적용해본 재밌는 논문이 없을까 하고 찾아보던 와중에, 다음 논문이 눈에 띄었고 재밌는 내용들도 많이 담겨있어서 이번주 오마카세 주제로 선정해보았습니다.

Introduction

  • 논문의 제목부터 살펴보게 되면, keywords로 크게 SAM, GraphCut, 3D Instance Segmentation으로 나누어볼 수 있을 것 같습니다.
  • 3D 포인트 클라우드 분야에 2D 프레임워크(SAM)를 사용하는 느낌의 논문 제목에서부터 알 수 있듯이, 두 도메인 사이의 gap difference를 극복하기 위한 새로운 프레임워크를 제안합니다. 즉, 3D 포인트 클라우드 분할을 위한 2D 분할 모델을 효과적으로 차용하는 아이디어를 보여주고 있습니다.
  • GraphCut 알고리즘은 어떠한 관련성이 있을까요? 간략하게 본 논문에서는 Superpoint Graph에 할당된 pseudo 레이블의 연결 여부를 그래프 신경망(GNN) 학습 과정을 통해 연관성이 낮은 노드들을 끊어내어, 정확한 인스턴스 분할 결과를 얻어내기 위한 방법론으로써 활용되어집니다.
Fig 1. Generalization ability
  • Fig 1에서는 SAM의 강력한 일반화 성능을 갖는 Superpoint Graph을 적극 활용하여, Data-collected device gap 및 Inter-Scene gap이 많이 포함되어있는 ScanNet++, KITTI-360 데이터셋에서의 Robust한 분할 결과를 달성하는 것을 보여주고 있습니다.

Methodology

Fig 2. Overview
  • Fig 2의 overview를 보면, 제안 방법은 크게 3가지 단계로 나누어볼 수 있습니다. (Graph Construction, Graph Annotation, Deep Graph Cut)
    • Graph Construction : 입력 데이터 (ex. mesh, pcd)로부터 Superpoint Graph를 구성하는 단계입니다. 다음은 전통적인 분할 방법론 (해당 논문에서는 ScanNet for mesh processing, Guinard et al. for pcd processing )이 사용되었으며, 다음 과정을 통해 문제 도메인을 3D segmentation으로부터 Graph (edge) cut 문제로 단순화 시킵니다.
    • Graph Annotation : Multi-view로부터 구성된 Superpoint Graph의 노드, 엣지 Feature를 활용하여 Pseudo-annotation labeling을 수행합니다. 여기에서 SAM-Encoder&Prompt를 활용합니다. Pseudo의 뜻은 아직 레이블링 된 객체들의 연결성 여부가 불확실하기 때문에, 이후의 Graph Cut 단계를 통해 Fine-grained한 분할 레이블 결과를 얻어내고자 하였습니다.
    • Deep Graph Cut : Pseudo-annotation의 연결성 여부를 그래프 신경망을 통해 학습하여 GraphCut 작업을 수행하고, 정확한 분할 결과를 얻어내는 과정입니다.
  • 각 단계의 핵심을 정리해보자면, Oversegmentation to Superpoint Graph -> Annotation by SAM (+Pseudo Labeling by CropFormer) -> GraphCut by training GNN이 될 수 있겠습니다.

Oversegmentation to Superpoint Graph

  • 이전 Article에서도 소개해드렸다시피, Superpoint graph는 original한 데이터 크기를 효과적으로 압축하면서도 중요한 정보들을 저장하고 있는 표현방법이기 때문에 학습 및 연산 측면에서 큰 효율성을 가져올 수 있습니다.
  • 또한 저자들은, Superpoint의 Feature를 3D Proxy로 활용함으로써 Multi-view 이미지와 SAM-Prompt 메커니즘을 활용하는데 있어서 Superpoint Graph 상에 내재한 연결관계 정보를 폭넓게 사용할 수 있는 이점을 강조합니다.

Graph Annotation (by SAM)

  • SAM의 Encoder, Prompt를 활용한 Graph Annotataion을 진행합니다. SAM의 입력으로는 Multi-view 이미지 및 해당 Prompt를 사용합니다.
    • SAM-Encoder : SAM의 Image Encoder를 사용하여 Multi-view 이미지의 Feature를 Superpoint Graph의 노드 Feature로 추출하여 활용하고, 이후 노드 annotation에 대한 정보를 제공해주는 역할을 수행합니다.
    • SAM-Prompt : 입력 Prompt는 해당 문제에서 1개 이상의 2D 포인트가 될 수 있습니다. 다음 2D 포인트는 아래와 같이 얻어집니다.
      • 해당 Superpoint가 동시에 나타나는 (co-occurrence) View-image를 선택합니다.
      • 해당 이미지 공간 (2D space) 상으로 Superpoint를 Projection 시킨 후, k개의 샘플 포인트를 균등하게 Sampling 하여 Prompt points를 얻어냅니다.
      • 이후, Transformer-Decoder를 통하여 Image-Prompt의 Cross-Attention을 수행하여 해당 Mask를 생성합니다. 다음 Mask는 Edge Weight를 측정하는 데 활용됩니다.

Deep Graph Cut (by training GNN)

  • SAM 기반 Annotation된 Superpoint Graph의 엣지 유사도를 기반으로 GraphCut을 수행하여 최적의 분할 결과를 얻어내기 위한 과정입니다.
  • 전통적인 GraphCut 알고리즘을 해당 Superpoint Graph에 직접적으로 수행하기에는 Suboptimal한 결과를 얻어낼 수 있으며, 각각의 엣지 유사도를 독립적으로 계산하기 때문에 Global Perspect가 부족하다는 한계점을 언급합니다.
  • 위 문제를 해결하기 위해 저자들은 그래프 신경망 (GNNs) 모델을 활용하였습니다. 즉, 전통적인 GraphCut 알고리즘을 GNNs training으로 대체하였습니다. GNN을 활용함으로써 분할의 Robustness을 향상시킬 수 있었으며, 노드 및 엣지의 Local connectivity 정보를 적극적으로 활용할 수 있었습니다.
    • Graph Convolution layers - Fully Connected Layer로 구성된 GNN을 통해 최종 엣지 유사도의 Scores를 뽑아냅니다. 특정 임계값보다 낮은 Score의 엣지들을 끊어냄으로써 GraphCut을 수행하며, 결과적으로 남은 엣지와 연결된 노드들을 Clustering함으로써 최종 분할 결과로 출력합니다.
    • 여기에서 중요한 부분은, 해당 GNN은 Pseudo Label이 할당된 Superpoint Graph를 입력으로 받아 학습한다는 사실입니다. 따라서 '어떻게 다음 Pseudo Label을 잘 생성할수 있을까' 라는 질문에 대한 해답을 찾아야만 합니다.

Pseudo Labels Generation (by CropFormer)

  • Pseudo Labels Generation 과정은 최종 분할 결과의 정확도 향상을 위한 GNN 학습에서 매우 중요한 과정이 되겠습니다.
  • 해당 저자들은 높은 정확도의 Pseudo label 생성을 위해서 2D 분할 네트워크인 CropFormer을 차용하였습니다.
    • 실험적으로, 저자들은 All-view image에서의 공통적인 객체 카테고리에 대하여 상대적으로 더 완벽하고 정확한 Instance Segmentation 성능을 달성했던 CropFormer를 차용하여 Pseudo Label을 생성했습니다.
    • 구체적으로, All-view 관점에서 출력된 각각의 Instance들에 대하여, 해당 Superpoint들이 동일한 Mask에 속하고 있으며 최소 n개의 View에서 Co-occurrence를 만족한다면 같은 Instancce에 속하고 있다고 판단할 수 있으므로 다음 Superpoint들을 해당 Positive pseudo Label로 Annotate합니다.
  • CropFormer로 생성된 High-quality한 Pseudo label을 사용하여 GNN을 Supervised하게 학습시켰습니다.
  • 일부 고려사항을 통하여 Graph Construction & Annotation 단계에서는 CropFormer가 아닌 SAM을 사용하였다고 저자들은 설명합니다.
    • SAM은 일반적인 Segmentation Model의 Single Image만 입력으로 받는 것이 아닌, 추가적으로 Prompt (Point, text etc..)들을 받아 Prompt Encoder를 통해 임베딩한 정보들을 활용함으로써, 해당 문제에서 Segment granularity를 조절할 수 있는 장점을 지님.
    • SAM의 뛰어난 일반화 성능으로써 Unseen 혹은 Low frequent하게 등장한 객체들에 대한 처리능력이 우수함.

Experiments

Fig 4. 3D segmentation results
Table 1. Quantitative results of 3D segmentation.
  • 정성 & 정량적 실험 결과를 통하여, 제안 방법은 다양한 데이터셋에서 Robust한 높은 성능을 얻어낼 수 있었습니다
    • 특정 Instance의 Locality가 강한 Part segmentation 뿐만 아니라, 학습되어진 Global connectivity 정보를 바탕으로 전체 객체를 잘 분할해낼 수 있었습니다.
    • 하지만 각 장면 데이터마다 스케일 및 객체의 개수 등이 다양하기 때문에, 다음을 커버할 수 있는 최적의 하이퍼파라미터를 찾는 것이 어려웠다고 합니다. 실제로 저자들은 모든 데이터셋에 동일한 하이퍼파라미터 값을 설정하였을 때, 이상적인 지표 결과를 얻어내지 못했다고 합니다.
  • 그 외에도 SAM과 CropFormer와의 비교 결과도 제공함으로써 위의 설명을 뒷받침하였습니다.
Fig 5. Ablation studies of GNN
  • 가장 눈여겨보았던 실험 결과 부분은 Fig 5의 GNN 사용 유무에 따른 결과 비교였습니다. 다음을 통해 GNN 네트워크의 Representation Power를 확인해볼 수 있었습니다.
    • GNN을 사용하지 않았을 경우, 특정 객체의 경계부분을 너머 다른 객체들까지 같은 Instance로 분할한 결과를 확인할 수 있었습니다.
    • GNN을 사용함으로써, 세부 Instance를 fine-grained하게 분할할 수 있었음을 확인할 수 있었습니다.
    • GNN의 예측 결과에 노드 Feature 보다 엣지 가중치가 더욱 중요한 impact를 주었으며, 엣지 가중치 차이에 따른 결과 차이가 매우 컸다고 합니다.

Summary

  • 본 논문은 Image Sementation 분야에서의 Vfm으로 유명해진 SAM을 2D 도메인 뿐만 아니라 3D 도메인의 포인트 클라우드 분할 문제에서 Superpoint Graph의 Annotation 과정에 활용할 수 있는 방법론을 제안하였으며, 결과적으로 다양한 Gap difference가 존재하는 데이터셋 (ScanNet++, KITTI-360)에서 Robust한 좋은 성능을 달성하였습니다.
  • 기존 SAM을 활용하기 위해서는, 나름 복잡한 문제로 알려져있는 2D-3D 도메인 gap 문제를 해결해야만 하며, 이에 대한 세부적인 저자들의 아이디어 설명과 Ablation Study에서의 비교 실험 등등을 통하여 해결해 나가는 과정들을 구체적으로 설명해주었던 점이 좋았습니다.
  • CV에서의 SAM + GRL (Graph Representation Learning)에 관심이 있으신 분들은 공유드린 paper 링크를 통해 직접 논문을 읽어보시는 것을 추천드립니다.
  • 또한 해당 논문의 발표 Video를 통하여 핵심 요소들을 간략하게 요약설명해주었습니다. 따라서 바쁘신 분들은 공유드린 Video 링크를 통해 참고해보시면 해당 논문을 통한 인사이트를 빠르게 얻어갈 수 있을 것 같습니다.

[Contact Info]

Gmail : jhbae7052@gmail.com / jhbae1184@waseda.akane.jp

Twitter (X): @jhbae1184

LinkedIn


Graph Neural Prompting with Large Language Models

https://arxiv.org/abs/2309.15427

정이태

💡
Keypoint

Graph prompting , harmonize text and graph information in LLM , Retrieval Augument Generation
그림1. 논문 실험 결과 개요
[논문 한 줄]Graph-RAG의 지향하는 아키텍쳐를 잘 구현하고 실험으로써 이 아키텍쳐의 효용성을 실험으로써 잘 입증한 아이디어를 가져왔습니다.
  • RAG(Retrieval Augument Generation)를 이야기하기 전에 먼저, 검색에 대해 짚고 가도록 하겠습니다. RAG는 무엇을 가져오는지에 따라 Generation 결과값이 달라지기 때문에 '무엇을 검색'한다는 측면에서 검색 품질이 중요하다 라고 할 수 있습니다. 여러 검색 기술들 중 RAG에서 활용하는 시멘틱 검색을 이야기 해보자면 다음과 같습니다.

시멘틱 검색?

  • 시멘틱 검색이란 무엇일까요? https://www.elastic.co/kr/what-is/semantic-search 에 따르면, 시멘틱 검색은 단어와 구문의 의미를 해석하는 검색 엔진 기술을 의미합니다. 구문과 사전에 정의한 표현식과 일치하는 정확한 값들만 가져오는 정규표현식, lexical 검과는 다르게 일치하는 콘텐츠를 가져오는 것 뿐만 아니라, 쿼리의 의미와 일치하는 콘텐츠를 반환합니다.
  • 유저가 입력한 질의와 정확한 값만을 도출해주면 될텐데, 왜 그 의도를 이해하고 의미와 일치하는 콘텐츠를 반환해야 할까요? 그 이유는 유저의 질의가 부정확한 상황이 실제로 많이 발생하기 때문입니다.
  • 예를 들어, 유저가 '맛집'이라는 질의를 입력합니다. 정규 표현식 결과라면 '맛집'이라는 단어가 앞 혹은 뒤에 포함되어 있는 값이 도출될겁니다. 만일 데이터베이스에 '맛집'이라는 단어가 포함된 단어가 없을 시 검색 결과가 반환 되지 않는 이슈가 발생하게 됩니다. 반면에, 시멘틱 서치를 활용한다면 '맛집'이라는 검색 의도를 '맛이 있는 음식점'이라는 의미로 이해하고, 이와 관련있고 의미와 일치하는 값을 도출하게 됩니다.
  • 개떡처럼 말해도 찰떡같이 알아듣는다. 라는 속담이 이 기술의 핵심을 대표한다 라고 할 수 있겠네요.이처럼 유저가 원하는 값을 도출하는 건 산업 분야를 막론하고 플랫폼 내에서 유저 행동 여정의 시작을 담당하는 부분이기 때문에 굉장히 중요한 부분이라고 할 수 있습니다.
그림2. 한국어 임베딩 예시 / site - dashboard.cohere / model - embed-multilingual-light-v3.0
  • 이와 마찬가지로, RAG에서도 유저 질의에 함축되어 있는 의도를 이해하고 Retrieval 단계에서 '무엇을 가져올 지'를 지정하기 위해 시멘틱 서치 기술을 활용합니다. 시멘틱 서치를 위해 유저의 의도와 질의를 숫자로 변형하였을 시 발생하는 몇몇 부작용이 있습니다. 유저의 의도와 관련된 데이터가 숫자로는 유사하나 실제 문자로 확인해보았을때 그렇지 않은 경우가 그 부작용 중 하나라고 할 수 있습니다.
  • 구체적인 예시를 들어 부작용을 이야기해보겠습니다. 총 8개의 한국어 문장을 임베딩합니다. 좋아한다와 싫어한다 라는 감정을 담은 문장을 임베딩했을시 임베딩 공간에서 어떻게표현되는지를 그림2로 확인할 수 있습니다.
  • 좌측 빨간색 상자 ①에서는 "나는 너를 싫어해" 와 "나는 너를 좋아해" 그리고 "나는 너를 사랑해" 가 유사한 공간에 위치하고 있음을 볼 수 있습니다. 좋아해를 기점으로 사랑해와 싫어해로 나뉘어져 있는 부분이 신기합니다.
  • 우측 노란색 상자 ②는 사랑이라는 감정이 표현되어 있는 6과 사랑이라는 감정이 표현되어 있지 않고 '친구'라는 매체를 기반으로 어떤 감정이 느껴짐을 대변하는 7이 가깝게 위치함을 확인할 수 있습니다.
  • 위 현상에 대해 명확하게 원인을 분석할 수 있는 방식이 있을까요? 저는 없다 라고 생각하며 아직까지도 연구할 여지가 많은 부분이라 생각합니다.
  • 이처럼 시멘틱 서치는 숫자로 표현되어 의미가 유사한 값들끼리 잘 검색할 수 있다라는 장점이 있는 반면에, 숫자로 변환되는 과정에서 노이즈가 개입하여 그 의미가 오히려 왜곡될수 있다 라는 단점이 존재합니다.
  • 그럼 이 측면을 어떻게 보완할 수 있을까요? 바로 Knowledge Graph 입니다. 데이터간 무슨의미가 있는지를 설계하여 온톨로지를 구축한 후 이를 그래프 형태로 표현한 Knowledge graph는 실제 데이터들끼리 무슨 '연관'이 있는지를 관계로써 나타냅니다.
  • 그렇기에, 실제 factual information 을 담을 수 있고 이를 활용할 수 있다는 점이 지식그래프의 핵심 가치라고 할 수 있고, 이를 Knowledge graph reasoning 이라 부르곤 합니다.
  • 오늘 전달할 논문은 Knowledge graph 를 활용해 factual information을 LLM에게 전달함으로써, 성능을 개선한 논문입니다.
그림3. Graph Neural Prompting Architecture

Graph Neural Prompting 작동 순서

  • 1 - Subgraph Retrieval
    • Knowledge graph를 잘 활용하기 위해선 '관련 있는 지식 그래프'를 가져와야 합니다. 관련 있는 지식 그래프를 가져오기 위해 우선, 유저 질의를 숫자로 바꿔주고 그래프에서 유저 질의와 관련된게 무엇인가를 찾아 가져와야 합니다.
    • entity linking task 를 통해 연결되어 있는 지식그래프 노드와 유저 질의를 비교합니다. 비교한 결과 관련 있는 entity를 선발하여, 그 entity 기준 연결되어 있는 two-hop neighbors 를 가져옵니다.
  • 2 - Graph Neural Prompting
    • 가져온 Subgraph를 정제하고 텍스트 정보와 그래프 정보를 융화하는 과정입니다. 데이터를 가져왔다한들, 데이터에 담겨있는 정보가 과연 유의미한지를 판별하고 만약, 부정적인 영향을 주는 노이즈가 존재한다면 발견하여 정제해야합니다. 이 일련의 과정을 진행하는 단계라고 할 수 있습니다.
    • 2.1-GNN encoder
      • entity 가 숫자로 어떻게 표현되는지를 가져오기위해 우선 Pre-trained entity embedding을 활용합니다. 이 후, graph attention network를 활용하여, 가져온 entity 의 값과 연결된 이웃들의 집합체인 two-hop subgraph를 graph embedding 합니다.
    • 2.2-Cross Modality Pooling
      • 그래프 내 어느 노드가 유저 질의와 관련있는지를 확인하기 위해 self-attention 을 활용하는 단계입니다. 또한
      • 앞서 활용한 GNN encoder 의 결과값인 node embedding에 Self-attention을 적용합니다. text embedding 정보도 마찬가지로 동일하게 관련성을 확인하기 위해 유저 질의를 텍스트 임베딩 형태로 변환한 뒤, self-attention을 적용합니다.
      • self-attention 이 적용된 graph 정보와 text 정보를 내적 연산합니다. 이 내적 부분이 갑자기 두 정보를 연산한다?라는 측면에서 개연성이 부족할 수 있는데요.
      • 간단하게 말씀드리자면 노드 임베딩의 결과물을 query , 텍스트 임베딩 결과물을 각각 key, value라고 간주하여 최종적으로 softmax function 에 적용한 뒤 그래프 , 텍스트 정보간 값들의 significance를 추출합니다.
      • 최종 추출된 값들을 종합하기 위해 average pooling(graph embedding)을 적용하여 정제된 임베딩 값을 도출합니다.
    • 2.3-Domain Projector
      • 지금까지 구현을 통해 최종 도출된 임베딩 값을 LLM에게 잘 전달하기 위해 최종 정제하는 과정입니다. 간단합니다. 유저 질의 임베딩 차원과 동일하게 만들어주기 위해 Feed-forward Neural Network를 거친다 라고 보시면 됩니다.
    • 2.4-Self-supervised Link Prediction
      • 특정 데이터에만 한정하지 않고 추가로 Downstream target 데이터에 지식그래프를 적용하기 위해, A/S하는 과정입니다. 간단히 말하면, 잠재적인 entity link를 발견하기 위해 knowledge graph embedding DistMult score function 을 활용합니다. 이미 연결되어 있는 link를 positive label으로 간주하고, 연결되어 있지 않은 link를 랜덤으로 가져온 뒤 negative label으로 간주하여, link prediction task를 진행합니다.
  • 3 - Prompting LLMs for Question Answering
    • 이렇게 만들어진 Graph prompting 을 활용하여 text embedding 을 결합해줍니다. soft prompt 형태로 text embedding 과 함께 generation prediction 을 수행하는데 파라미터로 입력합니다.
    • 간단하게 soft prompt 와 hard prompt 의 차이를 말씀드리자면 , soft prompt 는 implicit 하게 nudge 형태로 LLM에게 정보를 제공하는 프롬프트이고, hard prompt 는 explicit 하게 직접적으로 LLM에게 지시하는 프롬프트라고 할 수 있습니다.

실험 결과

    • 서두에 표현되어 있는 그림1에서 확인할 수 있듯이, Graph 정보를 활용하였을시, fine-tunned 여부와 관계없이 성능이 향상되는 실험 결과를 볼 수 있습니다.
    • 특히, LLM Frozen 에서는 기존 prompt tuning (hard prompt) 비교 결과 16%가까이 성능 향상이 됨을 확인할 수 있습니다. 요즘 NLP foundation model이 하루가 멀다하고 나오는 가운데, foundation model을 finetuning 시켜놓았다 하더라도 새로운 foundation model이 그 성능보다 높게 나오는 경우가 자주보이곤 합니다.
    • 그 때문에, 최소한의 비용으로 일정 성능을 보장하는 기술인 RAG와 프롬프트 엔지니어링이 각광을 받고 있는 가운데, 그 두 가지 기술을 잘 활용한 Graph based prompt 이 앞으로 많은 활약을 하지않을까 하는 생각이네요.
그림4. cross modality pooling layer 개수에 따라 바뀌는 성능
  • 그림4의 결과가 굉장히 흥미롭습니다. text 와 graph 정보를 잘 조합하는 역할을 하는 Cross modality layer가 11B LLM 모델 기준 commonsense reasoning에서는 많아질수록 성능이 오르고, 반대로 biomedical 에서는 낮아집니다.
  • 이를 해석해보자면 commonsense 일반적인 도메인에서는 graph 정보가 유의미하게 작용하는 반면에, Biomedical 도메인에서는 오히려 노이즈로 작용한다 라고도 볼 수 있습니다.

한 줄

  • Encoder의 값을 순수하게 활용하기보다 여러 FFN을 통해 임베딩 차원을 축소 및 확대하는 과정 속 분명 데이터 고유의 정보가 유실되는 경우가 발생할 거라 생각합니다. 하지만 이 내용을 자세히 다룬 부분이 보이지 않아서 아쉬웠던 논문이였습니다.
  • 논문 코드를 확인하기 위해 논문에 적혀 있는 깃허브 주소를 들어가보면, 아쉽게도 지적재산권 이슈때문에 이 아이디어가 어떻게 구현되었는지 확인할 수 없습니다. 다시말해서, 결국 Amazon에서 이 아이디어를 실제 프로덕트에 활용하고 있을 가능성이 있음을 의미합니다.
  • GraphRAG 분야가 여러 분야에서 활용됨에 따라 요새 다양한 분들과 활용법 그리고 제한이 예상되는 부분을 논의하곤 합니다. 주로 이야기하는 키워드는 속도, 대용량 그리고 지식그래프 설계인데 이 세 가지 키워드를 어떻게 해결하는지 엔지니어링 스킬이 실제 프로덕트에서 활용할 수 있는지를 판가름하는 키라 생각이 되는 요즘이네요. 다들 그럼 이번 한 주도 고생하셨고 다가오는 주간도 좋은일 ㆍ성장 가득한 한 주 되시길 바랍니다.

Contact Info

Gmail : jeongiitae6@gmail.com

Linkedin : https://www.linkedin.com/in/ii-tae-jeong/

Subscribe for daily recipes. No spam, just food.