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.
313 lines
8.4 KiB
313 lines
8.4 KiB
WEBVTT |
|
|
|
00:00.800 --> 00:06.560 |
|
지난 시간에는 기능 공학의 단순한 선형 회귀 모델을 살펴봤는데요 |
|
|
|
00:06.560 --> 00:12.080 |
|
이제 기능과는 작별하고 자연 언어 프로세싱을 시작해보죠 |
|
|
|
00:12.080 --> 00:19.490 |
|
NLP의 다소 단순한 유형으로 시작하겠습니다 앞서 짧게 언급한 단어 주머니라고 |
|
|
|
00:19.490 --> 00:21.110 |
|
하죠 |
|
|
|
00:21.140 --> 00:24.950 |
|
이 두 가지 유용한 것부터 만들어 볼게요 |
|
|
|
00:24.950 --> 00:33.920 |
|
하나는 가격이고 다른 하나는 문서인데 가격은 훈련 데이터 집합에 있는 모든 가격 |
|
|
|
00:33.920 --> 00:42.020 |
|
목록입니다 문서는 훈련 데이터 집합에 있는 모든 테스트 프롬프트고요 |
|
|
|
00:42.230 --> 00:47.480 |
|
비트 텍스트죠 이제 우리가 할 건 문서에 텍스트를 사용하는 모델을 만드는 |
|
|
|
00:47.480 --> 00:51.440 |
|
겁니다 우리가 만든 기능을 사용하는 대신에요 |
|
|
|
00:51.440 --> 00:52.940 |
|
그냥 글자를 써요 |
|
|
|
00:53.330 --> 01:01.440 |
|
눈치채셨겠지만 작은 트릭이 하나 있어요 훈련용이 아니라 테스트 프롬프트죠 |
|
|
|
01:01.590 --> 01:06.000 |
|
훈련 시간을 이용하면 가격도 포함되어 있죠 |
|
|
|
01:06.120 --> 01:12.210 |
|
그건 작동하지 않을 겁니다 모델은 당연히 가격 자체를 알아내는 법을 배우게 될 테니까요 프롬프트 |
|
|
|
01:12.210 --> 01:13.470 |
|
안에 있죠 |
|
|
|
01:13.470 --> 01:16.470 |
|
테스트 시간이 되면 처참하게 실패하죠 |
|
|
|
01:16.470 --> 01:20.220 |
|
조심해야 할 트릭이죠 |
|
|
|
01:20.460 --> 01:22.980 |
|
제가 더 조심해야 할 함정이죠 |
|
|
|
01:22.980 --> 01:25.710 |
|
그래서 준비하죠 |
|
|
|
01:25.710 --> 01:31.770 |
|
이제 countvectorizer를 사용할 거예요 이름만 들어도 근사하죠 |
|
|
|
01:31.800 --> 01:36.330 |
|
오늘 카운트 오브 벡터라이저로 작업한다고 생각한다면 매우 |
|
|
|
01:36.330 --> 01:41.850 |
|
복잡한 무언가를 만들 거라고 생각하지만 실제로는 그렇지 않아요 |
|
|
|
01:41.940 --> 01:49.740 |
|
단순히 단어 수를 세는 것을 찾는 것입니다 그리고 벡터 내의 각 위치들이 특정 단어를 |
|
|
|
01:49.740 --> 01:57.740 |
|
나타내는 곳에 벡터를 구축합니다 그리고 그 단어가 여러분 문서에 몇 번 나타날지 |
|
|
|
01:57.740 --> 01:59.420 |
|
확인하죠 |
|
|
|
01:59.540 --> 02:06.110 |
|
각 문서는 벡터입니다 벡터의 모든 행은 여러분 어휘의 단어를 나타내죠 |
|
|
|
02:06.110 --> 02:09.170 |
|
카운터는 몇 번 왔는지 세어보고요 |
|
|
|
02:09.170 --> 02:15.050 |
|
이런 사고방식을 단어 자루 모델이라고 해요 단어 자루를 들고 숫자를 |
|
|
|
02:15.050 --> 02:19.880 |
|
세는 것과 같죠 단어 순서는 상관없어요 특정 횟수만큼만 |
|
|
|
02:19.880 --> 02:23.840 |
|
단어에 대한 개념이 있는 거죠 |
|
|
|
02:24.170 --> 02:31.700 |
|
그래서 가장 흔하거나 가장 중요한 단어 1,000개까지 셀 거예요 |
|
|
|
02:31.700 --> 02:41.150 |
|
여기 이 매개 변수를 이용해 확실히 하려는 건 일반적인 스톱 단어를 제거하는 겁니다 사람들이 |
|
|
|
02:41.150 --> 02:47.270 |
|
앤 앤 더 앤 인이라고 부르는 거죠 모델에 유용하지 않고 방해만 |
|
|
|
02:47.270 --> 02:49.820 |
|
되는 것들이죠 |
|
|
|
02:49.820 --> 02:54.320 |
|
get이 뽑히면 즙이 흐르는 단어만 남죠 |
|
|
|
02:54.320 --> 03:00.000 |
|
이제 우리가 할 일은 보다시피 훨씬 빨라졌어요 |
|
|
|
03:00.000 --> 03:05.340 |
|
이 문서에 기반해 데이터 세트를 생성할 거예요 |
|
|
|
03:05.340 --> 03:09.240 |
|
아까처럼 선형 회귀 모델을 다시 만들 거예요 |
|
|
|
03:09.270 --> 03:14.610 |
|
우리 단어를 가격에 맞춰야 해요 |
|
|
|
03:14.610 --> 03:21.090 |
|
다시 말해, 이번엔 기능을 사용하는 대신 이 단어들을 사용하는 |
|
|
|
03:21.090 --> 03:29.130 |
|
겁니다 벡터 단어로요 단어 개수를 세는 거죠 가장 흔한 사전 용어에 있는 |
|
|
|
03:29.130 --> 03:32.850 |
|
단어 천 개의 개수를요 |
|
|
|
03:32.880 --> 03:34.650 |
|
그렇게 할 거예요 |
|
|
|
03:34.680 --> 03:36.480 |
|
선형 회귀를 실행할 거예요 |
|
|
|
03:36.480 --> 03:37.980 |
|
지금 진행 중이에요 |
|
|
|
03:37.980 --> 03:46.110 |
|
모든 데이터 집합에 걸친 벡터 포인트 1,000개를 세고 있어요 |
|
|
|
03:46.440 --> 03:53.250 |
|
그 작업이 끝나면 그걸 단어 모음에 넣습니다 선형 회귀, 프라이서죠 |
|
|
|
03:53.250 --> 03:54.180 |
|
Put |
|
|
|
03:54.180 --> 03:58.130 |
|
그리고 테스트할 거예요 다시 테스트하죠 |
|
|
|
03:58.160 --> 03:59.660 |
|
방금 실행이 완료됐어요 |
|
|
|
03:59.690 --> 04:07.280 |
|
이건 우리 함수예요 시험해 볼 간단한 함수죠 테스터.테스트라는 기기로 테스트할 |
|
|
|
04:07.310 --> 04:08.570 |
|
거예요 |
|
|
|
04:09.320 --> 04:10.790 |
|
말주변이 좋네요 |
|
|
|
04:10.820 --> 04:13.520 |
|
선형 회귀 프라이저예요 |
|
|
|
04:16.010 --> 04:17.630 |
|
어떻게 되나 보죠 |
|
|
|
04:19.550 --> 04:21.050 |
|
채소가 많네요 |
|
|
|
04:21.050 --> 04:22.730 |
|
붉은색도 많고요 |
|
|
|
04:23.300 --> 04:23.960 |
|
보이시죠? |
|
|
|
04:23.990 --> 04:25.340 |
|
하나만 뽑죠 |
|
|
|
04:25.370 --> 04:27.140 |
|
74달러가 들었죠 |
|
|
|
04:27.140 --> 04:29.030 |
|
사실 46달러였어요 |
|
|
|
04:29.030 --> 04:31.640 |
|
그래서 제대로 된 것들이 있는 걸 볼 수 있죠 |
|
|
|
04:31.640 --> 04:33.530 |
|
너무 많이 벗어난 부분도 있어요 |
|
|
|
04:33.560 --> 04:35.540 |
|
그래프가 어떻게 보일까요? |
|
|
|
04:35.570 --> 04:36.830 |
|
어디 보죠 |
|
|
|
04:37.430 --> 04:39.350 |
|
네, 좋아요 |
|
|
|
04:39.350 --> 04:42.680 |
|
뭔가 좋은 일이 일어날 것 같아요 |
|
|
|
04:42.680 --> 04:46.130 |
|
점점 더 가까워지고 있어요 |
|
|
|
04:46.130 --> 04:48.080 |
|
녹색 점이 더 많이 보여요 |
|
|
|
04:48.080 --> 04:51.140 |
|
평균 113달러죠 |
|
|
|
04:51.140 --> 04:59.310 |
|
특징이 있는 선형 퇴행보다 훨씬 낫고 추측보다 훨씬 낫네요 |
|
|
|
04:59.670 --> 05:01.980 |
|
진전이 있네요 |
|
|
|
05:01.980 --> 05:05.760 |
|
아직 이상한 점이 있어요 문제가 좀 있죠 |
|
|
|
05:06.000 --> 05:10.860 |
|
하지만 이게 진정한 가치이고 여기 어딘가에 있어야 한다고 생각했죠 |
|
|
|
05:11.160 --> 05:15.810 |
|
하지만 진전이 있다는 걸 알 수 있어요 |
|
|
|
05:16.200 --> 05:24.540 |
|
좀 더 고급 모델로 넘어가기 전에 이 세트의 마지막은 젠심 라이브러리를 |
|
|
|
05:24.540 --> 05:31.560 |
|
이용해 이 단어를 베크 모델에 소개하는 거예요 |
|
|
|
05:31.560 --> 05:37.050 |
|
그게 제가 NLP와 함께 있는 신경 네트워크를 처음 접한 |
|
|
|
05:37.410 --> 05:46.440 |
|
것 중 하나입니다. 벡터화 모델을 사용했고 더 복잡한 벡터 내장 모델을 사용했죠. |
|
|
|
05:46.500 --> 05:54.950 |
|
겐심에서 2VC 함수 클래스를 사용하겠습니다 400D로 |
|
|
|
05:54.950 --> 05:57.980 |
|
벡터를 빌드하죠 |
|
|
|
05:58.250 --> 06:02.960 |
|
그래서 일꾼 8명을 쓰도록 설정했어요 제 상자를 망치질하는 셈이죠 |
|
|
|
06:02.960 --> 06:08.840 |
|
실행하는 데 몇 분 걸렸어요 이걸 다 기다리지 않게 미리 실행했죠 |
|
|
|
06:08.870 --> 06:19.610 |
|
그리고 이걸 실행했어요 이제 실행할 준비가 됐으면 좋겠네요 |
|
|
|
06:19.610 --> 06:24.410 |
|
바로 결과를 볼 수 있게요 |
|
|
|
06:25.160 --> 06:33.200 |
|
2bc 선형 회귀 프라이어를 통과시킬 수 있을 거예요 이 멋진 벡터화 모델이 선형 회귀로 |
|
|
|
06:33.200 --> 06:36.140 |
|
어떻게 작동하는지 보죠 |
|
|
|
06:37.070 --> 06:39.950 |
|
처음 두 줄까지는 괜찮아 보이는데 큰일이네요 |
|
|
|
06:39.980 --> 06:46.130 |
|
빨강도 있고 초록도 있고 빨강도 있고 초록도 있고 빨강이 많네요 250개의 데이터 |
|
|
|
06:46.130 --> 06:49.290 |
|
포인트를 지나 해도로 내려갔어요 |
|
|
|
06:50.100 --> 06:52.080 |
|
여기 있네요 |
|
|
|
06:52.110 --> 06:54.150 |
|
다시 괜찮아졌어요 |
|
|
|
06:54.180 --> 07:01.980 |
|
흥미롭게도 나쁜 소식은 단순한 단어 모델에 따르면 선형 회귀보다 머리카락이 더 나쁘다는 |
|
|
|
07:02.010 --> 07:03.540 |
|
거예요 |
|
|
|
07:03.540 --> 07:11.850 |
|
멋진 단어를 공개하죠 벡터 2개는 아직 도움이 안 됐어요 |
|
|
|
07:11.850 --> 07:17.850 |
|
여전히 이전과 같은 영역입니다. 아마도 2Vc 벡터에 있는 |
|
|
|
07:17.850 --> 07:23.730 |
|
추가 정보를 활용할 만큼 선형 회귀 모델이 강력하지 않기 때문일 |
|
|
|
07:23.730 --> 07:25.140 |
|
거예요. |
|
|
|
07:25.410 --> 07:31.800 |
|
다음 시간에는 좀 더 복잡한 모델을 탐구해 보고 전통적인 머신 |
|
|
|
07:31.800 --> 07:34.890 |
|
러닝을 마무리할 거예요 |
|
|
|
07:34.890 --> 07:38.820 |
|
조금만 더 기다려 주세요 비트를 좀 더 짜내고 싶거든요 |
|
|
|
07:38.850 --> 07:43.920 |
|
베이스라인 모델로 좀 더 나아지길 원합니다 LMS가 비트 코일에서 쉽게 실행되는 걸 원치 |
|
|
|
07:43.920 --> 07:44.730 |
|
않으니까요 |
|
|
|
07:44.730 --> 07:46.350 |
|
Put it's go 우린 싸우고 싶어요 |
|
|
|
07:46.350 --> 07:48.330 |
|
다음에 봐요
|
|
|