피파가 설명해줄게 — AI를 내 컴퓨터에 통째로 올려놨는데 왜 느릴까
KO
Transcript · KO
0:01[배경 음악]
0:01얼마 전에 내가 영상 하나에서 이런 화면을 띄웠어.
0:05한쪽에는 클라우드, 그 아래에 프롬프트, 캐시하고 배치.
0:10반대쪽에는 집에 있는 컴퓨터 한 대.
0:13그 아래에 딱 네 글자.
0:15둘 다 없음.
0:16올리고 나서 알았어.
0:18이건 딴죽을 걸려면 얼마든지 걸 수 있는 자리라는 걸.
0:22가장 날카로운 딴죽은 이거야.
0:25로컬에서도 되는데 왜 안 된다고 해?
0:28확인해 봤어.
0:29그리고 그 딴죽이 맞았어.
0:31절반은.
0:32그리고 나머지 절반도 내가 쓴 문장이 좀 게을렀어.
0:36오늘은 그 두 개를 다 고치려고 해.
0:39그런데 여기서 내가 그냥 "이건 이래서 틀렸고 저건 저래서 맞아요." 하고 넘어가면 그건 아무것도 안 고치는 거야.
0:47왜냐하면 이 얘기를 제대로 들으려면 그 앞에 있어야 할 게 꽤 많거든.
0:53그게 없으면 내 정정도 그냥 외워야 할 문장 하나가 더 늘어나는 것뿐이야.
0:59본론 들어가기 전에 하나만 말해둘게.
1:02오늘 내가 하는 설명 중에 몇 개는, 아니 오늘만이 아니라 내가 하는 설명이 다 그런데.
1:08그쪽을 깊이 아는 사람이 들으면 "저건 정확하지 않은데." 할 거야.
1:13맞아.
1:14알고 그러는 거야.
1:15눈높이에 맞춰 설명하려면 반드시 덜어내야 하거든.
1:19초등학교에서 원자를 태양계처럼 그리곤 하잖아.
1:23가운데 핵이 있고 전자가 그 둘레를 빙빙 돈다고.
1:27물리하는 사람이 보면 그건 정확한 그림이 아니야.
1:31그런데 그 그림 없이 화학을 시작할 수 있는 사람은 아무도 없어.
1:36그래서 이렇게 갈라보면 돼.
1:38따라가면 다른 데서 무너지는 설명이 있어.
1:41그건 그냥 틀린 거야.
1:43오늘 내가 고치려는 게 정확히 그거고.
1:46지난번 그 화면은 결과는 맞았는데 이유가 틀렸어.
1:51그 이유를 믿고 한 발짝만 더 가면 엉뚱한 데가 나와.
1:55따라가도 안 무너지는 설명도 있어.
1:58나중에 더 깊이 들어가면 한 겹이 덧붙을 뿐.
2:01지금 세운 게 무너지진 않아.
2:03오늘 내가 숫자판이니 작업대니 부르는 것들이 그거야.
2:07고쳐야 할 건 앞의 것뿐이야.
2:10뒤의 건 설명하는 사람의 재량이자 듣는 사람한테 하는 배려로 봐야 하고.
2:15자, 이제 진짜 시작인데 시작하기 전에 지도부터 펼칠게.
2:20내용보다 이게 더 오래 남을 거야.
2:22사람들이 나한테 이런 걸 물어봐.
2:25"메모리에 다 올라갔다는데 왜 느려요?" "캐시가 걸렸다는 게 무슨 뜻이에요?" 그리고 어디서 주워들은 단어 하나 딱 집어서 이게 뭐냐고.
2:34이 질문들이 이상하게 들리지.
2:37이상한 게 맞아.
2:38그런데 질문하는 사람이 이상한 게 아니야.
2:41그 사람은 자기가 몇 번째 계단에 서 있는지를 모르는 거야.
2:45그리고 그건 그 사람 잘못이 아니야.
2:48이 분야에 계단이 없거든.
2:50무슨 말이냐면 우리가 수학을 배울 때는 순서가 있잖아.
2:54덧셈하고 곱셈하고 분수하고 방정식하고 어느 학년에 뭘 배우는지 정해져 있어.
3:01그래서 방정식이 안 풀리면 어디로 돌아가야 하는지를 알아.
3:05AI는 그게 없어.
3:07단어만 쏟아져.
3:08그러니까 사람들이 사다리 한가운데 칸의 이름만 주워 듣고 거기서부터 이해하려고 해.
3:15그게 될 리가 없지.
3:16그래서 오늘은 순서대로 갈 거야.
3:19여덟 칸이야.
3:20하나, 모델이라는 게 대체 뭐로 만들어져 있나.
3:23둘, 글자가 어떻게 숫자가 되나.
3:26셋, 글자들이 서로를 어떻게 쳐다보나.
3:30넷, 내 질문을 읽을 때 무슨 일이 벌어지나.
3:33다섯, 답을 쓸 때는 뭐가 다른가.
3:36여섯, 그래서 저장해 두는 게 정확히 뭔가.
3:39일곱, 다 올려놨다는데 왜 느린가.
3:42여덟, 나눠 쓴다는 게 무슨 뜻인가.
3:45그리고 마지막에 그 네 글자로 돌아올 거야.
3:48한 칸은 앞에 있는 칸들 위에 서 있어.
3:51바로 앞 칸일 때도 있고, 두세 칸 전에 세워둔 걸 다시 쓸 때도 있어.
3:56어느 쪽이든 건너뛸 수 있는 칸은 하나도 없어.
4:00그게 이 지도를 그리는 이유야.
4:02그리고 이거 하나는 약속할게.
4:04오늘 끝나고 나면 사람들이 쓰는 그 말들이 다 제자리를 찾을 거야.
4:10지금은 하나도 몰라도 돼.
4:11이름은 마지막에 한 화면에 모아서 줄 테니까.
4:15그럼 첫 칸, AI 모델이 뭐냐고 물으면 보통 인공지능이라거나 신경망이라고 대답하는데 오늘 우리한테 필요한 대답은 훨씬 시시해.
4:25숫자가 잔뜩 적힌 표야.
4:27그것도 아주 많이.
4:29그리고 이 표에 적힌 숫자들은 안 변해.
4:32모델을 만드는 과정이 학습인데 학습이 끝나는 순간 이 숫자들은 그대로 굳어.
4:38내가 오늘 뭘 물어보든 백만 명이 물어보든 이 숫자는 똑같아.
4:43사진 찍어놓은 것처럼 고정이야.
4:46이 표 하나를 오늘 숫자판이라고 부를게.
4:49줄여서 그냥 판.
4:50모델 하나에 이런 판이 수백 개 들어있어.
4:53그럼 이 판으로 뭘 하냐?
4:55여기서 오늘 필요한 수학이 딱 하나 나와.
4:59진짜로 딱 하나야.
5:01숫자 몇 개를 한 줄로 늘어놓은 걸 생각해 봐.
5:05예를 들어 셋, 하나, 둘.
5:08그리고 길이가 같은 줄이 하나 더 있어.
5:12넷, 다섯, 둘.
5:15이 둘을 이렇게 처리해.
5:17첫째끼리 곱하고 둘째끼리 곱하고 셋째끼리 곱해.
5:23삼, 사, 십이.
5:24일, 오, 오.
5:26이, 이, 사.
5:28그리고 나온 걸 전부 더해.
5:31십이 더하기 오 더하기 사.
5:33스물하나.
5:35끝이야.
5:37줄 두 개가 들어가서 숫자 하나가 나왔어.
5:41이게 오늘 필요한 수학의 전부야.
5:44곱하고 더하기.
5:47진짜로 이것밖에 없어.
5:49그런데 이 시시한 걸 엄청나게 많이 해.
5:54판 하나에는 이런 줄이 수천 개 들어있어서 내 줄 하나를 판에 통과시킨다는 건 그 수천 개랑 전부 곱해서 더한다는 뜻이야.
6:05그러면 결과도 수천 개가 나와서 새로운 줄이 돼.
6:09줄 하나가 들어가서 줄 하나가 나와.
6:13중간에 판을 통과하면서.
6:16이 통과시키는 걸 부르는 이름이 있긴 해.
6:19행렬 곱셈이라고 해.
6:22영어로는 Mat Mul.
6:25이름은 알아둬도 되고 잊어도 되는데 하는 일은 방금 그거야.
6:31곱해서 더하기를 아주 많이.
6:34여기서 딱 하나만 붙잡고 가면 돼.
6:38오늘 나올 얘기의 거의 전부가 여기서 나오거든.
6:42줄 하나를 판 하나에 통과시키려면 그 판에 있는 숫자를 전부 한 번씩은 만져야 해.
6:50하나도 안 빼고.
6:52안 만지고 넘어갈 수 있는 숫자가 없어.
6:55그러니까 판이 크면 클수록 할 일이 많아져.
7:01판이 두 배면 곱셈도 두 배야.
7:04판이 클수록 비싸다.
7:07뒤에 나오는 게 거의 다 이 한 줄에서 자라나.
7:11그리고 하나 더.
7:14곱하려면 그 숫자가 손에 있어야 해.
7:18표에 적혀만 있고 아직 안 가져왔으면 곱할 수가 없잖아.
7:23지금은 당연한 소리처럼 들릴 텐데 일곱 번째 칸에서 이게 크게 돌아올 거야.
7:30지금은 그냥 기억만 해둬.
7:33곱하려면 가져와야 한다.
7:36첫 칸 끝.
7:39모델은 안 변하는 숫자판 수백 개고, 쓴다는 건 판에 통과시키는 거고, 판이 클수록 비싸다.
7:47그런데 방금 나는 계속 줄 하나를 통과시킨다고 했잖아.
7:52그 줄이 어디서 나온 거야?
7:56내가 친 글자에서 나와.
7:58먼저 문장이 조각으로 잘려.
8:01"안녕하세요"라고 치면 이게 통째로 하나일 수도 있고 두세 개로 잘릴 수도 있어.
8:09이 잘린 조각 하나를 토큰이라고 불러.
8:13대충 단어 비슷한 거라고 생각하면 돼.
8:17영어로는 한 단어가 두세 개로 쪼개지기도 하고 짧은 단어는 통째로 하나이기도 해.
8:25그리고 토큰 하나마다 정해진 숫자 줄이 있어.
8:29사전 같은 게 하나 있어서 이 토큰은 이 줄, 저 토큰은 저 줄 이렇게 찾아오는 거야.
8:37이걸 오늘 숫자 줄이라고 부를게.
8:40길이는 수천 개 정도 돼.
8:44여기서 숫자로 바꾼다고?
8:46"글자를 숫자로 어떻게 바꿔?" 하는 생각이 들 수 있는데 생각보다 안 이상해.
8:54이렇게 생각해 봐.
8:56색깔을 숫자로 표현하잖아.
8:58빨간이 얼마, 초록이 얼마, 파랑이 얼마.
9:03숫자 세 개면 세상의 모든 색을 적을 수 있어.
9:07그리고 두 색이 비슷하면 그 숫자들도 비슷해.
9:12단어도 똑같이 해.
9:14숫자 세 개가 아니라 수천 개를 쓸 뿐이야.
9:18그리고 학습이 잘 됐으면 뜻이 비슷한 단어들은 숫자 줄도 서로 비슷하게 나와.
9:25그러니까 이제 이렇게 됐어.
9:28내가 글자를 치면 그게 토큰으로 잘리고 토큰마다 숫자 줄이 붙어.
9:35그리고 그 줄을 아까 그 판에 통과시켜.
9:39두 번째 칸 끝.
9:42글자는 토큰이 되고, 토큰은 숫자 줄이 되고, 그 줄이 판을 통과해.
9:49여기가 오늘의 고비야.
9:52이 칸만 넘으면 나머지는 다 쉬워.
9:56문제부터 보자.
9:58이런 문장이 있어.
10:00"어제 산 책을 읽었는데 그게 너무 재밌었어."
10:05여기서 "그게"가 뭘 가리켜?
10:09책이지.
10:11사람은 그냥 알아.
10:13그런데 컴퓨터는 어떻게 알까?
10:17"그게"라는 토큰의 숫자 줄만 봐서는 절대 알 수 없어.
10:22그 줄은 사전에서 찾아온 거라 어느 문장에서든 똑같거든.
10:27그러니까 "그게"는 반드시 앞을 돌아봐야 해.
10:33그런데 컴퓨터는 숫자밖에 못 다뤄.
10:36그러니까 돌아본다는 것도 숫자로 해야 해.
10:41어떻게?
10:43여기서 아까 그 판이 다시 나오는데 이번엔 하나가 아니야.
10:49토큰의 숫자 줄 하나를 놓고 서로 다른 판 세 개에 각각 통과시켜.
10:56같은 줄이 들어가는데 판이 다르니까 결과가 세 개 다 다르게 나와.
11:02셋 다 숫자 줄이야.
11:04첫 칸에서 봤듯이 줄이 판을 통과하면 줄이 나오니까.
11:10왜 세 개냐면 그 토큰에 대해 서로 다른 세 가지를 알고 싶거든.
11:16첫째는 찾는 쪽지야.
11:19이 자리에서 내가 뭘 찾고 있는지를 적은 거야.
11:23"그게"라면 대충 이런 게 적혀 있겠지.
11:28"나는 앞에서 나온 사물을 하나 찾고 있고 방금 나온 거였으면 좋겠어." 둘째는 명찰이야.
11:35반대로 내가 남들한테 나를 뭐라고 알릴지를 적은 거야.
11:39책이라면 이런 게 걸려 있어.
11:42"나는 사물이고 읽는 거고 재밌을 수 있는 거야." 셋째는 알맹이야.
11:48내가 실제로 넘겨줄 내용.
11:51명찰이 "나 여기 있어요"라면 알맹이는 그래서 실제로 건네주는 물건이야.
11:57같은 토큰에서 나온 세 개인데 하는 일이 달라.
12:02찾는 쪽지는 남의 명찰을 보러 가고, 명찰은 남한테 보여지고, 알맹이는 실제로 건너가.
12:09이제 진짜 돌아보기를 해보자.
12:12그게 찾는 쪽지를 들고 앞에 있던 토큰들의 명찰을 하나씩 대봐.
12:17어제의 명찰, 산의 명찰, 책의 명찰, 의례 명찰, 읽었는데 명찰.
12:25대본다는 게 뭐냐고?
12:27곱해서 더하기야.
12:29첫 칸에서 배운 그거.
12:31쪽지도 숫자 줄이고 명찰도 숫자 줄이니까 둘을 곱해서 더하면 숫자 하나가 나와.
12:38그리고 그 숫자가 크게 나오면 잘 맞는 거야.
12:41작으면 별로 상관없는 거고.
12:44그게 쪽지를 책의 명찰에 대보면 큰 숫자가 나와.
12:49어제의 명찰에 대보면 작은 숫자가 나오고.
12:53그 다음이 마지막 단계야.
12:55잘 맞은 애의 알맹이를 많이 가져오고, 안 맞은 애의 알맹이는 조금만 가져와.
13:01그리고 다 섞어.
13:03그러면 그게 라는 토큰의 숫자 줄이 업데이트 돼.
13:06이제 그 줄 안에 책의 내용이 잔뜩 섞여 들어가 있어.
13:11이게 컴퓨터가 문장을 이해하는 방식이야.
13:14이름이 있어.
13:16어텐션이라고 해.
13:18주의를 기울인다는 뜻이지.
13:21어디에 주의를 기울일지를 쪽지와 명찰을 곱해서 더해서 정하는 거야.
13:26그리고 한 계산 단계 안에서는 문장의 모든 토큰이 이걸 동시에 해.
13:32그게만 앞을 보는 게 아니라 모든 토큰이 각자 자기 쪽지를 들고 자기 앞을 봐.
13:39단계와 단계 사이는 순서대로지만 한 단계 안은 다 같이야.
13:44그리고 이 셋한테는 원래 이름이 따로 있어.
13:47짧아.
13:48QKV야.
13:51쿼리 키 밸류.
13:53찾는 쪽지가 Q, 명찰이 K, 알맹이가 V.
13:58어디선가 QKV라는 말을 들어봤을 수도 있는데 그게 이거야.
14:04세 글자가 무섭게 생겼지.
14:06오늘 우리가 한 건 쪽지 들고 명찰 보러 다닌 거야.
14:10그런데 방금 그걸 한 번만 하는 게 아니야.
14:13여기가 중요해.
14:15어텐션이 끝나면 각 토큰의 숫자 줄이 업데이트 됐잖아.
14:19앞 내용이 섞여 들어간 새 줄이야.
14:22그 새 줄을 가지고 똑같은 걸 또 해.
14:26판 세 개에 통과시켜서 쪽지와 명찰과 알맹이를 다시 만들고 또 맞춰보고 또 섞어.
14:33그리고 또, 그리고 또.
14:36이 반복 하나하나를 계산 단계라고 불러.
14:40큰 모델이면 이게 여든 개쯤 돼.
14:43여기서 하나 짚고 갈게.
14:45단계마다 판이 따로 있어.
14:48첫 단계에서 쓰는 판 세 개하고 두 번째 단계에서 쓰는 판 세 개는 서로 다른 판이야.
14:55같은 걸 여든 번 돌리는 게 아니라 다른 판을 여든 번 지나가는 거야.
15:00그래서 모델 하나에 판이 수백 장이 되는 거야.
15:04그리고 비용이 두 군데서 곱해져.
15:07일번 칸에서 판 하나가 클수록 비싸다고 했잖아.
15:11그게 하나고, 그런 판을 여든 단계에 걸쳐 전부 지나가야 한다는 게 또 하나야.
15:17그럼 여기서 뭐가 달라지냐면 첫 번째 단계에서만 토큰의 숫자 줄이 사전에서 찾아온 그대로야.
15:26두 번째 단계부터는 아니야.
15:28이미 앞 내용이 섞여 들어간 줄이거든.
15:31그리고 그 줄로 명찰과 알맹이를 다시 만들지.
15:35그러니까 이렇게 돼.
15:37명찰과 알맹이는 그 토큰만으로 정해지는 게 아니라 앞에 뭐가 있었느냐에 따라 달라져.
15:44첫 책이라는 토큰이라도 앞에 어떤 문장이 있었느냐에 따라 그 명찰과 알맹이가 서로 달라진다는 뜻이야.
15:53사람도 그렇잖아.
15:55같은 단어라도 앞 문맥에 따라 다른 뜻으로 읽히니까.
15:59지금은 그냥 그런가보다 하고 넘어가도 돼.
16:03여섯 번째 칸에서 이게 전부가 돼.
16:06여기서 딱 하나만 못 박고 갈게.
16:09뒤에 나올 게 전부 여기 걸려 있어.
16:12명찰과 알맹이는 계산해서 만들어낸 숫자야.
16:16글자가 아니야.
16:18책이라는 글자가 어딘가에 저장돼 있는 게 아니라 책의 숫자 줄을 판 두 개에 통과시켜서 나온 결과가 명찰이고 알맹이야.
16:27그리고 판을 통과시킨다는 건 아까 봤듯이 판에 있는 숫자를 전부 만진다는 뜻이고, 그러니까 값이 들어.
16:35이 문장을 여섯 번째 칸에서 다시 만날 거야.
16:39그때 이게 이 영상 전체에서 제일 중요한 문장이 돼.
16:44세 번째 칸 끝.
16:46토큰들은 쪽지와 명찰을 맞춰보고 알맹이를 섞어서 서로를 쳐다봐.
16:52그게 어텐션이고 QKV야.
16:56그걸 계산 단계 여든 개만큼 반복하고, 그래서 명찰과 알맹이는 만들어낸 숫자이면서 앞 문맥에 따라 달라지는 숫자야.
17:05이제 실제로 AI한테 뭘 물어보는 장면으로 가보자.
17:10먼저 알아둘 게 하나 있어.
17:12AI한테 뭘 물어볼 때 실제로 넘어가는 건 내 질문 한 줄만이 아니야.
17:17그 앞에 잔뜩 붙어.
17:20이 AI가 누구인지 적은 설명, 쓸 수 있는 도구 목록, 지금까지 나눈 대화 전체, 참고하라고 넣어준 문서들, 그리고 맨 끝에 내 질문이 붙어.
17:33그러니까 실제로 들어가는 건 짧으면 수백 개, 길면 수만 개짜리 토큰 덩어리야.
17:40이 덩어리 전체를 컴퓨터가 한 번 읽어야 해.
17:44읽는다는 게 뭐냐면 이제 우리 알잖아.
17:47토큰 하나하나마다 명찰과 알맹이를 만드는 거야.
17:52첫 번째 토큰의 명찰과 알맹이, 두 번째 토큰의 명찰과 알맹이, 쭉.
17:59그리고 만들면서 서로 쳐다보게 해.
18:02어텐션.
18:03여기서 아주 중요한 성질이 하나 나와.
18:07내 질문이 통째로 도착했다는 건 모든 토큰이 이미 다 있다는 뜻이야.
18:13첫 토큰도 잊고 마지막 토큰도 이미 손에 있어.
18:18그러니까 순서대로 하나씩 처리할 이유가 없어.
18:22천 번째 토큰의 명찰을 만들려고 구백구십구 번째가 끝날 때까지 기다릴 필요가 없다는 거야.
18:30전부 동시에 계산해 버려도 돼.
18:33이걸 prefill이라고 불러.
18:35미리 채운다는 뜻이야.
18:38답을 쓰기 전에 질문 쪽을 통째로 한 번 훑어서 명찰과 알맹이를 다 만들어 두는 단계.
18:46아까 지도 펼칠 때 사람들이 어디서 주워들은 단어 하나 집어서 물어본다고 했잖아.
18:52그 단어가 이거야.
18:55제일 많이 물어보는 게 이거거든.
18:57그런데 봐.
18:59지금 이 설명이 되려면 명찰이 뭔지 알아야 하고, 명찰을 알려면 어텐션을 알아야 하고, 어텐션을 알려면 판이 뭔지 알아야 했어.
19:10세 칸을 건너뛰고 이 단어만 물어보면 아무도 대답해 줄 수가 없어.
19:16그 사람이 이상한 게 아니라 계단이 없었던 거야.
19:21prefill에서 하나 더 짚어야 할 게 있어.
19:24이게 나중에 결정적이야.
19:27세 번째 칸에서 명찰과 알맹이가 앞 문맥에 따라 달라진다고 했잖아.
19:33그 말을 정확하게 하면 이래.
19:36앞에 뭐가 있었느냐로만 정해져.
19:39뒤에 뭐가 오든 안 바뀌어.
19:42왜냐하면 어텐션이 앞만 보게 되어 있거든.
19:46다섯 번째 토큰은 첫째부터 넷째까지만 쳐다봐.
19:50여섯째, 일곱째는 안 봐.
19:53사람이 글을 읽는 거랑 같아.
19:56읽는 중간에 아직 안 읽은 뒷장이 지금 이 문장의 뜻을 바꾸진 않잖아.
20:02그래서 이렇게 돼.
20:04어떤 문장의 앞부분이 똑같으면 그 앞부분의 명찰과 알맹이도 똑같아.
20:11뒤에 뭐가 붙든 상관없이 앞부분이 같으면 앞부분의 계산 결과도 같다.
20:18이 한 줄이 여섯 번째 칸의 문을 여는 열쇠야.
20:23네 번째 칸 끝.
20:25prefill은 질문 전체를 한 번에 훑어서 명찰과 알맹이를 만들어 두는 단계고 전부 동시에 할 수 있고 각 토큰은 앞만 본다.
20:36이제 답을 쓸 차례야.
20:38그런데 여기서 모든 게 달라져.
20:42답의 첫 토큰을 만든다고 해보자.
20:45여기서 순서를 정확히 봐야 해.
20:48prefill이 끝나면 내 질문의 맨 마지막 토큰 자리에서 결과가 하나 나와.
20:54그 자리의 쪽지를 앞의 명찰들에 대보고 알맹이를 섞은 거야.
21:00이미 있는 토큰이 한 거지 아직 없는 토큰이 한 게 아니야.
21:05그 결과가 뭐냐면 점수야.
21:08모델이 아는 모든 토큰한테 점수를 매긴 거야.
21:13다음에 올 법한 정도로.
21:16안녕이 높고 냉장고가 낮고 이런 식으로.
21:20거기서 하나를 골라.
21:22그게 답의 첫 토큰이야.
21:25이 순서가 중요해.
21:27토큰을 먼저 고르고 그 다음에 그 토큰이 일을 해.
21:32아직 정체를 모르는 토큰이 먼저 뭘 할 수는 없으니까.
21:36그럼 두 번째 토큰은 방금 고른 첫 토큰을 다시 입력으로 집어넣어.
21:43그러면 그 토큰이 자기 명찰과 알맹이를 만들어서 뒤에 쌓고 자기 쪽지를 들고 앞의 명찰들을 훑어.
21:53그리고 그 자리에서 또 점수가 나와.
21:57거기서 또 하나 고르고.
21:59그러니까 첫 토큰이 정해지기 전에는 두 번째 토큰 계산을 시작할 수가 없어.
22:06그리고 두 번째가 정해지기 전에는 세 번째를 시작할 수 없고.
22:11고른 걸 다시 넣어야 다음이 나오니까.
22:15이게 decode야.
22:17답을 한 토큰씩 뽑아내는 단계.
22:21여기서 prefill과 decode를 나란히 놓고 보면 차이가 선명해져.
22:26prefill은 재료가 전부 이미 있어.
22:30그래서 천 개든 만 개든 한꺼번에 계산해.
22:34줄 세울 이유가 없어.
22:37decode는 재료를 자기가 만들면서 가.
22:41다섯 번째 토큰의 재료는 네 번째 토큰인데 그건 방금 만든 거야.
22:47미리 계산해 둘 방법이 없어.
22:50이 차이가 얼마나 큰지 감이 잘 안 올 수 있는데 이렇게 생각해 봐.
22:56prefill은 시험지를 통째로 받아서 문제를 다 읽는 거고, decode는 답을 손으로 한 글자씩 써 내려가는 거야.
23:06문제는 다 같이 읽을 수 있지만 답은 앞을 쓰고 나서야 다음을 쓸 수 있어.
23:13그리고 하나 더.
23:14decode에서 새 토큰이 나올 때마다 그 토큰도 자기 명찰과 알맹이를 만들어서 뒤에 쌓아.
23:22왜냐하면 그 다음 토큰이 이 토큰도 쳐다봐야 하니까.
23:26그래서 답이 길어질수록 쌓인 명찰과 알맹이도 계속 늘어나.
23:31다섯 번째 칸 끝.
23:33decode는 한 토큰씩이고 앞 토큰이 나와야 다음 토큰을 시작할 수 있고, 나온 토큰마다 명찰과 알맹이가 뒤에 쌓인다.
23:44이제 여섯 번째 칸이야.
23:46여기가 오늘의 목적지고 이걸 위해서 앞의 다섯 칸을 올라온 거야.
23:52상황을 하나 보자.
23:53내가 AI랑 대화를 계속하고 있어.
23:57두 번째 질문을 보낼 때 실제로 넘어가는 건 뭐였지?
24:02앞에 붙는 그 긴 것들 전부, 그리고 맨 끝에 새 질문.
24:07그러니까 두 번째 요청의 앞부분은 첫 번째 요청이랑 거의 똑같아.
24:12AI 설명도 그대로, 도구 목록도 그대로, 문서도 그대로, 아까 나눈 대화도 그대로.
24:20바뀐 건 맨 끝뿐이야.
24:22그러면 이런 생각이 들지.
24:25똑같은 앞부분을 왜 또 처리해?
24:28아까 거 저장해뒀다 쓰면 안 되나?
24:31맞아, 그렇게 해.
24:33그런데 여기서 거의 모든 사람이 그림을 잘못 그려.
24:38똑같은 걸 재활용한다고 하면 사람들 머릿속에 자동으로 그려지는 그림이 있어.
24:44똑같은 글자를 저장해두는 그림이야.
24:47시스템 프롬프트가 매번 똑같으니까 그걸 어딘가 저장해뒀다가 꺼내 쓰나 보다.
24:54이 그림은 정말 안 지워져.
24:57아무리 오래 설명을 들어도 남는 게 이거야.
25:00그리고 이 얘기를 업으로 하는 사람 중에도 이 그림에서 못 벗어난 경우가 많아.
25:07그런데 잠깐만 생각해 보면 이 그림은 말이 안 돼.
25:11글자를 저장한다고?
25:13그 글자 원래 갖고 있잖아.
25:16시스템 프롬프트는 파일에 적혀 있어.
25:19대화 기록도 갖고 있어.
25:22그리고 요청 보낼 때 어차피 매번 다시 보내주고 있어.
25:26저장해 봐야 아낄 게 하나도 없어.
25:29글자는 원래 공짜로 갖고 있었어.
25:32지금 아끼려는 게 계산인데, 계산이 아닌 걸 저장해 봐야 그 계산은 하나도 안 줄어.
25:39그럼 뭐가 비쌌지?
25:41세 번째 칸에서 못 박은 문장이 있잖아.
25:45명찰과 알맹이는 만들어낸 숫자다.
25:48토큰의 숫자 줄을 판에 통과시켜서 나온 결과고, 판을 통과시킨다는 건 판에 있는 숫자를 전부 만진다는 뜻이고 그래서 값이 든다.
25:59그리고 네 번째 칸에서 봤듯이 프리필은 그걸 토큰 하나하나마다 전부 해.
26:06수만 개짜리 앞부분이면 수만 개의 명찰과 알맹이를 만드는 거야.
26:11그게 비싼 거야.
26:13글자가 아니라 글자를 판에 통과시켜서 나온 결과.
26:18그러니까 저장하는 건 글자가 아니라 명찰과 알맹이 그 자체야.
26:23계산해서 만들어낸 숫자 더미를 통째로 들고 있는 거지.
26:28그리고 이게 왜 되냐면 네 번째 칸의 그 성질 때문이야.
26:33어떤 토큰의 명찰과 알맹이는 앞에만 의존해.
26:37뒤에 뭐가 붙든 안 바뀌어.
26:40앞부분이 똑같으면 그 명찰과 알맹이도 똑같아.
26:44그러니까 지난번에 만들어둔 걸 그대로 갖다 써도 되는 거야.
26:49이름을 줄게.
26:50명찰은 K, 알맹이는 V였지.
26:54그래서 이렇게 저장해둔 걸 KV 캐시라고 불러.
26:59QKV 중에서 Q가 빠진 이유도 이제 알겠지?
27:03찾는 쪽지는 저장할 이유가 없어.
27:06그건 지금 새로 나오는 토큰이 만드는 거니까.
27:10저장해두는 건 남들이 보러 오는 명찰과 건네줄 알맹이뿐이야.
27:16여기서 한 가지 더.
27:18왜 하필 앞부분이어야 할까?
27:21중간이 같으면 안 되나?
27:23안 돼.
27:24그리고 이유가 예쁘거든.
27:27책을 읽는다고 생각해 봐.
27:30같은 책을 같은 페이지까지 읽은 사람 둘은 거기까지 이해한 내용이 똑같아.
27:36그래서 그다음 페이지부터 같이 읽으면 돼.
27:39그런데 어떤 문장 하나만 놓고 보면 달라.
27:43완전히 다른 책을 읽다가 똑같은 문장을 만났다고 해보자.
27:48글자는 똑같은데 그 문장이 무슨 뜻인지는 서로 달라.
27:54앞에서 무슨 얘기가 있었느냐에 따라 그 문장의 의미가 정해지니까.
27:59컴퓨터도 똑같아.
28:01어떤 토큰의 명찰과 알맹이는 그 토큰만으로 정해지는 게 아니라 앞에 뭐가 있었느냐로 정해져.
28:09그래서 앞부분이 통째로 같아야 그 결과를 가져다 쓸 수 있어.
28:15중간부터 같은 건 소용이 없어.
28:18여기서 비유는 닫을게.
28:20책은 여기까지야.
28:22그래서 이 방식에도 이름이 붙어 있어.
28:25앞에서부터 어디까지 같은지 맞춰보고 거기까지 재활용하는 거라서 프리픽스 캐싱이라고 해.
28:33접두사 캐싱.
28:35서비스에 따라 프롬프트 캐시라고 부르기도 해.
28:39여기서 공짜가 되는 건 아니라는 것도 짚고 갈게.
28:43저장해둔 걸 찾아서 꺼내오는 일은 남아 있고 답을 뽑는 디코드도 그대로 있어.
28:50빠지는 건 앞부분을 다시 프리필하는 비용이야.
28:54그게 제일 무거운 덩어리라서 큰 거지, 전부가 사라지는 게 아니야.
28:59여섯 번째 칸 끝.
29:01저장하는 건 글자가 아니라 명찰과 알맹이, 판을 통과시켜서 만든 계산 결과야.
29:08그게 KV 캐시고 앞에서부터 맞춰보는 방식이 프리픽스 캐싱이야.
29:14이제 완전히 다른 질문 하나.
29:17이것도 사람들이 정말 많이 물어봐.
29:20좋은 그래픽카드를 샀어.
29:22모델이 통째로 메모리에 올라갔어.
29:25다 올라갔다는데 왜 느릴까?
29:28먼저 그래픽카드에 붙은 전용 메모리가 있어.
29:32VRAM이라고 불러.
29:34비디오 램.
29:35원래는 KV 캐시건데 요즘은 AI 모델이 여기 들어가 앉아.
29:41모델을 켜면 저장 장치에 잠들어 있던 판 수백 개가 VRAM으로 통째로 올라와.
29:47수십 기가바이트짜리가 통으로.
29:50이건 켤 때 한 번만 하면 돼.
29:53그다음부터 모델은 거기 누워 있어.
29:56정확히는 모델을 돌려주는 프로그램이 내려놓기 전까지.
30:01프로그램에 따라서는 한동안 안 쓰면 알아서 메모리에서 내려놓기도 하거든.
30:07여기까지 들으면 자연스럽게 이런 생각이 들어.
30:11다 올려놨네, 그럼 이제 빠르겠네.
30:14그런데 안 빨라.
30:16왜냐하면 메모리에 올라와 있다는 것과 계산하는 부품 바로 옆에 있다는 것이 서로 다른 이야기이기 때문이야.
30:25첫 칸에서 기억해 두라고 한 문장 기억나?
30:29곱하려면 그 숫자가 손에 있어야 한다고.
30:32지금이 그 자리야.
30:34그래픽카드 안을 들여다보면 층이 있어.
30:38제일 아래, 그러니까 제일 넓고 제일 먼 곳에 VRAM이 있어.
30:44여기는 수십, 수백 기가바이트를 담아 모델 전체가 편하게 들어가지.
30:50그 위로 올라가면 공간이 급격하게 줄어들어.
30:54캐시라고 부르는 아주 작은 작업대가 있고, 그 위에 더 작은 선반이 있고, 맨 꼭대기에 실제로 계산을 하는 부품들이 있어.
31:04이 꼭대기는 진짜로 작아.
31:07모델이 삼십오 기가바이트라고 하면 이 작업대에는 그중에 정말 아주 조금밖에 못 올려.
31:14그리고 계산하는 부품은 VRAM에 있는 숫자를 그 자리에서 못 써.
31:20반드시 위로 가져와야 써.
31:23창고에 있는 물건을 작업대까지 들고 와야 만질 수 있는 거랑 같아.
31:28여기서 하나만 짚고 갈게.
31:30방금 말한 층은 메모리의 층이야.
31:34이제 나올 얘기는 그거랑 아무 상관없는 다른 거니까 섞지 말고 들어줘.
31:40세 번째 칸에서 계산 단계 얘기했잖아.
31:43어텐션을 여든 번쯤 반복한다고.
31:46그 단계 하나하나가 판을 여러 장 쓰고 모델 전체로 보면 판이 수백 장이야.
31:53그리고 토큰 하나를 만들려면 이 단계들을 첫 번째부터 마지막까지 순서대로 다 통과해야 해.
32:01그런데 작업대가 작으니까 판 하나도 통째로는 못 올려.
32:06판을 조각으로 잘라서 올려.
32:09조각은 판의 일부야.
32:10다른 게 아니라.
32:12그래서 이렇게 돼.
32:14첫 번째 계산 단계에서 쓸 조각들을 작업대 위로 끌어올려서 계산하고, 두 번째 단계 조각을 끌어올려서 계산하고, 세 번째, 네 번째, 여든 번째까지 쭉 가.
32:27그런데 뒤쪽 조각을 올릴 자리를 만들려면 앞쪽 조각을 밀어내야 해.
32:33여든 번째를 계산할 때쯤이면 첫 번째 조각은 이미 진작에 밀려나고 없어.
32:39여기까지가 토큰 한 다야.
32:42이제 두 번째 토큰 차례인데 첫 번째 단계의 조각이 또 필요해.
32:47그런데 없어.
32:48밀려났으니까.
32:50그래서 VRAM에서 또 끌어올려.
32:53두 번째도 또, 여든 번째까지 또.
32:57토큰 하나마다 모델 전체를 창고에서 작업대로 훑어 나르고 있는 거야.
33:03토큰 대 개를 뱉으면 백 번.
33:06그러니까 다 올려놨는데 왜 느리냐는 질문의 답은 이거야.
33:11올려놓은 곳이 계산하는 곳이 아니거든.
33:14모델은 창고에 누워 있고 매 토큰마다 다 창고 전체가 작업대를 한 번씩 지나가야 해.
33:22계산이 느린 게 아니라 나르는 게 느린 거야.
33:25여기서 다섯 번째 칸이 값아져.
33:29프리필을 생각해 봐.
33:30조각 하나를 작업대에 올렸어.
33:33그런데 프리필은 토큰이 수천 개가 동시에 있잖아.
33:38그러니까 그 조각을 내려놓기 전에 수천 개 토큰에 전부 써먹을 수 있어.
33:44한 번 날라서 수천 번 쓰는 거야.
33:47디코드는 조각 하나 올려서 토큰 하나에 한 번 쓰고 내려놔.
33:53한 번 날라서 한 번 써.
33:55나르는 힘은 똑같은데 써먹는 횟수가 수천 배 차이가 나.
34:00그래서 프리필은 나르는 게 별로 안 아깝고 디코드는 나르는 게 전부야.
34:06이게 사람들이 체감하는 그 차이야.
34:10긴 질문을 넣어도 첫 토큰은 생각보다 금방 나오는데 그 다음부터 토큰이 들이 또박또박 느리게 나오는 거.
34:18앞은 프리필이고 뒤는 디코드야.
34:22일곱 번째 칸 끝.
34:24올려놓은 곳과 계산하는 곳이 달라서 디코드는 토큰마다 모델 전체를 나른다.
34:31프리필은 한 번 나른 걸 수천 번 써먹어서 그 부담이 훨씬 작다.
34:36일곱 번째 칸에서 디코드의 문제를 봤어.
34:39조각 하나 날라서 한 번 쓰고 내려놓는다는 거 너무 아깝잖아.
34:44그럼 이렇게 하면 되겠네.
34:46내려놓기 전에 여러 번 써먹으면 되잖아.
34:50맞아, 그게 배치야.
34:52용어를 하나만 만들고 갈게.
34:55여기서 줄기는 답 하나가 토큰을 뽑아내고 있는 한 줄이야.
35:00답 하나에 줄기 하나, 그리고 지금 한꺼번에 같이 계산되는 줄기의 개수, 이걸 배치 사이즈라고 불러.
35:08내가 지금 AI랑 대화를 하고 있다고 해보자.
35:12질문 하나 던지고 답을 기다려.
35:15그러면 이 순간 굴러가는 줄기는 딱 하나야.
35:19배치 사이즈 일.
35:21그러면 아까 그 모양이 돼.
35:24창고에서 조각을 힘들게 들고 올라와.
35:27내 토큰 하나 계산하는데 한 번 써.
35:30그리고 자리를 비워줘야 하니까 내려놔.
35:33다음 토큰 때 그 조각을 또 들고 올라와.
35:36또 한 번 쓰고 또 내려놔.
35:39한 번 나르는 데 드는 힘은 똑같은데 그 조각으로 하는 일이 딱 한 번이야.
35:45그런데 큰 서비스에서는 지금 이 순간 굴러가는 줄기가 백 개, 천 개야.
35:51여기서 오해하기 쉬운 게 하나 있어서 정확히 말할게.
35:55그 천 개가 한 덩어리로 같이 굴러가는 게 아니야.
35:58여기저기 흩어져서 돌아가.
36:01그러니까 이렇게 기억하면 돼.
36:04나눠 쓸 수 있는 건 지금 작업대에 올라온 그 조각을 같이 쓰는 줄기들 뿐이야.
36:10기계가 몇 대냐가 아니라 작업대 하나에 올라온 조각을 몇 줄기가 같이 쓰느냐.
36:16그게 처음부터 이 얘기의 전부였어.
36:20그래서 한 작업대에 백 줄기가 같이 붙었다고 해보자.
36:25뭐가 달라지냐면 조각을 들고 올라와.
36:28그리고 내려놓기 전에 그 자리에서 백 줄기를 한꺼번에 계산해버려.
36:34그러고 나서야 다음 조각을 가지러 가.
36:37나르는 횟수는 똑같아.
36:40그런데 한 번 나른 걸로 백배를 써먹었어.
36:44여기가 두 번째로 많이 오해하는 자리야.
36:47짚고 갈게.
36:48배치는 나르는 일을 없애주는 게 아니야.
36:51나르는 횟수는 그대로야.
36:54배치가 하는 일은 한 번 올라온 조각을 내려놓기 전에 몇 번 써먹느냐를 늘리는 거야.
37:00그것뿐이야.
37:02그런데 그것뿐인 게 엄청난 차이를 만들어.
37:06그리고 이제 눈치챘을 텐데 프리필은 원래부터 이걸 하고 있었어.
37:11프리필은 토큰 수천 개가 동시에 있으니까 조각 하나로 수천 번을 써먹잖아.
37:18줄기가 하나뿐이어도 그래.
37:20그래서 프리필은 처음부터 별로 아깝지 않았던 거야.
37:24디코드가 이걸 못했던 거고 배치가 그걸 메워주는 거야.
37:29여덟 번째 칸 끝.
37:31배치는 한 번 나른 조각을 여러 줄기가 같이 쓰는 거야.
37:36나르는 일을 없애는 게 아니라 써먹는 횟수를 늘리는 거고, 나눠 쓰는 상대는 지금 같은 작업대에 붙어 있는 줄기들이야.
37:45여덟 칸을 다 올라왔어.
37:47이제 그 화면으로 돌아가자.
37:50클라우드에는 프롬프트 캐시하고 배치가 있고 집 컴퓨터에는 둘 다 없다.
37:56나는 화면에 집에는 배치가 없다고 썼어.
38:00그런데 배치 사이즈는 사람 수도 아니고 집이냐 아니냐도 아니야.
38:05지금 나란히 굴러가는 줄기가 몇 개냐, 그것뿐이야.
38:10그러니까 집에 있는 컴퓨터에서도 줄기를 여러 개 동시에 굴리면 배치는 얼마든지 걸려.
38:17영상 삼천 편을 자막으로 바꾸는 일이라도 한 편 끝나야 다음 한 편 시작하는 식으로 줄 세워 놓으면 그건 배치가 아니야.
38:26여러 편을 동시에 물려서 같이 돌려야 배치야.
38:30같은 삼천 편인데 어떻게 돌리느냐가 가르는 거지.
38:35없는 건 집이 아니라 나눌 상대야.
38:38줄기가 하나뿐이면 배치가 사라지는 게 아니라 배치 사이즈가 일인 거야.
38:44배치는 늘 돌아가고 있어.
38:46다만 하나를 가져와서 하나한테만 쓰니까 남는 게 없을 뿐이지.
38:52그러니까 정확한 문장은 이래.
38:55집에 배치가 없는 게 아니라 줄기 하나로 쓰면 배치해서 얻을 게 없어.
39:01내가 그 화면을 띄웠던 게 마침 줄기 하나짜리 대화를 한 조각에 여러 줄기가 붙는 쪽과 비교한 자리라 결과는 맞았는데 이유를 틀리게 적어놓은 거야.
39:13이제 같이 적어놨던 다른 하나.
39:16이건 변명의 여지가 없어.
39:18프리픽스 캐싱은 클라우드 전용 기술이 전혀 아니야.
39:23집에서 모델 돌리는 프로그램들도 이걸 지원해.
39:27앞부분에 명찰과 알맹이를 만들어두고 다음 요청이 오면 어디까지 똑같은지 앞에서부터 맞춰보고 같은 데까지는 다시 프리필하지 않는 거야.
39:38새로 나온 것도 아니고 특별한 것도 아니야.
39:42그러니까 내가 화면에 띄웠던 그 네 글자, 둘 다 없음.
39:47이건 틀렸어.
39:48배치는 이유가 틀렸고 프롬프트 캐시는 그냥 있어.
39:53여기서 이야기가 끝나면 그냥 정정으로 끝나는데 진짜 재밌는 건 그다음이야.
40:00집에서도 되는 게 맞다면 클라우드가 유리하다는 말은 대체 무슨 뜻일까?
40:05기술이 있고 없고의 문제가 아니었어.
40:08얼마나 자주 다시 걸리느냐의 문제였어.
40:12이렇게 생각해 보자.
40:14어떤 회사가 챗봇 하나를 만들어서 십만 명한테 서비스해.
40:19모든 사람의 요청 앞에 똑같은 게 붙어.
40:22회사 설명, 규칙, 제품 설명서, 도구 목록.
40:27사람마다 다른 건 맨 끝에 질문뿐이야.
40:30"환불해 주세요." "배송 언제 와요?" "비밀번호 바꿔주세요." 그러면 그 긴 앞부분이 하루에도 수십만 번 똑같이 들어와.
40:41그때마다 프리필을 다시 할 필요가 없어지는 거야.
40:46여기서도 오해하기 쉬운 게 하나 있어서 정확히 말할게.
40:50어딘가에 하나짜리 캐시가 있어서 전 세계가 그걸 나눠 쓰는 게 아니야.
40:56어디까지가 한 캐시인지, 얼마나 오래 남는지, 누구까지 같이 쓸 수 있는지는 서비스마다 다르게 정해놔.
41:05공통점은 두 개뿐이야.
41:07전 세계가 하나를 나눠 쓰지는 않는다는 것, 그리고 안 쓰면 사라진다는 것.
41:14그래서 다시 프리필해야 하는 경우도 많아.
41:17다만 같은 앞부분이 다시 들어오는 횟수 자체가 집과는 비교가 안 되게 많아.
41:23그래서 아낀 게 쌓이는 거야.
41:27집은 나 혼자야.
41:29그리고 내가 오늘 물어본 것들이 다 제각각이면 앞부분이 서로 안 맞으니까 만들어둔 명찰과 알맹이를 다시 쓸 일이 별로 없어.
41:40기술은 있는데 써먹을 기회가 적은 거야.
41:44그래서 정확한 문장은 이거야.
41:47집에 없는 건 프리픽스 캐싱이 아니라 그게 다시 걸릴 기회야.
41:52그리고 개인적으로는 이 대목이 제일 좋아.
41:56혼자 쓰는데도 이게 아주 잘 먹히는 경우가 있어.
42:00앞에 붙는 게 매번 거의 똑같은 사람.
42:04코딩을 도와주는 AI를 생각해 봐.
42:07매번 앞에 뭐가 붙지?
42:09이 AI가 누구인지, 프로젝트 구조가 어떻게 생겼는지, 지켜야 할 규칙이 뭔지, 쓸 수 있는 도구가 뭔지.
42:19어제도 똑같았고 오늘도 똑같아.
42:22바뀌는 건 "이 함수 좀 고쳐줘." 하는 그 한 줄뿐이야.
42:27이런 사람은 혼자여도 앞부분이 매번 그대로 맞아떨어져.
42:32그래서 한 번 만들어두면 계속 다시 걸려.
42:36혼자 쓰는데도 캐시가 제대로 일을 해.
42:40그러니까 내가 지워버린 그 절반은 하필 이런 사람한테 가장 유리했을 절반이야.
42:47마지막으로 하나만 더 붙일게.
42:50여기까지 오면 두 개가 하나로 합쳐지거든.
42:54배치는 뭐였지?
42:56한 번 나른 조각을 여러 줄기가 나눠 쓰는 거였어.
43:00프리픽스 캐싱은 한 번 만든 명찰과 알맹이를 여러 요청이 나눠 쓰는 거였어.
43:08둘 다 똑같은 일을 하고 있었어.
43:11겹치는 부분을 찾아내서 그 비용을 여럿이 나누는 것.
43:16이름이 다르고 나누는 자리가 다를 뿐이야.
43:20그리고 이 눈으로 보면 그 네 글자가 왜 게을렀는지도 선명해져.
43:25둘 다 나눠 쓰는 기술인데 나누는 상대가 서로 달라.
43:30배치는 지금 나란히 굴러가는 다른 줄기랑 나누는 거야.
43:35공간을 같이 쓰는 거지.
43:38그래서 한 줄 물어보고 기다리는 동안에는 나눌 상대가 없어.
43:43프리픽스 캐싱은 먼저 들어온 요청이랑 나누는 거야.
43:47시간을 건너서 나누는 거라 지금 옆에 아무도 없어도 돼.
43:53커비스에서는 그 먼저 들어온 요청이 남의 것일 수도 있고, 집에서는 대개 조금 전의 나야.
44:00어느 쪽이든 축은 사람이 아니라 시간이야.
44:04다만 그 먼저가 생각보다 짧아.
44:08몇 분 단위인 경우도 많아서 계속 붙어서 쓰고 있어야 계속 걸려.
44:14한참 있다 돌아오면 처음부터 다시야.
44:18그래서 집 컴퓨터에 없는 건 기술이 아니었어.
44:22하나는 나란히 굴릴 줄기가 없었던 거고, 하나는 다시 걸릴 기회가 적었던 거야.
44:29그리고 그 둘 다 어떻게 쓰느냐에 따라 생기기도 해.
44:34그게 내가 네 글자로 뭉갠 자리였고, 오늘 고쳐놓고 싶었던 자리야.
44:40자, 이제 약속한 거 지킬 시간이야.
44:44오늘 여덟 칸을 올라오면서 이름을 하나씩 받았잖아.
44:49그걸 한 화면에 모아볼게.
44:52하나도 새로운 게 없어.
44:54전부 오늘 이해하고 이름까지 붙인 것들이야.
44:58흩어져 있으면 안 보이는 게 모아놓으면 보이거든.
45:03토큰, 문장이 잘린 조각 하나.
45:07숫자판.
45:08오늘 내가 판이라고 부른 것.
45:11진짜 이름은 가중치야.
45:14모델을 이루는 학습이 끝나고 굳어버린 숫자들.
45:19Q, K, V.
45:21찾는 쪽지, 명찰, 알맹이.
45:24쿼리, 키, 벨류.
45:27어텐션.
45:29쪽지를 명찰에 대보고 잘 맞는 만큼 알맹이를 섞는 것.
45:34토큰들이 서로를 쳐다보는 방식.
45:37프리필.
45:38내 질문 전체를 한 번에 훑어서 모든 토큰의 명찰과 알맹이를 만들어 두는 단계.
45:46전부 동시에 할 수 있어서 빨라.
45:49디코드.
45:51답을 한 토큰씩 뽑는 단계.
45:54앞 토큰이 나와야 다음 토큰을 시작할 수 있어서 줄 세워야 해.
45:59KV 캐시.
46:01프리필로 만들어둔 명찰과 알맹이 더미 그 자체.
46:06글자가 아니라 계산 결과야.
46:09프리픽스 캐싱.
46:11앞에서부터 어디까지 같은지 맞춰보고 같은 데까지는 프리필을 건너뛰는 것.
46:17프롬프트 캐시라고 부르기도 해.
46:21배치 사이즈.
46:22지금 나란히 굴러가고 있는 줄기의 개수.
46:26이제 어디선가 이 단어들이 나오면 "아, 그거" 하면 돼.
46:32그리고 혹시 다음에 누가 "프리필이 뭐예요?"라고 물어보면 이렇게 대답해 주면 좋겠어.
46:40그거 대답하려면 앞에 몇 개를 먼저 봐야 하는데 같이 볼래?
46:46그게 오늘 이 영상이 진짜로 하고 싶었던 거야.
46:50[클로징 음악]
All language editions share the original video's conversation.
Comments 0
🔔 Reply notifications (sign in)No comments yet — be the first.