Knowledge
학습과 추론은 무엇이 다른가
학습은 파라미터가 바뀌는 단계이고, 추론은 파라미터가 고정된 채 답만 내는 단계다. 추론은 학습의 앞부분만 하고 끝난다. 둘이 실제로 어떻게 돌아가는지, 예시를 보여주거나 대화를 이어가거나 검색을 붙이는 것이 왜 학습이 아닌지, 그리고 이 구분이 프라이버시와 비용에서 무엇을 결정하는지 정리한다.
학습과 추론은 무엇이 다른가
둘의 차이는 한 가지로 갈린다. 파라미터가 바뀌는가, 바뀌지 않는가.
학습(training) — 데이터를 보면서 모델의 파라미터를 조정하는 단계. 모델이 만들어지는 과정이다.
추론(inference) — 완성된 모델에 입력을 넣어 출력을 얻는 단계. 파라미터는 고정되어 있다.
용어 주의 — 한국어에서 '추론'은 일상적으로 미루어 짐작하고 논리적으로 따져보는 것을 뜻한다. 영어로는 reasoning에 해당한다. 그런데 AI에서 말하는 추론(inference)은 그런 뜻이 전혀 아니다. 모델을 한 번 실행해서 출력을 얻는 것을 가리킬 뿐이고, 논리적으로 따지든 아니든 상관없다. 고양이 사진을 분류하는 것도 추론이다. 최근 "추론 모델"이라는 말이 널리 쓰이면서 두 뜻이 더 심하게 섞이고 있으므로, 자료를 읽을 때 어느 쪽인지 확인해야 한다.
정의만 보면 단순하다. 그런데 이 구분이 실제로 중요한 이유는 따로 있다. 경계에 걸쳐 보이는 것들이 많기 때문이다.
챗봇에게 예시를 몇 개 보여주면 그걸 따라 한다. 배운 것처럼 보인다. 대화 앞부분에서 알려준 이름을 뒤에서 쓴다. 이것도 배운 것처럼 보인다. 둘 다 학습이 아니다. 파라미터는 하나도 바뀌지 않았다.
이 차이를 알아야 답할 수 있는 질문들이 있다. 내가 AI에게 알려준 것이 다른 사람에게 새어나갈 수 있는가. AI는 쓸수록 나에게 맞춰지는가. 모델을 최신 정보로 갱신하려면 무엇을 해야 하는가. 왜 답의 첫 글자는 늦게 나오고 그다음부터는 빠른가. 전부 이 구분 위에 서 있다.
두 단계에서 무엇이 달라지는가
| 학습 | 추론 | |
| 파라미터 | 계속 바뀐다 | 고정 |
| 계산 | 순전파 → 손실 계산 → 역전파 → 갱신 | 순전파만 |
| 필요한 것 | 대량의 데이터, 때로는 정답 | 입력 하나 |
| 메모리 | 파라미터 + 활성값 + 기울기 + 옵티마이저 상태 | 파라미터 + 입력 |
| 일어나는 횟수 | 배포 전에 한 번, 또는 주기적으로 | 서비스가 살아 있는 내내 |
| 한 번의 비용 | 매우 크다 | 작다 |
| 누적 비용 | 정해져 있다 | 계속 쌓인다 |
각 계산 단계의 이름과 작동 방식은 딥러닝이란 무엇인가에서 다룬다.
메모리 항목이 자주 간과된다. 학습에는 파라미터만 올려두면 되는 것이 아니다. 세 가지가 더 필요하다.
활성값 — 역전파는 순전파를 거꾸로 되짚어가므로, 각 층이 계산해낸 중간값을 전부 붙들고 있어야 한다. 실무에서는 대개 이것이 가장 큰 덩어리다.
기울기 — 파라미터마다 하나씩 필요하다.
옵티마이저 상태 — 옵티마이저가 따로 관리하는 값들이 파라미터마다 추가로 붙는다.
그래서 같은 모델이라도 학습에 필요한 메모리가 추론에 필요한 메모리보다 몇 배 크다. 내 컴퓨터에서 모델을 돌릴 수는 있는데 학습은 못 시키는 경우가 이 때문이다.
비용 항목에도 단서가 필요하다. 한 번의 추론은 학습보다 훨씬 싸지만, 추론은 요청이 올 때마다 반복된다. 학습은 한 번 크게 쓰고 끝나는 지출이고 추론은 매일 나가는 지출이라, 서비스 전체로 보면 누적 추론 비용이 학습 비용을 넘어서는 경우가 흔하다.
학습은 추론을 포함한다
둘을 나란히 놓고 비교하면 마치 별개의 두 일처럼 보이는데, 실제 관계는 포함 관계다.

