본문 바로가기

전체 글52

[논문 리뷰] FASTDECODE : High-Throughput GPU Efficient LLM Serving using Heterogeneous Pipelines (2024) 논문명: FASTDECODE: High-Throughput GPU Efficient LLM Serving using Heterogeneous Pipelines (2024)저자: Jiaao He, Jidong ZhaiI. Introduction ✅ LLM의 디코딩LLM을 사용하여 요청에 응답하는 과정은 두 단계로 나뉜다.[1] Prefilling : 모든 토큰들이 배치 단위로 처리되어 MLP 레이어에서 동시에 계산[2] Decoding : GPU에서의 디코딩은 비효율적이다?              → 마지막 토큰의 특징 벡터를 사용하여 다음 토큰 예측하는 과정으로 새로운 토큰은 하나씩 순차적으로 모델 통과 ✅ GPU 활용도 향상문제1. GPU에서의 디코딩이 비효율적인 이유디코딩 단계의 주요 연산은 GeMV.. 2025. 1. 15.
[VScode] code에서 cuda 사용하기 우선 본 포스팅은 code와 python은 깔려있다고 가정한다. 보통 아래와 같은 식으로 활성화 여부를 확인할 수 있다.if not torch.cuda.is_available(): print("CUDA is not available. Exiting the program.") exit()device = torch.device("cuda") 만일, CUDA가 활성화 상태가 아니라면 아래와 같은 방법으로 해결할 수 있다. #1. 그래픽카드, CUDA 버전 확인명령어 nvidia-smi or nvcc --version를 통해 확인 가능하다.  #2.  cuda version과 호환되는 pytorch 설치 아래 링크에 들어가서 내 cuda 버전과 일치하는 pip 명령문을 가져오면 된다.https://p.. 2025. 1. 15.
Attention is All You Need(Transformer) Pytorch로 구현 Attention is All You Need 구현본 포스팅은 2018년 harvardnlp(The Annotated Transformer (harvard.edu))에 게시된 “Attention is All You Need” paper를 바탕으로 실제 PyTorch로 구현하는 내용을 리뷰하는 것이다. 또한, 본 코드는 OpenNMT 패키지를 기반으로 한다.Prelimsimport numpy as npimport torchimport torch.nn as nnimport torch.nn.functional as Fimport math, copy, timefrom torch.autograd import Variableimport matplotlib.pyplot as pltimport seabornseabor.. 2025. 1. 14.
[Transformer 정리] 03. Positional Encoding과 특수 토큰 Positional Encoding(위치 인코딩)✅ 위치 인코딩 방식의 필요성트랜스포머의 특징 : 시퀀스의 각 단어는 임베딩 처리되어 벡터 형태로 변환됨 / 시퀀스를 병렬 구조로 처리→ 따라서, 단어의 순서 정보를 제공하지 않는다. 때문에 위치 정보를 임베딩 벡터에 추가하여 단어의 순서 정보를 모델에 반영해야 한다. 이를 위해 트랜스포머는 위치 인코딩 방식을 사용한다. ✅ 위치 인코딩이란?위치 인코딩 : 입력 시퀀스의 순서 정보를 모델에 전달하는 방법 (각 단어의 위치 정보를 나타내는 벡터를 더하여 임베딩 벡터에 위치 정보를 반영)인코딩 벡터는 sin 함수와 cos 함수를 사용하여 생성되며, 이를 통해 임베딩 벡터와 위치 정보가 결합된 최종 입력 벡터를 생성한다. 위치 인코딩 벡터를 추가함으로써 모델은 .. 2025. 1. 13.
[Transformer 정리] 02. 트랜스포머 기본 구조 트랜스포머는 인코더와 디코더 두 부분으로 구성되어 있으며, 각각 N개의 트랜스포머 블록(Transformer Block)으로 구성된다. 이 블록은 멀티 헤드 어텐션(Multi-Head Attention)과 순방향 신경망(Feed Forward)으로 이루어져있다.이제 각각을 간단하게 살펴보자.Multi-Head Attention입력 시퀀스에서 쿼리(Query), 키(Key), rkqt(Value) 벡터를 정의하여 입력 시퀀스들의 관계를 셀프 어텐션(Self Attention)하는 벡터 표현 방법이다. 이 과정에서 쿼리와 각 키의 유사도를 계산하고, 해당 유사도를 가중치로 사용하여 값 벡터를 합산한다. → 해당 과정에서 생산된 어텐션 행렬은 각 단어의 임베딩 벡터를 대체하는 것이다. # Q, K, V란?Qu.. 2025. 1. 13.
[Transformer 정리] 01. 개요 트랜스포머(Transformer)는 2017년 코넬 대학의 아시시 바스와니 등의 연구 그룹이 발표한 “Attention is All Yout Need” 논문을 통해 소개된 신경망 아키텍처이다.특징 : 트랜스포머 모델의 주요 기능 중 하나는 순환 신경망과 같은 순차적 방식이 아닌 병렬로 입력 시퀀스를 처리하는 기능이다. 긴 시퀀스의 경우 트랜스포머 모델을 순환 신경망 모델보다 훨씬 더 빠르고 효율적으로 처리한다.구조       Q. Sequential Processing이나 Recurrent Connections에 의존하지 않고 입력 토큰 간의 관계를 처리할 수 있는 방법은?       A. Self Attention 기법트랜스포머 모델 분류→ 앞으로 소개할 트랜스포머 기반 모델들은 오토 인코딩(Auto-.. 2024. 12. 26.