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.
 
 

379 lines
10 KiB

WEBVTT
00:00.560 --> 00:02.960
다시 구글 콜랩에 왔네요
00:02.960 --> 00:06.230
여기 온 지 좀 됐는데 잘 돌아왔어요
00:06.290 --> 00:10.790
이번 주에는 여기서 시간을 보낼 거예요 정말 멋질 거예요
00:10.790 --> 00:12.680
최고의 한 주가 될 거예요
00:12.680 --> 00:16.610
제가 계속 그렇게 말하지만 이번엔 정말 절정일 거예요
00:16.640 --> 00:21.740
지금보다 더 나은 건 8주 차에 나올 다음 주 영상뿐이에요
00:21.740 --> 00:24.590
빨리 보여드리고 싶네요
00:24.590 --> 00:27.860
하지만 7주 차에 집중하세요
00:27.890 --> 00:29.870
살펴볼 게 많아요
00:29.870 --> 00:32.240
그럼 먼저 하죠
00:32.270 --> 00:35.660
이번 주에는 콜랍을 7일간 준비했어요
00:35.660 --> 00:37.730
설치부터 시작하죠
00:37.850 --> 00:42.380
저희가 설치하는 것 중 하나는 여러분이 처음 보시는 새로운 패키지예요
00:42.380 --> 00:48.950
얼굴을 끌어안는 Pft라는 라이브러리인데 매개 변수 효율적인 미세 조정의 약자죠 매개 변수 효율
00:48.950 --> 00:52.460
미세 조정 로라를 포함한 라이브러리의 이름이에요
00:52.610 --> 00:54.080
이 라이브러리 안에 있어요
00:54.110 --> 00:55.220
00:55.220 --> 00:56.420
입에 착 붙네요
00:56.480 --> 00:57.830
그게 다예요
00:57.830 --> 01:08.180
T4 박스에 올라왔습니다 GPU 박스에서 가장 낮은 것으로 15기가바이트의 GPU 램이 있죠
01:08.210 --> 01:12.890
보시다시피 대부분 이미 셀 몇 개를 사용하고 있죠
01:12.890 --> 01:15.170
어쨌든 우리는 Pip 설치를 해요
01:15.170 --> 01:20.000
수입품도 많이 만들고 상수도 설정했어요
01:20.000 --> 01:24.800
기본 모델인 llama 3으로 작업할 거예요 180억 달러요
01:24.800 --> 01:27.440
미세 튜닝 모델도 설정하고 있어요
01:27.440 --> 01:29.690
아직 세부 조정은 안 했어요
01:29.690 --> 01:30.110
01:30.140 --> 01:31.670
미래에서 온 거예요
01:31.790 --> 01:37.070
이걸 가져와서 미세한 조율 모델이 어떤지 보여 드릴게요
01:37.070 --> 01:42.980
로라 행렬이 목표물 모듈에 적용되는 걸 보면요
01:43.160 --> 01:52.310
여기 3개의 하이퍼 매개 변수가 있어요 이제 당신이 전문가니까 32로 설정할게요
01:52.580 --> 01:56.690
8로 시작해서 16으로 가고 32로 가라고 한 거 기억하죠?
01:56.720 --> 01:58.130
32,000달러까지 올렸어요
01:58.130 --> 02:00.680
그렇게 된 거예요
02:00.680 --> 02:03.650
전 지금 32마일로 가고 있어요
02:03.770 --> 02:06.980
알파는 경험에서 나온 거예요
02:07.010 --> 02:08.630
64에 있네요
02:08.630 --> 02:10.610
목표 모듈도요
02:10.610 --> 02:14.780
이건 우리가 대상으로 하는 레이어 이름 4개예요
02:14.780 --> 02:17.420
그 이유는 곧 알게 될 거예요
02:17.420 --> 02:22.880
이게 가장 흔한 라마 모델이에요
02:22.910 --> 02:27.590
다른 모델은 계층 이름이 다를 수도 있지만 네, 여러분이 대상으로 할
02:27.590 --> 02:32.120
이 리스트에서 대상으로 할 계층 이름을 부여하죠 대상 모드에요
02:32.870 --> 02:33.530
02:33.530 --> 02:38.990
다음은 여러분이 이미 몇 번 했던 기본 기능이에요 페이스 포옹에 로그인하기 위해서요
02:39.200 --> 02:43.760
포옹 얼굴 계정이 없으면 이런 문구가 뜨겠지만 지금쯤은
02:43.760 --> 02:45.290
당연히 있겠죠
02:45.440 --> 02:51.680
로그인하면 무료고 토큰을 받아요 그리고 Colab에 있는
02:51.710 --> 02:59.570
이 구역으로 가서 키를 입력하고 토큰을 입력하면 돼요 전에도 해 봤잖아요
02:59.570 --> 03:03.500
그렇게 하면 이 셀을 실행할 수 있어요 얼굴 안기로 로그인되죠
03:03.710 --> 03:06.260
대안은 그냥 토큰을 입력하는 거죠
03:06.260 --> 03:09.440
공책 접근에 문제가 있다면요
03:09.680 --> 03:18.480
좋아요, 지체 없이 기본 모델에서 읽겠습니다 양자화 없이요
03:18.480 --> 03:19.440
허튼짓하지 말고요
03:19.470 --> 03:25.290
전체 라마를 읽어볼게요 180억 기본 모델이죠 라마 시리즈
03:25.290 --> 03:26.940
중 가장 작아요
03:27.090 --> 03:33.120
장치 맵은 자동이란 뜻입니다 이 박스와 같은 GPU를 사용하라는 거죠
03:33.150 --> 03:36.810
지금 실행하진 않겠습니다 방금 실행했는데 5분 정도 걸렸거든요
03:36.930 --> 03:40.830
GPU에 다 넣을 수 없다는 경고가 떴어요
03:40.830 --> 03:42.600
그래서 일부는 CPU로 갔죠
03:42.600 --> 03:47.850
오른쪽 리소스를 보시면 GPU 15기가 중 11기가가
03:47.850 --> 03:53.880
차 있는 걸 보실 수 있습니다 거의 13기가 램도 차 있고요
03:53.880 --> 04:01.710
여기 스파이크가 있는 이유는 두 가지 다 해당합니다 한 번 하고 다시 시작했거든요
04:01.710 --> 04:07.620
이걸 실행하면 제일 위에 있는 것만 보일 거예요
04:07.710 --> 04:08.310
04:08.340 --> 04:14.460
이제 이 기본 모델이 얼마나 많은 메모리를 사용하는지 프린트할게요
04:14.460 --> 04:18.990
다시 말하지만 훈련하려면 훨씬 더 많이 해야 해요
04:18.990 --> 04:25.440
이건 기본 모델이 얼마나 많은 메모리를 사용하는지 보여줍니다 메모리 공간은
04:25.440 --> 04:29.790
32GB 북쪽 32GB 메모리가 사용되고 있어요
04:29.790 --> 04:31.890
아까 했던 말 기억하시죠?
04:31.890 --> 04:38.310
80억 매개 변수에 대한 32 비트 플로트죠
04:39.120 --> 04:39.690
04:39.690 --> 04:41.610
정말 큰 변화죠
04:41.850 --> 04:43.770
어디 한번 볼까요?
04:43.770 --> 04:47.340
기본 모델 자체를 프린트해서 살펴볼 수 있어요
04:47.340 --> 04:54.870
지금 보시는 건 어떻게 생겼는지에 대한 건데요 아주 간략하지만 잠시 멈춰보죠
04:54.870 --> 04:59.700
다시 말씀드리지만 이론만 따지는 수업이 아니므로 제가 길게 설명하지
04:59.700 --> 05:02.310
않고 있는 그대로 말씀드릴게요
05:02.340 --> 05:07.770
이 신경망 구조를 보면 명확히 알 수 있는 건 내장
05:07.770 --> 05:14.070
레이어로 구성돼 있다는 겁니다 텍스트를 취해 변환해
05:14.070 --> 05:18.840
신경망 내 벡터에 내장하는 거죠
05:18.840 --> 05:23.700
이건 아주∙∙∙ 아까 얘기했던 인코딩 LMS 같은 거죠
05:23.730 --> 05:32.270
첫 번째 레이어는 토큰을 벡터로 넣는 거예요
05:32.300 --> 05:36.740
사실, 가능한 기념품이 얼마나 많은지 그게 차원이에요
05:36.740 --> 05:40.130
이건 내부 벡터의 입체성이에요
05:40.550 --> 05:46.820
라마 디코더라는 층이 32개 있어요
05:46.850 --> 05:48.860
32세트요
05:48.860 --> 05:53.510
32개 모두 이런 모양이에요
05:53.960 --> 05:55.490
Get it을 하죠
05:55.520 --> 06:02.810
이 부분을 살펴보면 주의력 레이어 세트로 구성된 걸 볼 수 있어요 q, proj,
06:02.810 --> 06:08.180
k proj, v, o proj라고 하죠
06:08.180 --> 06:15.410
이건 대상 모듈에서 우리가 대상으로 하는 층입니다 여러분이 주로 하는 거죠
06:15.440 --> 06:19.190
다른 방법도 있지만 이게 가장 일반적인 방법이에요
06:19.190 --> 06:26.120
어떤 층은 4천여 개의 차원이 들락날락해요
06:26.330 --> 06:31.530
이것과 이것, 어떤 건 4천 개, 1천 개예요
06:32.700 --> 06:36.030
그래서 입체감이 좀 달라요
06:36.030 --> 06:39.690
로라 A와 로라 B를 볼 때 어느 정도 관련이 있죠
06:39.720 --> 06:45.330
너무 깊이 들어가진 않겠지만 여러분이 실험하고 읽어보세요 더 많은 정보가 필요하다면요
06:45.330 --> 06:47.430
get it get it
06:47.670 --> 06:54.450
다중 인터셉트론 레이어도 있는데 예를 들어 위는 차원의 개수를 폭발적으로
06:54.450 --> 07:00.090
늘리고 아래는 차원의 개수를 줄이는 거죠
07:00.090 --> 07:03.150
그리고 활성화 함수가 뒤따르죠
07:03.150 --> 07:06.360
이런 것에 익숙한 분들을 위해서요
07:06.390 --> 07:12.540
라마에 사용되는 활성화 함수는 셀루예요 피토크 문서화에서 보실 수 있죠
07:12.540 --> 07:19.020
그걸 보면 그게 무엇이고 왜 사용되는지 더 알 수 있죠
07:19.410 --> 07:25.830
그 뒤에 레이어 보통 레이어가 있어요
07:26.280 --> 07:33.110
그리고 맨 끝에는 LM 헤드라는 직선 층이 있어요
07:33.110 --> 07:34.910
특정 목표를 노리기도 하죠
07:34.910 --> 07:36.950
대상 모듈에 추가되기도 하죠
07:36.950 --> 07:41.930
전에 말씀드렸듯이 뭔가를 생성하고자 하는 경우 결과를 생성하는
07:41.930 --> 07:47.120
걸 배우길 원하는 경우 그건 일종의 다른 포맷을 갖죠
07:47.150 --> 07:52.700
JSON의 특정 구조를 원할 수도 있고 완전히 다른 걸 원할 수도 있죠 다른
07:52.730 --> 07:58.490
언어를 사용하길 원하거나 아주 독특한 방식으로 구조를 원하거나요
07:58.520 --> 08:02.210
그럼 이것도 대상 모듈에 대상으로 할 수 있죠
08:02.840 --> 08:05.540
그러면 건축물이 어떤 느낌인지 알 수 있죠
08:05.540 --> 08:11.420
잠시 후 로라 어댑터를 보면 제가 왜 이 얘기를 계속하는지 알게 될
08:11.420 --> 08:12.170
거예요
08:12.470 --> 08:13.250
좋아요
08:13.250 --> 08:15.020
32GB를 썼어요
08:15.050 --> 08:21.200
다음으로 할 일은 이 세션을 다시 시작하는 겁니다 런타임으로 가서요 세션을 다시 시작해 메모리를
08:21.230 --> 08:23.120
지우고 계속 진행해야죠
08:23.480 --> 08:27.110
캐시를 비우라는 명령이 있었지만 그렇게 적극적이지 않았어요
08:27.110 --> 08:31.070
너무 많이 소비해서 아직도 너무 오래 붙어 있어요
08:31.100 --> 08:33.950
이제 유일한 방법은 세션을 다시 시작하는 거예요
08:33.950 --> 08:35.420
그렇게 할 거예요
08:35.540 --> 08:40.430
다음 비디오에서 다시 시작하면 다시 여기로 돌아오죠