학습의 첫 단계는 입력을 넣어 출력을 얻는 것이다. 추론이 하는 일과 같은 순전파다. 학습은 거기서 멈추지 않고, 나온 출력을 정답과 비교해 손실을 구하고, 역전파로 기울기를 얻고, 파라미터를 갱신한다.
학습 = 순전파 + 손실 계산 + 역전파 + 파라미터 갱신 추론 = 순전파
그래서 "추론은 학습보다 싸다"는 말이 당연해진다. 추론은 학습의 앞부분만 하고 끝나기 때문이다.
다만 순전파가 두 시점에 완전히 동일하지는 않다. 일부 층은 학습 중일 때와 추론 중일 때 다르게 동작한다. 아래에서 따로 다룬다.
학습은 한 단계가 아니다
오늘날 우리가 쓰는 대화형 모델은 여러 단계의 학습을 거쳐 만들어진다. 하나씩 이름이 붙어 있다.
먼저 사전학습
사전학습(pre-training) 은 대량의 데이터로 처음부터 모델을 만드는 단계다. 언어 모델이라면 인터넷 규모의 텍스트로 "다음에 올 단어를 맞히는" 과제를 반복시킨다. 시간과 비용이 압도적으로 큰 단계이며, 여기까지 마친 모델은 문장을 이어 쓸 줄은 알지만 사람의 지시를 따르는 데는 서툴다.
그다음 세 단계
2022년에 이 문제를 다룬 논문은 사전학습 이후에 밟을 세 단계를 제시했다.
하나 · 지도 파인튜닝(SFT, Supervised Fine-Tuning) — 사람이 직접 쓴 모범 답변을 모아, 그 형식으로 답하도록 추가 학습시킨다.
둘 · 보상 모델(RM) 학습 — 모델이 낸 여러 답을 사람이 좋은 순서로 매기게 하고, 그 순위를 예측하도록 별도의 모델을 학습시킨다. 이 단계에서 만들어지는 것은 우리가 쓸 모델이 아니라, 다음 단계에서 채점자로 쓸 도구다.
셋 · 강화학습 — 보상 모델이 매기는 점수를 높이는 방향으로 원래 모델을 다시 조정한다. 이 단계에 쓰이는 알고리즘으로 논문은 PPO를 썼다.
둘째와 셋째를 묶어 인간 피드백 강화학습(RLHF, Reinforcement Learning from Human Feedback) 이라 부른다.
같은 논문이 주목할 결과를 하나 보고했다. 13억 개 파라미터를 가진 이 방식의 모델의 출력이, 파라미터가 100배 많은 1750억 개짜리 모델의 출력보다 사람 평가에서 더 선호되었다.
여기서 얻을 것이 있다. 어떻게 학습시켰는가가 얼마나 큰가보다 중요할 수 있다.
파인튜닝을 전부 다시 하지는 않는다
파인튜닝이라고 하면 모델의 파라미터를 전부 다시 조정하는 것을 떠올리기 쉬운데, 실무에서는 그렇게 하지 않는 경우가 많다.
이유는 단순하다. 파라미터가 수천억 개인 모델을 용도마다 통째로 복사해 보관하는 것은 감당이 안 된다. 그래서 원래 파라미터는 얼려두고 작은 부품만 새로 학습시키는 방법들이 나왔고, 이를 매개변수 효율적 파인튜닝(PEFT) 이라 부른다.
가장 널리 쓰이는 것이 LoRA(Low-Rank Adaptation) 다. 2021년 논문이 제안한 이 방법은 사전학습된 가중치를 동결하고, 각 층에 학습 가능한 작은 행렬을 끼워 넣는다. 논문은 1750억 개 파라미터 모델을 통째로 파인튜닝하는 경우와 비교해 학습 대상 파라미터 수를 1만 배, 필요한 GPU 메모리를 3배 줄이면서도 품질은 전체 파인튜닝과 대등하거나 더 낫다고 보고했다. (줄어드는 비율은 모델과 설정에 따라 달라진다.) 그리고 학습이 끝난 뒤 이 작은 행렬을 원래 가중치에 합쳐버릴 수 있어서, 추론 시점에는 추가 지연이 생기지 않는다.
이것이 실무에서 중요한 이유가 있다. 하나의 기반 모델을 두고 용도별 부품만 갈아 끼우는 운영이 가능해지기 때문이다.
추론은 어떻게 도는가
판별 모델이라면 추론은 단순하다. 입력을 넣고 순전파 한 번이면 답이 나온다.
자기회귀 언어 모델은 다르다. 답을 한 번에 만들지 않고 토큰을 하나씩 뽑아 이어붙이기 때문에, 추론이 두 국면으로 나뉜다.

