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.
 
 

328 lines
8.5 KiB

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
그때 봐요