WEBVTT 00:00.710 --> 00:06.650 이제 도표를 보여드리면서 실감이 나게 해드릴게요 특히 출로라와 훈련하는 00:06.650 --> 00:11.810 방법에 대해서요 실제로 연습에서 하는 방법이죠 00:12.440 --> 00:16.280 먼저 포워드 패스 얘기를 해보죠 00:16.280 --> 00:20.780 이 다이어그램은 익숙하실 겁니다 제가 전에 사용한 것과 같거든요 00:20.810 --> 00:27.350 라마 3을 보여줬어요 우리가 수량화한 기본 모델은 80억 00:27.380 --> 00:31.340 매개 변수까지 전부 동결됐어요 00:31.340 --> 00:36.350 훈련의 일환으로 무게는 바꾸지 않을 겁니다 할 일도 메모리도 00:36.380 --> 00:43.400 너무 많고 80억 매개 변수를 변경하고 최적화하는 것도 너무 느리니까요 00:43.850 --> 00:50.630 여기 보면 여러 개의 추가 얼어 있는데요 노란색도 얼어 있지만 00:50.630 --> 00:53.180 대상 모듈을 나타내요 00:53.180 --> 00:55.940 어떤 색을 적용할지를요 00:56.330 --> 00:59.210 로라 어댑터를 가져오죠 00:59.210 --> 00:59.790 저기 있네요 00:59.820 --> 01:06.090 기술적으로 맞는다는 걸 기억하실지 모르겠는데 A와 B라는 어댑터가 01:06.090 --> 01:10.380 두 개 있어요 각각의 대상 모듈에 대해서요 01:10.440 --> 01:15.420 R이 부여한 차원성입니다 알파가 배율 요인인 걸 기억하실 거예요 01:15.420 --> 01:21.090 대상 모듈에 적용되는 방식만큼 간단합니다 알파 곱하기 A 01:21.120 --> 01:22.380 곱하기 B죠 01:22.710 --> 01:24.450 그게 다예요 01:24.450 --> 01:27.750 이게 우리가 잘 아는 신경망이에요 01:27.780 --> 01:33.270 이 로라 어댑터로 웨이트를 훈련할 거예요 이건 약 109MB짜리 01:33.300 --> 01:36.090 웨이트예요 01:36.780 --> 01:38.280 네 01:38.280 --> 01:40.290 그럼 어떻게 되죠? 01:40.290 --> 01:42.900 왼쪽에 입력 프롬프트가 있어요 01:42.900 --> 01:47.760 가격이 달러라면 다음 토큰이 그 다음이죠 01:47.760 --> 01:50.070 Get in get 예측을 잘해야 해요 01:50.520 --> 01:57.780 전진 패스란 입력 모드를 취하는 건데요 기본적으로 모델로 입력해 01:57.780 --> 02:02.400 다음 토큰을 예측해달라고 하는 거죠 02:03.360 --> 02:10.260 모델로 살펴보면 반대쪽에 예상되는 토큰 가격이 나와요 02:10.290 --> 02:11.820 그다음은 99명이에요 02:11.820 --> 02:17.970 다시 말하지만 우린 llama 3의 단순함을 이용하고 있어요 1번, 사실 99는 토큰 하나일 02:17.970 --> 02:19.170 뿐이죠 02:19.320 --> 02:20.400 아닌 건 아니죠 02:20.430 --> 02:23.730 세 자리 숫자라면 언제나 그렇죠 02:23.730 --> 02:27.300 그게 중요한 건 아니지만 비트가 우릴 좀 단순화시키죠 02:27.300 --> 02:29.190 그게 포워드 패스죠 02:29.220 --> 02:29.820 좋아요 02:29.850 --> 02:32.040 이제 손실 계산을 해 보죠 02:32.610 --> 02:33.780 다시 모였네요 02:33.780 --> 02:35.400 다음 토큰을 예측했어요 02:35.400 --> 02:41.400 이제 모델은 훈련 과정을 살펴볼 수 있어요 02:41.400 --> 02:44.010 우리 같은 경우는 위를 봐요 02:44.010 --> 02:45.960 다음 토큰이 뭐였을까요? 02:45.960 --> 02:49.080 훈련 데이터가 있기 때문에 실제 다음 토큰을 알아요 02:49.080 --> 02:50.100 그게 뭐였죠? 02:50.100 --> 02:51.810 89라고 치죠 02:51.810 --> 02:52.590 낮았어요 02:52.590 --> 02:54.000 우리가 틀렸군요 02:54.000 --> 02:55.800 10달러 차이예요 02:56.070 --> 02:57.370 틀렸을 수도 있고요 02:57.370 --> 03:00.280 다른 토큰으로 이게 10달러라는 걸 몰라요 03:00.280 --> 03:02.350 다른 토큰이란 걸 알 뿐이죠 03:02.710 --> 03:05.650 그래서 상실감이 좀 있어요 03:05.650 --> 03:10.180 잠시 후에 손실이 무엇인지 설명하고 다른 토큰으로 사용하면 왜 안 되는지 03:10.180 --> 03:11.500 설명해 드릴게요 03:11.500 --> 03:16.300 기술적인 부분을 짚고 넘어가겠지만 일단은 99개까지 예상했다고만 해두죠. Get 03:16.300 --> 03:16.960 it! 03:16.990 --> 03:18.670 실제 가격은 89예요 03:18.700 --> 03:20.050 손실이 생겼어요 03:20.680 --> 03:23.140 그게 손실 계산이고요 03:23.140 --> 03:29.350 세 번째 단계는 뒤로 가기 패스입니다 사람들이 뒤로 가기나 뒤로 전파라고 부르는 걸 들으실 수 있죠 03:29.350 --> 03:30.580 역증식이죠 03:30.760 --> 03:38.470 백프롭에서는 네트워크를 통해 살펴봅니다. 그러면 얼마나 비트를 03:38.470 --> 03:44.650 약간만 조정하면 얼마나 손실이 발생할까요? 03:44.650 --> 03:48.850 저 무게에 대한 상실감이 얼마나 민감하죠? 03:48.880 --> 03:54.280 매개 변수의 무게의 기울기라는 걸 제공하죠 03:54.280 --> 03:57.320 무게는 매개 변수와 동의어예요 03:57.560 --> 04:00.770 그럼 어떻게 네 04:00.800 --> 04:02.120 경사도가 어떻게 되죠? 04:02.120 --> 04:05.240 무게를 바꾸면 손실이 얼마나 커질까요? 04:05.240 --> 04:08.030 비트 박스를 개선하고 싶거든요 04:08.360 --> 04:14.120 저 빨간 삼각형은 델타를 나타내는 거예요 저기서 일어난 그러데이션 계산을 04:14.210 --> 04:16.100 보여주기 위해서요 04:17.180 --> 04:22.730 그리고 마지막 단계로 넘어가죠 4단계 최적화요 Get it 04:22.940 --> 04:23.960 나오네요 04:23.960 --> 04:26.360 그래서 이런 경사가 있죠 04:26.420 --> 04:30.770 이제 올바른 방향으로 작은 걸음을 내디뎌야 해요 04:30.770 --> 04:36.830 로라 행렬의 매개 변수를 업데이트해야 하는데 비트가 조금 부족해요 04:36.830 --> 04:41.720 다음 번에 같은 inputFrompt를 선택하면 손실이 약간 더 낮아지죠 04:41.720 --> 04:42.890 비트가 더 나을 거예요 04:42.890 --> 04:48.200 올바른 방향으로 한 걸음 나아가고 있어요 학습률을 기준으로 얼마나 나아갈지 04:48.200 --> 04:48.980 결정하죠 04:48.980 --> 04:53.810 앞서 말했듯이 보폭이 작거나 큰 것에 장단점이 있어요 04:54.090 --> 05:00.690 기억하실지 모르겠지만 애덤 W. 최적화 프로그램은 아주 기발한 방법을 사용했어요 05:00.690 --> 05:06.720 기존의 그러데이션 수치를 그대로 유지하면서 기존의 그러데이션 수치를 그대로 05:06.720 --> 05:12.540 유지했죠 그래서 현명하게도 개선할 수 있는 방법을 찾아냈어요 05:12.660 --> 05:17.700 너무 꽉 찬 옷을 입거나 다른 위험을 감수하지 않도록 하는 것이기도 05:17.730 --> 05:18.810 하죠 05:19.200 --> 05:20.370 그렇게 하죠 05:20.370 --> 05:26.430 로라 어댑터가 개선되고 미래에는 기본 모델에 적용할 05:26.430 --> 05:29.700 텐데 조금 더 나아질 거예요 05:29.730 --> 05:36.390 다음번에는 손실이 더 적겠죠 그래서 훈련 손실이 줄고 있는 거예요 흔들리는 05:36.390 --> 05:40.740 도표도요 비트는 배우고 나아지고 있으니까요 05:41.070 --> 05:46.050 여기서 짚고 넘어갈 것은 체중과 변수가 변경된 매개 변수는 로라 05:46.050 --> 05:51.180 어댑터의 녹색 매개 변수입니다 llama 3에서는 어떤 매개 05:51.180 --> 05:55.620 변수도 변경하지 않아요 베이스 1이 너무 크고 매개 변수가 너무 많아요 05:55.620 --> 06:02.280 로라 기반의 훈련이 아닌 평범한 훈련이었다면 라마 06:02.280 --> 06:09.120 3 전체가 됐을 거예요 그러데이션을 계산하고 최적화 때 변경해야 06:09.120 --> 06:10.320 하는 모델이죠 06:10.320 --> 06:13.650 물론 메타 같은 대기업이 그런 거죠 06:13.680 --> 06:19.170 라마 3을 그렇게 훈련시켰어요 1인당 그리고 거기에 엄청난 돈을 들였는데 06:19.200 --> 06:25.620 우리는 그 돈을 쉽게 구할 수 없어서 로라 어댑터를 대신 쓰고 있는 거예요 06:26.190 --> 06:32.160 지금까지 최적화에 대한 요약이었습니다. 트레이닝 프로세스 전체에서 말이죠. 06:32.160 --> 06:37.530 이미 대부분 명확하게 이해하셨겠지만 이 도표를 보고 이해하셨길 06:37.530 --> 06:41.310 바랍니다 모든 게 제자리를 찾았다는 뜻이죠 06:41.310 --> 06:47.550 다음 강의에서는 기술적인 면을 하나만 더 설명할게요 아주 중요한 기술적 측면으로 06:47.550 --> 06:51.570 예측과 손실 계산의 의미를 설명해 드리죠 06:51.600 --> 06:52.380 그때 봐요