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 은 "본, 틀"이라는 뜻입니다.