본문 바로가기

728x90

AI

(42)
0518_BDA_오차역전파 오차역전파 복습 과제학습 목표오차역전파 알고리즘의 핵심 원리를 이해한다.연쇄법칙을 기반으로 한 기울기 계산 방식을 수식과 함께 설명할 수 있다.Affine 및 Softmax 계층의 역전파 수식을 직접 유도할 수 있다.오차역전파의 개요오차역전파 (Backpropagation)인공신경망에서 출력층의 오차를 입력층 방향으로 역전달하며 각 가중치에 대한 손실 함수의 기울기를 계산하는 알고리즘연쇄법칙 (Chain Rule) 기반으로 작동하며, 경사하강법 (Gradient Descent) 등 최적화 알고리즘과 함께 사용됨💡 목적: 손실 함수를 최소화하는 방향으로 가중치와 편향을 업데이트 연쇄법칙 (Chain Rule) 정리(1) 단변수 함수의 연쇄법칙함수 y = f(u), u = g(x) 라면 dy/dx = (d..
가상의 Function Calling 함수를 이용한 실습 pip install openai gradioimport osimport jsonimport pandas as pdfrom datetime import datetimefrom typing import Dict, List, Optional, Unionfrom openai import OpenAIimport gradio as gr# 샘플 데이터 (실제 구현에서는 DB나 API에서 가져올 것입니다)products_data = [    {"상품ID": "P001", "상품명": "프리미엄 강아지 간식 세트", "물류창고ID": "W02", "카테고리": "반려용품", "재고수량": 36, "가격": 32417, "입고일자": "2022-01-14"},    {"상품ID": "P002", "상품명": "고양이 캣..
Function Calling 에이전트 !pip -q install langchain openai tiktoken yfinance langchain_community langchain_openaiimport osos.environ["OPENAI_API_KEY"] = "본인 open api Key 값"Function Calling 함수 명세 예시 간단 예시Function Calling을 하기 위해서는 함수의 명세를 아래와 같은 형식으로 작성해야 합니다.functions = [   {       "name": "get_current_weather",       "description": "현재 날씨 정보 가져오기",       "parameters": {           "type": "object",           "properties":..
Function Calling 예시 - 행거 챗봇 예시 펑션 콜링을 학습하기 위해서 공부한 흔적입니다.아래 내용은 실제 Function Calling 이 아니라 Function Calling 이 왜 필요한가를 설명하는 예시 내용에 가깝다라고 생각하면 됩니다.사용자의 대화를 이해하고 (멀티턴 포함) 충족하는 함수의 호출 조건이 되면 LLM은 어떤 함수를 어떤 파라미터로 호출해야하는지 제안합니다.우리의 코드는 LLM이 함수 호출을 제안하는 순간 실제로 함수를 호출하면, 호출 결과를 LLM에게 전달하면 LLM은 호출 결과를 바탕으로 다시 답변하는 것 입니다.!pip install openai 1. 정보 수집import osos.environ['OPENAI_API_KEY'] =  "본인 openai Key 값"from openai import OpenAIclient..
여러 문서에서 찾아서 답변하는 챗봇 만들기 !pip install -q langchain langchain-openai openai tiktoken chromadb langchain-community!wget https://github.com/chatgpt-kr/chatgpt-api-tutorial/raw/main/ch05/data.zip!unzip dataArchive: data.zip inflating: 1.txt inflating: 10.txt inflating: 11.txt inflating: 12.txt inflating: 13.txt inflating: 14.tx..
LoRA Tuning LLM이 있을 때 모델 전체를 파인 튜닝하는 것은 Full Fine Tuning기존 LLM은 고정해두고 일부 파라미털르 추가하여 학습하는 것이 LoRA Tuning학습 시 LoRA Tuning 은 더 적은 리소스로 학습 가능하며 상황에 따라서 Full Fine Tuning 보다 성능이 우수함vLLM으로 Multi LoRA Serving 을 사용하면 하나의 LLM으로 다수의 모델 Serving 효과를 얻을 수 있음 LoRA TuningLoRA Tuning은 기존 LLM 파라미터는 고정하고, 아래의 그림에서 초록색 박스와 같이 A, B 행렬만 학습한다.파라미터 W(d x d)가 LLM이라고 한다면, LoRA Tuning은 W는 학습하지 않는다.LoRA Tuning은 행렬 A(d, r)과 행렬 B(r, d)를..
RAG를 위한 파인 튜닝 데이터셋 실습 EDA RAG를 위한 파인 튜닝 데이터셋 실습https://huggingface.co/datasets/iamjoon/klue-mrc-ko-rag-dataset iamjoon/klue-mrc-ko-rag-dataset · Datasets at Hugging Face[ "블리자드 엔터테인먼트(Blizzard Entertainment, Inc.)의 인기 디지털 카드 게임 하스스톤(Hearthstone®) e스포츠를 대표하는 세계 최고의 선수들 여덟 명이 챔피언의 전당에 이름을 올리기 위해 벌이는huggingface.copip install datasetsimport numpy as npimport matplotlib.pyplot as pltfrom datasets import load_datasetdataset = ..
Fine-tuning For RAG RAFT: Adapting Language Model to Domain Specific RAGUC Berkeley 논문사용자의 질문과 연관된 문서와 정답과 연관이 없는 문서를 섞어서 검색 결과로 가정하고 데이터셋을 구축이 때 연관이 없는 문서들을 negative documents라고 하며 학습에 도움을 주게 된다.이는 Fine-tuning 시 답변과 관련 없는 정보를 식별하는 능력을 향상시키기 때문이다. 파인 튜닝 전, 후 LLAMA2의 RAG 성능 차이는 매우 크게 나는 것을 볼 수 있음LLAMA2-7B를 파인 튜닝한 것이 GPT-3.5 에 RAG 를 한 것보다 성능이 더 좋음  원문을 인용하여 답변하게 하면 성능 Up원문을 인용해야 하므로 할루시네이션 억제일종의 Chain of Thought 프롬프트..
MultipleNegativesRankingLoss를 활용한 임베딩 파인 튜닝 MultipleNegativesRankingLoss는 문장 임베딩 모델을 파인 튜닝하는 데 매우 효과적인 손실 함수로. 이 방법에 대해 더 자세히 공부해 보겠습니다. 손실 함수(Loss function): 오차를 계산하는 함수로. AI를 학습할 때는 학습 중인 AI의 예측값과 실제 정답간의 오차를 계산해서 해당 오차를 줄이는 식으로 AI 모델을 학습합니다. 포지티브 샘플과 네거티브 샘플포지티브 샘플(Positive Sample): 의미적으로 관련이 있는 문장 쌍을 의미합니다.예: (문서1: "서울의 인구는?", 문서2: "서울의 인구는 약 970만 명입니다.")네거티브 샘플(Negative Sample): 의미적으로 관련이 없거나 관련성이 낮은 문장 쌍을 의미합니다.예: (문서1: "서울의 인구는?", ..
RAG 실습 이후 + LLM 추천 위에서 RAG 실습과, 서울 청년 정책 챗봇을 만들어보면서 관련 내용들을 학습했는데, 추가적으로 더 성장하기 위해서는 어떤것을을 학습해야할지 생각해 보았다. 멀티모달 RAG에이전트 RAG (멀티턴 Function Calling / ReACT Agent / Plan and Execute Agent / Corrective RAG 등)키워드 기반 검색 : BM-25 와 앙상블 리트리버 (바이인코더) 임베딩 파인튜닝 (+ 검색 성능 Metric (NDGC, MAP 등 ...))크로스인코더 임베딩 모델 파인튜닝을 이용한 ReRankingRAG 답변 성능 향상을 위한 LLM 파인 튜닝 (LLaMA, Qwen, Gemma) 위 모든 것들을 구현하기 위한 Langchain, LangGraph, Huggingface T..
RAG 서울 청년 정책 챗봇 실습 여러 문서에서 찾아서 답변하는 챗봇 만들기!pip install -q langchain langchain-openai openai tiktoken chromadb langchain-community!wget https://github.com/chatgpt-kr/chatgpt-api-tutorial/raw/main/ch05/data.zip!unzip dataArchive: data.zip inflating: 1.txt inflating: 10.txt inflating: 11.txt inflating: 12.txt inflating: 13.txt inflating: 14.txt inflating: 15.txt inflating: 16.txt inflating: 17.txt inflating: 18.txt i..
벡터 스토어와 RAG 실습 우선적으로 실습에 앞서 해야할 일PDF 파일을 다운로드Langchain의 PyPDFLoader로 PDF 파일을 읽어서 페이지 별로 저장.예를 들어 368페이지의 PDF 파일이라면 368개의 문서를 얻게 된다.368개의 문서들은 길이가 제각각입니다. 특정 길이(여기서는 2000)로 제한하고 더 잘라준다.총 378개의 문서가 나오게 됩니다. 378개의 문서를 전부 임베딩(Embedding)하여 벡터 데이터베이스에 적재한다.벡터 데이터베이스는 Chroma 또는 Faiss를 사용함질문을 입력하면 378개의 문서 중 가장 유사도가 높은 문서 4개를 출력필요한 패키지 다운로드 랭체인, 벡터 데이터베이스, 임베딩 모델, PDF 파일을 읽는 도구!pip install langchain langchain_openai c..

728x90