프롬프트 전략프롬프트 전략은 LLM에게 보다 정확하고 효과적인 답변을 유도하기 위한 입력 방식이다. 다양한 전략을 활용해 모델이 단계적 사고 과정을 따르거나, 감정에 반응하는 방식으로 개선된 성능을 유도할 수 있다.Chain-of-Thought (CoT)Chain-of-Thought는 모델이 문제 해결을 위해 단계별로 논리적인 사고 과정을 따르도록 유도하는 프롬프트 방식이다. 이 방식은 주로 복잡한 문제를 해결할 때 유용하고 각 단계를 명시적으로 제시해 모델이 점진적으로 답을 구성하도록 한다. Chain-of-Thought (CoT) 프롬프트 전략을 사용할 때 모델의 응답 성능이 향상되는 이유는 바로 문제 해결 과정을 단계별로 설명하도록 유도하기 때문이다. 왼쪽 표의 일반 프롬프트에서는 모델이 단순히 답..
RAG
RAG와 Fine-Tuning 차이사실 RAG와 Fine-Tuning 중에 하나만을 써야 하는 건 아니다. 두 개를 전부 사용하는 모델도 있다. 하지만 일단 이 두가 지 접근법을 비교하는 건 의미가 있을 것 같다.Knowledge sourceRAGparametric + non-parametric즉, external knowledge를 결합해서 시너지 효과를 보는 방법론Fine-Tuning베이스 모델을 태스크에 맞게 추가로 파인튜닝즉, parametric knowledge를 업데이트하는 방식Knowledge updateRAG소스가 되는 외부 데이터베이스를 업데이트함으로써 모델 전체를 최신화할 수 있다.Fine-Tuning반면, 파인 튜닝 방식으로 모델을 최신화하기 위해서는 학습을 다시 시켜야 한다. 살..
일반적인 생성형 언어모델의 파이프라인User가 input을 주면 GPT나 T5 같은 언어모델의 내부를 지나게 된다. 언어 모델은 사전학습된 파라미터 값들과 input값들을 통해 ouput을 만들어낸다. 우리는 이 과정에서 자세히 어떤 일이 일어나는지 알 수 없다. 단지 언어모델의 어딘가에는 학습과정 때 주어진 지식들이 저장되어 있을 거라는 걸 실험적으로 도출할 수 있을 뿐이다. 이걸 파라메트릭 메모리(Parametric Memory)라고 한다. 파라미터에 저장되어 있기때문에 이런 이름이 붙었다. 모델이 적절하게 학습되었고 또 모델의 capacity가 충분할 경우에는 모델의 첫 번째 질문, '2020년 최저시급이 얼마야?'라는 질문에 첫 번째 예시와 같이 2020년 한국의 최저시급은 8,590원이라고 정..
📌 서론이번 글에서 설명할 모델들은 이전 글에서 설명한 트랜스포머 구조를 사용한 모델들이다. 그러므로 트랜스포머 구조를 설명한 이전 글을 읽고 오면 좋을 것 같다!2024.08.19 - [Upstage AI Lab 4기/RAG] - [RAG] RAG의 기본 개념 및 트랜스포머 어텐션 설명 (1) [RAG] RAG의 기본 개념 및 트랜스포머 어텐션 설명 (1)1. RAGRAG는 “Retrieval Augmented Generation”의 약자로, 사용자의 쿼리에 대한 응답을 생성할 때 모델의 내재적 지식에만 의존하지 않고, 외부의 지식을 검색하여 보충하는 방법이다. 이 방법은 크게 세yijoon009.tistory.com BertBert는 트랜스포머의 인코더만을 사용한 모델이다.디코더 부분이 없으니 자연..
1. RAGRAG는 “Retrieval Augmented Generation”의 약자로, 사용자의 쿼리에 대한 응답을 생성할 때 모델의 내재적 지식에만 의존하지 않고, 외부의 지식을 검색하여 보충하는 방법이다. 이 방법은 크게 세 가지 중요한 단계로 구성된다:Indexing: 외부 지식을 효율적으로 검색할 수 있도록 미리 처리해 두는 단계이다.Retrieval: 사용자의 쿼리에 적합한 지식을 검색하여 모델에 전달하는 단계이다.Generation: 전달받은 지식을 기반으로 사용자의 쿼리에 대응하는 응답을 생성하는 단계이다. 2. Language Models언어 모델은 자연어를 확률적으로 모델링하는 시스템이다. 즉, 주어진 단어나 문장 조합이 얼마나 자연스러운지를 학습하고, 이에 따라 확률을 부여할 수 있다..
이번 글은 이전 글과 이어지는 내용이다. 이전 글은 여기서 볼 수 있다.페르소나를 이용한 챗봇 (1) - 셜록 홈즈 데이터 준비 및 검색 엔진 설정 페르소나를 이용한 챗봇 (1) - 셜록 홈즈 데이터 준비 및 검색 엔진 설정셜록 홈즈와 대화하는 챗봇을 만들어보자! 1. 데이터 준비a. 원본 데이터 다운로드!curl https://sherlock-holm.es/stories/plain-text/cano.txt -o ../dataset/holmes/canon.txt 위 명령어는 curl을 사용하여 URL에서 텍스yijoon009.tistory.com 1. bot with prompt우선 메모리가 없는 페르소나 챗봇을 베이스라인 삼아서 만들어보자.template = """I want you to act l..
셜록 홈즈와 대화하는 챗봇을 만들어보자! 1. 데이터 준비a. 원본 데이터 다운로드!curl https://sherlock-holm.es/stories/plain-text/cano.txt -o ../dataset/holmes/canon.txt 위 명령어는 curl을 사용하여 URL에서 텍스트 파일을 다운로드하고, 이를 ../dataset/holmes/canon.txt 경로에 저장하는 것이다. 이 파일에는 셜록 홈즈 소설 전체가 담겨 있다. b. API 키 설정여기서는 OpenAI API 키를 설정하는 과정이다. os.environ을 사용하여 환경 변수 OPENAI_API_KEY에 API 키를 저장한다. 이후 이 키를 사용하여 OpenAI의 서비스를 호출할 수 있게 된다.import osapi_key =..