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.
496 lines
13 KiB
496 lines
13 KiB
WEBVTT |
|
|
|
00:00.620 --> 00:01.790 |
|
잘 돌아왔어요 |
|
|
|
00:01.790 --> 00:07.370 |
|
유피터랩에서 저와 함께 하고 계신다면 커피 마시는 동안 잠시 꺼두세요 |
|
|
|
00:07.370 --> 00:12.620 |
|
모든 데이터셋을 다운로드하는 데 20분 정도 걸리거든요 하지만 |
|
|
|
00:12.620 --> 00:16.550 |
|
이제 정성껏 다운로드해서 다듬어질 거예요 |
|
|
|
00:16.550 --> 00:17.750 |
|
여기 있네요 |
|
|
|
00:17.780 --> 00:23.810 |
|
자동차용은 가장 크고 데이터 포인트와 사무실이 900,000개 이상이죠 |
|
|
|
00:23.870 --> 00:27.830 |
|
전자 제품은 400,000개가 넘어요 |
|
|
|
00:27.830 --> 00:29.600 |
|
총합이요 |
|
|
|
00:29.600 --> 00:30.980 |
|
뭐가 있는지 보죠 |
|
|
|
00:30.980 --> 00:36.410 |
|
총 2마리가 조금 넘어요 데이터 포인트가 8백만 개예요 |
|
|
|
00:36.410 --> 00:38.120 |
|
데이터 포인트가 많네요 |
|
|
|
00:38.120 --> 00:39.680 |
|
데이터 포인트가 너무 많아요 |
|
|
|
00:39.680 --> 00:43.580 |
|
우리가 할 훈련에는 그런 숫자가 필요 없어요 |
|
|
|
00:43.640 --> 00:50.480 |
|
즉, 이 데이터셋을 연마하고 가장 가치 있는 데이터 포인트를 선택하고 가장 |
|
|
|
00:50.480 --> 00:54.020 |
|
많은 신호를 줄 기회가 있다는 거죠 |
|
|
|
00:54.020 --> 00:59.480 |
|
그럼 먼저 패가 얼마나 있는지 분배하는 걸 다시 살펴보죠 |
|
|
|
00:59.510 --> 01:05.310 |
|
지난 번과 같은 도표입니다 훈련 프롬프트에는 180개 이상의 |
|
|
|
01:05.310 --> 01:10.440 |
|
토큰이 없습니다 오픈 소스 라마 모델을 잘 조정하기 위해서 |
|
|
|
01:10.440 --> 01:17.160 |
|
이렇게 설정했습니다 또한 개척자 모델에서는 비용을 절감하기 위해서이기도 |
|
|
|
01:17.160 --> 01:19.350 |
|
하죠 |
|
|
|
01:19.890 --> 01:22.050 |
|
가격을 다시 보죠 |
|
|
|
01:22.290 --> 01:29.850 |
|
이건 2백만 달러 정도에 걸친 전체 가격 분배입니다 보다시피 999달러 |
|
|
|
01:29.880 --> 01:33.690 |
|
이하로 제한돼 있죠 |
|
|
|
01:33.780 --> 01:39.510 |
|
1과 999 사이예요 그게 제약 조건이거든요 관리 가능한 데이터 집합을 |
|
|
|
01:39.510 --> 01:45.060 |
|
확보하려면요 훈련 전체를 왜곡하는 터무니없는 예외 없이요 |
|
|
|
01:45.450 --> 01:51.150 |
|
하지만 여전히 같은 문제가 있어요 데이터 세트가 작은 숫자로 많이 편향돼 |
|
|
|
01:51.150 --> 01:52.200 |
|
있죠 |
|
|
|
01:52.230 --> 01:55.320 |
|
길이 아주 얇아요 |
|
|
|
01:55.320 --> 01:57.660 |
|
이건 300달러까지밖에 안 돼요 |
|
|
|
01:57.720 --> 02:05.460 |
|
1,000까지 올릴 수 있다면 데이터 집합의 끝까지 올릴 수 있어요 |
|
|
|
02:05.490 --> 02:06.030 |
|
여기요 |
|
|
|
02:06.060 --> 02:06.540 |
|
보세요 |
|
|
|
02:06.540 --> 02:07.110 |
|
여기예요 |
|
|
|
02:07.140 --> 02:14.850 |
|
909까지 도달하는 데이터 포인트가 있어요 49개요, 근데 잘 안 보여요 |
|
|
|
02:14.850 --> 02:18.840 |
|
축에 거의 닿지 않아요 |
|
|
|
02:18.960 --> 02:30.030 |
|
데이터 세트가 800,000개 정도에 지배당하기 때문에 낮은 비용 포인트로 접근하는 거죠 |
|
|
|
02:30.480 --> 02:34.170 |
|
한 가지 더 할 일은 카테고리를 빠르게 살펴보는 거예요 |
|
|
|
02:34.170 --> 02:40.110 |
|
이 멋진 막대 차트는 얼마나 많은지 보여줍니다 제품의 다양한 데이터 카테고리에 각각 얼마나 |
|
|
|
02:40.140 --> 02:40.920 |
|
있는지요 |
|
|
|
02:40.920 --> 02:44.970 |
|
다시 900,000점으로 자동차가 우세하네요 |
|
|
|
02:44.970 --> 02:51.510 |
|
그 다음은 도구와 집 꾸미기입니다 전자 제품 번호는 400,000고요 |
|
|
|
02:51.510 --> 02:59.580 |
|
지금 우리가 하고자 하는 것 중 하나는 데이터를 좀 더 균형 잡힌 데이터 집합을 가질 수 있도록 다듬는 겁니다 |
|
|
|
02:59.580 --> 03:06.810 |
|
왜냐하면 하나의 특정 카테고리에서 하나의 가격에 대해 더 왜곡되어 배우는 쪽으로 모델이 |
|
|
|
03:06.810 --> 03:09.670 |
|
편향되는 건 원치 않으니까요 |
|
|
|
03:09.790 --> 03:15.310 |
|
가격이 싼 곳을 선호해도 저희는 괜찮아요 그게 |
|
|
|
03:15.310 --> 03:17.380 |
|
현실이니까요 |
|
|
|
03:17.530 --> 03:23.110 |
|
하지만 훈련에 방해가 될 정도로 너무 멀리 가면 안 돼요 |
|
|
|
03:23.350 --> 03:31.090 |
|
그래서 지금 하려는 건 데이터셋 샘플을 선택하는 겁니다 데이터셋에서 선택해 더 작은 |
|
|
|
03:31.090 --> 03:37.960 |
|
데이터셋을 확보하는 거죠 가격과 카테고리를 더 잘 나타낼 수 있도록요 |
|
|
|
03:37.960 --> 03:42.910 |
|
제가 원하는 데이터 집합 사이즈는 약 400,000개의 데이터 포인트예요 |
|
|
|
03:42.940 --> 03:48.100 |
|
미세 튜닝 목적으로 큰 데이터 세트지만 그렇게 클 필요는 없어요 |
|
|
|
03:48.130 --> 03:50.290 |
|
하지만 전 데이터 모음이 컸으면 했어요 |
|
|
|
03:50.290 --> 03:52.420 |
|
그래서 400,000달러로 정했어요 |
|
|
|
03:52.510 --> 03:54.910 |
|
어떻게 하는지에 대해 얘기해 보죠 |
|
|
|
03:55.000 --> 04:00.580 |
|
먼저 슬롯머신이라는 사전을 만들었어요 |
|
|
|
04:00.580 --> 04:01.810 |
|
이게 뭔지 말씀드리죠 |
|
|
|
04:01.840 --> 04:04.060 |
|
그럼 내가 왜 그랬는지 이해할 거예요 |
|
|
|
04:04.090 --> 04:12.980 |
|
슬롯머신은 사전인데 사전의 키가 제품의 모든 달러 가격이죠 |
|
|
|
04:12.980 --> 04:17.720 |
|
1달러에서 9달러로 늘었어요 99, 1, 2, 3 999까지 쭉 가세요 |
|
|
|
04:17.720 --> 04:21.830 |
|
이 사전의 열쇠는 999개예요 |
|
|
|
04:21.830 --> 04:29.570 |
|
값은 해당 가격이 있는 모든 제품의 목록이 되겠죠 |
|
|
|
04:29.570 --> 04:36.590 |
|
슬롯 사전에 2번 슬롯에 있는 모든 항목이 2달러짜리 목록으로 나와 있어요 |
|
|
|
04:36.620 --> 04:39.860 |
|
모든 걸 이 구멍에 정리하는 거죠 |
|
|
|
04:39.860 --> 04:43.100 |
|
데이터 세트를 버킷으로 만드는 거죠 |
|
|
|
04:43.370 --> 04:46.010 |
|
이해가 되면 좋겠네요 |
|
|
|
04:46.010 --> 04:47.750 |
|
아니면 이 코드를 불러오고요 |
|
|
|
04:47.750 --> 04:48.380 |
|
통과해요 |
|
|
|
04:48.380 --> 04:54.710 |
|
Defaultexpt를 사용하고 있는데 기본적으로 사전이죠 |
|
|
|
04:54.710 --> 05:00.800 |
|
사전에서 빠진 게 있으면 자동으로 초기화해 넘겨주는 형식이 뭐든 |
|
|
|
05:00.800 --> 05:01.940 |
|
돼요 |
|
|
|
05:01.970 --> 05:06.230 |
|
코드에 일종의 if 테스트를 둘 필요가 없죠 |
|
|
|
05:06.230 --> 05:08.900 |
|
멋지고 우아한 코드를 만들죠 |
|
|
|
05:08.900 --> 05:14.430 |
|
비트가 있는 함수가 있는데 제가 설명해 드릴게요 |
|
|
|
05:14.460 --> 05:14.850 |
|
아미티요 |
|
|
|
05:14.880 --> 05:15.360 |
|
아미티요 |
|
|
|
05:15.420 --> 05:16.170 |
|
주피터 공책이에요 |
|
|
|
05:16.170 --> 05:16.740 |
|
휴대폰요 |
|
|
|
05:17.010 --> 05:21.390 |
|
여기 있는 모든 구멍을 통과할 거예요 |
|
|
|
05:21.420 --> 05:23.760 |
|
999개의 슬롯이 있어요 |
|
|
|
05:23.760 --> 05:30.870 |
|
저 슬롯에서 데이터 하위 집합을 샘플로 만들 거예요 훈련에 사용하기에 좋은 대표 |
|
|
|
05:30.870 --> 05:33.090 |
|
샘플이 될 것 같아요 |
|
|
|
05:33.240 --> 05:40.470 |
|
어떤 건 제가 제멋대로 변형했어요 이것 다음에 나올 조직 문자에도 익숙해질 |
|
|
|
05:40.470 --> 05:41.640 |
|
때까지요 |
|
|
|
05:41.640 --> 05:45.390 |
|
특별한 이유 같은 건 없어요 |
|
|
|
05:45.390 --> 05:50.160 |
|
시행착오의 사례에 더 가깝죠 여러분이 생산하는 균형 잡힌 데이터셋에 대해 만족할 수 있는 |
|
|
|
05:50.160 --> 05:51.330 |
|
지점까지 가는 거예요 |
|
|
|
05:51.330 --> 05:56.460 |
|
물론 훈련을 통해 스스로 만족하게 되죠 이렇게 함으로써 더 |
|
|
|
05:56.460 --> 05:59.040 |
|
좋은 결과를 얻을 수 있다고요 |
|
|
|
05:59.400 --> 06:05.370 |
|
그래서 저는 차례대로 칸을 하나씩 통과했어요 240달러 이상의 |
|
|
|
06:05.370 --> 06:09.930 |
|
가치가 있는 물건은 칸 전체를 다 가져갔죠 |
|
|
|
06:09.960 --> 06:12.870 |
|
그 모든 점을 제 샘플에 추가해요 |
|
|
|
06:13.320 --> 06:13.950 |
|
네 |
|
|
|
06:14.400 --> 06:16.710 |
|
적어도 less로요 |
|
|
|
06:16.710 --> 06:24.930 |
|
여기 코드가 있는데 샘플이 1,200개예요 |
|
|
|
06:24.930 --> 06:29.790 |
|
그래서 그 구멍에 수천 개의 공간이 있을 수 있죠 |
|
|
|
06:29.820 --> 06:37.830 |
|
1200개를 골라서 선택이라는 누피 기법을 사용합니다 특정 숫자를 고를 수 있게 |
|
|
|
06:37.830 --> 06:39.090 |
|
해주는 거죠 |
|
|
|
06:39.090 --> 06:43.920 |
|
선택기의 장점 중 하나는 무게라는 걸 입력할 수 있다는 거예요 |
|
|
|
06:43.920 --> 06:48.870 |
|
어떤 물건의 중요성을 다른 물건보다 높일 수 있다는 거죠 |
|
|
|
06:48.870 --> 06:53.970 |
|
무게추가 잘 어우러졌으면 좋겠어요 |
|
|
|
06:53.970 --> 07:00.330 |
|
자동차에 들어가는 모든 건 1kg이고 나머지는 5kg이라고 |
|
|
|
07:00.330 --> 07:02.160 |
|
가정해 보죠 |
|
|
|
07:02.310 --> 07:07.290 |
|
이 부분도 여러 가지로 시도해봤죠 어떤 곡이 나올지 익숙해질 |
|
|
|
07:07.290 --> 07:08.160 |
|
때까지요 |
|
|
|
07:08.160 --> 07:14.070 |
|
너무 멀리 가고 싶진 않았어요 현실 세계에 있는 데이터의 유형을 대략 유지하고 |
|
|
|
07:14.070 --> 07:15.930 |
|
싶었거든요 |
|
|
|
07:15.930 --> 07:19.700 |
|
하지만 데이터 집합의 불균형을 바로잡고 싶었어요 |
|
|
|
07:19.820 --> 07:23.570 |
|
한 줄씩 설명하진 않을 거예요 |
|
|
|
07:23.570 --> 07:29.900 |
|
제가 구상한 걸 보고 만족하셨으면 좋겠어요 제가 말한 대로 되고 결과물이 |
|
|
|
07:29.900 --> 07:32.900 |
|
마음에 들면 좋겠어요 |
|
|
|
07:32.900 --> 07:37.550 |
|
물론 데이터 세트를 약간 다르게 만들고 싶다면 지금이 기회예요 비트 |
|
|
|
07:37.610 --> 07:43.880 |
|
모델 성능 측면에서 제 결과를 이길 가능성도 충분히 있습니다 카테고리마다 |
|
|
|
07:43.880 --> 07:49.580 |
|
다른 무게를 두거나 다른 슬롯을 선택하는 게 낫다고 생각할 |
|
|
|
07:49.730 --> 07:52.010 |
|
수도 있죠 |
|
|
|
07:52.010 --> 07:57.170 |
|
그러니 실험을 해 보고 결과를 봐야죠 |
|
|
|
07:57.170 --> 07:59.270 |
|
하지만 지금은 제가 운영해요 |
|
|
|
07:59.270 --> 08:07.460 |
|
이제 샘플 리스트를 생성했고 그 샘플 안에 408,000개의 데이터 포인트가 있어요 |
|
|
|
08:07.460 --> 08:10.040 |
|
이 정도 크기로 만들 거예요 |
|
|
|
08:10.460 --> 08:14.360 |
|
이제 가격 분배 결과를 보죠 |
|
|
|
08:14.360 --> 08:18.230 |
|
가격 분배 측면에서 훨씬 합리적으로 보이죠 |
|
|
|
08:18.230 --> 08:24.710 |
|
더 저렴한 제품도 많지만 저렴한 제품의 가격은 일정하게 유지돼요 |
|
|
|
08:24.740 --> 08:32.510 |
|
더 비싼 가격으로 넘어가면 더 비싼 데이터 포인트가 완벽하게 갖춰져 있어요. |
|
|
|
08:32.540 --> 08:37.160 |
|
흥미로운 효과를 보실 거예요 다양한 포인트가 있죠 |
|
|
|
08:37.160 --> 08:44.420 |
|
예상대로 399, 499달러로 가격을 매긴 것들은 데이터 포인트가 얼마나 많은지 측면에서 |
|
|
|
08:44.420 --> 08:46.100 |
|
약간 상승하죠 |
|
|
|
08:46.130 --> 08:48.530 |
|
현실 세계를 반영해서 좋아요 |
|
|
|
08:48.530 --> 08:51.140 |
|
데이터 집합에 있는 게 좋아요 |
|
|
|
08:51.140 --> 08:53.840 |
|
그 문제를 해결하고 싶지 않아요 |
|
|
|
08:54.230 --> 09:01.760 |
|
이 가격 조직도표와 아까 보여드린 가격 조직도표를 비교하면 데이터에서 |
|
|
|
09:01.760 --> 09:07.220 |
|
가격 분배가 얼마나 개선됐는지 바로 아실 거예요 |
|
|
|
09:07.250 --> 09:12.080 |
|
현실 세계는 여전히 삐뚤어져 있어요 |
|
|
|
09:12.170 --> 09:16.070 |
|
하지만 더 비싼 제품을 더 잘 보여주는 곳이 있어요 |
|
|
|
09:16.070 --> 09:23.220 |
|
그러면 품질 좋은 방법으로 배울 수 있고 샘플의 유효성을 더 확인할 수 있죠 |
|
|
|
09:23.250 --> 09:26.700 |
|
그게 만족스럽지 않다면 데이터 세트를 몇 개 생성하세요 |
|
|
|
09:26.730 --> 09:32.130 |
|
훈련할 때 둘 다 시도해보고 균형 잡힌 데이터셋의 영향을 볼 수 있어요. |
|
|
|
09:32.130 --> 09:33.120 |
|
Get it |
|
|
|
09:33.900 --> 09:36.810 |
|
카테고리를 다시 보죠 |
|
|
|
09:36.930 --> 09:38.640 |
|
주제별로 나눠요 |
|
|
|
09:38.640 --> 09:40.500 |
|
사실 큰 차이는 없었어요 |
|
|
|
09:40.500 --> 09:42.030 |
|
약간 기울었어요 |
|
|
|
09:42.210 --> 09:44.760 |
|
비트가 더 잘 맞거든요 |
|
|
|
09:44.820 --> 09:51.990 |
|
더 바로잡고 싶지 않았어요 결국 이 그림은 현실을 반영한다고 생각했거든요 |
|
|
|
09:51.990 --> 09:54.360 |
|
너무 왜곡하면 안 돼요 |
|
|
|
09:54.360 --> 10:00.630 |
|
자동차 제품을 파는 곳이 다른 곳보다 많아요 |
|
|
|
10:00.630 --> 10:04.950 |
|
이 정도면 괜찮은 것 같지만 불균형이 약간 수정됐어요 |
|
|
|
10:05.130 --> 10:08.370 |
|
파이 차트를 보는 다른 방법도 있을 것 같아요 |
|
|
|
10:08.370 --> 10:13.410 |
|
일반적으로 파이 도표는 데이터 과학자들에게 인기가 없어요 바 |
|
|
|
10:13.410 --> 10:18.210 |
|
도표가 양을 나란히 보고 정량적으로 보는 데 더 좋거든요 |
|
|
|
10:18.420 --> 10:23.400 |
|
파이 도표는 시각적으로 유용할 때가 있죠, 한번 볼까요? |
|
|
|
10:23.490 --> 10:31.470 |
|
카테고리별 파이 차트가 있습니다. 이 단어들을 구분하려면 작업을 좀 해야겠지만, 어떤 느낌인지 아시겠죠. |
|
|
|
10:31.470 --> 10:33.180 |
|
비트 주세요. |
|
|
|
10:33.390 --> 10:40.530 |
|
자동차 업계의 지분이 가장 크다는 걸 보여주지만 그렇게 압도적이진 |
|
|
|
10:40.530 --> 10:42.150 |
|
않아요 |
|
|
|
10:42.150 --> 10:45.600 |
|
이 두 개를 합치면 자동차 이상의 의미가 있죠 |
|
|
|
10:45.660 --> 10:47.340 |
|
그러니 합리적이죠 |
|
|
|
10:47.340 --> 10:50.460 |
|
여기 작은 건 가전제품이에요 |
|
|
|
10:50.460 --> 10:57.510 |
|
어제 처음 시작한 건 파이에서 1%가 가장 작은 조각이에요 |
|
|
|
10:57.510 --> 10:59.400 |
|
이 경우엔 말 그대로요 |
|
|
|
11:00.000 --> 11:04.020 |
|
이게 우리 데이터 세트 큐레이팅이에요 |
|
|
|
11:04.020 --> 11:07.170 |
|
비트 좀 썼다고 인정할게요 |
|
|
|
11:07.170 --> 11:13.200 |
|
샘플링처럼 가시 돋친 부분을 광택제로 닦았어요 |
|
|
|
11:13.350 --> 11:19.350 |
|
다시 와서 살펴보고 스스로 평가해서 더 나은 데이터 세트를 만들길 |
|
|
|
11:19.350 --> 11:20.190 |
|
바라요 |
|
|
|
11:20.370 --> 11:25.260 |
|
허브에 업로드 하기 전에 마지막으로 분석할 거예요 |
|
|
|
11:25.260 --> 11:27.630 |
|
다음 영상에서 다시 만나요
|
|
|