첫 번째 국면 — 지금까지의 입력 전체를 읽어 들이고 첫 토큰을 만들 준비를 한다. 입력이 길수록 오래 걸린다. 흔히 프리필(prefill)이라 부른다.
두 번째 국면 — 토큰을 하나 뽑고, 그것을 입력 끝에 붙이고, 다시 계산해서 다음 토큰을 뽑는다. 이 과정을 답이 끝날 때까지 반복한다. 디코드(decode) 단계라 부른다.
챗봇에서 첫 글자가 나오기까지는 좀 걸리는데 그다음부터는 글자가 술술 흘러나오는 것이 이 구조 때문이다. 앞 국면이 끝나야 첫 글자가 나오고, 그 뒤로는 한 토큰씩 반복되는 짧은 계산만 남는다.
이 구조에서 나오는 최적화가 KV 캐시다. 매 토큰마다 앞의 내용을 처음부터 다시 계산하면 낭비가 크므로, 이미 계산해둔 중간값을 저장해두고 재사용한다. 대신 대화가 길어질수록 이 캐시가 메모리를 많이 차지한다.
온라인 추론과 배치 추론
추론이 쓰이는 방식도 두 가지로 갈린다.
온라인 추론 — 사용자가 요청할 때마다 즉시 답한다. 응답 시간이 중요하다. 배치 추론 — 처리할 것을 모아두었다가 한꺼번에 돌린다. 밤새 수백만 건의 문서를 분류하는 식이다. 응답 시간보다 전체 처리량과 비용이 중요하다.
같은 모델이라도 어느 쪽으로 운영하느냐에 따라 필요한 하드웨어와 비용 구조가 달라진다.
파라미터가 고정되어도 동작은 다를 수 있다
"추론에서는 파라미터가 고정되므로 학습 때와 같은 계산을 한다"는 설명은 대체로 맞지만 예외가 있다. 일부 층은 학습할 때와 추론할 때 아예 다르게 동작한다.
대표적인 것이 드롭아웃(dropout) 이다. 2014년 논문이 제안한 이 기법은 학습 중에 노드 일부를 무작위로 꺼버려서 과적합을 막는다. 그런데 추론할 때 노드를 무작위로 꺼버리면 같은 입력에 매번 다른 답이 나올 것이다. 그래서 논문은 이렇게 정리했다. 학습 중에는 무수히 많은 '가늘어진' 신경망들에서 표본을 뽑는 셈이고, 추론 시점에는 가중치를 줄인 하나의 온전한 신경망을 쓰는 것만으로 그 평균 효과를 근사할 수 있다는 것이다.
즉 드롭아웃은 학습 때만 켜지고 추론 때는 꺼진다. 배치 정규화 계열도 비슷하게 두 시점의 동작이 다르다.
그래서 딥러닝 프레임워크에는 학습 모드와 추론 모드를 전환하는 명령이 따로 있다. 모드를 바꾸는 것을 잊으면 파라미터가 멀쩡한데도 결과가 이상해지는데, 실무에서 꽤 흔한 실수다.
정리하면 이렇다. 추론에서 고정되는 것은 파라미터이지, 신경망의 동작 전체가 아니다.
추론을 싸게 만드는 방법들
학습은 한 번 하고 끝나지만 추론은 계속 반복된다. 그래서 추론 비용을 줄이는 것이 별도의 연구 분야가 됐다. 이름과 역할만 밝힌다.
양자화(quantization) — 파라미터를 더 낮은 정밀도의 숫자로 바꿔 저장한다. 정확도를 약간 내주고 메모리와 속도를 크게 얻는다. "4비트로 양자화한 모델" 같은 표현이 여기서 나온다.
지식 증류(knowledge distillation) — 큰 모델이 내놓는 출력을 교재로 삼아 작은 모델을 학습시킨다. 이 방법을 정리한 2015년 논문은 문제 설정 자체를 학습과 배포의 어긋남으로 잡았다. 여러 모델을 묶어 예측하면 성능은 좋아지지만 다수의 사용자에게 배포하기에는 너무 무겁고 계산 비용이 크다는 것이다. 그래서 무거운 모델을 먼저 학습시킨 뒤, 거기에 담긴 지식을 배포에 더 적합한 작은 모델로 옮기는 별도의 학습을 한다.
가지치기(pruning) — 기여가 적은 연결이나 노드를 잘라내 모델을 가볍게 만든다.
캐싱 — 앞서 말한 KV 캐시처럼 이미 계산한 것을 재사용한다.
여기서 짚어둘 것이 있다. 증류와 양자화는 그 자체로는 추론이 아니라 학습이나 변환 작업이다. 목적이 추론을 싸게 만드는 것일 뿐, 작업 자체는 배포 전에 따로 한다.
배운 것처럼 보이는데 아닌 것
사용자가 실제로 겪는 "AI가 배웠다"는 경험 대부분은 학습이 아니다.
예시를 보여주면 따라 하는 것
챗봇에게 "이런 식으로 답해줘"라며 예시를 두세 개 보여주면 그 형식을 따라 한다. 이것을 인컨텍스트 학습(in-context learning) 또는 few-shot 학습이라 부른다.
이름에 '학습'이 들어 있지만 파라미터는 전혀 바뀌지 않는다. 이 방식을 널리 알린 2020년 논문이 그 점을 직접 밝히고 있다. 모든 과제에서 모델은 기울기 갱신도 파인튜닝도 전혀 없이 적용되었으며, 과제와 예시는 순전히 텍스트로 모델과 주고받는 방식으로 지정되었다는 것이다.
예시는 학습 데이터가 아니라 입력의 일부다. 프롬프트가 길어진 것뿐이고, 대화가 끝나면 아무 데도 남지 않는다.
대화 앞부분을 기억하는 것
새 메시지를 보낼 때마다 지금까지의 대화 전체가 다시 입력으로 들어간다. 모델은 매번 긴 텍스트를 새로 받아 그 뒤를 이어가는 것이지, 앞의 대화를 저장해두고 꺼내 보는 것이 아니다. 그래서 대화가 길어지면 앞부분이 잘려나가고, 잘려나간 내용은 사라진다.
서비스의 '메모리' 기능
일부 서비스는 사용자 정보를 저장해두고 다음 대화에 자동으로 붙여준다. 저장은 서비스가 하고, 모델에게는 매번 입력으로 다시 넣어주는 것이다. 모델 입장에서는 사용자가 타이핑한 것과 서비스가 붙여준 것이 구별되지 않는다.
검색을 붙여주는 것
모델이 최신 뉴스를 답한다면, 모델이 뉴스를 배운 것이 아니라 시스템이 검색해서 찾은 문서를 입력에 끼워 넣어준 것이다. 이 방식을 검색 증강 생성(RAG, Retrieval-Augmented Generation) 이라 한다.
두 종류의 기억
앞의 네 가지가 전부 같은 자리에 있다. 입력 쪽이다.
RAG를 제안한 2020년 논문이 이 구분을 명시적으로 썼다. 대규모 사전학습 언어 모델은 사실 지식을 파라미터 안에 저장하는데, 그 지식에 접근하고 정확히 다루는 능력은 여전히 제한적이며, 판단의 근거를 제시하는 것과 세계 지식을 갱신하는 것이 미해결 문제로 남아 있다는 것이다. 그래서 파라미터 바깥의 명시적 기억을 붙이는 접근을 제안하고, 앞의 것을 매개변수 기억(parametric memory), 뒤의 것을 비매개변수 기억(non-parametric memory) 이라 불렀다.

