인공지능/LLM

    [RAG] Knowledge Graph Prompting for Multi-Document Question Answering

    [RAG] Knowledge Graph Prompting for Multi-Document Question Answering

    https://arxiv.org/abs/2308.11730?source=post_page-----ab5c4006a429-------------------------------- Knowledge Graph Prompting for Multi-Document Question Answering The `pre-train, prompt, predict' paradigm of large language models (LLMs) has achieved remarkable success in open-domain question answering (OD-QA). However, few works explore this paradigm in the scenario of multi-document question an..

    [LLM] SELF-RAG: Learning to Retrieve, Generate and Critique through Self-reflect

    [LLM] SELF-RAG: Learning to Retrieve, Generate and Critique through Self-reflect

    ConceptLM을 이용해서 On-demand Retrieval을 할 수 있다.Reflection Token을 통해 generation의 quality와 attribution을 증진시킨다.ProblemExpense of runtime efficiencyRobustness to irrelevant contextLack of attributionHow to Solve Reflection Token이라는 Special Token을 사용해서 Retrieval이 필요한지 판단할 수 있게 하자.Retrieval Passage와 Generated Sentence에 대해서 Reflects를 하자.Reflection TokenRetrieve : 현재 문장을 보고 Retrieve과정이 필요한지 안한지에 대한 토큰이다.Is..

    [LLM] Seven Failure Points When Engineering a Retrieval AugmentedGeneration System

    [LLM] Seven Failure Points When Engineering a Retrieval AugmentedGeneration System

    RAG의 Failuer Points에 대해서 정리한 논문이 있어서 참고 겸 공부 겸 정리하고자 한다. https://arxiv.org/abs/2401.05856 Seven Failure Points When Engineering a Retrieval Augmented Generation System Software engineers are increasingly adding semantic search capabilities to applications using a strategy known as Retrieval Augmented Generation (RAG). A RAG system involves finding documents that semantically match a query and th..

    [LLM] Paged Attention

    [LLM] Paged Attention

    Background 1. Query, Key, Value Encoder에서의 의미 분석하고자 하는 단어(Query)를 그 외의 다른 단어들에 대한 문맥상의 의미(내용, 위치 정보등)를 나타내는 임베딩 값(Key)과 비교하면서 우리의 Query가 문장 내 다른 단어들의 Key값 얼마나 유사한지를 평가합니다. 그렇게 생성된 유사도 점수는 문장에서 각 단어들의 의미(Value)에 대한 가중치로 적용이 됩니다. 그렇게 유사도 점수를 Value에 적용하여 구해낸 값이 Attention Score입니다. 이는 우리가 분석하고자 하는 단어가 문맥상의 의미를 고려해서 어떤 의미인지 계산해내는 방법입니다. 이를 Encoder에서는 모든 단어들에 대해서 구하게 됨으로써 입력 시퀀스 내의 각 단어가 다른 단어와 어떻게 관..

    [LLM] Flash Attention

    [LLM] Flash Attention

    BackGround - GPU Kernel GPU의 커널은 GPU에서 실행되는 프로그램 또는 함수를 의미한다. 이들은 CUDA나 OpenCL과 같은 특수한 라이브러리등을 사용해서 병렬 처리와 GPU연산에 특화되게끔 프로그래밍 된다. - GPU의 메모리 구조와 기존의 Attention 연산 방식 GPU의 메모리 구조는 다음과 같다. GPU의 대부분 연산은 SRAM의 값에서 이뤄지고 CPU 연산의 DRAM의 역할을 GPU HBM이 한다고 생각할 수 있다. CPU RAM은 GPU입장에서는 다른 I/O작업이 필요하기 때문에 CPU의 SSD와 유사하다고 볼 수 있다. 기존 Attention 알고리즘에서 Query, Key, Value값들이 어떻게 메모리에서 load와 store가 되는지 알아보면 다음과 같은 순서..