Attention is All You Need: Transformer와 LLM의 발전 양상
·
📓 Papers
Transformer 모델: 기존 인코더-디코더 모델을 발전시킨 모델로, RNN 기반 인코더-디코더 모델보다 학습이 빠르고 성능이 좋다.병렬화RNN 기반 인코더-디코더: 입력으로 들어오는 텍스트의 단어들을 순차적으로 계산하여 인코딩.Transformer: 행렬곱으로 한 번에 병렬 처리. Positional encoding(RNN 사용 X) 순차 입력을 받지 않음 → 위치/순서 정보를 제공해줘야 한다.Positional encoding: 인코더 및 디코더의 입력 값마다 상대적인 위치 정보를 더하는 기술.Transformer는 단순 비트 인코딩이 아니라 Sin, Cos 함수를 사용한 positional encoding을 사용한다.장점Sin, Cos 함수) Positional encoding 값이 항상 -1에..
From Local to Global: A Graph RAG Approach to Query-Focused Summarization
·
📓 Papers
RAG (Retrieval-Augmented Generation): Query가 주어졌을 때, 데이터베이스에서 관련된 정보를 검색하여 프롬프트에 contxt를 추가.장점Hallucination 최소화Fine-tuning 대비 저렴한 비용으로 관련 정보 검색 가능한계전체 corpus에 대한 추상적 요약이 어려움Context window 한계로 인한 정보 손실 (”lost in the middle” 현상)Graph RAG (GraphDB + RAG)데이터를 지식 그래프 구조로 변환 → 그래프 검색을 활용한 RAG더보기Knowledge graph 지식 그래프:Knowledges의 구조화된 표현Node: entities or conceptsEdge: relationships between entities Mic..
Batch 배치
·
💻 Study/🤖 AI 인공지능
1. Batch란?Batch는 인공지능(특히 딥러닝)에서 데이터를 처리하는 단위를 의미한다. 신경망을 학습할 때 전체 데이터를 한꺼번에 처리하지 않고, 여러 개의 작은 묶음(즉, 배치)으로 나누어 처리한다. 이는 메모리 사용량을 줄이고, 병렬 처리의 효율성을 높이며, 학습 과정에서의 안전성을 높이는 등의 이점이 있다. 2. Batch의 종류1. 배치 학습 (Batch Learning): 전체 데이터를 한 번에 학습하는 방식. 일반적으로 메모리가 많이 소모되며 큰 데이터셋에서는 비효율적이다.2. 미니배치 학습 (Mini-Batch Learning): 전체 데이터를 작은 묶음으로 나누어 학습하는 방식. 일반적으로 많이 사용된다.3. 확률적 경사 하강법 (Stochastic Gradient Descent, S..
Nginx - Streamlit 프록시 설정 방법
·
💻 Study/웹
Streamlit과 Nginx 각각에서의 설정을 해줘야 하다. Streamlit아무것도 설정할 필요 없다. 기본값으로 8501번 포트에서 streamlit app이 실행된다.만약 port 등을 설정하고 싶다면, 프로젝트 디렉토리 내 .streamlit/config.toml 에서 설정할 수 있다.# 예시[server]port=8000 Nginx/etc/nginx/nginx.conf 에서 nginx가 지켜볼 port와 이 port로 들어오는 요청을 전달할 주소, 즉, streamlit이 실행되고 있는 주소를 연결해줘야 한다. http.server 설정을 아래와 같이 해준다.proxy_pass에는 streamlit app이 실행되고 있는 주소를 넣어줘야 한다.따로 설정해준 게 없다면, http://localh..
Linear Layer
·
💻 Study/🤖 AI 인공지능
Linear Layer는 딥러닝의 가장 기본적인 구성요소 중 하나이다. 딥러닝을 시작하는 단계라면, Linear Layer의 동작 원리와 역할을 이해하는 것이 중요하다. 1. Linear Layer란?Linear Layer는 인공 신경망의 기본 구성 요소로, 입력 벡터를 선형 변환(Linear Transformation)해서 출력 벡터를 만든다. 이는 다음과 같은 수식으로 표현될 수 있다.\[ y=Wx+b\]여기서:\(y\)는 출력 벡터\(W\)는 가중치 행렬 (wegihts)\(x\)는 입력 벡터\(b\)는 편향 벡터 (bias)이 수식을 통해 입력 데이터를 가중치와 편향을 사용해 선형 변환한 결과를 얻는다. 2. Linear Layer의 역할Linear Layer는 다음과 같은 중요한 역할을 한다.특..
Basic Building Block 기본 빌딩 블록
·
💻 Study/🤖 AI 인공지능
기본 빌딩 블록 (Basic Building Block)'기본 빌딩 볼록' 이라는 말은 어떤 복잡한 구조를 구성하는 가장 기초적인 구성 요소를 의미한다. 예를 들어, 집을 지을 때 벽돌 하나하나가 기본 빌딩 블록이 되는 것처럼, 딥러닝 모델에서는 Linear Layer 같은 간단한 레이어들이 모여서 복잡한 신경망을 구성하게 된다. Linear Layer는 딥러닝 모델에서 데이터를 변환하고 처리하는 데 있어 가장 기본적인 작업을 수행한다. 이 레이어가 여러 개 쌓여서 복잡한 패턴을 학습하고, 더 높은 수준의 추상화를 이룰 수 있는 구조를 만들게 된다. 이렇게 기본 빌딩 블록을 쌓아가며 복잡한 모델을 구성하는 과정에서, 각각의 블록이 중요한 역할을 한다는 뜻이다.예를 들면:만약 이미지를 분류하는 모델을 만든..