본문 바로가기

LLM7

검색증강생성(RAG) - LangChain과 PGVector를 이용한 간단한 RAG 시스템 구축해보기 TL;DR이번 포스트에서는 벡터 DB 중, pgvector를 이용하여 간단한 RAG 시스템을 구축해봅니다. pgvector는 PostgreSQL에서 확장 기능(extension)으로 사용할 수 있는 오픈소스 벡터 DB 이며, 오픈소스임에도 불구하고 상용 벡터 DB에 준하는 성능을 보여줍니다.LangChain 프레임워크 상에서, PDF 파일을 벡터로 변환하여 pgvector에 저장하고 유사 문서를 검색하는 과정까지 수행해보겠습니다.   *샘플 PDF 파일 링크: https://www.dir.ca.gov/injuredworkerguidebook/InjuredWorkerGuidebook.pdf 먼저, 필요한 라이브러리들을 설치해주어야 합니다. LangChain은 LLM 기반 어플리케이션을 구축하는 데에 널리 .. 2024. 5. 13.
Meta, Llama 3 발표: 현존하는 가장 뛰어난 성능의 퍼블릭 LLM TL;DR 한국 기준 4월 19일, Meta 사가 Llama 3 를 발표했다. 대중적인 LLM으로는 ChatGPT의 인지도가 높지만, ChatGPT는 웹 서비스 또는 API를 통해서만 이용 가능하며 모델의 구조나 원본은 공개하지 않고 있다. Llama는 1 버전 출시부터 모델 원본을 오픈소스로 공개하여 큰 파장을 일으켰고, 개발자들은 Llama를 바탕으로 하여 많은 파생 모델을 만들어 이용할 수 있었다. 이번 포스트에서는 이제 막 발표된 Llama 3에 대한 Meta 사의 블로그 포스트를 번역 및 요약하며 어떤 점이 변화되었는지 간단히 알아보도록 하자. * 이해를 돕기 위한 의역이 포함될 수 있습니다. 원문 링크: https://ai.meta.com/blog/meta-llama-3 Takeaways(핵심.. 2024. 4. 21.
LLM이 표(table)를 잘 이해하도록 하자: Chain-of-table: Evolving tables in the reasoning chain for table understanding Chain-of-table: Evolving tables in the reasoning chain for table understanding Chain-of-table: 테이블 이해를 위한 추론 체인(reasoning chain)에서 진화하는 테이블 2024-03-11 by Zilong Wang, Student Researcher, and Chen-Yu Lee, Research Scientist, Cloud AI Team 원문 링크: https://blog.research.google/2024/03/chain-of-table-evolving-tables-in.html Chain-of-table: Evolving tables in the reasoning chain for table understandin.. 2024. 4. 7.
검색증강생성(RAG) - 벡터 인덱스 기초 및 IVF 2023.11.01 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 01. 벡터 DB 기초 2024.01.27 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 02. Ragas를 이용한 RAG 파이프라인 평가 TL; DR RAG 프레임워크에서는, 빠른 벡터 검색을 위해 임베딩한 벡터들을 사전에 군집화 또는 계층화 해놓는다. 이를 통해, 검색 시 모든 벡터를 대조할 필요가 없도록 데이터를 구성하는데 이러한 데이터 구조를 이를 '벡터 인덱스' 라 한다. 벡터 인덱싱 방법으로는 IVF(역파일 인덱스)와 HNSW(계층적 탐색이 가능한 작은 세계) 알고리즘이 가장 잘 알려져 있는데, 여기서는 IVF를 중심으로 설명하면서 벡터 인덱스의 기초가 되는 개념들을 함께 소개한다. 목차 더보기 .. 2024. 2. 12.
검색증강생성(RAG) - Ragas를 이용한 RAG 파이프라인 평가 2023.11.01 - [🔵 AI & ML] - 검색증강생성(RAG) 이해하기 - 01. 벡터 DB 기초 개념 TL;DR 이전 포스트에서 벡터 DB와 검색 증강 생성(RAG)에 대한 간단한 개념을 알아보았다. 그럼, 벡터 DB를 이용해 구축한 RAG 파이프라인을 어떻게 평가할 수 있을까? 언어 모델 자체의 평가에 있어서는 여러 지표가 알려져 있지만, 최근 주목받기 시작한 RAG 분야에 특화된 평가 지표는 확립되어 있지 않은 것 같다. 이 포스트에서는, RAG 파이프라인 평가 프레임워크인 Ragas를 참고하여 RAG의 평가 방법을 알아본다. * 이해를 돕기 위한 의역이 포함될 수 있습니다. Ragas Ragas(Retrieval-Augmented Generation Assessment)는 RAG 파이프라인.. 2024. 1. 27.
LLM 이해하기 - LLM의 기초 개념 TL;DR ChatGPT가 불러온 LLM과 AI의 시대는 아직도 계속되고 있으며, LLM은 계속 진화하고 있다. 이제 SF 창작물에서만 보던 AGI(Artificial General Intelligence) 시대가 점점 다가오고 있는 것 같다. 이 시리즈는 LLM을 기초부터 시작하여 다양한 시각에서 관찰해 나가며 이해하는 것을 목적으로 한다. 이 포스트는 Andrej Karpathy와 정형원 님, 고우영 님의 교육 자료를 주로 참고했고, 그 외 다양한 자료를 참고하여 작성되었음을 미리 밝힌다. Andrej Karpathy(OpenAI, Tesla)의 'Intro to Large Language Models' 영상 링크: https://www.youtube.com/watch?v=zjkBMFhNj_g 정형원.. 2024. 1. 14.
검색증강생성(RAG): 벡터 DB 기초 TL; DR 우리가 어떤 목적이나 데이터에 특화된 customized LLM 앱을 만들고 싶다고 해 보자. 그러면 사용자가 가진 데이터(예: 책, 대화 기록, 기술 문서 등)을 모델에게 추가로 학습시켜야 하는데, LLM을 학습시키는 것은 상당히 높은 컴퓨팅 자원을 요구한다. 그 뿐 아니라, LLM에 맞게 데이터셋과 코드를 별도로 구축해야 하는 번거로움이 있다. 이 때 하나의 대안이 되는 방법이 검색 증강 생성(RAG)이며, 벡터 DB는 RAG 프레임워크의 주요 구성 요소이다. 이 포스트에서는 먼저 RAG와 벡터 DB의 기초 개념과 그 활용 양상에 대해 간단히 살펴본다. 벡터 벡터는 길이와 방향을 가진 수학적 객체를 말한다. 이는 $n$차원 벡터 공간에서의 위치를 나타내며, 이 위치는 길이가 $n$인 1차.. 2023. 11. 1.