10월 4주차 그래프 오마카세

  1. BertNet: Harvesting Knowledge Graphs with Arbitrary Relations from Pretrained Language Models

→ NER(Name Entity Recognition) , RE(Relation Extraction) 때문에 고생하셨던 분들에게 단비같은 논문이라 생각합니다. 프롬프트 엔지니어링과 사전학습된 모델만으로 다양하고 정교한 관계를 추출할 수 있는 방법에 대해 이야기합니다.

  1. Knowledge Graph Generation From Text

→ 대규모 언어모델을 활용해 지식그래프를 형성하는 과정에서 겪게되는 3가지 핵심 문제들을 다룹니다. 논문을 보고 나시면 노드 형성, 엣지 형성, 엣지 불균형 문제를 어떻게 풀면 좋을지에 대한 기초 지식이 튼튼해진 구독자 여러분을 발견하실 수 있을겁니다.

  1. TOWARDS FOUNDATION MODELS FOR KNOWLEDGE GRAPH REASONING

→ 여러 지식 베이스(Foundation Model)들을 통합하여 지식 그래프로 만들면 성능이 좋아질까요? 활용할 수 있는 정보가 많다는 점에서 좋아질수 있고, 오히려 노이즈로 작용하여 나빠질 수 있습니다. 과연 이 논문에서는 어떻게 통합하여 성능향상까지 이루어냈을까요?


BertNet: Harvesting Knowledge Graphs with Arbitrary Relations from Pretrained Language Models

