Continuous Batching과 PagedAttention
Introduction 구분직접 구현vLLM스케줄링 단위배치 단위 - 배치 종료까지 대기iteration(=forward pass 1회) 단위빈 슬롯 처리먼저 끝난 요청의 자리가 유휴 상태로 잠김종료 즉시 새 요청 투입KV cache 관리없음 (max_len만큼 연속 할당 가정)블록 단위 페이징, on-demand 할당prefill / decode구분 없음성격이 다른 워크로드로 구분해 혼합 스케줄링메모리 부족 시OOMpreemption 후 재계산핵심배칭의 본질은 "요청을 모으는 것"이 아니라 매 forward pass마다 GPU를 놀리지 않도록 스케줄링하는 것그 전제 조건은 KV cache를 OS의 가상 메모리처럼 다루는 것 prefill과 decode는 다른 작업LLM 추론은 성격이 완전히 다른 두 단..
2026.08.15
Introduction to Model Serving and Optimization
요약inference engineering 용어 多모델의 구성 요소- 모델 데이터- 모델 아키텍처- 모델 실행 코드LLMEmbeddingTransformer BlockAttentionFFNOutput head아키텍처와 데이터를 분리해서 저장하는 이유전체 모델을 하나의 파일로 저장할 수 있지만, 아키텍처와 weight를 분리하면 버전 변경, 부분 로딩, fine-tuning, 레이어 추가 같은 운영 시나리오에 더 유연e.g. 새 모델 구조와 기존 checkpoint 사이에 일부 key가 맞지 않아도 호환되는 파라미터만 선택적으로 로드 가능설정 (Config) 파일가중치 (Weight) 파일토크나이저 관련 파일모델 생명주기학습 ~ 서빙까지이 책에서는 서빙 부분을 주로 다룬다모델 서빙모델 서빙은 API, 웹 ..
2026.08.09
no image
LLM
1-1. LLM 은 무엇인가?LLM(Large Language Model)언어 모델(Language Model) : 어린 아이에게 글을 가르치듯이 컴퓨터에게 어떻게 말을 하고 글을 쓰는 지 가르치는 것과 같음🌟 언어 모델의 발전과 관련하여 몇 가지 변곡점 존재 1-1-1. 언어 모델통계적 언어 모델초기 모델 : 통계적 방법에 기반컴퓨터가 문장이나 단어를 얼마나 자연스럽게 표현하는가언어 모델에서의 확률/통계적 방법n-gram: 일련의 단어나 문자가 얼마나 자주 함께 나타나는가.💡 이때, n은 연속적으로 고려되는 단어의 수를 말한다. 1-gram(유니그램) : 전체 문장을 각각의 단어로 나눔e.g. The / cat/ sat/on/the/mat2-gram(바이그램) : 전체 문장을 두 단어씩 나눔e.g...
2024.05.27
no image
[OCR] EasyOCR 손글씨 및 한국어 Fine Tuning
Step 01 학습 데이터 구성 Training Data : Test Data : Validation Data = 6 : 2 : 2 구분 원본 이미지 바운딩 박스 자른 이미지 train 120 14730 test 40 5015 validation 40 4822 → AI 허브 샘플 데이터 2001 파일 원본 이미지 200장 파일 분배 작업 AI 허브 json 라벨 데이터에서 바운딩 박스 영역에 맞춰서 이미지를 잘라서 저장한다. json 라벨 데이터에서 라벨 값을 불러와 txt 파일로 저장한다. {크롭된 이미지 파일명} {실제 라벨 데이터} 형식 Step 02 lmdb 형식으로 변환→ train, test, val 모두 동일하게 적용 python3 create_lmdb_dataset.py \ --inputP..
2023.05.31
no image
[DNN] 신경망의 구조
층(Layer) 완전 연결 층(fully connected layer) = 밀집 층(dense layer) 한 층의 모든 뉴런이 다음층의 모든 뉴런과 연결된 상태 목적 : Convolution / Pooling 의 결과를 취하여 이미지를 정의된 라벨로 분류 과정 : 활성화 함수로 뉴런 활성화 → 분류(Softmax) 함수로 분류 밀집 층(dense layer) 다층 퍼셉트론 신경망에서 사용되는 레이어 목적 : 입력과 출력을 모두 이어준다. tf.keras.layers.Dense( units, activation=None, use_bias=True, kernel_initializer="glorot_uniform", bias_initializer="zeros", kernel_regularizer=None, ..
2022.02.07
no image
[OpenCV] OpenCV기본 활용
개발언어 : C++ 개발환경 : Visual Studio 2019 해당 포스팅의 실습에 사용한 이미지들은 무료 이용이 가능한 이미지들입니다. (출처 : Pixabay.com) 1. 그레이 스케일 적용 OpenCV는 이미지를 RGB가 아닌 BGR로 저장한다! #include #include using namespace cv; using namespace std; int main() { Mat src = imread("./Lenna.jpg", IMREAD_COLOR); // imread('읽어들이려는 파일명', 컬러모드) if (src.empty()) { cout
2021.10.18
no image
[DNN] 그래디언트, 옵티마이저 정리
그래디언트(gradient) : 텐서 연산의 변화율 가장 작은 손실 함수의 값을 만드는 가중치의 조합을 해석적으로 찾는다. 그래디언트의 반대방향으로 가중치를 조정한다. 1. 훈련 샘플 배치 x와 이에 상응하는 타깃 y를 추출한다. 2. x로 네트워크를 실행하고 예측 y_pred를 구한다. 3. 이 배치에서 y_pred와 y사이의 오차를 측정하여 네트워크의 손실을 계산한다. 4. 네트워크의 파라미터에 대한 손실 함수의 그래디언트를 계산한다. 5. 그래디언트의 반대 방향으로 파라미터를 조금 이동시킨다. 미니 배치 확률적 경사 하강법 미니 배치 SGD (mini-batch stochastic gradient descent) 배치 : 데이터 분할 시의 배치 사이즈 확률적 : 각 배치 데이터가 무작위로 선택됨을 ..
2021.10.02
no image
[CNN]CNN모델의 이해
AlexNet → VGG → IncepctionNet → ResNet(인간을 뛰어넘는 최초의 인공신경망 모델) CNN(Convolution Neural Network) 구조 자체는 DNN과 유사 레이어 강화, GPU 사용하여 보완 Hidden Layer 에서 특징 추출, 분류 분석이 이루어질 때 └ 특징 추출은 각 이미지 데이터에서 지엽적인 특징을 추출하는 과정이 추가됨 기존 모델들은 특징 추출과 분류 분석 둘다 이미지 전체에 대해 분석이 이루어지는데, CNN의 경우 특징 추출은 이미지의 지엽적인 특징만 추출하여 분석 진행 Single Object a. Classification: b. Classification + Localization(Bounding Box) Multiple Object a. Obj..
2021.09.20
[Tensorflow_Keras_API] tf.keras.utils.get_file : 데이터 다운로드 메서드
tf.keras.utils.get_file | TensorFlow Core v2.5.0 Downloads a file from a URL if it not already in the cache. www.tensorflow.org tf.keras.utils.get_file( fname, origin, untar=False, md5_hash=None, file_hash=None, cache_subdir='datasets', hash_algorithm='auto', extract=False, archive_format='auto', cache_dir=None ) keras.utils.get_file(fname='cats_and_dogs_filtered.zip', origin=url, extract=True, ..
2021.07.21