From the uDemy course on LLM engineering.
https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
229 lines
6.4 KiB
229 lines
6.4 KiB
WEBVTT |
|
|
|
00:00.560 --> 00:02.330 |
|
안녕하세요, 여러분 |
|
|
|
00:02.330 --> 00:06.890 |
|
얼마나 신났는지 평소처럼 말하진 않을게요 저도 그렇고 당신도 |
|
|
|
00:06.890 --> 00:08.510 |
|
신났으니까요 |
|
|
|
00:08.540 --> 00:14.930 |
|
밤새도록 저처럼 달리셨을 테니 결과를 빨리 보고 싶으시겠죠 |
|
|
|
00:14.930 --> 00:17.030 |
|
하지만 할 일이 있어요 |
|
|
|
00:17.060 --> 00:24.050 |
|
우선, 이미 많은 것을 할 수 있습니다 프론티어에 반하는 코딩과 오픈 소스 모델은 |
|
|
|
00:24.050 --> 00:31.550 |
|
데이터 세트 큐레이션, 기준선 미세 튜닝 프론티어 모델과 실행을 이용하죠 |
|
|
|
00:31.550 --> 00:37.880 |
|
Q 로라, 아까 총알 두 개를 넣겠다고 했는데 여기 하나 더 |
|
|
|
00:37.880 --> 00:42.890 |
|
넣었어요 훈련 과정부터 시작하죠 Put |
|
|
|
00:42.920 --> 00:48.320 |
|
생각해보니 훈련 과정 자체에 대해 꽤 꼼꼼하게 알고 있었어요 |
|
|
|
00:48.320 --> 00:53.330 |
|
이제 여러분은 달리기와 훈련 로라의 활약을 직접 목격한 경험이 |
|
|
|
00:53.330 --> 00:57.680 |
|
있으니 잠시 시간을 내서 제대로 설명해 드릴게요 |
|
|
|
00:57.680 --> 00:59.270 |
|
그런 기본이 있어요 |
|
|
|
00:59.300 --> 01:00.560 |
|
이미 다 알고 계실지도 몰라요 |
|
|
|
01:00.560 --> 01:05.300 |
|
그 시점에서 뭔가 알아차렸거나 이미 마주쳤을 수도 있죠 |
|
|
|
01:05.360 --> 01:09.070 |
|
어느 쪽이든 그걸 분명히 하는 게 중요해요 |
|
|
|
01:09.070 --> 01:11.140 |
|
몇 분 정도 걸릴 거예요 |
|
|
|
01:11.260 --> 01:16.300 |
|
첫 달리기 훈련을 받은 건 좋은 일이라고 생각해요 이번 |
|
|
|
01:16.300 --> 01:20.110 |
|
훈련을 통해 모든 게 잘 연결되길 바라요 |
|
|
|
01:20.140 --> 01:29.200 |
|
그런 다음 잘 조율된 모델에 대한 추론을 실행합니다 그럼 7주 차에 마무리되는 거죠 정말 |
|
|
|
01:29.200 --> 01:31.120 |
|
흥미진진해요 |
|
|
|
01:31.150 --> 01:32.890 |
|
Get it, get it, get it, get it, get, it! 자, 그럼 시작해 볼까요? |
|
|
|
01:33.550 --> 01:40.930 |
|
제가 말씀드리고 싶은 것은 모델을 개선하는 훈련 과정으로 작업을 수행하는 |
|
|
|
01:40.930 --> 01:46.120 |
|
데 있어서 4단계를 거쳐야 한다는 점인데요 |
|
|
|
01:46.150 --> 01:52.570 |
|
첫 단계는 전진 패스라고 알려진 겁니다 일종의 실행 추론에 쓰이는 또 다른 |
|
|
|
01:52.570 --> 01:53.440 |
|
이름이죠 |
|
|
|
01:53.440 --> 02:01.480 |
|
데이터 집합에 데이터가 있는데 특정 훈련 데이터 포인트가 있고 그 훈련 프롬프트를 |
|
|
|
02:01.480 --> 02:08.590 |
|
신경망을 통해 전달해 다음 토큰에 대한 예측을 얻죠. |
|
|
|
02:08.590 --> 02:13.510 |
|
그걸 포워드 패스라고 하죠 왜냐하면 입력값이 들어와 통과하고 |
|
|
|
02:13.510 --> 02:18.080 |
|
결과물이 변압기 끝에 튀어나온다고 생각하니까요 |
|
|
|
02:19.100 --> 02:22.700 |
|
그리고 손실 계산이라는 게 있어요 |
|
|
|
02:23.240 --> 02:25.340 |
|
이 비트에 대해선 나중에 더 얘기하죠 |
|
|
|
02:25.340 --> 02:26.810 |
|
이건 괜찮다고 하네요 |
|
|
|
02:26.810 --> 02:31.010 |
|
네트워크는 이게 출력물이라고 예상했어요 |
|
|
|
02:31.010 --> 02:35.750 |
|
사실 이게 진정한 다음 토큰이에요 우린 훈련 중이니까요 |
|
|
|
02:35.750 --> 02:41.030 |
|
데이터에서 다음에 무엇이 올지 포함하는 실제 예제들이 있어요 |
|
|
|
02:41.360 --> 02:46.610 |
|
이제 예측과 진실을 알았으니 손실을 계산할 방법을 생각해낼 수 있겠죠 |
|
|
|
02:46.610 --> 02:48.890 |
|
얼마나 틀렸는지도 알고요 |
|
|
|
02:48.920 --> 02:53.960 |
|
정확성의 반대인 걸 잃었을 때 얼마나 심각했나요? |
|
|
|
02:54.590 --> 02:58.340 |
|
손실이 크다는 건 상황이 악화됐다는 뜻이죠 |
|
|
|
02:58.700 --> 02:59.750 |
|
이게 2단계예요 |
|
|
|
02:59.780 --> 03:01.160 |
|
손실 계산요 |
|
|
|
03:01.160 --> 03:04.580 |
|
세 번째 단계는 뒤로 가기예요 |
|
|
|
03:04.580 --> 03:06.320 |
|
다른 용어도 많이 들리죠 |
|
|
|
03:06.350 --> 03:08.900 |
|
백프롭 백 전파라고 하죠 |
|
|
|
03:09.230 --> 03:17.840 |
|
이 원리는 이 역과정에서 손실을 감안하고 신경망을 통해 되돌아보며 이런 질문을 |
|
|
|
03:17.840 --> 03:25.540 |
|
하는 겁니다 신경망의 각 매개 변수를 조금씩만 변경한다면요 |
|
|
|
03:25.570 --> 03:29.140 |
|
이 손실이 커졌을까요? 작아졌을까요? |
|
|
|
03:29.170 --> 03:31.300 |
|
손실이 얼마나 크죠? |
|
|
|
03:31.330 --> 03:33.100 |
|
이 무게는 어떻게 정했죠? |
|
|
|
03:33.100 --> 03:35.980 |
|
그게 손실과 무슨 상관이죠? |
|
|
|
03:36.130 --> 03:39.700 |
|
몸무게에 따라 감량량은 어떻게 달라지죠? |
|
|
|
03:39.910 --> 03:43.540 |
|
그 민감한 부분을 그러데이션이라고 해요 |
|
|
|
03:43.570 --> 03:44.290 |
|
물론이죠 |
|
|
|
03:44.500 --> 03:47.230 |
|
일반적으로 수학에서 그렇듯이요 |
|
|
|
03:47.410 --> 03:56.020 |
|
각 무게의 경사도를 계산하는 과정이에요 조금만 변경해도 손실이 발생하죠 |
|
|
|
03:56.020 --> 04:01.870 |
|
그래서 모든 무게의 경사도를 계산하는 과정을 백워드 |
|
|
|
04:01.900 --> 04:04.240 |
|
패스라고 해요 |
|
|
|
04:04.570 --> 04:12.970 |
|
마지막으로 4단계 최적화는 무게 감쇠 기능을 갖춘 Adam |
|
|
|
04:12.970 --> 04:19.180 |
|
W 최적화기로 훈련에 사용하기로 했어요 |
|
|
|
04:19.210 --> 04:24.280 |
|
최적화는 모든 그러데이션을 계산했다는 뜻이에요 |
|
|
|
04:24.400 --> 04:32.270 |
|
이제 모든 무게 비트를 조금씩 조정할 겁니다 그래야 다음번에 |
|
|
|
04:32.270 --> 04:37.850 |
|
같은 프롬프트를 받으면 좀 더 잘 되겠죠 |
|
|
|
04:37.880 --> 04:39.950 |
|
비트 박스는 좀 낮겠죠 |
|
|
|
04:40.400 --> 04:45.200 |
|
기울기 방향과 반대 방향으로 살짝 조정해서 손실을 |
|
|
|
04:45.200 --> 04:46.970 |
|
줄일 거예요 |
|
|
|
04:47.240 --> 04:52.670 |
|
학습 비율에 따라 한 단계씩 나아가는 겁니다 학습 비율이 얼마나 큰지에 |
|
|
|
04:52.670 --> 04:56.750 |
|
따라서요 이건 좀 더 나은 환경을 위해 고안된 거죠 |
|
|
|
04:56.840 --> 05:00.290 |
|
일반화할 수 있는 방법으로 항상 시도하고 싶죠 |
|
|
|
05:00.290 --> 05:04.610 |
|
이 입력 프롬프트를 정확히 해결하고 싶진 않죠 |
|
|
|
05:04.610 --> 05:11.090 |
|
이런 비트로 모델이 좀 더 나아지도록 배우길 바랄 뿐이죠 |
|
|
|
05:11.450 --> 05:17.660 |
|
이 모든 과정이 미니 배치에서 동시에 발생합니다 데이터 전체에서 |
|
|
|
05:17.690 --> 05:23.780 |
|
계속 반복되죠 데이터는 한 발생을 거치고 여러 발생을 거치면서 |
|
|
|
05:23.780 --> 05:27.740 |
|
또 다른 발생이 반복돼요 |
|
|
|
05:27.740 --> 05:33.050 |
|
그 반복적인 과정을 훈련이라고 하죠 |
|
|
|
05:33.380 --> 05:38.600 |
|
다음 비디오에서는 그걸 설명하기 위해 다이어그램을 보여드리죠
|
|
|