[https://aclanthology.org/2023.findings-acl.309.pdf]

Untitled
  • 논문을 읽는내내 신박하다,새롭다,상상력이 풍부하다 라는 생각이 뇌리에 맴돌만큼 되게 재밌고 독특한 논문입니다. 특히, 특정 도메인에 대한 엔티티와 관계들을 생성하기 위해 기존 방식인 사전학습모델이나 지식베이스를 활용하는게 아니라 프롬프트 프레임을 설정하여 접근하는 관점이 되게 신기했습니다.
  • 그간 zero-shot , one-shot , few-shot 등과 같이 프롬프트에 예시를 얼마만큼 부여하는지가 중점인 논문들만 보다가, 패러프라이징을 통해 다양한 관점을 도출한다는 것 그리고 다양한 관점에 대한 중복성을 제거하기 위해 edit distance 를 적용한 점. 기본, 참신함 그리고 간결함 3가지를 고루갖췄다는 점에서 그 신기함이 배가 되지 않았을까 싶네요.
  • 사전에 프롬프트의 틀을 만들어 주는것에 대한 의존성이 가장 큰 한계점으로 존재하겠지만, 리소스 관점에서 본다면 도메인에 대한 어느정도 스터디 이후 프롬프트를 만들어 주는것이 새로운 거대언어모델을 구축하는것 대비 훨씬 효율적이지 않을까 싶습니다.
  • 프롬프트의 다양성을 위한 고려, 엔티티 후보군와 프롬프트 간의 적절성에 대한 고려, 관계 그리고 엔티티들이 많아질 경우 결국 확장성에 대한 문제가 발생할텐데 이를 힙구조를 차용한 관점, 프롬프트를 사람이 만드는게 좋을지 기계가 만드는게 좋을지 많은 프롬프트를 만들면 좋을지에 대한 관점 등 고려해볼만한 요소들을 총체적으로 본 논문에서 다룹니다.

Knowledge Graph Generation From Text

[https://arxiv.org/pdf/2211.10511.pdf]

Untitled
  • RAG가 대두되면서 Graph 에 대한 관심도 올라가고 있습니다. RAG에서 Retrival 에 정보를 제공하는 재료로써 지식그래프의 유용성이 이곳저곳에서 입증되고 있기 때문인데요. 유용성 중 크게 주목을 받는 곳은 환각현상과 Knowledge cutoff 입니다. 환각현상을 보완하기 위해 ‘정확성’을 향상 그리고 언어모델의 지식 반감기를 보완하기 위한 ‘최신성’ 을 반영할 수 있다는게 유용성의 핵심입니다. 그러면 이 유용성을 위해 어떻게 지식그래프를 활용할까요?
  • 다양한 방식이 존재하지만 가장 현실에서 많이 활용하는 방식을 말씀드리자면, 사내 문서들을 그래프 형태로 변형하여 지식들을 통합합니다. 이 때, 발생하는 문제들이 많습니다. 그래프 형태로 만들기 위해 문서 내에 개체들을 추출하고, 그 개체들간 관계를 형성해줘야 합니다. 여기에서 ‘개체’ 그리고 ‘개체들간 관계’를 사람이 모두 라벨링해주는것에 대한 한계가 존재하기에 이 과정을 자동화 및 정확도 향상을 위해 주로 지식베이스나 언어모델을 활용합니다.
  • 하지만 앞서 언급한 방법들을 활용한다고 한들 부차적인 문제들이 존재합니다. 결국 지식 그래프를 형성하는게 목적이기에 ‘그래프’를 만드는게 핵심입니다. 이때, 지식 그래프 내에서 어떻게 개체(노드)를 생성할것이고 그 개체들간 관계를 어떤 문제로 정의하여 해결할 것인가에 대한 심도있는 고민이 필요합니다. 본 논문에서는 그러한 고민들을 어떻게 해결할지에 대해 이야기합니다.
  • 노드들을 ‘생성’할 때, 그래프 고유 특성인 순열 불변성을 고려할것인가 아닌가 부터 시작하여 엣지를 생성할것인가 혹은 엣지를 분류할것인가 그리고 최종적으로 개체들간 관계 분포를 살펴보면 극심한 불균형이 존재할텐데, 이를 어떻게 해결할것인가 와 같은 문제들을 어떻게 풀어나갈지에 대해 잘 설명해놓았습니다.

TOWARDS FOUNDATION MODELS FOR KNOWLEDGE GRAPH REASONING

[https://arxiv.org/pdf/2310.04562.pdf]

Untitled
  • 지식 베이스들간 지식들을 통합할 수 있을까요? (head, query, tail) 형태로 지식이 관리되기에 그 형태는 통합되어있기에, 일차원적으로 생각해본다면 별 문제는 없어보입니다. 하지만, 무수한 지식들속에서 사용자가 의도한 값을 가져올때 만약 지식 베이스에 그 의도한 값이 새로운 값이라면 어떻게 이를 해결할까요? 모든 지식베이스를 통합한다고 한들 이러한 경우가 필연적으로 발생할거란 생각이 듭니다. 새로운 값이기에 답변을 하지 못한다면, 사용자 경험측면에서 부정적인 영향을 야기할 가능성이 큽니다.
  • 그렇다면, 가지고 있는 데이터내에서 가지고 있지 않은 데이터를 추론해야한다는 말인데 어떤 방식으로 해결하면 좋을까요? 그래프에서는 주로 이를 transductive 와 inductive 측면으로 접근한다고 합니다. 전자는 학습과 추론이 모두 연결된 한 그래프 내에서 진행됩니다. 이 때, 학습과 추론에 사용할 데이터는 마스킹을 해주며, 마스킹된 데이터가 학습과 추론에 반영치 않게 해줍니다. 후자는 학습과 추론에 사용할 데이터를 모두 분리해서 ‘한’ 그래프가 아닌 각각 ‘별개’ 그래프마다 학습과 추론을 진행합니다. 앞서 언급한 두 방식 차이는 data leakage 라고 할 수 있습니다. 실제로 분리가 되어있지않더라도 그래프 딥러닝의 정보교류를 통해 그 정보가 어떻게든 반영이 될거라는 거죠. 하지만, 그래프 데이터 특성상 연관이 있는 데이터들은 모두 엣지를 통해 연결이 되어 있기에 후자인 inductive 방식은 그 토폴로지를 잘 활용하는게 핵심인터라 그 키포인트를 많이 활용하지 못하게 됩니다.
  • 그렇기에 inductive 관점에서는 새로운 토폴로지를 맞이하였을때 어떻게 접근하는지가 중요한 포인트라고 할 수 있습니다. 본 논문에서는 이러한 관점을 fundamental interaction 4가지 엣지 분류를 활용하는 아이디어를 제시합니다. 4가지 엣지란 h2h(head-to-head) , h2t(head-to-tail) , t2h(tail-to-head) , t2t(tail-to-tail) 를 의미합니다. 관계들끼리 어떤 특성으로 주로 이어졌는지를 맵핑해줌으로써 평소에 관계들간의 상대적인 분포를 활용합니다. 이를 기반으로 형성된 조건 함수를 개체들끼리 연결될 확률을 예측하는데 보완재로 활용함으로써, 특정 개체들 그리고 새로운 개체들이 등장하였을 때에 추론 성능에 도움을 주는거죠.
  • 정리해보면, 지식 베이스간 관계 정보들을 종합하기 위해 관계 정보들을 맵핑하고 그 관계 정보들을 특정 조건함수 형태로 구성하여 개체간 연결 가능성을 파악하는데 활용한다. 라는게 논문의 골자 입니다. 이외에도 그래프 딥러닝의 장점인 labeling trick 을 어떻게 활용하는지부터 시작하여, 어떤 지식베이스들끼리 종합하면 좋을지 등등 다양한 유용한 정보들이 본문과 부록에 실려있기에 언어모델이 아닌 그래프 관점으로만 검색 혹은 Q&A 모델을 설계하고 싶다 하신 분들이 참고하실 부분이 많을거라 생각합니다.

Subscribe for daily recipes. No spam, just food.