LLM 엔지니어링용어집← 이전목차다음 →MetaContents

용어집

용어집

장마다 나온 용어를 한곳에 모았습니다. 위의 찾기 칸에 낱말을 넣으면 그 줄만 남습니다.

1장 · 머신러닝 프로세스와 기본 개념

용어설명
머신러닝(machine learning)사람이 규칙을 적는 대신, 데이터에서 규칙을 찾도록 컴퓨터를 학습시키는 방법입니다. machine learning 은 "기계가 배운다"는 뜻입니다.
지도학습(supervised learning)정답이 붙은 데이터로 배우는 방식입니다. 이 장의 실습이 모두 지도학습입니다. supervised 는 "감독을 받는"이라는 뜻으로, 정답이 선생님처럼 배움을 이끈다는 데서 왔습니다.
비지도학습(unsupervised learning)정답 없이 데이터끼리의 닮은 점만으로 무리를 짓거나 구조를 찾는 방식입니다. unsupervised 는 "감독 없는"이라는 뜻입니다.
배송 지연(delivery delay)주문한 물건이 약속한 날보다 늦게 도착한 것입니다. 이 장의 배송 데이터에서는 지연 열에 1(늦음)과 0(정시)으로 적혀 있고, 모델이 맞히려는 답입니다. delay 는 "늦어짐"이라는 뜻입니다.
분류(classification)정해진 몇 가지 답 가운데 하나를 고르는 문제입니다. "이 주문은 늦게 올까, 제때 올까(지연인가, 정시인가)"가 분류입니다. classification 은 class(갈래)로 나눈다는 뜻입니다.
회귀(regression)숫자 하나를 맞히는 문제입니다. "며칠 걸릴까"가 회귀입니다. regression 은 "되돌아감"이라는 뜻으로, 부모와 자식의 키를 견주다 자식의 키가 평균 쪽으로 되돌아가는 현상을 연구한 데서 붙은 이름입니다.
특성(feature)모델에 넣는 입력 열입니다. 거리, 날씨, 주문시각 같은 것입니다. 피처라고도 하고, 코드에서는 보통 X 에 담습니다. feature 는 "생김새, 특징"이라는 뜻입니다.
레이블(label)모델이 맞혀야 하는 정답 열입니다. 이 장에서는 늦게 왔는지를 1과 0으로 적은 지연 열이고, 코드에서는 보통 y 에 담습니다. label 은 "꼬리표"라는 뜻입니다.
정답 누출(leakage)예측할 때는 알 수 없는 정보가 특성에 섞여 들어가 점수가 부풀려지는 실수입니다. leakage 는 "새어 나감"이라는 뜻입니다.
모델(model)데이터에서 찾은 규칙을 담고 있는 계산식입니다. model 은 "본보기, 작게 본뜬 모형"이라는 뜻입니다.
학습(training)모델이 데이터를 보고 규칙을 찾는 과정입니다. scikit-learn 에서는 fit 입니다. train 은 "훈련하다", fit 은 "맞추다"라는 뜻으로, 모델을 데이터에 맞춘다는 말입니다.
예측(prediction)학습한 모델로 새 데이터의 답을 내는 일입니다. scikit-learn 에서는 predict 입니다. predict 는 pre(미리)와 dict(말하다)가 붙은 말입니다.
학습용 데이터(training data)모델이 보고 배우는 데이터입니다. training 은 "훈련"이라는 뜻입니다.
검증용 데이터(validation data)모델의 설정을 고를 때 쓰는 데이터입니다. 시험용과 따로 둡니다. validation 은 "타당한지 확인하기"라는 뜻입니다.
시험용 데이터(test data)학습에 쓰지 않고 남겨 두었다가 마지막에 성적을 매기는 데이터입니다. test 는 "시험"이라는 뜻입니다.
과적합(overfitting)학습용 데이터를 외워 버려서 처음 보는 데이터에서는 성적이 떨어지는 상태입니다. over(지나치게)와 fitting(맞추기)을 붙인 말입니다.
의사결정나무(decision tree)"거리가 먼가?", "비가 오나?" 같은 예·아니요 질문을 차례로 이어 가며 답을 내는 모델입니다. 질문이 갈라지는 모양이 나무를 닮아 붙은 이름입니다. decision 은 "결정", tree 는 "나무"라는 뜻입니다.
기준선(baseline)아무것도 배우지 않은 단순한 답의 성적입니다. 모델은 이보다 나아야 쓸모가 있습니다. baseline 은 견줄 때 바탕이 되는 "기준 선"이라는 뜻입니다.
혼동행렬(confusion matrix)실제 답과 예측을 2×2 표로 엇갈려 센 것입니다. confusion 은 "헷갈림", matrix 는 "행렬(가로세로로 늘어놓은 표)"이라는 뜻으로, 모델이 무엇을 무엇과 헷갈렸는지 보여 준다는 데서 왔습니다.
정확도(accuracy)전체 가운데 맞힌 비율입니다. accuracy 는 "정확함"이라는 뜻입니다.
정밀도(precision)모델이 "늦게 온다"고 예측한 주문 가운데 실제로 늦은 주문의 비율입니다. 헛경보가 적을수록 높습니다. precision 은 "정밀함, 꼼꼼함"이라는 뜻입니다.
재현율(recall)실제로 늦은 주문 가운데 모델이 "늦게 온다"고 미리 잡아낸 비율입니다. 늦는 주문을 빠짐없이 찾을수록, 곧 놓친 것이 적을수록 높습니다. recall 은 "다시 불러내다"라는 뜻으로, 찾아야 할 것을 얼마나 불러냈는지를 말합니다.
F1 점수(F1 score)정밀도와 재현율을 하나로 묶은 점수입니다. 둘의 조화평균이라, 둘 가운데 낮은 쪽에 더 끌려갑니다. 1 은 정밀도와 재현율에 같은 무게를 둔다는 뜻입니다.
기준값(threshold)모델이 낸 "늦을 확률"이 몇 이상이면 늦는다(지연)고 볼지 정하는 선입니다. 임곗값이라고도 합니다. threshold 는 "문턱"이라는 뜻입니다.
MAE(Mean Absolute Error)평균 절대 오차입니다. Mean(평균), Absolute(절댓값), Error(오차)의 머리글자입니다. 빗나간 크기(오차의 절댓값)를 평균 낸 값으로, 예측이 평균 얼마나 빗나가는지를 정답과 같은 단위로 알려 줍니다.
RMSE(Root Mean Squared Error)평균 제곱근 오차입니다. Root(제곱근), Mean(평균), Squared(제곱한), Error(오차)의 머리글자입니다. 오차를 제곱해 평균 낸 뒤 제곱근을 씌운 값으로, 크게 빗나간 것을 더 무겁게 봅니다.
scikit-learn파이썬의 대표적인 머신러닝 라이브러리입니다. 불러올 때 이름은 sklearn 입니다. SciPy 에 덧붙이는 도구 모음(SciPy Toolkit, 줄여서 scikit)에 learn(배우다)을 붙인 이름입니다.

2장 · 신경망과 딥러닝의 기본 원리

용어설명
딥러닝(deep learning)층을 여러 겹 쌓은 신경망으로 하는 머신러닝입니다. deep 은 "깊은"이라는 뜻으로, 층이 깊게 쌓였다는 데서 왔습니다.
인공 뉴런(artificial neuron)입력에 가중치를 곱해 더하고, 편향을 더한 뒤 활성화 함수를 지나 값을 내는 계산 단위입니다. neuron 은 뇌의 "신경 세포"라는 뜻으로, 신경 세포를 흉내 낸 계산 단위라는 데서 왔습니다.
가중치(weight)입력마다 곱하는 중요도입니다. 학습으로 바뀌는 값입니다. weight 는 "무게"라는 뜻입니다.
편향(bias)가중합에 더하는 값입니다. 문턱을 옮기는 역할을 합니다. bias 는 "한쪽으로 치우침"이라는 뜻입니다.
가중합(weighted sum)입력과 가중치를 곱해 모두 더한 값입니다. weighted sum 은 "무게를 매겨 더한 합"이라는 뜻입니다.
활성화 함수(activation function)가중합을 다음 층으로 얼마나 넘길지 정하는 함수입니다. ReLU, 시그모이드가 대표적입니다. activation 은 "깨워 움직이게 함"이라는 뜻으로, 신경 세포가 신호를 내보내는 일에 빗댄 말입니다.
ReLU(Rectified Linear Unit)음수는 0 으로, 양수는 그대로 넘기는 활성화 함수입니다. Rectified(음수를 잘라 낸), Linear(직선의), Unit(단위)의 머리글자입니다.
시그모이드(sigmoid)어떤 값이든 0 과 1 사이로 눌러 주는 활성화 함수입니다. sigmoid 는 "S 자 모양의"라는 뜻으로, 그래프가 S 자를 닮아 붙은 이름입니다.
입력층(input layer)특성이 들어오는 층입니다. input 은 "들어오는 것", layer 는 "층, 겹"이라는 뜻입니다.
은닉층(hidden layer)입력층과 출력층 사이의 층입니다. 바깥에서 값이 보이지 않아 붙은 이름입니다. hidden 은 "숨겨진"이라는 뜻입니다.
출력층(output layer)예측을 내는 마지막 층입니다. output 은 "내보내는 것"이라는 뜻입니다.
파라미터(parameter)학습으로 바뀌는 모든 값(가중치와 편향)입니다. para(곁)와 meter(재다)가 붙은 말로, 계산의 모양을 정하는 값을 뜻합니다.
순전파(forward propagation)입력이 층을 차례로 지나 예측이 되는 계산입니다. forward 는 "앞으로", propagation 은 "퍼져 나감"이라는 뜻입니다. forward pass 라고도 합니다.
손실 함수(loss function)예측이 정답과 얼마나 다른지 숫자 하나로 재는 함수입니다. loss 는 "잃음, 손해"라는 뜻입니다.
MSE(Mean Squared Error)오차를 제곱해 평균 낸 손실입니다. 회귀에 씁니다. 평균 제곱 오차라고 하며, Mean(평균), Squared(제곱한), Error(오차)의 머리글자입니다.
교차 엔트로피(cross entropy)정답 칸에 준 확률이 낮을수록 커지는 손실입니다. 분류에 씁니다. entropy 는 정보이론에서 "불확실한 정도"를 뜻하고, cross 는 정답의 분포와 예측의 분포를 엇갈려 쓴다는 뜻입니다.
기울기(gradient)가중치를 조금 바꿨을 때 손실이 얼마나, 어느 방향으로 바뀌는지 나타내는 값입니다. gradient 는 "비탈의 경사"라는 뜻입니다.
경사하강법(gradient descent)기울기의 반대 방향으로 가중치를 조금씩 고쳐 손실을 줄이는 방법입니다. gradient 는 "경사", descent 는 "내려감"으로, 비탈을 따라 내려간다는 뜻입니다.
학습률(learning rate)경사하강법에서 한 번에 얼마나 크게 고칠지 정하는 값입니다. rate 는 "비율, 빠르기"라는 뜻입니다.
역전파(backpropagation)출력의 오차를 거꾸로 전해 가중치마다 기울기를 구하는 방법입니다. back(뒤로)과 propagation(퍼져 나감)을 붙인 말입니다.
자동 미분(automatic differentiation)계산 과정을 기록해 두었다가 기울기를 자동으로 구해 주는 기능입니다. differentiation 은 "미분"이라는 뜻입니다. PyTorch 의 backward() 가 이것입니다.
에포크(epoch)학습용 데이터 전체를 한 번 다 도는 것입니다. epoch 는 "한 시대, 한 주기"라는 뜻입니다.
배치(batch)한 번의 갱신에 쓰는 데이터 묶음입니다. batch 는 "한 번에 구워 내는 한 판, 한 묶음"이라는 뜻입니다.
옵티마이저(optimizer)기울기를 받아 가중치를 고치는 도구입니다. SGD, Adam 이 있습니다. optimize 는 "가장 좋게 만들다"라는 뜻이고, SGD 는 Stochastic Gradient Descent(확률적 경사하강법)의 머리글자입니다.
텐서(tensor)PyTorch 에서 숫자를 담는 칸의 묶음입니다. 숫자 하나, 한 줄, 표, 표를 여러 장 쌓은 것처럼 차원이 있습니다. NumPy 배열과 비슷하고 GPU 로 옮길 수 있습니다. tensor 는 수학에서 여러 차원의 숫자 묶음을 부르는 이름을 가져온 것입니다.
PyTorch신경망을 만들고 학습시키는 파이썬 라이브러리입니다. 불러올 때 이름은 torch 입니다. Python 과, 먼저 나온 신경망 라이브러리 Torch 를 붙인 이름입니다.
GPU(Graphics Processing Unit)단순한 계산 수천 개를 한꺼번에 하는 그래픽 처리 장치입니다. 신경망 학습을 빠르게 합니다. Graphics(그래픽), Processing(처리), Unit(장치)의 머리글자입니다.
CUDANVIDIA GPU 에서 계산을 하게 해 주는 기술입니다. PyTorch 에서 GPU 를 "cuda" 라고 부릅니다. 처음에는 Compute Unified Device Architecture(계산용 통합 장치 구조)의 머리글자였습니다.

