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.
 
 

421 lines
11 KiB

WEBVTT
00:00.860 --> 00:07.880
우리가 가장 좋아하는 JupyterLab에 왔습니다 오늘 코딩할 게 아주
00:07.880 --> 00:08.780
많아요
00:08.810 --> 00:15.800
가장 먼저 눈에 띄는 건 둘째 날의 주피터 공책이 없다는 거예요
00:15.830 --> 00:21.590
5일간 작성된 주피터 공책도 있어요 우리가 할 일이 생겼다는
00:21.590 --> 00:22.610
증거죠
00:22.730 --> 00:27.080
비트는 제가 평소보다 공책을 빨리 작성할 수도 있다는 뜻이기도
00:27.080 --> 00:31.670
해요 비트가 돌아오면 직접 해 볼 기회가 생기는 거죠
00:31.910 --> 00:39.260
오늘은 좀 더 복잡한 접근법을 시도할 거예요 상품 가격 평가법이죠 한동안 해온
00:39.260 --> 00:41.390
것과 같은 거예요
00:41.630 --> 00:48.260
오늘 가장 중요한 부분은 같은 작업을 하기 위한 래그 파이프라인 해결책에
00:48.260 --> 00:49.970
접근하는 거예요
00:50.030 --> 00:55.520
직감적으로 봤을 때 랙을 사용하기에 아주 좋은 사례예요
00:55.520 --> 01:01.160
교육 데이터 집합에 400,000가지 가격이 있어요
01:01.220 --> 01:08.810
이것들을 데이터 스토어에 저장하고 모델을 호출할 때 유사한 제품들을 주면서 전동
01:08.810 --> 01:13.460
칫솔의 가격을 알려달라고 하면 어떨까요?
01:13.460 --> 01:20.600
훈련 데이터에 있는 유사한 전동 칫솔 5개를 도움될 모델에
01:20.630 --> 01:22.070
주세요
01:22.070 --> 01:24.890
개척자 모델을 사용하는 게 아주 합리적이죠
01:24.890 --> 01:30.710
비슷한 점을 생각해 보면 개척지 모델에서 훨씬 유리하게 출발할 수 있어요. HMSII
01:30.710 --> 01:32.030
HMSI HMSI
01:32.120 --> 01:40.100
래그가 빛나야 할 좋은 예죠 정확한 데이터의 저장소가 있거든요
01:40.130 --> 01:44.090
최적의 조건에 딱 맞아요
01:44.180 --> 01:50.030
이 공책에서 할 일은요 지금 제가 있는 0번 공책은 8주 차 폴더인데
01:50.030 --> 01:57.260
400,000개의 훈련 데이터 포인트를 가진 벡터 데이터 저장소를 만들 거예요
01:57.260 --> 01:58.370
그게 중요하죠
01:58.370 --> 02:02.060
5주 차보다 훨씬 많이 했어요
02:02.540 --> 02:05.810
다음 공책 둘째 날에요 1번요
02:05.810 --> 02:09.380
2D로 시각화한 다음 3D로 시각화할 거예요
02:09.500 --> 02:10.910
빠른 노트들이네요
02:10.910 --> 02:16.910
하지만 촬영 2일째에 이런 걸 직접 경험하니 좋네요 Get it 3번요
02:16.940 --> 02:20.330
그런 다음 래그 파이프라인을 만들어 테스트하죠
02:20.330 --> 02:25.910
둘째 날에도요 여기선 공책 하나에 많은 걸 담을 수 있어요
02:25.940 --> 02:31.970
6주 차에 봤던 임의의 산림 처리기를 다시 쓸 거예요
02:32.270 --> 02:34.760
하지만 우린 그걸 개선한 버전을 할 거예요
02:34.760 --> 02:38.780
그런 다음 앙상블이라는 걸 만들 거예요 모든 모형을 사용할 수 있도록요
02:38.780 --> 02:41.660
함께 투표한다고 생각하면 돼요
02:41.690 --> 02:46.400
함께 문제를 해결하고 선형 조합을 선택해서 최고의 결과를
02:46.400 --> 02:47.660
내는 거죠
02:47.660 --> 02:49.460
Get up 할 게 많네요
02:49.460 --> 02:55.910
말씀드리고 싶은 것은 이미 강력한 제품 프로세서를 특수 LLM의 형태로 만들었다는
02:55.910 --> 02:57.410
점인데요
02:57.410 --> 03:00.590
왜 이렇게 많은 시간을 투자하는지 궁금하실 거예요
03:00.590 --> 03:02.060
답은 간단해요
03:02.090 --> 03:03.620
방금 제가 한 말이잖아요
03:03.620 --> 03:07.400
자신의 전문성을 확고히 하는 과정이라고 생각하세요
03:07.400 --> 03:10.790
Get이랑 더 연습하라고 하는 거예요
03:11.000 --> 03:20.840
에이전트 기반 함수를 구축하는 다른 양상으로 연습하는 거죠 같은 프로젝트에서 작업하면서요
03:20.840 --> 03:24.740
우린 뭘 하는지 알고 만족스럽죠 데이터가 있으니 더 큐레이팅할 필요가
03:24.740 --> 03:25.370
없어요
03:25.370 --> 03:29.180
그게 우리가 하려는 일에 동기를 부여해주면 좋겠네요
03:29.750 --> 03:36.170
좋아요, 그럼 지체 없이 환경 변수를 가져오기 실행할게요 익숙한 얼굴 껴안기로
03:36.200 --> 03:38.300
로그인하고요
03:38.300 --> 03:44.900
훈련 데이터를 로드하겠습니다 아까 있던 피클 파일이죠 일을 단순화하기
03:44.930 --> 03:47.930
위해 훈련 데이터를 로드했어요
03:47.930 --> 03:53.180
첫 번째 훈련 데이터 포인트 연료 펌프 모듈을 기억하실 거예요
03:53.180 --> 03:56.930
기억하신다면 프롬프트 호출할 수 있어요
03:56.930 --> 04:00.980
Get Frompts는 훈련에 사용된 익숙한 프롬프트죠
04:00.980 --> 04:02.660
이게 얼마짜리인지 말이에요
04:02.660 --> 04:07.280
가격과 가치가 여기 있네요
04:07.280 --> 04:08.210
04:08.240 --> 04:11.760
그동안 크로마 데이터스토어를 만들 거예요
04:11.760 --> 04:20.010
기억하실지 모르겠지만 5주 차에 이 스토어를 만들 때 123개의 문서가 있었어요
04:20.010 --> 04:29.340
제 기억이 맞는다면 123개의 덩어리가 우리 문서에서 빼냈죠 우리가 사용하도록 보장하는 가상
04:29.370 --> 04:31.740
회사의 문서였어요
04:31.740 --> 04:36.840
이번엔 400,000개의 문서가 있는 크로마 데이터스토어를 만들 거예요
04:36.840 --> 04:37.830
많네요
04:37.890 --> 04:38.940
부수지 않을 거예요
04:38.970 --> 04:39.840
당연히 안 해도 되죠
04:39.870 --> 04:41.610
이미 작은 조각이에요
04:41.760 --> 04:46.530
각각의 제품은 각각의 아이템으로 채도에 들어갈 거예요
04:46.800 --> 04:53.910
이 랙 파이프라인에는 랑체인을 쓰지 않을 거예요 직접 만드는
04:53.910 --> 04:56.190
게 더 좋거든요
04:56.280 --> 05:00.270
랑 사슬은 유용한 추상적 개념을 제공하지만 꼭 필요한 건 아니에요
05:00.300 --> 05:05.970
현재 수준에 이르면 그냥 LIms로 작업하면
05:05.970 --> 05:12.750
됩니다. 이런 추상화 계층이 꼭 필요하진 않아요.
05:13.110 --> 05:15.900
그렇게 할 거예요
05:15.990 --> 05:25.560
채도 데이터베이스를 만들 거예요 여기 어디쯤에 호출했죠
05:26.520 --> 05:30.810
그 상표는 아까 뺐을 거예요
05:30.810 --> 05:32.190
지금 당장요
05:32.220 --> 05:33.330
미안해요
05:33.600 --> 05:42.210
여기에 다른 상수 DB = 제품_벡터 스토어를 추가할게요
05:42.930 --> 05:47.760
쓸모 있게 쓰려고 이 공책을 치우다가 너무 많이 치웠어요
05:48.150 --> 05:50.070
철자가 맞는다면 상품이 있어요
05:50.070 --> 05:51.090
벡터 스토어요
05:51.120 --> 05:52.620
됐어요
05:52.710 --> 05:55.710
다시 돌아가죠
05:55.740 --> 05:57.270
잠시 우회한 거죠
05:57.270 --> 06:00.840
그 경로로 크로마 데이터 저장소를 만들 거예요
06:00.870 --> 06:02.070
됐어요
06:02.220 --> 06:06.450
존재하는지는 확인하고 이미 존재한다면 삭제하죠
06:06.540 --> 06:07.680
그건 안 할 거예요
06:07.680 --> 06:10.950
제가 만든 벡터 스토어를 삭제할 거예요
06:10.950 --> 06:13.170
비트를 만드는 데 시간이 좀 걸려요
06:13.230 --> 06:15.060
그렇게 오래는 아니지만요
06:15.060 --> 06:17.940
하지만 직접 운영하게 해드리죠
06:18.450 --> 06:23.670
그래서 새로운 유형의 엠베딩을 사용할 거예요
06:23.670 --> 06:27.990
문장 변압기라는 걸 사용할 거예요
06:27.990 --> 06:34.800
얼굴을 감싸는 유용한 모델로 텍스트 덩어리를 384차원으로 매핑하죠
06:34.920 --> 06:38.310
시맨틱 검색 같은 것에도 이상적이죠
06:38.310 --> 06:41.640
벡터 내장 기능을 만드는 변압기 모델이죠
06:41.640 --> 06:47.130
예전에 랙 파이프라인을 만들 때 오픈AI 엠디딩을 사용했던 걸 기억하시나요?
06:47.130 --> 06:52.980
그래서 이 두 가지를 함께 비교해 보면 서로 껴안는 얼굴 1번은 입체감이
06:52.980 --> 06:54.330
달라요
06:54.330 --> 07:00.240
오픈AI의 삽입 방식만큼 정확하진 않을 거예요
07:00.240 --> 07:03.690
하지만 무료에 빠르고 로컬에서 실행할 수 있죠
07:03.690 --> 07:08.250
마지막 포인트는 아주 중요합니다 왜냐하면 어떤 경우에는 데이터가 박스를 떠나지 않기를
07:08.250 --> 07:09.420
원할 수도 있거든요
07:09.420 --> 07:13.650
예를 들어, 제가 5주 차에 배정했던 프로젝트를 작업하고
07:13.680 --> 07:19.220
있다면 이메일 같은 것으로 개인 랙 데이터베이스를 구축하고 싶을 거예요
07:19.220 --> 07:23.990
안전한 방법이지만 오픈라이로 보내지 않고 직접 보내는 게 나을 수도 있습니다
07:23.990 --> 07:28.220
이렇게 하면 상자에서 꺼내지 않고도 쉽게 전송할 수 있죠
07:28.220 --> 07:31.100
안는 얼굴에서 모델을 로딩해요
07:31.130 --> 07:35.960
이 경고는 무시해도 될 것 같아요 미래에는 뭔가 달라져야 한다는
07:35.990 --> 07:36.740
경고죠
07:37.010 --> 07:42.920
이 모델을 생성하고 나면 Model.in코드를 호출할 수 있어요
07:42.950 --> 07:47.000
텍스트 문서 목록을 제출해요
07:47.000 --> 07:49.220
NFF 배열을 얻게 될 거예요.
07:49.220 --> 07:54.590
첫 번째 것을 뽑고 벡터를 get 할 수 있어요
07:54.590 --> 07:55.550
꽤 빨랐어요
07:55.550 --> 07:57.680
대량으로 사용해도 효과적이죠
07:57.680 --> 08:06.080
이 벡터의 길이를 보면 384차원인 걸 알 수 있어요
08:06.110 --> 08:08.450
일단 출력해서 보죠
08:08.450 --> 08:09.920
거대한 벡터가 될 거예요
08:09.920 --> 08:10.490
저기 있네요
08:10.490 --> 08:18.260
벡터는 어떤 식으로든 숫자로 나타내는데 LM에 따라 다차원적인
08:18.260 --> 08:21.260
반사로 나타나죠
08:21.470 --> 08:27.770
그래서 한번 해 보고 감을 잡아 볼 가치가 있어요
08:28.430 --> 08:33.920
이제 이 유틸리티 메서드 설명을 작성하겠습니다 항목 하나를, 우리 항목 중
08:33.920 --> 08:36.950
하나를 그냥 텍스트 덩어리로 바꾸는 거죠
08:36.950 --> 08:41.600
보여드리기 위해 실행해 볼게요 기억하실지 모르겠지만 첫 번째 트레이닝 포인트
08:41.600 --> 08:45.320
같은 걸 보고 프롬프트를 보면 프롬프트는 이렇게 생겼어요
08:45.350 --> 08:54.320
만약 그것 대신에 해당 항목에 대한 설명을 호출하면 같은 것이 나오지만 앞에 있는 것들 없이
08:54.320 --> 08:59.870
가격 없이요. 그냥 제품에 대한 설명만 있는 거에요.
09:00.050 --> 09:05.660
이제 벡터 데이터 저장소에 Put을 할 거예요
09:05.900 --> 09:08.720
코드를 실행하면 시간이 좀 걸려요
09:08.720 --> 09:13.910
완료될 때쯤엔 벡터 데이터 저장소에 있을 테니 여러분은 준비가 된 거죠
09:13.910 --> 09:16.820
이미 실행했어요 벡터 데이터 저장소가 이미 생성됐죠
09:16.820 --> 09:18.380
왼쪽을 보시면 돼요
09:18.380 --> 09:19.760
지금 하세요
09:19.760 --> 09:22.580
다 끝나면 다음 영상에서 만나요