From the uDemy course on LLM engineering.
https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models
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.
322 lines
8.5 KiB
322 lines
8.5 KiB
WEBVTT |
|
|
|
00:00.350 --> 00:05.270 |
|
8주 차 둘째 날의 4부에 잘 오셨어요 |
|
|
|
00:05.330 --> 00:11.210 |
|
이번 주에 할 일이 많은데 오늘 들어온 부품 중에 이게 제일 |
|
|
|
00:11.210 --> 00:12.410 |
|
무거워요 |
|
|
|
00:12.530 --> 00:14.900 |
|
Get it, get it, get it 바로 시작하죠 |
|
|
|
00:14.930 --> 00:19.970 |
|
기억하세요 오늘 우리가 할 것은 다른 종류의 가격을 만들어 |
|
|
|
00:19.970 --> 00:26.690 |
|
함께 합치는 겁니다 제품의 가치를 정확하게 추정하기 위해서요 Put |
|
|
|
00:26.810 --> 00:31.550 |
|
이 수업을 하는 이유는 우리가 배운 다양한 기술을 복습하고 |
|
|
|
00:31.550 --> 00:36.830 |
|
학습 능력을 강화하고 즐거운 운동이 될 수 있도록 하기 위해서죠 |
|
|
|
00:37.070 --> 00:42.920 |
|
임의의 숲 학습 형태의 머신 러닝을 사용할 거예요 6주 차에 실험했던 |
|
|
|
00:42.920 --> 00:43.670 |
|
거죠 |
|
|
|
00:43.670 --> 00:46.310 |
|
전통적인 ML이지만 다르게 할 거예요 |
|
|
|
00:46.310 --> 00:53.510 |
|
크로마에 있는 벡터 내장 기법을 사용할 거예요 얼굴 문장을 끌어안는 변압기 |
|
|
|
00:53.540 --> 01:01.810 |
|
벡터라이저에 기반한 건데 트랜스포머와 머신 러닝을 함께 쓴다는 뜻이죠 |
|
|
|
01:01.810 --> 01:06.370 |
|
몇 가지 수입과 상수 설정으로 시작하죠 |
|
|
|
01:06.370 --> 01:13.870 |
|
이번엔 제품 벡터를 설정하고 일관되게 저장하고 환경을 로드하고 테스트 데이터를 로드하는 |
|
|
|
01:13.870 --> 01:15.280 |
|
걸 기억하죠 |
|
|
|
01:15.280 --> 01:20.710 |
|
훈련 데이터가 필요 없죠 그건 Cromer에 있고 Cromer 자체와 Cromer의 |
|
|
|
01:20.710 --> 01:26.200 |
|
제품 컬렉션에 연결되어 변수 컬렉션에 넣고 Cromer에서 로드하니까요 |
|
|
|
01:26.230 --> 01:31.900 |
|
결과로 벡터와 문서, 가격을 알 수 있죠 |
|
|
|
01:32.530 --> 01:38.170 |
|
이제 임의의 숲을 다시 살펴볼게요 |
|
|
|
01:38.260 --> 01:42.640 |
|
이 대사 기억하실지 모르겠네요 지난번엔 이렇게 했죠 |
|
|
|
01:42.640 --> 01:45.070 |
|
무작위로 숲으로 퇴행하는 사람을 훈련해요 |
|
|
|
01:45.280 --> 01:50.650 |
|
여기 이 놉은 동시 진행 가능한 절차의 수예요 |
|
|
|
01:50.650 --> 01:54.610 |
|
Get 1을 누르면 컴퓨터 전체를 다 쓰게 돼요 |
|
|
|
01:54.610 --> 01:56.290 |
|
모든 코어에 대한 프로세스를 실행하죠 |
|
|
|
01:56.290 --> 01:58.210 |
|
제 상자를 부수죠 |
|
|
|
01:58.210 --> 02:05.170 |
|
제 M1 Mac은 실행하는 데 1시간 정도 걸립니다 이미 실행했으니 여러분은 박스에 |
|
|
|
02:05.170 --> 02:09.160 |
|
맞게 시간을 재고 1인치만 사용하세요 |
|
|
|
02:09.160 --> 02:13.450 |
|
잠시 물러나서 비트를 감상할 수 있다면요 |
|
|
|
02:13.540 --> 02:21.700 |
|
그게 끝나면 모델 무게를 파일에 저장할 수 있습니다 유용한 유틸리티 Joblib.Doplib를 이용해서요 |
|
|
|
02:21.700 --> 02:25.660 |
|
scikit learn에 있는 거죠 |
|
|
|
02:25.660 --> 02:31.570 |
|
그럼 모델을 제공해 저장할 수 있죠 모델 웨이트를 저장해요 |
|
|
|
02:31.570 --> 02:36.550 |
|
그런 다음 다시 로드합니다 훈련 시간을 낭비하지 않으려고요 |
|
|
|
02:36.910 --> 02:45.820 |
|
이제 세 가지 요소를 장착합니다 전문 요원, 개척지 요원 그리고 임의 |
|
|
|
02:45.820 --> 02:47.560 |
|
숲 요원이죠 |
|
|
|
02:47.590 --> 02:51.370 |
|
에이전트 폴더를 잠깐 살펴보고 그걸 살펴보죠 |
|
|
|
02:51.400 --> 02:54.460 |
|
특수 요원은 이미 봤던 거예요 |
|
|
|
02:54.460 --> 02:55.450 |
|
이미 써놨잖아요 |
|
|
|
02:55.450 --> 02:57.970 |
|
이건 프로덕션화된 코드예요 |
|
|
|
02:58.060 --> 03:04.470 |
|
기본적으로 이닛이라는 건데 컨스트럭터라는 특수 에이전트예요 모달이라고 |
|
|
|
03:04.470 --> 03:05.820 |
|
하죠 |
|
|
|
03:05.850 --> 03:08.100 |
|
ModalCass-out을 사용해서요 |
|
|
|
03:08.100 --> 03:13.470 |
|
서비스 이름과 클래스 이름을 제공하고 클래스를 인스턴스화하죠 |
|
|
|
03:13.470 --> 03:19.320 |
|
그리고 가격으로 호출할 때는 셀프.Price.Price라고 입력합니다 |
|
|
|
03:19.320 --> 03:22.170 |
|
함수죠 함수 . remote이요 |
|
|
|
03:22.170 --> 03:24.300 |
|
그 방법만 기억하면 돼요 |
|
|
|
03:24.300 --> 03:25.410 |
|
이걸 로컬로 실행하면 안 돼요 |
|
|
|
03:25.410 --> 03:31.230 |
|
클라우드에 호출해 원격으로 실행하고 결과를 가져오면 결과를 반환하죠 |
|
|
|
03:31.230 --> 03:34.350 |
|
전에 봤던 특수 요원이에요 |
|
|
|
03:34.380 --> 03:40.560 |
|
프런티어 에이전트를 보면 여기 있는 코드는 지난 시간에 살펴본 |
|
|
|
03:40.560 --> 03:47.310 |
|
것으로 매개 변수를 식별하고 주석을 달아 멋지게 만들었죠 |
|
|
|
03:47.310 --> 03:48.570 |
|
의사봉합이 있어요 |
|
|
|
03:48.600 --> 03:50.130 |
|
여기 도서가 있어요 |
|
|
|
03:50.130 --> 03:54.330 |
|
우리가 작업하는 개체를 설명하는 형식 힌트가 있어요 |
|
|
|
03:54.570 --> 04:00.600 |
|
이런 과정을 거쳐야만 코드를 얻을 수 있어요 주피터 노트북 코드에서 |
|
|
|
04:00.600 --> 04:02.400 |
|
생산 준비 단계로요 |
|
|
|
04:02.400 --> 04:08.750 |
|
보통 JupyterLab에서는 작성하지 않아요 IDE에서 하죠 VSCode나 |
|
|
|
04:08.750 --> 04:10.970 |
|
PyCam 같은 거요 |
|
|
|
04:11.240 --> 04:15.500 |
|
여기에 구축하면 힌트 형식이나 검프 일부를 채우는 데 도움이 |
|
|
|
04:15.500 --> 04:16.520 |
|
될 거예요 |
|
|
|
04:16.880 --> 04:19.730 |
|
원한다면 주피터랩을 이용해도 돼요 |
|
|
|
04:20.030 --> 04:22.730 |
|
이쪽은 프런티어 요원이에요 |
|
|
|
04:22.730 --> 04:27.410 |
|
이제 임의의 산림청소를 보면 아주 간단해요 |
|
|
|
04:27.410 --> 04:33.800 |
|
생성자에서 먼저 문장 변압기를 만듭니다 벡터를 만들기 위해 사용하는 |
|
|
|
04:33.830 --> 04:35.180 |
|
모델이죠 |
|
|
|
04:35.180 --> 04:39.170 |
|
그런 다음 조금 전에 저장한 모델을 로드하죠 |
|
|
|
04:39.530 --> 04:46.100 |
|
실제 작업과 가격 실행 추론에 관해선 우리가 하는 일은 먼저 제품 |
|
|
|
04:46.100 --> 04:51.770 |
|
설명에 통과된 설명을 취합니다 벡터로 암호화하죠 |
|
|
|
04:51.770 --> 04:55.430 |
|
셀프.Model이라고 하고요 벡터로 예측하세요 |
|
|
|
04:55.430 --> 04:59.840 |
|
그러면 임의의 숲 결과를 받고 반환하죠 |
|
|
|
05:00.200 --> 05:01.280 |
|
아주 간단해요 |
|
|
|
05:01.280 --> 05:03.200 |
|
0으로 최대치를 설정했어요 |
|
|
|
05:03.200 --> 05:07.390 |
|
음수를 반환하지 못하게 0에서 밟는 게 좋겠어요 |
|
|
|
05:07.390 --> 05:08.950 |
|
그럴지는 잘 모르겠어요 |
|
|
|
05:08.980 --> 05:15.160 |
|
초기 버전에서 본 것 같아요 그래서 그게 현명한 예방책 같았죠 |
|
|
|
05:15.190 --> 05:17.470 |
|
적자를 예상하면 안 되니까요 |
|
|
|
05:18.010 --> 05:18.880 |
|
네 |
|
|
|
05:18.880 --> 05:23.530 |
|
어쨌든 저건 에이전트란 거죠 |
|
|
|
05:23.590 --> 05:26.410 |
|
그 에이전트를 인스턴스화할 수 있죠 |
|
|
|
05:26.440 --> 05:31.600 |
|
여기 이 함수는 설명입니다 지난 번과 정확히 같죠 |
|
|
|
05:31.600 --> 05:39.880 |
|
그냥 항목을 가져다가 가장 가까운 달러로 끌어내는 거죠 |
|
|
|
05:39.910 --> 05:41.770 |
|
도입부 문자가 헤더에 들어가요 |
|
|
|
05:41.770 --> 05:44.110 |
|
달러도 떼어낼 거예요 |
|
|
|
05:44.110 --> 05:48.670 |
|
다시 광고 문구로 돌아가죠 제품에 대한 간단한 설명이요 Get up |
|
|
|
05:49.030 --> 05:55.960 |
|
그걸 염두에 두고 RF라는 함수를 쓸 수 있어요 랜덤포레스트라는 함수인데 항목을 설명으로 |
|
|
|
05:55.960 --> 06:02.290 |
|
바꾸는 거죠 랜덤포레스트 에이전트 가격을 랜덤포레스트로 불러요 |
|
|
|
06:02.290 --> 06:03.010 |
|
그것요 |
|
|
|
06:03.010 --> 06:08.800 |
|
그걸 명심하고 하니스 테스트 기억하시죠? |
|
|
|
06:08.830 --> 06:15.130 |
|
이제 250개의 데이터 포인트로 시험할 수 있습니다 무작위 숲이 어떻게 작동하는지 보죠 |
|
|
|
06:15.190 --> 06:16.420 |
|
시작할게요 |
|
|
|
06:17.020 --> 06:19.090 |
|
붉은색이 꽤 많네요 |
|
|
|
06:19.720 --> 06:20.710 |
|
지난번 일 기억나요? |
|
|
|
06:20.740 --> 06:22.870 |
|
97 정도였던 것 같아요 |
|
|
|
06:23.260 --> 06:25.030 |
|
어떻게 되나 보죠 |
|
|
|
06:26.800 --> 06:30.400 |
|
사실 지난번보다 아주 조금 더 나빠졌어요 |
|
|
|
06:30.400 --> 06:31.900 |
|
하지만 이건 정말 가깝네요 |
|
|
|
06:31.900 --> 06:33.340 |
|
기본적으로 똑같아요 |
|
|
|
06:33.370 --> 06:42.550 |
|
무작위 숲은 개선된 벡터와 두 베카 벡터가 같은 수를 제공하죠 |
|
|
|
06:42.550 --> 06:44.590 |
|
겉으로 보기에는 괜찮아요 |
|
|
|
06:44.620 --> 06:46.960 |
|
비탈이 좀 안 좋아요 |
|
|
|
06:46.960 --> 06:50.260 |
|
그리고 문제가 좀 있어요 저기예요 |
|
|
|
06:50.260 --> 06:52.030 |
|
하지만 일반적으로 보면 다 끝난 거예요 |
|
|
|
06:52.030 --> 06:52.690 |
|
칭찬할 만해요 |
|
|
|
06:52.690 --> 06:56.410 |
|
요즘 모델과는 다르지만요 |
|
|
|
06:56.680 --> 06:59.170 |
|
저기가 무작위 숲이에요 |
|
|
|
06:59.170 --> 07:05.260 |
|
다음 비디오에선 모든 걸 하나로 묶어주는 앙상블 모델로 넘어갈 거예요 |
|
|
|
07:05.290 --> 07:06.550 |
|
거기서 봐요
|
|
|