생물.컴퓨터.통계

마크다운의 장점: RAG-LLM에서 텍스트 추출과 임베딩의 용이성

프로페서 H 2024. 1. 20. 07:54

 

 

마크다운, RAG-LLM 기반 인공지능 시대에 현대 문서 작성의 새로운 지평을 열 수 있을까? 

문서 작성은 오늘날 정보의 전달과 공유에 있어 필수적인 부분이다. 그런데 기존의 파일 형식들, 예를 들어 PDF, .txt, .doc 등은 복잡한 형식과 스타일을 내포하거나 가독성, 변환의 어려움 등의 문제가 있다. 이러한 배경에서 마크다운 (Markdown) 형식이 주목받고 있다. 마크다운은 간결성과 유연성을 바탕으로 현대 문서 작성에 새로운 패러다임을 제시할 수 있을 것으로 생각한다.

다음은 오로지 장점만 바라본 편향된 의견으로 작성되었으니 적절히 알아서 판단하면 좋겠다.

탄생배경과 간단한 문법은 다음 링크를 참고

https://ko.wikipedia.org/wiki/마크다운

 

마크다운 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 마크다운(Markdown)은 일반 텍스트 기반의 경량 마크업 언어다. 일반 텍스트로 서식이 있는 문서를 작성하는 데 사용되며, 일반 마크업 언어에 비해 문법이 쉽고

ko.wikipedia.org

1. 간결성과 가독성

마크다운은 매우 간단한 문법을 사용한다. 이는 문서를 더 읽기 쉽고 이해하기 쉬운 형태로 만들어준다. 반면, .doc 파일은 복잡한 형식과 스타일 옵션을 갖추고 있으며, PDF는 더 정적이고 수정하기 어렵다는 단점이 있다.

2. 편집 용이성

마크다운 문서는 기본적인 텍스트 편집기만으로도 쉽게 작성하고 편집할 수 있다. 이는 .doc 파일이 특정 소프트웨어를 요구하고, PDF가 편집하기 어렵다는 점과 대조된다.

3. 호환성과 이식성

마크다운 파일은 대부분의 텍스트 편집기와 호환되며, 다양한 형식으로 쉽게 변환될 수 있다. .txt 파일도 호환성이 높지만, 스타일링이나 서식 옵션이 없는 것이 단점이다.

4. 웹 통합

마크다운은 웹 기반 컨텐츠에 특히 적합하다. 많은 웹사이트와 플랫폼이 마크다운을 지원하며, HTML로 쉽게 변환될 수 있다. 이는 PDF나 .doc 파일과 비교할 때 큰 장점이다.

 

RAG-LLM 인공지능 시대에서의 마크다운

5. 버전 관리

텍스트 기반 형식인 마크다운 파일은 버전 관리 시스템에서 쉽게 관리될 수 있다. 이는 .doc 파일과 비교했을 때 특히 유용하다.

마크다운은 또한 Retrieval Augmented Generation (RAG) - Large Language Models (LLM)과 같은 첨단 기술에서 텍스트를 추출하고 임베딩하는 과정에서도 PDF에 비해 많은 장점을 가진다.

6. 텍스트 추출 용이성

마크다운 파일은 순수한 텍스트 형식으로 되어 있어, LLM 같은 기술에서 텍스트를 추출하기가 더욱 쉽다. PDF 파일은 이미지나 복잡한 레이아웃을 포함하고 있어 텍스트 추출 과정이 더 복잡할 수 있다.

7. 데이터 처리 효율성

단순한 구조를 가진 마크다운은 데이터 처리가 더 효율적이다. 이는 특히 대량의 데이터를 다루는 RAG-LLM과 같은 시스템에서 중요하다.

8. 정확한 임베딩

마크다운 형식의 간결성과 명확성은 LLM이 텍스트를 더 정확하게 임베딩하고 이해하는 데 도움이 된다. PDF의 복잡한 형식은 임베딩 과정에서 오류를 유발할 수 있다.

9. 유연한 형식 변환

다양한 형식으로의 변환이 용이한 마크다운은 RAG-LLM 시스템에서 다양한 출력 형식을 요구할 때 유리하다.

 

마크다운 기반 대표적인 노트앱으로 notion, obsidian이 있다.

지금까지 워드로 문서를 정리하고 있었다면  옵시디언으로 해보는 것을 정말 추천할 일이라 생각한다.

 

https://obsidian.md

 

Obsidian - Sharpen your thinking

Obsidian is the private and flexible note‑taking app that adapts to the way you think.

obsidian.md

 

2차 업데이트: 2024-08-25

RAG-LLM이 중요해질수록 PDF에서 보다 정확한 text parsing, splitting, embedding의 중요성이 더 커지는 것이 느껴진다. 

요즘 이와 관련하여 PDF 스타일에 대해 검색하던 중 다음의 글이 있어 요약 번역해 보았다.


LLM이 사랑하는 구조: Markdown을 사용한 PDF 분석 향상 2024년 5월 1일 다발 나가르 / CEO

https://www.appgambit.com/blog/llms-love-structure-using-markdown-for-pdf-analysis

 

LLMs Love Structure: Using Markdown for Better PDF Analysis - APPGAMBiT

Data extracted and formatted with Markdown provides structure and context to the data which is generally lost with plain text. For Retrieval-Augmented Generation (RAG) based applications, data available in markdown text format holds significant importance.

www.appgambit.com

 

