WEBVTT 00:00.680 --> 00:06.440 여기서 제가 여러분께 훈련 손실에 대한 만족스러운 차트를 보여드렸는데요 훈련 손실에 00:06.440 --> 00:07.640 대한 차트를요 00:07.670 --> 00:09.800 종일 봐도 안 질리겠어요 00:09.800 --> 00:14.270 다른 차트로 넘어가도록 하죠 00:14.480 --> 00:18.170 이 도표를 다시 보죠 00:18.590 --> 00:22.190 이미 보셨을 수도 있는 이 사진을 보여드릴게요 00:22.190 --> 00:24.110 이게 학습률이에요 00:24.110 --> 00:25.670 날려 버리죠 00:27.050 --> 00:34.250 이게 제가 아까 설명하려고 했던 바로 그 모습이에요 하지만 제가 말씀드렸듯이 00:34.250 --> 00:39.830 무게와 편향으로 보면 훨씬 더 명확해 보이죠 00:39.890 --> 00:47.030 이건 지난 네 번의 시대를 거치며 학습률이 어떻게 변했는지 보여줍니다. 00:47.030 --> 00:55.130 거의 네 번째 시대까지 학습률이 변하지 않았죠. 이전의 모형을 실행했을 때요. 00:55.160 --> 00:58.430 보시다시피 학습률은 0에서 시작됐죠 00:58.460 --> 01:03.720 그 후 상승했죠 이 지점까지 온난화 때문에요 01:03.870 --> 01:12.930 그러면 이렇게 매끈하게 조금씩 내려오는 게 보이죠 처음엔 천천히 시작하지만 점점 01:12.930 --> 01:15.210 더 많이 내려와요 01:15.210 --> 01:17.460 그러다 끝에 가서는 꼬리가 떨어져요 01:17.460 --> 01:23.430 네 개의 개혁이 끝나면 정확히 0까지 올라가요 01:23.430 --> 01:25.710 하지만 네 번째 시대까지 못 버텼어요 01:25.740 --> 01:30.900 한 시대의 작업을 실행하면 하나의 작업에만 전체 차트가 생겨요. 01:30.930 --> 01:37.860 몇 개의 폭동을 일으켰는지를 알면 학습 속도가 빨라져요. 01:38.220 --> 01:42.660 그 요점을 잘 보여주는 것 같아요 01:42.660 --> 01:48.960 현재 배치를 나타내는 파란 선이 이 위에 있는 게 보이시죠 01:49.020 --> 01:53.010 우리가 제일 꼭대기에 있어서 밋밋해 보였던 거예요 01:53.010 --> 01:59.310 하지만 때가 되면 전임자처럼 순조롭게 내려올 거예요 02:00.580 --> 02:06.220 말씀드리고 싶은 다른 것은 여기 여러 개의 실행을 살펴볼 때 이 아이콘을 02:06.220 --> 02:12.250 사용할 수 있습니다 무엇을 볼 것인지 결정하기 위해서요 02:12.250 --> 02:16.690 여기 이 중간에 있는 건 미처 못 봤어요 Put it up Put it 02:16.720 --> 02:29.230 이게 뭐냐면요 제가 만든 건 구글이 잔인하게 인스턴스를 차단했어요 02:29.230 --> 02:35.230 짜증이 나서 하던 일을 계속하고 다른 시대를 개척하기로 했죠 02:35.230 --> 02:38.470 결과는 나빠졌지만 어떻게 됐는지 보고 싶었어요 02:38.500 --> 02:42.970 전 그걸 극단으로 몰고 가서 네 번째 시대에서 결과가 나빠진 변칙적인 02:42.970 --> 02:44.770 사례가 아니길 바랐어요 02:44.770 --> 02:47.110 다섯 번째 시대에는 훨씬 더 좋아질지도 몰라요 02:47.110 --> 02:49.360 그래서 적어도 비트가 어떻게 되는지 보고 싶었어요 02:49.540 --> 02:52.540 이제 그걸 보여 드릴게요 02:52.570 --> 02:56.080 좀 헷갈릴 거예요 비트를 다시 시작했거든요 02:56.080 --> 02:58.960 오른쪽으로는 안 이어져요 02:58.960 --> 03:01.430 왼쪽에서 시작할 거예요 03:01.430 --> 03:06.500 첫 번째 훈련 단계처럼 보일 거라는 걸 명심하세요 03:06.500 --> 03:11.720 하지만 제가 보여드릴 것은 이 보라색 선 오른쪽에 있는 거예요 03:11.720 --> 03:12.350 어디 보죠 03:12.380 --> 03:14.180 이건 말이죠 03:14.180 --> 03:15.530 저기 있네요 03:15.530 --> 03:17.600 확대해 볼게요 03:18.050 --> 03:23.630 그러니 여기 있어야 한다는 걸 확실히 아셨으면 좋겠네요 03:23.630 --> 03:27.080 저걸 잡아서 오른쪽으로 당길 수 있어야 해요 03:27.530 --> 03:34.130 왜냐하면 제가 여기서 훈련을 다시 시작했을 때 일어난 일이거든요 03:34.130 --> 03:44.420 여기 보이는 게 다섯 번째이자 다른 완전한 시대예요 네 번째 시대를 끝내지 못한 거죠 03:44.420 --> 03:47.990 이건 완전히 다른 시대예요 03:47.990 --> 03:51.290 그럼 여섯 번째 이화기가 완성되는 거죠 03:51.410 --> 03:57.530 다시 한번 말씀드리자면 6번째 시대가 시작된 시기와는 확실히 다른 03:57.530 --> 04:04.100 점이 있습니다 이 시점에서는 확실히 의심스러운 상황이 벌어지고 있죠 04:04.250 --> 04:05.810 손실이 너무 적어요 04:05.810 --> 04:12.710 아니나 다를까 이 모델들을 가지고 테스트를 해 봤더니 제가 가져온 04:12.710 --> 04:19.010 모델보다 성능이 떨어졌죠 이쯤에서 잘라낸 모델보다요 04:19.460 --> 04:21.890 해볼 만한 실험이었어요 04:21.890 --> 04:27.890 저 자신을 만족시켜야 했어요 운이 나빴던 게 아니라 너무 과했던 거고 더는 유용한 04:27.890 --> 04:30.080 결과를 얻지 못한다는 걸요 04:30.080 --> 04:31.910 실제로도 그런 경우였고요 04:32.210 --> 04:35.090 좋은 시험이 됐어요 04:35.090 --> 04:40.220 이로써 이득을 볼 수 있습니다 풀 몬티로 대규모 04:40.250 --> 04:48.830 버전을 실행하기로 결정했다면 세 개 개혁을 넘어선 안 되니까요 04:48.830 --> 04:55.820 제 경험상 그건 소용이 없어요 hyperperameter를 변경해 보고 뭔가 다른 걸 발견하지 04:55.820 --> 04:57.290 않는 한은요 04:58.500 --> 05:04.110 마지막으로 보여드릴 것은 다른 도표와 무게, 편향 등을 가지고 놀아보실 수 05:04.140 --> 05:04.860 있어요 05:04.860 --> 05:05.760 탐험할 게 많아요 05:05.760 --> 05:09.930 경사만 봐도 알 수 있는데 정말 혼란스러워요 05:10.020 --> 05:15.450 비트 박스를 조사하고 조사해야 해요 뭘 보고 있는지 이해하고 거기서 뭘 배울 05:15.450 --> 05:17.220 수 있는지 알려면요 05:17.220 --> 05:22.440 이상적으로 여러분이 가장 중요하게 여기는 건 Get 절차가 05:22.470 --> 05:26.670 0이 되는 상황은 절대 없도록 하는 거예요 05:26.880 --> 05:29.700 더는 배우는 게 없다는 뜻이죠 05:29.700 --> 05:34.890 그러데이션이 0이면 모델은 더 이상 학습할 수 없고 학습 과정을 계속할 05:34.890 --> 05:36.270 필요가 없어요 05:36.270 --> 05:40.740 그러데이션이 0이 되지 않도록 주의해야 합니다 그러데이션이 05:40.740 --> 05:47.670 너무 높거나 커지는 것도 주의해야 합니다 그렇게 되면 여러분의 모델이 너무 많이 흔들릴 테니까요 05:47.700 --> 05:49.920 학습률이 아주 낮지 않다면요 05:49.920 --> 05:53.820 이 모델은 비생산적으로 학습할 거예요 05:53.820 --> 05:59.740 무게나 우회도로 그라데이션을 볼 때는 이런 점을 주의 깊게 봐야 해요 06:00.370 --> 06:03.730 하지만 얼굴 껴안는 건 보여 주고 싶지 않았어요 06:03.910 --> 06:11.710 혹시 기억하실지 모르겠지만 이 모델을 보여드릴게요 제가 모든 시대를 위해 실행했던 06:11.710 --> 06:15.520 프라이서 모델의 버전이에요 06:15.700 --> 06:16.930 이거 보여요? 06:16.930 --> 06:21.880 실행 이름은 날짜와 시간에 근거해 제가 만든 이름이에요 06:21.940 --> 06:24.880 39년으로 끝나죠 06:25.030 --> 06:26.440 초의 개수죠 06:26.440 --> 06:28.690 그 점을 명심하세요 06:28.690 --> 06:34.480 포옹하는 얼굴이 나오면 아바타 메뉴로 가서 본인 이름을 누르세요 06:34.600 --> 06:40.180 모델과 데이터 집합이 있다면 공간을 확인할 수 있어요 06:40.180 --> 06:42.700 1, 2개 있는 거 보이시죠? 06:43.120 --> 06:46.990 프라이서에 관해서는 한두 번 실행해 봤어요 06:47.170 --> 06:54.070 이 표시는 각각 다른 회수 건과 다른 가격대 거래 건을 06:54.070 --> 06:55.870 나타내요 06:55.960 --> 07:01.670 전 각각의 압류 프로그램을 따로 보관해요 이 압류 프로그램 안에서 07:01.700 --> 07:05.420 다양한 시대를 경험할 수 있게요 07:05.420 --> 07:12.110 139개국이라는 건 큰 인물이 네 번인가 세 번 반을 폭동한 07:12.110 --> 07:13.310 거겠군요 07:13.310 --> 07:22.730 이걸 클릭하면 모델 페이지가 뜨는데요 파일과 버전으로 가보면 기본적으로 Git을 보고 07:22.730 --> 07:28.100 있는 겁니다 회수 깃을 보고 있는데 모델과 관련된 파일이 07:28.100 --> 07:31.070 그 안에 있는 거죠 07:31.340 --> 07:39.020 그리고 말씀드린 것처럼 최근에 이 사업은 이 안전한 텐서 파일인 걸 보실 수 있어요 07:39.020 --> 07:50.690 그 파일은 109MB로 우리가 함께 사용하는 어댑터의 크기죠 32로 설정된 어댑터요 07:50.720 --> 07:55.550 계산을 해보니 109MB의 무게가 나오더군요 07:55.550 --> 07:57.400 이 파일에 다 있어요 07:57.400 --> 07:59.710 여기가 안전해요 08:00.130 --> 08:06.700 그리고 몇 가지 다른 것도 살펴볼 수 있어요 08:06.730 --> 08:15.460 Adaptive config요 json은 로라 미세 조정에 사용하는 어댑터에 관한 정보를 제공해요 08:15.460 --> 08:21.940 예를 들어 여기에 저장된 대상 모듈이 있고 R32 값을 가지고 08:21.970 --> 08:22.810 있어요 08:22.840 --> 08:25.450 로라의 훈련을 이용한다고 쓰여 있어요 08:25.660 --> 08:32.230 기본 모델 이름이 llama 3이에요 180억 달러요 08:32.590 --> 08:39.130 이 모델을 위해 저장된 모든 정보를 알 수 있죠 08:39.160 --> 08:43.360 또 하나 지적하고 싶은 건 16이 커밋하는 거예요 08:43.360 --> 08:46.090 커밋의 역사를 보여주네요 08:46.090 --> 08:53.170 기본적으로 5천 걸음마다 코드를 절약하는 거예요 08:53.170 --> 08:55.600 우리 모델을 중심으로 밀어냈어요 08:55.600 --> 08:57.940 훈련 매개 변수에서 설정된 거예요 08:57.940 --> 09:00.760 5천 걸음마다 절약했어요 09:00.760 --> 09:05.410 이 모델 중 어떤 것이든 로드해 테스트할 수 있다는 거죠 09:05.410 --> 09:08.080 그렇게 해서 가장 뛰어난 선수를 뽑을 수 있어요 09:08.110 --> 09:10.000 체크포인트가 각각 달라요 09:10.000 --> 09:11.890 이런 건 얼마든지 할 수 있어요 09:12.070 --> 09:19.540 그 경험을 바탕으로 모델이 훈련받던 그 순간을 다시 재현할 09:19.540 --> 09:20.980 수 있어요 09:21.040 --> 09:26.110 제가 다양한 훈련을 할 수 있다고 상상해보세요. 이 모든 09:26.140 --> 09:32.740 것이, 어... 이 가격의 다른 버전의 다른 수정본, 저장소에서요. 09:32.740 --> 09:33.970 Get it 하면 어수선해져요 09:33.970 --> 09:38.620 그래서 각각의 주행은 따로 회수하도록 구분했어요 09:38.620 --> 09:45.430 다른 배치 단계가 여기 있습니다 커밋의 다른 히스토리인데요 09:45.580 --> 09:48.250 그게 멋지고 체계적인 방법 같아요 09:48.670 --> 09:54.400 이게 H깅페이스 허브에서 모델을 보는 방법이에요 09:54.400 --> 09:56.170 두고 봐야죠 09:56.170 --> 09:57.820 지금 작동 중인 거예요 09:57.820 --> 09:59.290 15분 전에 업데이트됐어요 09:59.290 --> 10:02.440 파일과 버전으로 가 볼게요 10:02.440 --> 10:03.190 두고 보죠 10:03.220 --> 10:05.320 네, 이미 버전이 저장됐어요 10:05.320 --> 10:06.610 5000단계를 해야 해요 10:06.640 --> 10:10.510 이것의 한 버전 혹은 두 버전은 커밋합니다 초기 커밋이 있으니까요 10:10.510 --> 10:14.950 5000단계는 15분 전에 해결되었어요 10:14.980 --> 10:17.110 이미 실행 중인 모델이 있는 거죠 10:17.110 --> 10:20.890 저와 같은 시기에 이 일을 해왔다면 여러분도 저와 같은 처지일 10:20.920 --> 10:26.560 겁니다 제가 말하는 동안 이 모델의 버전을 허깅페이스 허브에 업로드하겠죠 10:26.950 --> 10:30.070 바로 테스트할 수 있어요 10:30.070 --> 10:32.350 훈련이 끝날 때까지 기다릴 필요 없어요 10:32.770 --> 10:34.780 자, 됐어요 10:34.810 --> 10:42.940 비트가 훈련하는 걸 봤는데 여기서 보이는 패배는 이해하기 좀 어렵네요 10:42.970 --> 10:50.290 무게와 편향으로 아름답게 그려졌고 모델 자체가 중심에 저장되는 것도 봤어요 10:50.290 --> 10:53.650 이건 훈련의 경험이에요 10:53.680 --> 10:55.640 몇 시간이고 할 수 있어요 10:55.640 --> 10:59.270 몇 시간 동안이나 이러고 있었어요 정말 비극적이죠 10:59.270 --> 11:03.710 사실 이 코스가 시작될 때 말씀드린 것 같은데 11:03.710 --> 11:10.100 저기 보이는 화면에 무게와 편향성이 있습니다 그리고 방금 11:10.100 --> 11:16.430 보여드린 이 차트는 처음부터 저기 있던 차트예요 11:16.430 --> 11:18.320 지금은 이 차트를 보여주죠 11:18.470 --> 11:26.330 이 코스를 만든 첫 몇 주 동안 그걸 지켜봤어요 11:26.450 --> 11:28.730 정말 재미있었어요 11:28.820 --> 11:34.220 여러분도 같은 일을 하시길 바랍니다 훈련 과정을 지켜보시고 모델 11:34.220 --> 11:37.040 버전이 업로드되는 걸 보세요 11:37.070 --> 11:41.090 이제 완주만 하면 돼요 11:41.090 --> 11:50.270 내일은 모델을 평가하고 수직화 모델을 어떻게 조정했는지 볼 11:50.270 --> 11:51.770 거예요 11:52.100 --> 11:54.020 오늘은 여기까지 하죠 11:54.020 --> 11:55.400 슬라이드로 돌아가죠