3장 · Attention 과 Transformer, GPT 직접 구현

용어설명
토큰(token)글을 모델이 다루는 조각으로 자른 것입니다. 글자, 낱말, 낱말의 일부가 될 수 있습니다. token 은 "표, 징표"라는 뜻입니다.
토크나이저(tokenizer)글을 토큰으로 자르고 토큰마다 번호를 붙이는 도구입니다. token 에 "~로 만드는 것"이라는 뜻의 -izer 를 붙인 말입니다.
어휘(vocabulary)토크나이저가 아는 토큰의 목록입니다. 어휘 크기는 그 목록의 길이입니다. vocabulary 는 "낱말 목록"이라는 뜻이고, 줄여서 vocab 이라고도 합니다.
서브워드(subword)낱말보다 작고 글자보다 큰 조각입니다. 요즘 LLM 이 주로 쓰는 토큰입니다. sub(아래, 더 작은)와 word(낱말)를 붙인 말입니다.
임베딩(embedding)토큰 번호를 뜻을 담은 숫자 좌표(벡터)로 바꾼 것입니다. embed 는 "박아 넣다"라는 뜻으로, 낱말을 좌표 공간 속에 박아 넣는다는 데서 왔습니다.
벡터(vector)숫자 여러 개를 줄지어 놓은 것입니다. 임베딩 하나가 벡터 하나입니다. vector 는 라틴어 "나르는 것"에서 온 수학 용어입니다.
RNN(Recurrent Neural Network)글자를 하나씩 차례로 읽으며 기억을 넘겨주는 예전 방식의 신경망입니다. 순환 신경망이라고 하며, Recurrent(되풀이되는), Neural(신경의), Network(망)의 머리글자입니다.
Attention(어텐션)지금 글자가 다른 글자들을 얼마나 참고할지 비율을 계산해 정보를 모으는 방법입니다. attention 은 "주의, 눈여겨봄"이라는 뜻입니다.
셀프 어텐션(self-attention)같은 문장 안의 글자끼리 서로 참고하는 Attention 입니다. self 는 "자기 자신"이라는 뜻입니다.
쿼리(query)Attention 에서 "내가 찾고 싶은 것"을 나타내는 벡터입니다. Q 로 줄여 씁니다. query 는 "질문, 묻기"라는 뜻입니다.
키(key)Attention 에서 "나는 이런 정보를 갖고 있다"는 꼬리표 벡터입니다. K 로 줄여 씁니다. key 는 "열쇠"라는 뜻이고, 자료를 찾을 때 맞춰 보는 표제를 가리키기도 합니다.
밸류(value)Attention 에서 실제로 넘겨줄 내용 벡터입니다. V 로 줄여 씁니다. value 는 "값"이라는 뜻입니다.
softmax(소프트맥스)점수 여러 개를 0 과 1 사이의, 합이 1 인 비율로 바꾸는 함수입니다. 점수마다 exp 를 구해 그 합으로 나누며, 가장 큰 값만 고르는 max 를 부드럽게(soft) 했다는 뜻의 이름입니다.
마스크(mask)Attention 에서 보면 안 되는 자리를 가리는 표입니다. GPT 는 뒤의 글자를 가립니다. mask 는 "가리개, 가면"이라는 뜻입니다.
멀티헤드 어텐션(multi-head attention)Attention 을 여러 갈래(헤드)로 나눠 따로 계산한 뒤 합치는 방법입니다. multi(여럿)와 head(머리)를 붙인 말입니다.
위치 임베딩(positional embedding)토큰이 문장에서 몇 번째인지를 나타내는 벡터입니다. 토큰 임베딩에 더합니다. position 은 "자리"라는 뜻입니다.
Transformer(트랜스포머)Attention 을 중심으로 층을 쌓은 신경망의 짜임입니다. 2017년 논문에서 나왔습니다. transformer 는 "바꾸는 것"이라는 뜻입니다.
잔차 연결(residual connection)층에 들어온 값을 층의 결과에 그대로 더해 주는 연결입니다. 깊이 쌓아도 학습이 잘 되게 합니다. residual 은 "남은 것, 나머지"라는 뜻입니다.
LayerNorm(Layer Normalization)벡터의 숫자 크기를 고르게 맞추는 층입니다. 층 정규화라고 하며, Layer(층)와 Normalization(정규화, 크기 맞추기)을 줄인 이름입니다.
디코더(decoder)앞의 글만 보고 다음 글을 써 나가는 Transformer 입니다. GPT 가 이 짜임입니다. decode 는 "부호를 풀다"라는 뜻입니다.
인코더(encoder)문장 전체를 앞뒤로 읽어 뜻을 뽑는 Transformer 입니다. encode 는 "부호로 바꾸다"라는 뜻입니다.
사전학습(pre-training)정답 표시 없는 많은 글로 "다음 토큰 맞히기"를 먼저 학습하는 단계입니다. pre(미리)와 training(학습)을 붙인 말입니다.
미세조정(fine-tuning)사전학습한 모델을 정답이 붙은 적은 데이터로 조금 더 학습시키는 단계입니다. fine-tuning 은 악기의 음을 "미세하게 맞추기"라는 뜻입니다.
온도(temperature)다음 토큰을 고를 때 확률을 뾰족하게 또는 평평하게 만드는 값입니다. 물리학에서 온도가 높을수록 상태가 고르게 퍼지는 식을 빌려 와 붙은 이름입니다.
환각(hallucination)모델이 사실이 아닌 내용을 그럴듯하게 지어내는 현상입니다. hallucination 은 "없는 것을 보는 착각"이라는 뜻입니다.
ML 디자인 패턴(ML design pattern)머신러닝에서 자주 부딪히는 문제의 검증된 풀이를 이름 붙여 정리한 것입니다. ML 은 Machine Learning(머신러닝)의 머리글자이고, design pattern 은 "설계의 본보기"라는 뜻입니다.

4장 · LLM 을 완성하는 3단계와 Hugging Face