LLM과 PDF에서 구조화된 데이터를 추출할 때, Markdown 텍스트가 일반 텍스트보다 우월하다는 것은 명확한 사실이다. PDF 파일을 Markdown으로 변환하는 것은 데이터의 구조와 맥락을 유지하는 데 중요하다. 이는 특히 Retrieval-Augmented Generation(RAG) 응용 프로그램에서 중요하다.

 

Markdown이 유리한 이유는 다음과 같다:

  • 구조 보존: Markdown은 PDF의 테이블, 헤딩, 목록 등 본질적인 구조를 보존한다. 이는 모델이 질문 응답이나 요약 작업을 수행할 때 이러한 구조를 이해하고 활용할 수 있게 한다.
  • 의미 강화: 헤더(#, ##), 굵은 글씨(**), 이탤릭(*), 코드 블록(\```) 같은 Markdown 요소는 텍스트의 중요성과 유형에 대한 의미적 단서를 추가한다. 이는 LLM이 텍스트의 의미를 더 잘 이해하게 도와준다.
  • 깔끔한 표현: Markdown은 테이블 데이터를 보다 시각적으로 정돈되고 읽기 쉬운 형태로 제공한다. 이는 LLM이 정보를 처리하는 데 도움이 된다.
  • 맥락 보존: 더 깔끔한 표현은 맥락을 보존하는 데 도움이 된다. 예를 들어, PDF에 그림이 포함되어 있다면, Markdown에서는 텍스트 맥락에서 이미지 링크나 대체 텍스트를 포함시킬 수 있다. 이는 LLM이 일반 텍스트에서는 누락될 수 있는 중요한 정보를 제공한다.
  • 청크 나누기: RAG 시스템에 필수적인 청크 나누기는 문서를 더 작은 부분으로 나누어 처리하기 쉽게 만든다. Markdown은 벡터 데이터베이스 내에서 직접적으로 벡터 표현을 영향을 미치지는 않지만, RAG 시스템 내에서 문맥을 보존하고 활용하는 데 중요한 역할을 한다.

Markdown 사용법: PDF 처리 및 Markdown 생성

  • PDF Parsing과 Markdown 생성: PyMuPDF나 LlamaParse 같은 신뢰할 수 있는 PDF 파싱 라이브러리 또는 서비스를 사용하여 PDF에서 구조화된 텍스트를 추출한다. 이 과정에는 테이블, 헤더 등을 정확하게 식별하는 작업이 포함된다. 현재 우리는 LlamaParse를 사용하여 PDF 파일을 Markdown으로 변환하고 있다. LlamaParse는 헤더, 목록, 내장 테이블을 이해하고 이미지에서 텍스트를 자동으로 파싱하며 다양한 폰트를 처리할 수 있다.
  • 임베딩 생성: PDF 파일은 워드 문서나 파워포인트 슬라이드와 같은 다양한 소스 파일에서 생성되거나 변환될 수 있다. 효과적인 청크 나누기(분할) 전략을 사용하면 관련 콘텐츠가 함께 유지되거나 청크 간에 일정 수준의 중복이 발생한다. 예를 들어, PPT를 PDF로 변환한 경우, PDF 파싱 후 페이지별로 청크를 나눈다.
  • LlamaParse 사용에 따른 주의점: LlamaParse는 독점적인 PDF 파싱 서비스이다. 이는 문서를 그들의 엔드포인트에 업로드해야 함을 의미하며, 이는 많은 사용 사례에 적합하지 않을 수 있다. 무료 플랜은 하루에 1000 페이지의 파싱을 허용한다.
  • 예시 PDF: 이 예제 PDF는 인쇄 회사의 배송 영수증이다. 영수증에는 여러 페이지가 있으며 각 페이지에는 특정 헤더와 푸터가 있다. RAG를 사용한 Markdown 접근 방식을 따르면 필요한 최종 출력을 위해 컨텍스트를 분할하고 재구성할 수 있다.

주의 사항

  • 복잡한 레이아웃을 가진 PDF: 복잡한 레이아웃과 구조를 가진 PDF는 적절한 형식으로 추출하기 어려울 수 있다. 최신 라이브러리나 특수 ML 서비스라 할지라도 형식을 정확하게 파싱하고 보존하는 것은 매우 어려울 수 있다.
  • 일반 텍스트의 한계: 어떤 경우에는 공백이 포함된 일반 텍스트도 작동할 수 있지만, 이는 Markdown 형식만큼 견고하거나 다재다능하지 않다. 예를 들어, 공백만을 사용하여 헤더, 목록, 코드 또는 강조를 표현하려고 하면 빠르게 비현실적이고 신뢰할 수 없게 된다. 텍스트 형식을 통해 전달된 섬세한 세부사항은 일반 텍스트에서 손실된다.

요약

  • Markdown의 필요성: Markdown은 엄격한 요구사항은 아니지만, 구조가 출력의 질에 영향을 줄 수 있는 경우 형식이 많은 차이를 만들 수 있다.
  • LLM과의 사용: PDF에 구조화된 데이터가 포함되어 있고 LLM과 함께 사용하고자 한다면, Markdown은 그 구조를 유지하고 의미적 단서를 제공하는 방법을 제공한다. 이는 구조화되지 않은 일반 텍스트에 비해 더 나은 출력 성능을 가능하게 할 수 있다.

 

저널, 특히 의학저널은 복잡한 표, 그림, 그래프, flowchart, 2단구성등 매우 복잡한 스타일을 가지고 있다. 연구결과들을 PDF로 RAG-LLM을 적용하여 이용하기 위해서는 저널의 스타일부터 RAG-LLM에 적합하게 과감히 변경해야한다. 나는 이 부분이 가장 중요하다고 생각한다.