| 파라미터에 든 기억 | 입력에 실려 오는 기억 | |
| 언제 들어갔나 | 학습 시점 | 추론 시점 |
| 얼마나 남나 | 영구적 | 그 요청 한 번 |
| 누가 공유하나 | 모든 사용자 | 그 사용자, 그 대화 |
| 고치기 | 재학습이 필요하다 | 문서만 바꾸면 된다 |
| 출처 확인 | 어렵다 | 무엇을 넣었는지 볼 수 있다 |
| 용량 | 매우 크다 | 한 번에 넣을 수 있는 길이만큼 |
이 표가 실무의 여러 선택을 설명한다. 왜 회사들이 사내 문서를 모델에 파인튜닝하지 않고 검색으로 붙이는가. 고치기 쉽고, 출처를 댈 수 있고, 잘못 들어가도 빼내기 쉽기 때문이다.
그럼 계속 학습시키면 되지 않나
배포한 뒤에도 새 데이터가 들어올 때마다 조금씩 학습시키면 모델이 계속 최신 상태를 유지할 것 같다. 실제로 그런 방식이 있다. 데이터가 들어오는 대로 계속 학습하는 것을 온라인 학습(online learning), 새 과제를 이어서 배우되 이전 것을 잊지 않게 하려는 연구 분야를 지속 학습(continual learning) 이라 부른다.
그런데 이 방식이 표준이 되지 못한 이유가 있다. 새로 배우면 이전에 배운 것이 지워진다.
이 현상을 파국적 망각(catastrophic forgetting) 이라 한다. 2017년의 한 논문은 신경망이 일반적으로 과제를 순차적으로 학습할 능력이 없으며 파국적 망각이 연결주의 모델의 불가피한 특성이라고 널리 여겨져 왔다고 정리하면서, 새 과제만 보고 기울기를 따라 내려가면 그 과제의 손실은 줄어들지만 이전 과제에서 배운 것은 파괴된다고 설명했다.
원인은 구조에 있다. 파라미터는 과제별로 칸이 나뉘어 있지 않고 전부 공유된다. 새것을 담으려고 숫자를 옮기면 그 숫자가 붙들고 있던 옛것도 함께 흔들린다.
그래서 현재의 표준은 이렇다. 배포된 모델은 고정해두고, 새 데이터를 모아 별도로 학습시킨 뒤, 검증을 거쳐 새 버전으로 통째로 교체한다.
평가는 어느 쪽인가
학습이 잘 됐는지 확인하려면 성능을 재야 한다. 이때 하는 일은 추론이다. 검증 데이터나 테스트 데이터를 모델에 넣어 출력을 받고 정답과 비교하는 것이며, 그 과정에서 파라미터는 바뀌지 않는다.
그래서 학습 과정 안에 추론이 규칙적으로 끼어 있다. 일정 구간마다 학습을 잠시 멈추고, 추론 모드로 바꿔 검증 데이터를 돌려보고, 다시 학습 모드로 돌아간다. 앞서 말한 학습 모드와 추론 모드의 전환이 실제로 일어나는 자리가 여기다.
언제 다시 학습시켜야 하는가
모델은 학습한 시점의 세상을 담고 있다. 시간이 지나면 세상이 바뀌고, 모델이 배운 패턴과 현실이 어긋나기 시작한다. 이 어긋남을 드리프트(drift) 라 한다.
들어오는 데이터의 분포 자체가 변하는 경우도 있고(새로운 유형의 사용자가 늘어난다), 입력과 정답의 관계가 변하는 경우도 있다(같은 신호가 예전과 다른 것을 뜻하게 된다). 어느 쪽이든 결과는 같다. 파라미터는 그대로인데 성능이 떨어진다.
그래서 배포는 끝이 아니다. 성능을 계속 지켜보다가 기준 아래로 내려가면 새 데이터로 다시 학습시켜 교체한다. 학습과 추론은 한 번씩 일어나고 끝나는 것이 아니라 주기를 이룬다.
이 구분이 실제로 답해주는 것
내가 알려준 정보가 다른 사람에게 새어나갈 수 있는가
어느 쪽에 들어갔느냐에 달려 있다.
입력에만 들어갔다면 그 요청이 끝나면 모델 쪽에는 남지 않는다. 파라미터가 바뀌지 않았으므로 다음 사람이 만나는 모델은 내 이야기를 담고 있지 않다. (서비스가 대화를 서버에 저장하는 것은 별개의 문제다. 그건 모델이 아니라 시스템이 하는 일이며, 모델과 시스템은 무엇이 다른가에서 따로 다룬다.)
학습 데이터로 쓰였다면 이야기가 다르다. 파라미터에 들어간 것은 꺼내질 수 있다.
2021년의 한 연구가 이를 실증했다. 공개된 언어 모델에 질의를 던지는 것만으로 학습 데이터에 있던 텍스트를 그대로 수백 건 추출해냈고, 그중에는 이름·전화번호·이메일 주소 같은 개인 식별 정보가 포함되어 있었다. 특히 중요한 것은 이 대목이다. 추출된 문자열 각각이 학습 데이터에서 단 한 건의 문서에만 들어 있었는데도 공격이 성공했다. 같은 연구는 모델이 클수록 이런 공격에 더 취약하다고 보고했다.
그래서 "내 대화가 학습에 쓰이나요"라는 질문은 까다로운 질문이 아니라 정확히 올바른 질문이다.
AI는 쓸수록 나에게 맞춰지는가
대부분의 경우 아니다. 개인화처럼 느껴지는 것은 서비스가 사용자 정보를 저장해두고 매번 입력에 붙여주기 때문이다. 모델 자체는 그대로다. 정말로 파라미터가 사용자마다 달라지려면 사용자별 모델을 학습시켜 보관해야 하고, 비용 구조가 완전히 달라진다.
모델을 최신 정보로 갱신하려면
두 가지 길이 있고, 위의 두 기억 표가 그대로 선택 기준이 된다.
파라미터를 고치는 길 — 재학습이나 파인튜닝. 비용이 크고, 파국적 망각의 위험이 있고, 무엇이 어떻게 들어갔는지 확인하기 어렵다.
입력에 붙이는 길 — 검색을 붙이거나 문서를 넣어준다. 싸고, 즉시 반영되고, 출처를 댈 수 있고, 틀리면 문서만 고치면 된다.
대부분의 실무는 두 번째를 먼저 시도한다. 지식을 넣는 문제라면 특히 그렇다. 파인튜닝은 지식보다는 형식이나 말투, 특정 작업의 요령을 익히게 할 때 더 잘 맞는다.
흔한 오해
"AI는 대화하면서 배운다." 배우지 않는다. 대화 내용은 입력으로 들어갔다가 그 요청이 끝나면 모델 쪽에는 남지 않는다. 앞부분에서 알려준 이름을 뒤에서 쓰는 것도, 매번 대화 전체가 다시 입력으로 들어가기 때문이지 어딘가에 기억해두고 꺼내 보는 것이 아니다. 대화가 길어져 앞부분이 잘리면 그 내용은 사라진다.
"인컨텍스트 학습도 학습이니까 모델이 바뀐 것이다." 이름에 학습이 들어 있지만 파라미터는 바뀌지 않는다. 이 방식을 알린 2020년 논문 자체가 기울기 갱신도 파인튜닝도 없이 순전히 텍스트로만 지정했다고 밝히고 있다.
"챗봇에 넣은 내 정보는 무조건 학습에 쓰인다." 반대 방향의 오해다. 입력으로만 쓰이는 경우와 학습 데이터로 쓰이는 경우는 다르고, 서비스마다 정책이 다르다. 다만 반대도 성립하지 않는다. 입력으로만 쓰였다면 모델 파라미터에는 남지 않지만, 서비스가 대화 기록을 서버에 저장하는 것은 별개의 문제다.
"파인튜닝은 모델이 사용 중에 배우는 것이다." 파인튜닝은 별도로 계획해 돌리는 학습 과정이다. 그동안 그 모델은 답을 내지 않고, 끝나면 새 파라미터를 가진 새 모델이 나온다. 그리고 모델 전체를 다시 학습시키는 것도 아니다. 실무에서는 원래 가중치를 얼려두고 작은 부품만 학습시키는 방식이 널리 쓰인다.
"추론에서는 파라미터가 고정되니 학습 때와 완전히 같은 계산을 한다." 드롭아웃처럼 학습 때만 켜지는 층이 있다. 고정되는 것은 파라미터이지 신경망의 동작 전체가 아니다.
"계속 조금씩 학습시키면 항상 최신 상태를 유지할 수 있다." 파국적 망각이 일어난다. 파라미터가 과제별로 나뉘어 있지 않고 전부 공유되기 때문이다.
"추론은 AI가 논리적으로 따져보는 것이다." AI에서 추론(inference)은 모델을 한 번 실행해 출력을 얻는 것이다. 이미지 분류도 추론이며, 일상어의 추론(reasoning)과는 다른 말이다.
"학습이 추론보다 비싸니 비용은 학습에 달려 있다." 한 번의 비용은 학습이 압도적으로 크지만, 추론은 요청마다 반복되므로 누적 추론 비용이 학습 비용을 넘어서는 경우가 흔하다.
"모델이 크면 무조건 답이 낫다." 어떻게 학습시켰는지도 그만큼 중요하다. 2022년 연구에서 13억 개 파라미터 모델의 출력이 100배 큰 1750억 개짜리 모델의 출력보다 사람 평가에서 더 선호되었다.
확인한 자료
Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I. & Salakhutdinov, R., Dropout: A Simple Way to Prevent Neural Networks from Overfitting, Journal of Machine Learning Research 15(56), 1929–1958, 2014 — 학습 중에는 노드를 무작위로 떨어뜨려 무수히 많은 '가늘어진' 신경망에서 표본을 뽑는 셈이고, 추론 시점에는 가중치를 줄인 하나의 온전한 신경망을 쓰는 것으로 그 평균 효과를 근사할 수 있다는 서술.
Hinton, G., Vinyals, O. & Dean, J., Distilling the Knowledge in a Neural Network, arXiv:1503.02531, 2015 — 여러 모델을 묶어 예측하는 것이 다수 사용자에게 배포하기에는 무겁고 계산 비용이 크다는 문제 설정, 그리고 무거운 모델을 학습시킨 뒤 그 지식을 배포에 더 적합한 작은 모델로 옮기는 별도의 학습을 '증류'라 부른다는 정의.
Kirkpatrick, J. et al., Overcoming catastrophic forgetting in neural networks, arXiv:1612.00796 / PNAS 114(13), 2017 — 신경망이 일반적으로 과제를 순차적으로 학습할 능력이 없으며 파국적 망각이 연결주의 모델의 불가피한 특성으로 널리 여겨져 왔다는 서술, 그리고 새 과제만 보고 기울기를 따라가면 그 과제의 손실은 줄어들지만 이전 과제에서 배운 것은 파괴된다는 설명.
Brown, T. B. et al., Language Models are Few-Shot Learners, Advances in Neural Information Processing Systems 33, 2020 — 모든 과제에서 모델이 기울기 갱신이나 파인튜닝 없이 적용되었고 과제와 few-shot 예시가 순전히 텍스트 상호작용으로 지정되었다는 서술.
Lewis, P. et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, Advances in Neural Information Processing Systems 33, 2020 — 대규모 사전학습 언어 모델이 사실 지식을 파라미터에 저장한다는 점, 그 지식에 접근하고 정확히 다루는 능력이 제한적이며 판단 근거 제시와 세계 지식 갱신이 미해결 문제로 남아 있다는 지적, 그리고 매개변수 기억과 비매개변수 기억의 구분.
Hu, E. J. et al., LoRA: Low-Rank Adaptation of Large Language Models, arXiv:2106.09685, 2021 — 사전학습된 가중치를 동결하고 각 층에 학습 가능한 저계수 행렬을 주입한다는 방법, 학습 대상 파라미터를 1만 배·GPU 메모리를 3배 줄이면서 품질은 전체 파인튜닝과 대등하거나 낫다는 결과, 그리고 학습 후 가중치를 합쳐 추론 지연을 추가하지 않는다는 설명.
Carlini, N. et al., Extracting Training Data from Large Language Models, 30th USENIX Security Symposium, 2021 — 언어 모델에 질의하는 것만으로 학습 데이터의 텍스트를 그대로 수백 건 추출했으며 이름·전화번호·이메일 주소 등 개인 식별 정보가 포함되었다는 결과, 추출된 각 문자열이 학습 데이터의 단일 문서에만 존재했음에도 공격이 성립했다는 점, 그리고 큰 모델이 작은 모델보다 더 취약하다는 발견.
Ouyang, L. et al., Training language models to follow instructions with human feedback, Advances in Neural Information Processing Systems 35, 2022 — 지도 파인튜닝, 보상 모델 학습, PPO를 이용한 강화학습이라는 세 단계 구성, 그리고 13억 개 파라미터 모델의 출력이 100배 많은 1750억 개 파라미터 모델의 출력보다 사람 평가에서 선호되었다는 결과.