용어설명
기본 모델(base model)사전학습만 마친 모델입니다. 글을 이어 쓸 줄은 알지만 질문에 답하도록 길들지는 않았습니다. base 는 "바탕, 토대"라는 뜻입니다.
지시 모델(instruct model)기본 모델에 미세조정과 정렬을 더해 질문에 답하도록 만든 모델입니다. instruct 또는 chat 모델이라고 합니다. instruct 는 "지시하다, 가르치다"라는 뜻입니다.
사전학습(pre-training)라벨 없는 많은 글로 다음 토큰 맞히기를 학습하는 단계입니다. pre(미리)와 training(학습)을 붙인 말입니다.
이어 사전학습(continued pre-training)이미 사전학습된 모델에 우리 분야의 글을 더 읽혀 사전학습을 이어 하는 것입니다. continued 는 "이어지는"이라는 뜻입니다.
미세조정(fine-tuning)사전학습한 모델을 특정 목적의 데이터로 조금 더 학습시키는 것입니다. fine-tuning 은 악기의 음을 "미세하게 맞추기"라는 뜻입니다.
SFT(Supervised Fine-Tuning)지도 미세조정입니다. 질문과 모범 답의 쌍으로 답하는 법을 가르칩니다. Supervised(지도된), Fine-Tuning(미세조정)의 머리글자입니다.
정렬(alignment)모델의 답이 사람이 바라는 쪽(도움 되고, 정직하고, 해롭지 않게)으로 가도록 다듬는 단계입니다. alignment 는 "줄 맞추기, 방향 맞추기"라는 뜻입니다.
RLHF사람의 선호 평가로 보상 모델을 만들고 강화학습으로 정렬하는 방법입니다. Reinforcement Learning from Human Feedback(사람 피드백을 받는 강화학습)의 머리글자입니다.
DPO(Direct Preference Optimization)보상 모델 없이 "고른 답"과 "고르지 않은 답"의 쌍으로 바로 정렬하는 방법입니다. 5장에서 다룹니다. Direct(직접), Preference(선호), Optimization(최적화)의 머리글자입니다.
퍼플렉서티(perplexity)언어모델이 다음 토큰을 평균 몇 개 후보 사이에서 헷갈리는지 나타내는 값입니다. e 의 (평균 손실) 제곱입니다. perplexity 는 "당혹, 어쩔 줄 모름"이라는 뜻입니다.
Hugging Face모델과 데이터를 공유하는 누리집(Hub)과, 그것을 쓰는 파이썬 라이브러리를 만드는 회사의 이름입니다. hug(껴안다)와 face(얼굴)를 붙인 이름으로, 로고도 두 팔로 껴안는 얼굴입니다.
Hub(허브)Hugging Face 의 모델·데이터 저장소입니다. 모델마다 이름(예: Qwen/Qwen2.5-0.5B)이 있습니다. hub 는 "바퀴의 중심, 모이는 곳"이라는 뜻입니다.
모델 카드(model card)Hub 의 모델 쪽에 적힌 설명서입니다. 라이선스, 학습 데이터, 쓰임과 한계가 적혀 있습니다. 모델에 붙은 설명 카드라는 뜻입니다.
라이선스(license)모델을 어떤 조건으로 써도 되는지 정한 약속입니다. license 는 "허가"라는 뜻입니다.
Auto 클래스(Auto class)모델 이름만 주면 알맞은 토크나이저와 모델을 골라 불러 주는 transformers 의 클래스입니다. Auto 는 automatic(자동)의 앞부분입니다.
config(configuration)모델의 크기와 짜임(층 수, 좌표 수, 헤드 수 등)을 적은 설정입니다. configuration(구성, 설정)의 앞부분을 딴 이름입니다.
top-k다음 토큰을 확률이 높은 k 개 안에서만 뽑는 방법입니다. "위에서부터 k 개"라는 뜻입니다.
top-p확률이 높은 순서로 더해 p 를 채울 때까지의 후보 안에서만 뽑는 방법입니다. 확률 합의 기준 p 를 이름에 붙였고, 핵 샘플링(nucleus sampling)이라고도 합니다.
반복 벌점(repetition penalty)이미 나온 토큰의 점수를 깎아 같은 말을 되풀이하지 않게 하는 설정입니다. repetition 은 "되풀이", penalty 는 "벌칙"이라는 뜻입니다.
Trainer(트레이너)transformers 가 주는 학습 도구입니다. 학습 루프, 평가, 저장을 대신해 줍니다. trainer 는 "훈련시키는 사람"이라는 뜻입니다.
에포크(epoch)학습 데이터를 한 번 다 도는 것입니다(2장). epoch 는 "한 시대, 한 주기"라는 뜻입니다.
혼합 정밀도(mixed precision)계산 일부를 16비트(fp16)로 해서 GPU 메모리와 시간을 아끼는 방법입니다. mixed 는 "섞인", precision 은 "정밀도"라는 뜻이고, fp16 은 floating point(부동소수점) 16비트를 줄인 말입니다.
BPE(Byte Pair Encoding)자주 붙어 나오는 글자 쌍을 하나의 토큰으로 합쳐 나가며 어휘를 만드는 토크나이저 학습 방법입니다. Byte(바이트), Pair(쌍), Encoding(부호화)의 머리글자로, 원래 글을 압축하는 방법에서 왔습니다.
프롬프트 템플릿(prompt template)질문과 답을 모델에 넣을 때 쓰는 일정한 글의 꼴입니다(예: ### 질문: … ### 답변: …). prompt 는 배우에게 대사를 일러 주는 일, template 은 "본, 틀"이라는 뜻입니다.

5장 · LoRA 파인튜닝과 DPO 정렬

용어설명
전체 미세조정(full fine-tuning)모델의 모든 파라미터를 학습하는 미세조정입니다. full 은 "전부"라는 뜻입니다.
PEFT(Parameter-Efficient Fine-Tuning)파라미터 효율 미세조정입니다. 모델의 작은 부분만 학습하는 방법들을 함께 부르는 이름이자, 그 방법들을 모은 Hugging Face 라이브러리의 이름입니다. Parameter(파라미터), Efficient(효율적인), Fine-Tuning(미세조정)의 머리글자입니다.
LoRA(Low-Rank Adaptation)저랭크 적응입니다. 원래 가중치는 얼리고, 옆에 얇은 행렬 둘을 두어 그것만 학습합니다. Low-Rank(낮은 랭크)와 Adaptation(적응)에서 글자를 따온 이름입니다.
얼리기(freeze)파라미터가 학습 중에 바뀌지 않게 막는 것입니다. freeze 는 "얼리다"라는 뜻입니다.
저랭크(low rank)큰 행렬을 얇은 행렬 둘의 곱으로 나타낼 수 있다는 뜻입니다. 얇은 정도가 랭크(r)입니다. rank 는 "등급, 순위"라는 뜻이고, 행렬에서는 행렬이 담은 독립된 방향의 수를 말합니다.
r(rank)LoRA 행렬의 두께입니다. 클수록 학습하는 파라미터가 늘고 표현력도 늡니다. r 은 rank(랭크)의 머리글자입니다.
lora_alphaLoRA 가 더하는 값의 크기를 조절하는 수입니다. 보통 r 의 두 배로 둡니다. alpha 는 그리스 문자 알파로, LoRA 논문에서 이 수를 알파로 적은 데서 온 이름입니다.
target_modulesLoRA 를 붙일 층의 이름입니다. 어텐션의 q_proj, k_proj, v_proj, o_proj 를 흔히 고릅니다. target 은 "과녁, 대상", module 은 "모델을 이루는 부품"이라는 뜻입니다.
어댑터(adapter)기본 모델에 덧붙여 학습한 작은 파라미터 묶음입니다. LoRA 의 A, B 가 어댑터입니다. adapter 는 "끼워 맞추는 연결 부품"이라는 뜻입니다.
merge(병합)어댑터를 원래 가중치에 더해 하나의 모델로 합치는 것입니다. merge 는 "합치다"라는 뜻입니다.
fp16(floating point 16)숫자 하나를 16비트로 나타내는 형식입니다. float32 의 절반 크기입니다. floating point(부동소수점, 소수점이 떠다니는 수)를 16비트로 적는다는 뜻의 이름입니다.
혼합 정밀도(mixed precision)계산은 fp16 으로 빠르게 하고, 학습하는 값은 float32 로 정확하게 두는 방법입니다. mixed 는 "섞인", precision 은 "정밀도"라는 뜻입니다.
그래디언트 체크포인팅(gradient checkpointing)순전파의 중간값을 버렸다가 역전파 때 다시 계산해 메모리를 아끼는 방법입니다. checkpoint 는 "중간 점검 지점"이라는 뜻으로, 몇 군데의 값만 남겨 둔다는 데서 왔습니다.
채팅 템플릿(chat template)대화 모델이 학습 때 본 대화의 꼴입니다. apply_chat_template 으로 만듭니다. chat 은 "대화", template 은 "본, 틀"이라는 뜻입니다.
선호 데이터(preference data)같은 질문에 대한 고른 답과 고르지 않은 답(반대 답)의 쌍입니다. preference 는 "더 좋아함"이라는 뜻입니다.
DPO(Direct Preference Optimization)직접 선호 최적화입니다. 선호 데이터로 고른 답 쪽의 확률을 높입니다. Direct(직접), Preference(선호), Optimization(최적화)의 머리글자입니다.
기준 모델(reference model)DPO 에서 견주는 기준이 되는, 학습 전의 모델입니다. reference 는 "참고, 기준"이라는 뜻입니다.
beta(베타)DPO 에서 기준 모델과 얼마나 멀어져도 되는지 정하는 값입니다. 작을수록 많이 바뀝니다. 그리스 문자 베타의 이름입니다.
로그 확률(log probability)모델이 어떤 답을 낼 확률에 로그를 씌운 값입니다. 0 에 가까울수록 그 답을 잘 낼 것 같다는 뜻입니다. log 는 logarithm(로그)을 줄인 말입니다.
보상(reward)DPO 에서, 학습 모델이 기준 모델보다 그 답의 로그 확률을 얼마나 올렸는지(× beta)입니다. reward 는 "보상, 상"이라는 뜻입니다.
파국적 망각(catastrophic forgetting)새로 학습하면서 원래 잘하던 일을 잊어버리는 현상입니다. catastrophic 은 "파국적인, 재앙 같은", forgetting 은 "잊어버림"이라는 뜻입니다.

6장 · RAG 의 원리와 로컬 모델로 옮기기

용어설명
RAG(Retrieval-Augmented Generation)검색 증강 생성입니다. 질문과 관련된 문서를 찾아 프롬프트에 붙인 뒤 LLM 이 답하게 합니다. Retrieval(검색), Augmented(보강된), Generation(생성)의 머리글자입니다.
검색(retrieval)질문과 관련된 문서 조각을 고르는 단계입니다. retrieval 은 "되찾아 옴"이라는 뜻입니다.
증강(augmentation)찾은 조각을 프롬프트에 붙이는 단계입니다. augmentation 은 "늘림, 보강"이라는 뜻입니다.
생성(generation)붙인 조각을 보고 LLM 이 답을 쓰는 단계입니다. generation 은 "만들어 냄"이라는 뜻입니다.
환각(hallucination)LLM 이 사실이 아닌 내용을 그럴듯하게 지어내는 것입니다. 없는 것을 보는 "환각"에 빗댄 말입니다.
지식 마감(knowledge cutoff)모델이 학습한 글이 끝나는 시점입니다. 그 뒤의 일은 모델이 모릅니다. cutoff 는 "잘라 끊는 지점"이라는 뜻입니다.
문서 조각(chunk)검색 단위로 나눈 문서의 한 부분입니다. chunk 는 "덩어리"라는 뜻이고, 나누는 일을 청킹(chunking)이라고 합니다.
TF-IDF(단어 빈도-역문서 빈도)낱말이 그 문서에 자주 나올수록, 다른 문서에는 드물수록 무게를 크게 주는 점수입니다. TF 는 Term Frequency(단어 빈도), IDF 는 Inverse Document Frequency(역문서 빈도)의 머리글자입니다.
n-gram(엔그램)글을 n 글자(또는 n 낱말)씩 잘라 만든 조각입니다. "배송비"의 2-gram 은 "배송", "송비"입니다. gram 은 "글자, 쓰인 것"을 뜻하는 그리스어에서 온 말입니다.
코사인 유사도(cosine similarity)두 벡터의 방향이 얼마나 같은지를 0~1 로 잰 값입니다. 1 에 가까울수록 비슷합니다. 두 벡터 사이 각도의 코사인 값으로 재서 붙은 이름이고, similarity 는 "닮음"이라는 뜻입니다.
top-k(상위 k개)점수가 높은 순서로 위에서 k 개를 고르는 것입니다. top 은 "맨 위"라는 뜻입니다.
hit@k(상위 k개 적중률)정답 조각이 위 k 개 안에 들었는지를 센 비율입니다. hit 는 "맞힘"이라는 뜻이고, @k 는 "위 k 개 안에서"를 나타냅니다.
컨텍스트(context)프롬프트에 함께 넣어 모델이 보게 하는 글입니다. 여기서는 찾은 문서 조각입니다. context 는 "앞뒤 맥락"이라는 뜻입니다.
API(Application Programming Interface)프로그램끼리 정해진 꼴로 요청과 응답을 주고받는 창구입니다. Application(응용 프로그램), Programming(프로그래밍), Interface(접점)의 머리글자입니다.
API 키(API key)API 를 쓸 수 있는 사람인지 확인하는 비밀 문자열입니다. 코드에 적지 않고 환경 변수에 둡니다. key 는 "열쇠"라는 뜻입니다.
로컬 모델(local model)인터넷 너머의 서버가 아니라 내 PC 에서 돌리는 모델입니다. local 은 "그 자리의"라는 뜻입니다.
Ollama(올라마)내 PC 에서 LLM 을 내려받고 띄워 API 로 쓰게 해 주는 오픈 소스 프로그램입니다. 2023년에 공개되었고, 속에서는 llama.cpp 엔진으로 모델을 돌립니다. 약어가 아니라 프로그램의 이름이고, 이름의 유래는 공식적으로 밝혀져 있지 않습니다.
OpenAI 호환 API(OpenAI-compatible API)OpenAI 의 API 와 같은 꼴로 요청을 받는 API 입니다. 주소만 바꾸면 같은 코드로 부를 수 있습니다. compatible 은 "함께 쓸 수 있는"이라는 뜻입니다.
base_url(기본 주소)API 요청을 보낼 서버의 주소입니다. base 는 "바탕"이라는 뜻이고, URL 은 Uniform Resource Locator(자원 위치 지정자)의 머리글자로 인터넷 주소를 말합니다.
양자화(quantization)가중치를 4비트처럼 적은 비트로 줄여 모델을 작고 빠르게 만드는 것입니다. 15장에서 자세히 다룹니다. quantization 은 "연속된 값을 몇 개의 정해진 단계로 나눔"이라는 뜻입니다.

7장 · 자체 임베딩과 벡터DB, 검색 품질

용어설명
임베딩(embedding)글을 뜻이 담긴 숫자 줄(벡터)로 바꾼 것, 또는 바꾸는 일입니다. 뜻이 비슷한 글은 가까운 벡터가 됩니다. embed 는 "끼워 넣다, 박아 넣다"라는 뜻으로, 글을 숫자 공간 속에 박아 넣는다는 데서 왔습니다.
임베딩 모델(embedding model)글을 임베딩으로 바꾸는 모델입니다. 이 장은 intfloat/multilingual-e5-small 을 씁니다. model 은 "본, 모형"이라는 뜻입니다.
차원(dimension)임베딩 벡터에 든 숫자의 개수입니다. e5-small 은 384차원입니다. dimension 은 "치수, 잴 수 있는 방향"이라는 뜻입니다.
정규화(normalization)벡터의 길이를 1 로 맞추는 것입니다. 정규화하면 내적이 곧 코사인 유사도가 됩니다. normal 은 "표준의"라는 뜻으로, 길이를 표준 크기로 맞춘다는 말입니다.
sentence-transformers(문장 트랜스포머)임베딩 모델과 재정렬 모델을 쉽게 쓰게 해 주는 파이썬 라이브러리입니다. sentence(문장)와 transformer(트랜스포머 모델)를 붙인 이름으로, 문장 단위로 임베딩을 만드는 트랜스포머라는 뜻입니다.
벡터DB(vector database)임베딩을 저장하고, 질문과 가까운 벡터를 빠르게 찾아 주는 저장소입니다. vector 는 "방향과 크기를 가진 양"이고, DB 는 database(자료를 모아 둔 곳)의 줄임말입니다.
인덱스(index)벡터를 빨리 찾도록 정리해 둔 짜임입니다. 모두 견주는 Flat, 구역을 나누는 IVF, 이웃을 잇는 HNSW 가 있습니다. index 는 "색인, 찾아보기"라는 뜻입니다. IVF 는 Inverted File(역색인 파일), HNSW 는 Hierarchical Navigable Small World(계층형 작은 세상 그래프)의 머리글자입니다.
Chroma(크로마)문서, 임베딩, 메타데이터를 함께 저장하는 오픈소스 벡터DB 입니다. chroma 는 "색채"라는 뜻의 낱말입니다.
메타데이터(metadata)조각에 붙여 두는 정보(제목, 장, 날짜)입니다. 검색할 때 걸러 내는 데 씁니다. meta 는 "~에 대한, 한 단계 위의"라는 뜻으로, 데이터에 대한 데이터라는 말입니다.
청킹(chunking)문서를 검색 단위의 조각으로 나누는 일입니다. 6장에서 조항 단위로 해 보았습니다. chunk(덩어리)로 자른다는 뜻입니다.
MRR(Mean Reciprocal Rank)평균 역순위입니다. 정답이 1등이면 1, 2등이면 1/2, 3등이면 1/3 을 주고 평균을 냅니다. Mean(평균), Reciprocal(역수), Rank(순위)의 머리글자입니다.
RRF(Reciprocal Rank Fusion)순위 융합입니다. 점수 대신 순위로 두 검색 결과를 섞습니다. Reciprocal(역수), Rank(순위), Fusion(융합)의 머리글자로, 순위의 역수를 더해 섞는다는 뜻입니다.
재정렬(reranking)먼저 넉넉히 찾은 후보를 더 정확한 모델로 다시 줄 세우는 것입니다. re(다시)와 rank(순위를 매기다)를 붙인 말입니다.
바이 인코더(bi-encoder)질문과 문서를 따로 임베딩해 견주는 짜임입니다. 빠릅니다. bi 는 "둘", encoder 는 "부호로 바꾸는 장치"라는 뜻으로, 질문과 문서를 따로 두 번 바꾼다는 말입니다.
크로스 인코더(cross-encoder)질문과 문서를 한꺼번에 읽고 관련 점수를 내는 짜임입니다. 느리지만 정확합니다. cross 는 "엇갈려 맞대다"라는 뜻으로, 질문과 문서를 맞대어 함께 읽는다는 말입니다.
오픈소스 LLM(open-source LLM)가중치를 내려받아 내 PC 에서 돌릴 수 있게 공개한 LLM 입니다. 쓸 수 있는 범위는 라이선스마다 다릅니다. open source 는 "소스(원본)를 열어 둔"이라는 뜻이고, LLM 은 Large Language Model(대규모 언어 모델)의 머리글자입니다.

8장 · Project 01. 내 데이터로 답하는 LLM 서비스

용어설명
질문 묶음(test set)서비스가 받을 법한 질문과 그 정답을 모은 시험 문제입니다. 만들기 전에 먼저 준비합니다. test set 은 "시험용 묶음"이라는 뜻입니다.
기준선(baseline)가장 단순하게 만든 첫 버전의 성적입니다. 고친 것이 나아졌는지 견주는 잣대가 됩니다. baseline 은 "바닥에 긋는 기준 줄"이라는 뜻입니다.
다중 턴 대화(multi-turn conversation)질문과 답을 여러 번 주고받는 대화입니다. 뒤의 질문이 앞의 말을 이어받습니다. turn 은 "차례"라는 뜻으로, 말을 주고받는 차례가 여러 번이라는 말입니다.
후속 질문(follow-up question)"그럼 이용료는요?"처럼 앞의 대화가 없으면 뜻이 통하지 않는 질문입니다. follow-up 은 "뒤따르는"이라는 뜻입니다.
질문 바꿔 쓰기(query rewriting)후속 질문을 앞의 대화 없이도 통하는 질문으로 고쳐 쓰는 일입니다. query 는 "물음", rewriting 은 "다시 쓰기"라는 뜻입니다.
최신성(recency)같은 내용을 다룬 자료가 여럿일 때 더 늦게 나온 자료를 따르는 원칙입니다. recency 는 "최근임"이라는 뜻입니다.
출처 표기(citation)답에 근거가 된 조항, 절, 공지를 함께 적는 것입니다. citation 은 "인용, 끌어다 씀"이라는 뜻입니다.
FAQ 매칭(FAQ matching)사용자의 말을 미리 준비한 자주 묻는 질문 가운데 가장 가까운 것과 짝짓는 일입니다. FAQ 는 Frequently Asked Questions(자주 묻는 질문)의 머리글자이고, matching 은 "짝짓기"라는 뜻입니다.
기준값(threshold)점수가 이 값을 넘을 때만 답하고, 못 넘으면 다른 길로 넘기는 경계입니다. 1장의 기준값과 같은 생각입니다. threshold 는 "문지방"이라는 뜻으로, 넘어야 들어가는 경계를 가리킵니다.
넘기기(fallback)서비스가 답하지 않고 사람(담당 부서, 상담원)에게 넘기는 것입니다. fallback 은 "물러나 기댈 곳, 대비책"이라는 뜻입니다.
시연(demo)만든 서비스를 다른 사람 앞에서 실제로 돌려 보이는 것입니다. demo 는 demonstration(보여 줌)을 줄인 말입니다.

9장 · 도구를 쓰는 LLM 과 Agentic Workflow

용어설명
에이전트(agent)LLM 이 도구를 써 가며 스스로 다음 할 일을 정해 일을 끝내는 프로그램입니다. agent 는 "대신 일하는 사람, 대리인"이라는 뜻입니다.
도구(tool)LLM 이 쓸 수 있게 우리가 내어 준 함수입니다. 계산기, 검색, 예약 같은 것입니다. tool 은 "연장"이라는 뜻입니다.
도구 호출(tool calling)LLM 이 "이 도구를 이 인자로 불러 달라"고 요청하는 것입니다. function calling(함수 호출)이라고도 합니다. calling 은 "부르기"라는 뜻입니다.
tool_calls(도구 호출 목록)도구 호출을 요청한 응답에 담기는 목록입니다. 도구 이름과 인자(JSON)가 들어 있습니다. tool(도구)과 calls(호출들)를 밑줄로 이은 이름입니다.
JSON 스키마(JSON Schema)도구의 인자가 어떤 이름과 자료형인지 적은 약속입니다. 모델은 이것을 보고 인자를 채웁니다. JSON 은 JavaScript Object Notation(자바스크립트 객체 표기법)의 머리글자이고, schema 는 "도식, 틀"이라는 뜻입니다.
tool 메시지(tool message)우리가 도구를 실행한 결과를 모델에게 돌려주는 메시지입니다. role 이 "tool" 입니다. 도구(tool) 쪽에서 온 메시지라는 뜻입니다.
자율 루프(autonomous loop)모델이 도구를 그만 부를 때까지 "호출 → 실행 → 결과 전달"을 되풀이하는 반복문입니다. autonomous 는 "스스로 다스리는", loop 는 "고리"라는 뜻입니다.
걸음(step)자율 루프의 한 바퀴입니다. 걸음 수에 한도를 두어 끝없이 돌지 않게 합니다. step 은 "한 걸음, 단계"라는 뜻입니다.
ReAct(Reasoning and Acting)생각(Reason)과 행동(Act)을 번갈아 하는 방식입니다. 생각, 행동, 관찰을 글로 적으며 나아갑니다. Reason(생각하다)과 Act(행동하다)를 붙인 이름입니다.
워크플로(workflow)일의 순서를 사람이 코드로 정해 두고, LLM 은 정해진 칸에서만 일하는 짜임입니다. work(일)와 flow(흐름)를 붙인 말입니다.
슬롯 뽑기(slot filling)사용자의 말에서 날짜, 시각, 인원 같은 빈칸(슬롯)의 값을 뽑아내는 일입니다. slot 은 "끼워 넣는 칸"이라는 뜻입니다.
사람 확인(human-in-the-loop)되돌리기 어려운 도구(보내기, 지우기, 결제)를 실행하기 전에 사람의 승인을 받는 것입니다. 사람(human)이 고리(loop) 안에 들어가 있다는 뜻입니다.
작업 성공률(task success rate)에이전트에게 준 일 가운데 바르게 끝낸 비율입니다. task 는 "맡은 일"이라는 뜻입니다.

10장 · MCP 와 Prompt·Context Engineering

용어설명
MCP(Model Context Protocol)AI 앱이 바깥의 도구와 자료에 접속하는 방법을 정한 공개 규격입니다. Model(모델), Context(맥락), Protocol(통신 규약)의 머리글자로, 모델에 맥락을 건네는 약속이라는 뜻입니다.
MCP 서버(MCP server)도구, 리소스, 프롬프트를 MCP 규격으로 내어 주는 프로그램입니다. server 는 "시중드는 쪽, 내어 주는 쪽"이라는 뜻입니다.
MCP 클라이언트(MCP client)MCP 서버에 접속해 도구 목록을 받고 도구를 부르는 쪽입니다. client 는 "손님, 의뢰인"이라는 뜻입니다.
호스트(host)클라이언트를 품고 사용자와 LLM 을 잇는 AI 앱입니다. 채팅 앱, 코드 편집기 등입니다. host 는 "손님을 맞는 주인"이라는 뜻입니다.
리소스(resource)MCP 서버가 읽기 전용으로 내어 주는 자료입니다. stock://reservations 같은 주소로 읽습니다. resource 는 "자원, 쓸 거리"라는 뜻입니다.
JSON-RPC(JSON Remote Procedure Call)JSON 으로 "이 메서드를 이 인자로 불러 달라"를 주고받는 약속입니다. MCP 메시지의 꼴입니다. RPC 는 Remote(멀리 떨어진), Procedure(절차, 함수), Call(호출)의 머리글자로, 다른 프로그램의 함수를 부른다는 뜻입니다.
stdio(standard input/output)표준 입력과 출력입니다. 클라이언트가 서버를 하위 프로그램으로 띄우고 이 통로로 대화합니다. std 는 standard(표준), io 는 input/output(입력과 출력)의 줄임입니다.
프롬프트 엔지니어링(prompt engineering)지시, 예시, 출력 꼴을 다듬어 같은 모델에서 더 나은 답을 끌어내는 일입니다. prompt 는 배우에게 대사를 일러 주는 일에서 온 말이고, engineering 은 "설계하고 다듬는 일"이라는 뜻입니다.
퓨샷(few-shot)질문 앞에 문제와 정답의 예시 몇 개를 보여 주는 방법입니다. 예시가 없으면 제로샷(zero-shot)입니다. few 는 "몇 개", shot 은 "한 번의 시도"라는 뜻으로, 예시를 몇 번 보여 준다는 말입니다.
컨텍스트 엔지니어링(context engineering)모델이 한 번에 볼 글(지시, 도구, 대화, 검색 결과)을 무엇을 얼마나 넣을지 고르고 짜는 일입니다. context 는 "앞뒤 맥락"이라는 뜻입니다.
컨텍스트 창(context window)모델이 한 번에 읽을 수 있는 토큰의 최대 길이입니다. 모델이 한 번에 내다볼 수 있는 범위를 창(window)에 빗댄 말입니다.
재시도(retry)실패한 호출을 다시 보내는 것입니다. 잠깐 기다렸다 보내되, 기다리는 시간을 점점 늘리는 것을 백오프(backoff)라고 합니다. retry 는 re(다시)와 try(해 보다)를 붙인 말이고, backoff 는 "뒤로 물러남"이라는 뜻입니다.
일시적 오류(transient error)네트워크가 잠깐 끊기는 것처럼, 다시 하면 될 수 있는 오류입니다. transient 는 "잠깐 지나가는"이라는 뜻입니다.
거짓 보고(false report)에이전트가 하지 않은 일을 했다고 말하는 것입니다. 상태를 직접 확인해 잡아냅니다. false 는 "거짓의", report 는 "알림, 보고"라는 뜻입니다.

11장 · 폐쇄망 문서 파이프라인과 폐쇄형 RAG

용어설명
폐쇄망(air-gapped network)인터넷과 끊어 둔 회사 안의 네트워크입니다. 망분리라고도 합니다. air-gapped 는 "사이에 공기 틈을 둔", 곧 선으로 이어지지 않았다는 뜻입니다.
반입(import)바깥에서 받은 파일을 검사와 승인을 거쳐 폐쇄망 안으로 들여오는 일입니다. import 는 "안으로 들여오다"라는 뜻입니다.
휠(wheel)파이썬 패키지를 미리 묶어 둔 설치 파일입니다. 확장자는 .whl 입니다. 패키지 저장소의 옛 별명 Cheese Shop(치즈 가게)에 맞춰 치즈 한 덩이(cheese wheel)에서 따온 이름입니다.
오프라인 모드(offline mode)라이브러리가 인터넷에서 찾지 않고 내 PC 의 캐시만 쓰게 하는 설정입니다. offline 은 "선에서 떨어진", 곧 네트워크에 이어지지 않은 상태라는 뜻입니다.
텔레메트리(telemetry)프로그램이 사용 통계를 만든 회사로 보내는 기능입니다. tele(멀리)와 metry(재기)를 붙인 말로, 멀리서 잰 값을 받아 본다는 뜻입니다.
문서 파이프라인(document pipeline)문서를 모으고, 다듬고, 나누고, 색인에 넣는 일을 차례로 잇는 흐름입니다. pipeline 은 "송유관"이라는 뜻으로, 앞 단계의 결과가 관을 따라 다음 단계로 흘러가는 모습에 빗댄 말입니다.
정제(cleaning)메뉴, 꼬리말, 쪽 번호, 끊긴 줄, 개인정보처럼 답에 쓸모없거나 해로운 것을 걷어 내는 일입니다. cleaning 은 "청소"라는 뜻입니다.
인코딩(encoding)글자를 바이트로 바꾸는 방식입니다. 요즘은 utf-8, 옛 한글 윈도 파일은 cp949 를 씁니다. encode 는 "부호(code)로 바꾸다"라는 뜻입니다.
해시(hash)파일 내용으로 계산한 짧은 지문입니다. 내용이 한 글자라도 다르면 해시가 달라집니다. hash 는 "잘게 다져 섞다"라는 뜻으로, 내용을 다지듯 섞어 짧은 값으로 만드는 데서 왔습니다.
메타데이터(metadata)글 자체가 아니라 글에 대한 정보입니다. 출처, 부서, 등급, 판, 날짜 등입니다. meta 는 그리스어로 "넘어서, 위에"라는 뜻으로, 데이터에 대한 데이터라는 말입니다.
보안 등급(security level)문서를 누가 볼 수 있는지 정한 단계입니다. 이 장에서는 1 공개, 2 사내, 3 비밀입니다. level 은 "단계, 높이"라는 뜻입니다.
폐쇄형 RAG(closed RAG)모델, 임베딩, 벡터DB 를 모두 사내에 두고 바깥 서비스 없이 도는 RAG 입니다. RAG 는 Retrieval-Augmented Generation 의 머리글자로, Retrieval(검색)로 Augmented(보강한) Generation(생성)이라는 뜻입니다.
IVF(Inverted File Index)벡터를 여러 칸으로 나눠 두고 질문과 가까운 몇 칸만 뒤지는 인덱스입니다. Inverted(뒤집은) File(파일) Index(색인)라는 뜻으로, 칸마다 그 칸에 든 벡터 목록을 적어 두는 꼴에서 왔습니다.
재현율(recall)정확한 검색이 찾은 가까운 벡터 가운데 빠른 검색도 찾은 몫입니다. recall 은 "다시 불러내다"라는 뜻으로, 찾아야 할 것을 얼마나 불러냈는지를 가리킵니다.
증분 색인(incremental indexing)색인을 통째로 다시 만들지 않고 바뀐 문서만 고쳐 넣는 방식입니다. incremental 은 "조금씩 늘어나는"이라는 뜻입니다.

12장 · 멀티모달 RAG 와 데이터셋 자동 생성

용어설명
멀티모달(multimodal)글, 그림, 소리처럼 종류가 다른 자료를 함께 다루는 것입니다. 자료의 종류 하나를 모달리티(modality)라고 합니다. multi(여럿)와 modal(방식, 양식)을 붙인 말입니다.
CLIP(대조 언어-그림 사전 학습)그림과 글을 같은 공간의 임베딩으로 바꾸도록 함께 학습한 모델입니다. 그림 인코더와 글 인코더로 되어 있습니다. Contrastive Language-Image Pre-training 의 머리글자로, Contrastive(대조하는), Language-Image(글과 그림), Pre-training(사전 학습)이라는 뜻입니다.
인코더(encoder)그림이나 글을 받아 임베딩(숫자 줄)으로 바꾸는 부분입니다. encode(부호로 바꾸다)에 "하는 것"을 뜻하는 -er 를 붙인 말입니다.
제로샷 분류(zero-shot classification)따로 학습하지 않고, 이름표 글들과의 유사도만으로 그림의 종류를 고르는 방법입니다. zero-shot 은 "예시를 한 번도(0번) 보여 주지 않고"라는 뜻입니다.
비전 언어 모델(Vision Language Model)그림을 보고 글로 답하는 LLM 입니다. VLM 이라고 줄여 부릅니다. VLM 은 Vision(시각), Language(언어), Model(모델)의 머리글자입니다.
캡션(caption)그림을 설명하는 짧은 글입니다. caption 은 그림이나 기사에 붙는 짧은 제목이나 설명이라는 뜻입니다.
base64(베이스 64)그림 같은 바이트를 글자로 바꿔 JSON 에 담는 방법입니다. 영문 대소문자, 숫자, +, / 의 64가지 글자로 나타낸다는 뜻의 이름입니다.
멀티모달 RAG(multimodal RAG)글뿐 아니라 그림과 표에서도 근거를 찾아 답하는 RAG 입니다. RAG 는 Retrieval-Augmented Generation(검색 증강 생성)의 머리글자입니다.
데이터셋 자동 생성(synthetic data generation)LLM 에게 문서를 주고 학습용 질문과 답을 만들게 하는 일입니다. 합성 데이터라고도 합니다. synthetic 은 "합성한, 만들어 낸"이라는 뜻입니다.
근거 확인(grounding check)생성한 답의 숫자와 낱말이 원래 문서에 정말 있는지 견주는 것입니다. grounding 은 "땅에 붙이다"라는 뜻으로, 답을 실제 근거에 붙들어 둔다는 말입니다.
데이터 누출(data leakage)시험 문제가 학습 데이터에 섞여 들어가 점수가 부풀려지는 것입니다. leakage 는 "새어 나감"이라는 뜻입니다.
데이터셋 카드(dataset card)데이터를 어디서, 무엇으로, 어떻게 만들고 걸렀는지 적은 기록입니다. card 는 요점을 적은 작은 안내 카드라는 뜻입니다.

13장 · REST API 와 FastAPI

용어설명
API(Application Programming Interface)프로그램끼리 주고받는 약속입니다. 무엇을 어떤 꼴로 보내면 무엇이 돌아오는지 정합니다. Application(응용 프로그램), Programming(프로그래밍), Interface(맞닿는 면, 창구)의 머리글자입니다.
HTTP(HyperText Transfer Protocol)웹에서 요청과 응답을 주고받는 약속입니다. 브라우저도 이것으로 웹 페이지를 받습니다. HyperText(링크로 이어진 글), Transfer(전송), Protocol(통신 규약)의 머리글자입니다.
REST(Representational State Transfer)자원을 주소(URL)로, 할 일을 HTTP 메서드로 나타내는 API 설계 방식입니다. 이 방식을 따르면 RESTful 하다고 합니다. Representational(표현한), State(상태), Transfer(전달)의 머리글자로, 자원의 상태를 표현해 주고받는다는 뜻입니다.
엔드포인트(endpoint)API 에서 부를 수 있는 주소와 메서드 하나입니다. POST /predict 같은 것입니다. end(끝)와 point(지점)를 붙인 말로, 요청이 가 닿는 끝 지점이라는 뜻입니다.
메서드(method)요청이 무엇을 하려는지 나타냅니다. GET(읽기), POST(만들기·처리), PUT(바꾸기), DELETE(지우기) 등입니다. method 는 "방법"이라는 뜻입니다.
상태 코드(status code)응답의 결과를 나타내는 세 자리 숫자입니다. 200 은 성공, 404 는 없음, 500 은 서버 오류입니다. status 는 "상태", code 는 "부호"라는 뜻입니다.
JSON(JavaScript Object Notation)사전과 목록을 글로 적는 꼴입니다. API 의 요청과 응답 본문에 가장 많이 씁니다. "자바스크립트 객체 표기법"이라는 뜻입니다.
FastAPI파이썬 함수에 타입 힌트를 달면 API 와 입력 검사, 문서를 만들어 주는 웹 프레임워크입니다. Fast(빠른)와 API 를 붙인 이름입니다.
Pydantic타입 힌트로 데이터의 꼴을 정하고 검사하는 라이브러리입니다. FastAPI 가 입력 검사에 씁니다. Python 의 Py 와 pedantic(꼼꼼히 따지는)을 합친 이름입니다.
uvicornFastAPI 앱을 실제 서버로 띄우는 프로그램입니다. 이름의 uv 는 빠른 이벤트 처리 라이브러리 uvloop 에서 왔습니다.
직렬화(serialization)메모리 속의 객체(학습한 모델 등)를 파일로 저장할 수 있게 바꾸는 것입니다. serial 은 "한 줄로 잇따르는"이라는 뜻으로, 객체를 바이트 한 줄로 늘어놓는다는 말입니다.
인증(authentication)요청한 쪽이 누구인지 확인하는 것입니다. 실패하면 401 입니다. authentic(진짜의)에서 온 말로, 진짜 그 사람인지 확인한다는 뜻입니다.
권한(authorization)확인된 사용자가 그 일을 해도 되는지 정하는 것입니다. 실패하면 403 입니다. authorize 는 "권한을 주다, 허락하다"라는 뜻입니다.
API 키(API key)요청마다 머리글에 넣어 보내는 비밀 글자입니다. 누가 부르는지 알아보는 데 씁니다. key 는 "열쇠"라는 뜻입니다.
JWT(JSON Web Token)사용자 정보와 만료 시각을 담고 서명한 토큰입니다. 서버는 서명만 확인하면 됩니다. JSON 으로 적은 웹용 Token(증표)이라는 뜻의 머리글자입니다.

14장 · Streamlit 화면과 Docker 컨테이너

용어설명
Streamlit파이썬 스크립트 하나로 웹 화면을 만드는 라이브러리입니다. streamlit run 파일.py 로 띄웁니다. 이름의 stream 은 "흐름, 시냇물"이라는 뜻입니다.
위젯(widget)입력 칸, 선택 상자, 단추처럼 사용자가 값을 넣는 화면 요소입니다. widget 은 "작은 장치, 부품"을 가리키는 말입니다.
다시 실행(rerun)위젯 값이 바뀔 때마다 Streamlit 이 스크립트를 처음부터 다시 실행하는 방식입니다. re(다시)와 run(실행하다)을 붙인 말입니다.
세션 상태(session state)다시 실행돼도 사용자마다 남아 있는 값입니다. st.session_state 에 둡니다. session 은 "한 차례 이어지는 시간"이라는 뜻으로, 화면을 열어 닫을 때까지를 가리킵니다.
캐시(cache)한 번 계산한 결과를 저장해 두고 다시 쓰는 것입니다. 모델 불러오기처럼 무거운 일에 씁니다. cache 는 프랑스어에서 온 말로 "숨겨 둔 저장고"라는 뜻입니다.
컨테이너(container)프로그램과 그 프로그램이 쓰는 라이브러리, 설정을 한데 묶어 다른 프로그램과 떼어 놓고 실행하는 단위입니다. container 는 "담는 그릇"이라는 뜻으로, 짐을 담아 옮기는 화물 컨테이너에 빗댄 말입니다.
이미지(image)컨테이너를 만드는 틀입니다. 운영체제의 일부, 파이썬, 패키지, 코드가 층층이 들어 있습니다. image 는 "본뜬 모습"이라는 뜻으로, 실행 환경을 그대로 떠 놓은 본이라는 말입니다.
Docker이미지를 만들고 컨테이너를 실행하는 도구입니다. docker 는 "부두 노동자", 곧 배에 짐을 싣고 내리는 사람이라는 뜻입니다.
Dockerfile이미지를 만드는 순서를 적은 파일입니다. Docker 와 file(파일)을 붙인 이름입니다.
레지스트리(registry)이미지를 올려 두고 내려받는 저장소입니다. Docker Hub, 사내 레지스트리 등이 있습니다. registry 는 register(등록하다)에서 온 말로 "등록소"라는 뜻입니다.
docker compose여러 컨테이너(화면, API, 모델 서버)를 파일 하나로 함께 띄우는 도구입니다. compose 는 "여럿을 모아 짜 맞추다"라는 뜻입니다.
포트(port)한 컴퓨터 안에서 프로그램마다 나눠 쓰는 통신 번호입니다. 8013, 8501 같은 숫자입니다. port 는 "항구"라는 뜻입니다.
볼륨(volume)컨테이너를 지워도 남도록 바깥에 저장하는 공간입니다. volume 은 "책 한 권, 부피"라는 뜻으로, 저장 공간 한 덩이를 가리킵니다.
API 아키텍처(API architecture)화면, API, 모델 서버, 데이터를 어떻게 나누고 잇는지 정한 서비스의 짜임입니다. architecture 는 "건축, 설계 구조"라는 뜻입니다.

15장 · 모델 경량화: 양자화, 프루닝, 지식증류

용어설명
경량화(model compression)모델의 크기, 메모리, 계산량을 줄이는 일입니다. compression 은 "압축"이라는 뜻입니다.
파라미터(parameter)모델이 학습한 숫자(가중치)입니다. Qwen2.5-0.5B 에는 약 4억 9,400만 개가 있습니다. 그리스어 para(곁)와 metron(재는 것)에서 온 말로, 모양을 정하는 값을 뜻합니다.
정밀도(precision)숫자 하나를 몇 비트로 나타내는지입니다. fp32 는 32비트, fp16 은 16비트입니다. precision 은 "정밀함"이라는 뜻이고, fp 는 floating point(부동소수점)의 머리글자입니다.
양자화(quantization)숫자를 더 적은 비트(8비트, 4비트 정수 등)로 나타내 크기를 줄이는 일입니다. quantum(양, 덩어리)에서 온 말로, 이어진 값을 띄엄띄엄 정해진 값으로 끊는다는 뜻입니다.
스케일(scale)양자화한 정수를 원래 크기의 숫자로 되돌릴 때 곱하는 값입니다. scale 은 "눈금, 비율"이라는 뜻입니다.
그룹 양자화(group-wise quantization)가중치를 작은 묶음(예: 128개)으로 나눠 묶음마다 스케일을 따로 두는 양자화입니다. group-wise 는 "묶음마다"라는 뜻입니다.
GGUFllama.cpp 와 Ollama 가 쓰는 모델 파일 꼴입니다. Q4_K_M, Q8_0 같은 양자화 단계를 담습니다. 앞선 파일 꼴 GGML 을 이은 이름이며, 글자 풀이는 자료마다 달라 여기서는 적지 않습니다.
GPTQ(GPT Quantization)보정 데이터로 층마다 양자화 오차를 줄이며 4비트로 바꾸는 방법입니다. GPT(Generative Pre-trained Transformer, 생성형 사전 학습 트랜스포머)와 Quantization(양자화)을 붙인 이름입니다.
AWQ(활성값 인식 가중치 양자화)활성값이 큰 중요한 가중치를 보호하며 4비트로 바꾸는 방법입니다. Activation-aware Weight Quantization 의 머리글자로, Activation-aware(활성값을 살피는), Weight(가중치), Quantization(양자화)이라는 뜻입니다.
보정 데이터(calibration data)양자화할 때 오차를 재는 데 쓰는 작은 예시 글 묶음입니다. calibration 은 "눈금 맞추기"라는 뜻입니다.
프루닝(pruning)덜 중요한 가중치나 뉴런을 0 으로 만들거나 지우는 일입니다. 가지치기라고도 합니다. prune 은 "가지를 치다"라는 뜻입니다.
희소도(sparsity)가중치 가운데 0 인 것의 몫입니다. sparse 는 "드문드문한"이라는 뜻입니다.
지식증류(knowledge distillation)큰 모델(선생님)의 답으로 작은 모델(학생)을 가르치는 일입니다. distillation 은 "증류", 곧 끓여서 핵심만 받아 낸다는 뜻입니다.
소프트 레이블(soft label)정답 하나가 아니라 선생님이 내놓은 보기마다의 확률입니다. soft 는 "무른", label 은 "이름표"라는 뜻으로, 하나로 딱 잘라 정하지 않은 이름표라는 말입니다.
퍼플렉서티(perplexity)모델이 글의 다음 토큰을 얼마나 헷갈려하는지 나타내는 값입니다. 낮을수록 좋습니다. perplexity 는 "당혹, 헷갈림"이라는 뜻입니다.
KV 캐시(KV cache)글을 이어 쓸 때 앞 토큰의 계산 결과를 저장해 두는 메모리입니다. 글이 길수록 커집니다. KV 는 Key(키)와 Value(값)의 머리글자로, 앞 토큰마다 계산해 두는 두 값을 가리킵니다.

16장 · vLLM 서빙 벤치마킹과 RAG 최적화

용어설명
서빙(serving)학습한 모델을 서버에 올려 여러 사용자의 요청에 답하게 하는 일입니다. serve 는 "음식을 차려 내다, 시중들다"라는 뜻입니다.
서빙 엔진(serving engine)모델을 올리고 요청을 받아 생성을 빠르게 돌려주는 프로그램입니다. vLLM, Ollama, TGI 등이 있습니다. engine 은 "기관, 엔진"이라는 뜻으로, 일을 실제로 돌리는 핵심 프로그램을 가리킵니다.
vLLMKV 캐시를 쪽 단위로 관리하고 요청을 연속 배치로 묶어 처리량을 높인 오픈소스 서빙 엔진입니다. LLM(Large Language Model, 대규모 언어 모델)을 서빙하려고 만든 엔진이라 이름에 LLM 이 들어 있습니다.
프리필(prefill)입력 프롬프트 전체를 한 번에 읽어 KV 캐시를 채우는 단계입니다. pre(미리)와 fill(채우다)을 붙인 말입니다.
디코드(decode)토큰을 하나씩 이어 쓰는 단계입니다. 출력 토큰 수만큼 되풀이합니다. decode 는 "부호를 풀다, 해독하다"라는 뜻입니다.
PagedAttentionKV 캐시를 작은 쪽(블록)으로 나눠 필요한 만큼만 잡는 vLLM 의 방법입니다. page(쪽)와 attention(어텐션, 주의)을 붙인 이름으로, 운영체제가 메모리를 쪽 단위로 나눠 쓰는 방식에서 착안했습니다.
배치(batch)여러 요청을 묶어 한 번의 계산으로 처리하는 일입니다. batch 는 "한 번에 구워 내는 한 판, 한 묶음"이라는 뜻입니다.
연속 배치(continuous batching)끝난 요청의 자리에 기다리던 요청을 바로 넣어 묶음을 계속 채우는 배치입니다. continuous 는 "끊이지 않는"이라는 뜻입니다.
TTFT(Time To First Token)요청을 보낸 뒤 첫 토큰을 받기까지의 시간입니다. Time(시간), To(~까지), First(첫), Token(토큰)의 머리글자입니다.
TPOT(Time Per Output Token)첫 토큰 뒤 토큰 하나가 나오는 데 드는 평균 시간입니다. Time(시간), Per(~마다), Output(출력), Token(토큰)의 머리글자입니다.
지연 시간(latency)요청 하나를 보내고 답을 다 받기까지의 시간입니다. latency 는 "늦어짐, 지연"이라는 뜻입니다.
처리량(throughput)서버가 1초에 만들어 내는 토큰 수나 처리하는 요청 수입니다. through(통과하여)와 put(내놓다)을 붙인 말로, 일정 시간에 처리해 내는 양을 뜻합니다.
p95(95th percentile)값을 작은 것부터 늘어놓았을 때 95% 자리의 값입니다. 느린 요청을 볼 때 씁니다. p 는 percentile(백분위수)의 머리글자이고, percentile 은 per cent(백에 대하여)에서 온 말입니다.
동시성(concurrency)서버에 한꺼번에 보내는 요청의 수입니다. concurrent 는 "함께 달리는, 동시에 일어나는"이라는 뜻입니다.
병목(bottleneck)전체 속도를 붙잡는 가장 느린 단계입니다. 병의 목처럼 좁아 흐름이 막히는 곳이라는 뜻의 bottleneck 을 옮긴 말입니다.
프리픽스 캐시(prefix cache)앞부분이 같은 프롬프트의 KV 캐시를 다시 써서 프리필을 건너뛰는 캐시입니다. prefix 는 "앞에 붙는 것, 접두사"이고, cache 는 프랑스어로 "숨겨 두는 곳"에서 온 말입니다.

17장 · Project 02. LLM 추론 API 서빙

용어설명
추론 API(inference API)학습을 마친 모델에 입력을 보내 결과(요약, 분류, 답)를 받는 API 입니다. 모델을 고치지 않고 쓰기만 합니다. inference 는 "미루어 판단함, 추론"이라는 뜻이고, API 는 Application Programming Interface(응용 프로그램 프로그래밍 인터페이스)의 머리글자입니다.
수명 주기(lifespan)서버가 켜질 때와 꺼질 때 할 일을 적는 곳입니다. FastAPI 에서는 lifespan 이라고 부릅니다. life(생명)와 span(길이, 기간)을 붙인 말로 "수명"이라는 뜻입니다.
데우기(warm-up)서버가 요청을 받기 전에 모델에 한 번 물어 GPU 에 올려 두는 일입니다. warm-up 은 운동 전에 몸을 데우는 "몸풀기"라는 뜻입니다.
준비 상태(readiness)서버가 요청을 받을 준비를 마쳤는지 알리는 값입니다. /health 가 돌려주고, compose 의 상태 검사가 읽습니다. readiness 는 "준비되어 있음"이라는 뜻입니다.
응답 약속(contract)API 가 받을 입력의 범위와 돌려줄 응답의 꼴을 미리 정한 것입니다. contract 는 "계약"이라는 뜻입니다.
동시 처리 제한(concurrency limit)한꺼번에 처리할 요청의 수를 정해 두고, 넘치는 요청은 받지 않는 장치입니다. concurrency 는 "동시에 일어남", limit 는 "한도"라는 뜻입니다.
503 Service Unavailable"지금은 붐벼서 받을 수 없다"는 상태 코드입니다. 잠시 뒤 다시 보내면 됩니다. Service Unavailable 은 "서비스를 쓸 수 없음"이라는 뜻입니다.
Retry-After503 응답에 붙여 "몇 초 뒤에 다시 보내라"고 알려 주는 머리글입니다. retry 는 "다시 시도하다", after 는 "~ 뒤에"라는 뜻입니다.
시간 제한(timeout)모델의 답을 기다릴 최대 시간입니다. 넘으면 기다리기를 그만두고 오류로 답합니다. time 과 out(다 되다)을 붙인 말로 "정한 시간이 다 됨"이라는 뜻입니다.
504 Gateway Timeout뒤에 있는 서버(여기서는 모델)가 정한 시간 안에 답하지 않았다는 상태 코드입니다. gateway 는 "출입구, 관문"이라는 뜻으로, 요청을 뒤 서버로 넘겨주는 앞단 서버를 가리킵니다.
두 단계 분류(cascade)빠른 분류기가 먼저 나누고, 확신이 낮은 것만 느리지만 정확한 LLM 에 다시 맡기는 방식입니다. cascade 는 "여러 단으로 이어져 떨어지는 폭포"라는 뜻입니다.
확신도(confidence)분류기가 고른 분류에 스스로 매긴 확률입니다. predict_proba 의 가장 큰 값입니다. confidence 는 "자신감, 확신"이라는 뜻입니다.
모델 판(model version)서비스가 쓰는 모델과 설정에 붙인 이름입니다. 응답에 함께 적어, 어떤 판이 답했는지 나중에 알 수 있게 합니다. version 은 "판, 달라진 꼴"이라는 뜻입니다.
부하 시험(load test)여러 사람이 한꺼번에 부르는 상황을 흉내 내어 처리량과 응답 시간을 재는 시험입니다. load 는 "짐, 실린 양"이라는 뜻입니다.

18장 · Project 03. 내 서버에서 일하는 AI Agent

용어설명
프라이빗 에이전트(private agent)회사 안의 서버에서 공개 모델로 도는 AI 에이전트입니다. 질문과 업무 데이터가 회사 밖으로 나가지 않습니다. private 는 "사적인, 내부의", agent 는 "대신 일을 맡아 하는 사람, 대리인"이라는 뜻입니다.
End-to-End(끝에서 끝까지)사용자의 요청을 받는 곳부터 모델, 도구, 기록까지 한 줄로 이어 실제로 돌아가게 만드는 것입니다. "한쪽 끝에서 다른 쪽 끝까지"라는 뜻이고, 줄여서 E2E 라고도 씁니다.
읽기 도구(read tool)정보를 찾아 돌려주기만 하는 도구입니다. 규정 검색, 주문 조회가 여기에 듭니다. read 는 "읽다"라는 뜻으로, 데이터를 바꾸지 않고 읽기만 한다는 말입니다.
쓰기 도구(write tool)시스템의 상태를 바꾸는 도구입니다. 휴가 신청, 반품 접수처럼 되돌리기 어려운 일을 합니다. write 는 "쓰다"라는 뜻으로, 데이터에 새로 적거나 고친다는 말입니다.
사용자 묶기(user binding)도구가 누구의 데이터를 다룰지를 LLM 이 아니라 서버가 로그인 정보로 정해 두는 것입니다. bind 는 "묶다, 매다"라는 뜻입니다.
확인 대기(pending confirmation)쓰기 도구가 바로 실행하지 않고 "이렇게 할까요?"라는 작업만 만들어 두는 상태입니다. 사람이 확인하면 실행됩니다. pending 은 "결정을 기다리는 중", confirmation 은 "확인"이라는 뜻입니다.
실행 기록(trace)에이전트가 요청 하나를 처리하며 부른 도구, 인자, 결과, 걸린 시간을 차례로 남긴 것입니다. trace 는 "발자국, 자취"라는 뜻입니다.
끝 상태 채점(end-state evaluation)에이전트의 말이 아니라, 일을 마친 뒤 시스템에 남은 결과(만든 신청, 접수한 반품)로 성공을 가리는 채점입니다. end state 는 "마지막에 남은 상태", evaluation 은 "평가"라는 뜻입니다.
프롬프트 인젝션(prompt injection)사용자의 말에 "이전 지시를 무시해"처럼 에이전트의 지시를 바꾸려는 문장을 섞는 공격입니다. 21장에서 자세히 다룹니다. injection 은 "주사, 주입"이라는 뜻으로, 지시를 몰래 밀어 넣는다는 말입니다.
상담원 넘기기(handoff)에이전트가 처리하지 않고 사람 상담원에게 대화를 넘기는 것입니다. hand off 는 "손에서 손으로 넘겨주다"라는 뜻입니다.

19장 · MLOps 와 LLMOps, 워크플로 자동화

용어설명
MLOps(Machine Learning Operations)머신러닝 모델을 만들고, 배포하고, 지켜보고, 다시 학습하는 일을 꾸준히 굴러가게 만드는 방법과 도구입니다. ML(Machine Learning, 머신러닝)과 Ops(Operations, 운영)를 붙인 말로, 개발과 운영을 잇는 DevOps 에서 따온 이름입니다.
LLMOps(LLM Operations)MLOps 를 LLM 서비스에 맞춘 것입니다. 프롬프트, 검색 색인, 평가 묶음까지 버전으로 관리합니다. LLM(Large Language Model, 대규모 언어 모델)과 Ops(Operations, 운영)를 붙인 말입니다.
실험 기록(experiment tracking)학습할 때 쓴 설정, 나온 점수, 만든 파일을 실행마다 남기는 일입니다. experiment 는 "실험", tracking 은 "뒤를 밟아 따라감"이라는 뜻입니다.
실행(run)MLflow 에서 학습 한 번을 기록하는 단위입니다. run 은 "한 번 돌림"이라는 뜻입니다.
모델 레지스트리(model registry)배포할 후보 모델을 이름과 버전으로 모아 두는 곳입니다. registry 는 "등록부, 등기소"라는 뜻입니다.
별칭(alias)레지스트리의 버전 하나를 가리키는 이름표입니다. 예를 들면 champion 입니다. alias 는 "또 다른 이름"이라는 뜻입니다.
챔피언(champion)지금 서비스에 쓰는 모델입니다. 새 후보는 도전자라고 부릅니다. champion 은 "우승자"라는 뜻이고, 도전자는 영어로 challenger 입니다.
품질 게이트(quality gate)새 후보가 정한 기준을 넘을 때만 배포하게 막는 관문입니다. gate 는 "문, 관문"이라는 뜻입니다.
되돌리기(rollback)문제가 생긴 배포를 앞의 버전으로 돌리는 일입니다. roll(굴리다)과 back(뒤로)을 붙인 말입니다.
이미지 층(image layer)Docker 이미지를 이루는 겹입니다. Dockerfile 의 명령 한 줄이 층 하나를 만듭니다. layer 는 "겹, 층"이라는 뜻입니다.
빌드 캐시(build cache)바뀌지 않은 층을 다시 만들지 않고 그대로 쓰는 Docker 의 기능입니다. build 는 "짓다", cache 는 프랑스어로 "숨겨 두는 곳"에서 온 말입니다.
볼륨(volume)컨테이너 밖에 두는 저장 공간입니다. 컨테이너를 지워도 남습니다. volume 은 "책 한 권, 한 덩어리"라는 뜻에서 저장 공간 한 덩어리를 가리키게 되었습니다.
워크플로(workflow)순서가 정해진 여러 작업의 묶음입니다. work(일)와 flow(흐름)를 붙인 말입니다.
DAG(Directed Acyclic Graph)작업과 작업 사이의 앞뒤 관계를 화살표로 이은, 되돌아오는 길이 없는 그림입니다. Directed(방향이 있는), Acyclic(고리가 없는), Graph(그래프)의 머리글자로, 우리말로 방향성 비순환 그래프라고 합니다.
AirflowDAG 로 적은 작업을 정한 시각에 돌리고 기록하는 오픈소스 워크플로 도구입니다. air(공기)와 flow(흐름)를 붙인 이름으로 "공기의 흐름"이라는 뜻입니다.
데이터 구간(data interval)Airflow 의 실행 하나가 맡는 데이터의 시간 범위입니다. interval 은 "사이, 간격"이라는 뜻입니다.
멱등성(idempotence)같은 작업을 여러 번 돌려도 한 번 돌린 것과 결과가 같은 성질입니다. 라틴어 idem(같은)과 potent(힘이 있는)를 붙인 수학 용어입니다.
증분 처리(incremental processing)바뀐 부분만 골라 다시 처리하는 방식입니다. increment 는 "늘어난 양, 증가분"이라는 뜻입니다.
지문(fingerprint)내용에서 계산한 짧은 글자열입니다. 내용이 한 글자만 바뀌어도 달라집니다. fingerprint 는 "손가락 지문"이라는 뜻이고, 이 값을 만드는 계산을 해시(hash, 잘게 다져 섞다)라고 합니다.

20장 · LLM 평가와 모니터링

용어설명
평가 묶음(evaluation set)판이 바뀔 때마다 같은 방법으로 재기 위해 정해 둔 질문과 참조 답의 모음입니다. evaluation 은 "값을 매김, 평가", set 는 "한 벌, 묶음"이라는 뜻입니다.
참조 답(reference answer)평가 묶음의 질문마다 사람이 적어 둔 바른 답입니다. reference 는 "참고, 기준으로 삼는 것"이라는 뜻입니다.
규칙 채점(rule-based scoring)열쇠 낱말이 들었는지, 형식이 맞는지처럼 코드로 정한 규칙으로 답을 채점하는 일입니다. rule-based 는 "규칙에 바탕을 둔"이라는 뜻입니다.
의미 유사도(semantic similarity)두 문장의 뜻이 얼마나 가까운지를 임베딩의 코사인 유사도로 잰 값입니다. semantic 은 "뜻에 관한", similarity 는 "닮은 정도"라는 뜻입니다.
LLM 채점자(LLM-as-a-judge)채점 기준을 주고 다른 LLM 의 답을 채점하게 한 LLM 입니다. "심판(judge)으로서의 LLM"이라는 뜻이고, LLM 은 Large Language Model(대규모 언어 모델)의 머리글자입니다.
채점 기준표(rubric)무엇을 맞음과 틀림으로 볼지 적은 기준입니다. rubric 은 라틴어로 "붉은 흙"에서 온 말로, 옛 책에서 지시문을 붉은 글씨로 쓴 데서 "지침, 기준"이라는 뜻이 생겼습니다.
일치율(agreement rate)채점자의 판정이 사람의 판정과 같은 비율입니다. agreement 는 "의견이 같음, 일치"라는 뜻입니다.
환각(hallucination)자료에 없거나 사실과 다른 내용을 그럴듯하게 지어내는 일입니다. hallucination 은 "없는 것을 보는 헛것, 환각"이라는 뜻입니다.
근거 충실도(faithfulness)답의 내용이 검색한 자료로 뒷받침되는 정도입니다. faithful 은 "충실한, 원본에 어긋나지 않는"이라는 뜻입니다.
드리프트(drift)운영 중에 들어오는 데이터나 그 뜻이 학습·평가 때와 달라지는 일입니다. drift 는 "물결이나 바람에 떠밀려 감"이라는 뜻입니다.
데이터 드리프트(data drift)입력(질문)의 분포가 바뀌는 드리프트입니다. 데이터가 떠밀려 달라진다는 뜻입니다.
개념 드리프트(concept drift)같은 질문에 대한 바른 답이 바뀌는 드리프트입니다. concept 는 "개념"이라는 뜻으로, 맞고 틀림의 기준 자체가 떠밀려 간다는 말입니다.
PSI(Population Stability Index)두 기간의 범주 비율이 얼마나 달라졌는지 재는 값입니다. Population(모집단), Stability(안정성), Index(지수)의 머리글자로, 모집단 안정성 지수라는 뜻입니다.
KS 검정(Kolmogorov-Smirnov test)두 숫자 묶음의 분포가 같은지 보는 통계 검정입니다. KS 는 이 검정을 만든 두 수학자 콜모고로프(Kolmogorov)와 스미르노프(Smirnov)의 머리글자입니다.
기준 기간(baseline period)견줄 때 "평소"로 삼는 기간입니다. baseline 은 "기준선"이라는 뜻입니다.
p95(95th percentile)값을 작은 것부터 늘어놓았을 때 95% 자리의 값입니다. p 는 percentile(백분위수)의 머리글자이고, percentile 은 per cent(백에 대하여)에서 온 말입니다.
오류율(error rate)전체 요청 가운데 오류로 끝난 요청의 비율입니다. error 는 "잘못", rate 는 "비율"이라는 뜻입니다.
문턱(threshold)알림을 울릴 경계값입니다. threshold 는 "문지방, 문턱"이라는 뜻입니다.
알림 피로(alert fatigue)알림이 너무 잦아 사람이 무시하게 되는 일입니다. alert 는 "경보", fatigue 는 "피로"라는 뜻입니다.
대시보드(dashboard)여러 지표를 한 화면에 모아 보여 주는 화면입니다. dashboard 는 마차 앞에서 튀는 진흙을 막던 판을 가리키던 말로, 뒤에 자동차의 계기판을 뜻하게 되었습니다.

21장 · AI 거버넌스와 보안, 온프레미스 인프라

용어설명
프롬프트 인젝션(prompt injection)입력이나 자료에 지시문을 섞어 LLM 이 원래 지시 대신 그것을 따르게 하는 공격입니다. injection 은 "주사, 주입"이라는 뜻으로, 지시를 몰래 밀어 넣는다는 말입니다.
직접 인젝션(direct injection)사용자가 보내는 말에 공격 지시를 담는 인젝션입니다. direct 는 "곧바로, 직접"이라는 뜻입니다.
간접 인젝션(indirect injection)검색 문서, 웹 페이지, 메일처럼 LLM 이 읽는 자료에 공격 지시를 심어 두는 인젝션입니다. indirect 는 "에둘러, 간접으로"라는 뜻입니다.
시스템 프롬프트 유출(system prompt leak)서비스가 숨겨 둔 지시문이나 그 안의 비밀이 답으로 새어 나오는 일입니다. leak 는 "새다, 새는 곳"이라는 뜻입니다.
카나리(canary)새어 나왔는지 알아보려고 일부러 심어 두는 가짜 값입니다. 탄광에서 유독 가스를 먼저 알아채려고 카나리아 새를 데려가던 데서 온 이름입니다.
다층 방어(defense in depth)한 가지 방어에 기대지 않고 입력, 자료, 모델, 출력에 검사를 겹겹이 두는 방식입니다. defense in depth 는 "깊이를 두고 겹겹이 막는 방어"라는 뜻의 군사 용어에서 왔습니다.
Red Teaming(레드팀 활동)일부러 공격하는 사람의 눈으로 서비스의 약점을 찾는 시험입니다. 모의 훈련에서 공격하는 편을 붉은 팀(red team)이라고 부르는 데서 온 말입니다.
LLMSecOps(LLM Security Operations)LLM 서비스의 보안 점검을 개발과 배포 과정에 넣어 늘 돌게 하는 방식입니다. LLM(Large Language Model, 대규모 언어 모델), Sec(Security, 보안), Ops(Operations, 운영)를 붙인 말입니다.
마스킹(masking)개인정보를 [전화] 같은 표시로 바꿔 가리는 일입니다. mask 는 "가면, 가리다"라는 뜻입니다.
가명 처리(pseudonymization)개인정보를 같은 사람에게는 늘 같은 가짜 표시로 바꿔, 누구인지는 모르게 하되 같은 사람인지는 알게 하는 일입니다. pseudonym 은 그리스어 pseudo(거짓)와 onyma(이름)를 붙인 말로 "가명"이라는 뜻입니다.
재현율(recall)찾아야 할 것 가운데 실제로 찾은 비율입니다. recall 은 "다시 불러냄, 기억해 냄"이라는 뜻입니다.
정밀도(precision)찾았다고 한 것 가운데 진짜인 비율입니다. precision 은 "정확함, 정밀함"이라는 뜻입니다.
접근 제어(access control)사용자의 권한에 따라 볼 수 있는 자료를 나누는 일입니다. access 는 "다가감, 접근", control 은 "다스림, 제어"라는 뜻입니다.
역할 기반 접근 제어(Role-Based Access Control)사람마다가 아니라 역할(인턴, 팀원, 팀장)마다 권한을 주는 방식입니다. 머리글자를 따서 RBAC 이라고 부르며, Role(역할), Based(기반), Access(접근), Control(제어)입니다.
AI 거버넌스(AI governance)AI 를 누가, 어떤 기준으로 만들고 쓰고 책임지는지 정한 규칙과 절차입니다. AI 는 Artificial Intelligence(인공지능)의 머리글자이고, governance 는 "배의 키를 잡다"라는 뜻의 그리스어에서 온 말로 "다스림, 관리 체계"를 뜻합니다.
모델 카드(model card)모델의 용도, 데이터, 성능, 한계를 적은 문서입니다. card 는 "한 장짜리 카드"라는 뜻으로, 모델의 신상을 한눈에 적은 안내문이라는 말입니다.
온프레미스(on-premises)서버를 회사 안에 두고 직접 운영하는 방식입니다. premises 는 "건물과 그 부지, 구내"라는 뜻으로, 회사 건물 안에 둔다는 말입니다.
KV 캐시(Key-Value cache)생성할 때 앞 토큰의 계산 결과를 담아 두는 GPU 메모리입니다(16장). Key(키)와 Value(값)의 머리글자로, 어텐션 계산에 쓰는 키와 값을 담아 둔다는 뜻입니다.
← 이전실습 데이터 파일