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.
415 lines
12 KiB
415 lines
12 KiB
WEBVTT |
|
|
|
00:00.710 --> 00:02.270 |
|
환영합니다, 여러분 |
|
|
|
00:02.300 --> 00:08.900 |
|
과거에도 몇 번 말씀드렸는데요 이번 주 혹은 이번 주제를 시작하게 되어 정말 신나요 |
|
|
|
00:08.900 --> 00:15.020 |
|
그 모든 게 말도 안 된다고 말씀드리고 싶어요 제가 느꼈던 흥분은 오늘 느끼는 |
|
|
|
00:15.020 --> 00:18.260 |
|
흥분에 비하면 아무것도 아니었거든요 |
|
|
|
00:18.260 --> 00:24.530 |
|
6주 차를 맞아 세계 훈련에 돌입합니다 바로 이거죠 |
|
|
|
00:24.530 --> 00:25.850 |
|
이제 실감이 나네요 |
|
|
|
00:25.850 --> 00:27.260 |
|
준비하세요 |
|
|
|
00:28.160 --> 00:32.900 |
|
지금까지 우린 추론이라는 걸 늘 얘기했죠 |
|
|
|
00:32.900 --> 00:39.320 |
|
추론은 엄청난 양의 데이터에 대항하도록 훈련된 모델을 런타임에 사용하여 |
|
|
|
00:39.350 --> 00:43.700 |
|
입력을 받은 다음 토큰을 예측하는 거예요 |
|
|
|
00:43.700 --> 00:47.750 |
|
그 추론을 더 좋게 하려고 다양한 방법을 찾고 있어요 Get it |
|
|
|
00:47.750 --> 00:53.180 |
|
이제 모델 자체를 살펴보고 모델을 어떻게 훈련할 수 있는지 알아보죠 |
|
|
|
00:53.180 --> 00:56.330 |
|
런타임과 추론에서 더 잘하도록요 |
|
|
|
00:56.660 --> 00:59.780 |
|
여기서부터 발전하는 거죠 |
|
|
|
00:59.780 --> 01:04.270 |
|
덜 화려한 부분부터 시작하죠 데이터에 관한 거예요 |
|
|
|
01:04.270 --> 01:09.640 |
|
데이터 세트를 만드는 게 그렇게 멋져 보이지 않을지 몰라도 실제로도 그래요 |
|
|
|
01:09.640 --> 01:14.170 |
|
절대적으로 필수적이고 가장 중요한 부분 중 하나죠 |
|
|
|
01:14.170 --> 01:20.590 |
|
오늘과 내일 우리는 소비를 하며 데이터에 깊이 파고들고 처음부터 끝까지 이해하고 |
|
|
|
01:20.590 --> 01:26.050 |
|
시각화하고, 정돈하고, 큐레이팅해서 우리가 정말 좋아하는 형태로 |
|
|
|
01:26.050 --> 01:27.250 |
|
만들 거예요 |
|
|
|
01:27.400 --> 01:29.410 |
|
그렇게 해야만 하죠 |
|
|
|
01:29.440 --> 01:34.960 |
|
또한 시간을 들여 이해하려고 합니다 이 프로젝트의 성공을 어떻게 가늠할까요? |
|
|
|
01:34.990 --> 01:38.950 |
|
우리는 무엇을 이루고 싶으며 성공했는지 어떻게 알 수 있을까요? |
|
|
|
01:39.970 --> 01:47.050 |
|
하지만 먼저 8주 동안의 경험에 대해 얘기해 보죠 어디서부터 어떻게 시작했는지 앞으로 어떻게 |
|
|
|
01:47.050 --> 01:48.520 |
|
될지에 대해서요 |
|
|
|
01:48.520 --> 01:56.500 |
|
6주 전에 시작했어요 왼쪽을 보시면 달 착륙선 엔지니어링 마스터가 |
|
|
|
01:56.500 --> 01:58.030 |
|
있어요 |
|
|
|
01:58.030 --> 01:59.230 |
|
오른쪽에 있어요 |
|
|
|
01:59.260 --> 02:03.190 |
|
1주 차에는 개척자 모델에 대해 얘기했고 몇 가지를 시도해 봤어요 |
|
|
|
02:03.190 --> 02:06.420 |
|
2주차에는 다중 API를 사용했죠 |
|
|
|
02:06.420 --> 02:10.020 |
|
그래디오와 다중 모듈로 UI를 구축했어요 |
|
|
|
02:10.050 --> 02:15.540 |
|
3주 차에는 페이스 더 파이프라인 토큰이저와 모델을 살펴봤죠 |
|
|
|
02:15.540 --> 02:18.360 |
|
4주 차에 모델들을 선발했어요 |
|
|
|
02:18.360 --> 02:23.910 |
|
코드 생성을 사용했고 60,000배 빠른 걸 만들었죠? |
|
|
|
02:23.910 --> 02:27.120 |
|
코드를 60,000배 최적화할 수 있었다는 건 놀라워요 |
|
|
|
02:27.150 --> 02:28.410 |
|
5주 차예요 |
|
|
|
02:28.410 --> 02:33.870 |
|
지난주에는 래그에 관한 래그의 뜨거운 토픽이었죠 |
|
|
|
02:33.870 --> 02:42.840 |
|
이제 6주 차로 접어들었어요 개척지 모델을 세밀하게 조정했고 7주 차에는 훈련을 시작했어요 |
|
|
|
02:42.840 --> 02:43.860 |
|
다음에 또 해요 |
|
|
|
02:43.860 --> 02:44.640 |
|
지금은요 |
|
|
|
02:44.640 --> 02:49.320 |
|
오픈 소스 모델을 다룰 겁니다 기본적으로 우리 고유의 모델을 구축하는 거죠 |
|
|
|
02:49.320 --> 02:52.140 |
|
8주 차부터 모든 게 합쳐지죠 |
|
|
|
02:52.350 --> 02:58.320 |
|
이제 비트를 가지고 우리가 만들고 있는 변화에 대해 얘기해보죠 |
|
|
|
02:58.320 --> 03:01.050 |
|
추론에서 훈련으로 전환하고 있어요 |
|
|
|
03:01.050 --> 03:05.490 |
|
추론을 작업했을 때 얘길 해보죠 뭘 하고 있었죠? |
|
|
|
03:05.490 --> 03:11.300 |
|
다양한 기술을 개발해서 이 모델들을 실행할 때 성능을 더 향상하려고 |
|
|
|
03:11.300 --> 03:13.310 |
|
노력해요 get it |
|
|
|
03:13.340 --> 03:17.990 |
|
작업 예시를 많이 주면서 멀티샷 프롬프트도 해봤어요 |
|
|
|
03:17.990 --> 03:23.420 |
|
여러 개의 다른 메시지를 보내고 빌드를 해서 결과를 조합하는 프롬프트 연결을 |
|
|
|
03:23.420 --> 03:24.860 |
|
시도했었죠 |
|
|
|
03:24.890 --> 03:31.460 |
|
모델을 코드로 불러올 수 있는 도구를 사용하기도 했어요 그렇게 마법 같지는 |
|
|
|
03:31.460 --> 03:32.540 |
|
않았지만요 |
|
|
|
03:32.840 --> 03:39.020 |
|
항공권의 가격을 계산하거나 다른 도시로 가는 여행 비용을 계산하는 |
|
|
|
03:39.140 --> 03:40.040 |
|
거죠 |
|
|
|
03:40.460 --> 03:48.860 |
|
가장 최근에는 Rag 인젝팅에 대해 작업했습니다 더 관련 있는 콘텐츠 컨텍스트를 프롬프트에요 |
|
|
|
03:48.890 --> 03:54.800 |
|
이 모든 것의 공통점은 현존하는 훈련 모델을 취해 그것이 아는 것을 최대한 활용하기 |
|
|
|
03:54.800 --> 04:00.320 |
|
위해 어떻게 이용할지 알아내는 거죠 여러 번 호출하고 컨텍스트에 추가하는 |
|
|
|
04:00.350 --> 04:02.150 |
|
식으로요 |
|
|
|
04:02.180 --> 04:06.140 |
|
이제 훈련으로 넘어갈 거예요 |
|
|
|
04:06.170 --> 04:11.950 |
|
그래서 훈련 때 수십억 개의 매개 변수가 있는 신경망을 활용해 그 매개 |
|
|
|
04:11.950 --> 04:17.680 |
|
변수를 수정하고 무게를 변경하고 데이터에 근거해 최적화할 방법을 |
|
|
|
04:17.680 --> 04:26.140 |
|
연구합니다 그러면 미래 토큰을 예측하는 게 더 쉬워지죠 추론하기 위해 더 많은 컨텍스트를 추가하는 |
|
|
|
04:26.500 --> 04:33.130 |
|
등 다양한 방법을 연구합니다 결과에 영향을 주는 측면에서 보면 일종의 붓 |
|
|
|
04:33.130 --> 04:35.800 |
|
터치로군요 |
|
|
|
04:35.800 --> 04:43.750 |
|
훨씬 미묘한 기술로 점점 더 깊고 섬세한 결로 문제를 이해할 수 |
|
|
|
04:43.780 --> 04:45.640 |
|
있게 해주죠 |
|
|
|
04:46.030 --> 04:53.710 |
|
LLM을 수십억 매개 변수로 훈련하는 건 꽤 비싼 제안이죠 |
|
|
|
04:53.710 --> 05:01.600 |
|
프런티어 연구소들은 아마 1억 달러 이상을 최고의 모델을 훈련하는 |
|
|
|
05:01.630 --> 05:05.620 |
|
데 쓸 텐데 제 예산 밖이에요 |
|
|
|
05:05.620 --> 05:07.900 |
|
예산도 안 맞겠죠? |
|
|
|
05:08.200 --> 05:10.890 |
|
불행히도 그건 불가능하죠 |
|
|
|
05:10.890 --> 05:14.940 |
|
다행히도 전송 학습이라는 걸 이용할 수 있었죠 |
|
|
|
05:14.940 --> 05:21.630 |
|
트랜스퍼 러닝에 따르면 훈련된 기존 LM을 취하는 게 완벽하게 가능합니다 엄청난 양의 |
|
|
|
05:21.630 --> 05:29.070 |
|
데이터로 이미 훈련된 모델이죠 그런 다음 특정 데이터 집합으로 훈련을 계속할 수 있어요 |
|
|
|
05:29.070 --> 05:34.710 |
|
아마도 아주 전문적인 문제를 해결하고 이미 축적된 모든 지식을 |
|
|
|
05:34.710 --> 05:39.840 |
|
이동시켜 그 위에 추가된 지식을 추가할 수 있겠죠 |
|
|
|
05:40.110 --> 05:45.990 |
|
미리 훈련된 모델을 가지고 작업에 더 정밀하게 |
|
|
|
05:45.990 --> 05:48.750 |
|
훈련할 수 있어요 |
|
|
|
05:48.750 --> 05:51.240 |
|
그 과정을 미세 조정이라고 하죠 |
|
|
|
05:51.450 --> 05:53.760 |
|
말 그대로예요 |
|
|
|
05:53.910 --> 05:58.230 |
|
물론 몇 가지 기술을 사용할 거예요 제가 전에 언급한 적이 있죠 |
|
|
|
05:58.230 --> 06:00.450 |
|
큐 로라 같은 방법으로요 |
|
|
|
06:00.450 --> 06:04.230 |
|
메모리 같은 측면에서 관리할 수 있어요 |
|
|
|
06:05.100 --> 06:11.520 |
|
이제 문제를 알려 드리죠 앞으로 몇 주 동안 우리가 씨름할 |
|
|
|
06:11.670 --> 06:14.220 |
|
상업적 문제요 |
|
|
|
06:14.220 --> 06:21.510 |
|
전자 상거래 회사나 마켓플레이스 회사에서 제품을 만든다고 해보죠 거의 모든 제품에 |
|
|
|
06:21.510 --> 06:27.510 |
|
대한 설명을 담을 수 있는 모델을 구축하고자 합니다 다양한 제품들 |
|
|
|
06:27.510 --> 06:34.140 |
|
예를 들어 전자 제품이나 컴퓨터, 냉장고, 세탁기 같은 가정과 차에 사용하는 |
|
|
|
06:34.170 --> 06:41.400 |
|
제품들 말이죠 그리고 설명을 바탕으로 가격을 추정할 수 있어야 하죠 |
|
|
|
06:41.790 --> 06:47.160 |
|
그건 쉽고 이해하기 쉬운 문제예요 |
|
|
|
06:47.160 --> 06:50.010 |
|
결과를 측정하기 아주 쉬워요 |
|
|
|
06:50.010 --> 06:56.010 |
|
여러분 중 데이터 과학자가 손을 들고 텍스트를 생성하는 인공지능 |
|
|
|
06:56.010 --> 07:01.980 |
|
용액을 위해 설계된 문제 같지 않다고 말할 수도 있죠 |
|
|
|
07:02.010 --> 07:04.890 |
|
숫자를 만드는 모델이 필요한 것 같네요 |
|
|
|
07:04.890 --> 07:08.580 |
|
이게 회귀 모델의 도메인이죠 |
|
|
|
07:08.580 --> 07:13.520 |
|
모델의 종류에 따라 숫자를 만들어 거기에 맞추는 거죠 |
|
|
|
07:13.640 --> 07:14.510 |
|
당신 말이 맞아요 |
|
|
|
07:14.540 --> 07:15.860 |
|
당신 말도 일리가 있어요 |
|
|
|
07:15.860 --> 07:19.100 |
|
보통 퇴행하는 것에 더 가깝죠 |
|
|
|
07:19.310 --> 07:23.990 |
|
하지만 여전히 우리가 다루기엔 큰 문제인 것 같아요 |
|
|
|
07:23.990 --> 07:25.460 |
|
거기엔 몇 가지 이유가 있어요 |
|
|
|
07:25.490 --> 07:32.300 |
|
그 중 하나는 개척자 모델이 이런 문제를 해결하는 데 좋다는 겁니다 텍스트를 |
|
|
|
07:32.330 --> 07:37.130 |
|
생성하는 데만 사용되며 요약이나 다른 텍스트 생성 |
|
|
|
07:37.160 --> 07:42.140 |
|
활동과 관련된 작업을 하는 데 사용되죠 |
|
|
|
07:42.140 --> 07:48.380 |
|
하지만 모델에 JSON 내에서 반응하도록 요청하고 정보로 반응하게 |
|
|
|
07:48.530 --> 07:54.410 |
|
하면 양적 결과로 대응하는 데 아주 효과적일 수 있어요 |
|
|
|
07:54.470 --> 08:00.170 |
|
개척 모델은 아마도 우리가 오래전에 얘기했던 신생 지능 |
|
|
|
08:00.170 --> 08:06.080 |
|
덕분에 퇴행 모델이라는 영역에서 특히 효과적인 문제를 해결할 |
|
|
|
08:06.080 --> 08:08.330 |
|
수 있게 된 거죠 |
|
|
|
08:08.450 --> 08:12.320 |
|
JNI를 사용할 수 있어요 |
|
|
|
08:12.320 --> 08:18.640 |
|
프런티어 모델도 성능이 뛰어납니다. 우리가 만들 단순 회귀 |
|
|
|
08:18.640 --> 08:20.950 |
|
모델보다 훨씬 낫죠. |
|
|
|
08:21.250 --> 08:25.750 |
|
이 공간에서 작동하는 게 밝혀졌어요 |
|
|
|
08:25.870 --> 08:31.000 |
|
우리만의 모델을 만들 때 훨씬 더 즐거울 거예요 |
|
|
|
08:31.000 --> 08:32.020 |
|
이유는 이거예요 |
|
|
|
08:32.260 --> 08:40.000 |
|
이 문제의 장점은 우리가 잘하고 있는지 아닌지 측정하기가 아주 쉽다는 거예요 |
|
|
|
08:40.030 --> 08:45.220 |
|
만약 제품을 선택하고 가격을 안다면 그걸 입력해서 제품의 효과를 |
|
|
|
08:45.220 --> 08:46.690 |
|
볼 수 있어요. |
|
|
|
08:46.720 --> 08:50.650 |
|
우리 모델이 그 제품의 가격을 얼마나 잘 추산하는지 보세요 |
|
|
|
08:50.680 --> 08:57.340 |
|
다른 문서 생성 문제도 있습니다. 인간이 이해할 수 있는 방식으로 측정하기 어려운 문제들이죠. |
|
|
|
08:57.370 --> 09:02.110 |
|
두 언어 간의 번역을 할 때, 무언가가 영어를 통해 좋은 스페인어를 |
|
|
|
09:02.110 --> 09:08.050 |
|
생성하는지 알 수 있지만 얼마나 좋은지는 판단할 수 있죠 |
|
|
|
09:08.050 --> 09:10.360 |
|
물론 방법론도 채점하고요 |
|
|
|
09:10.360 --> 09:16.860 |
|
하지만 Get들이 작동하는 방식과 제가 정말 잘하고 있는지에 대한 복잡한 심경이 |
|
|
|
09:16.860 --> 09:17.760 |
|
생기죠 |
|
|
|
09:17.760 --> 09:26.040 |
|
텍스트 생성 관련 문제들이 많습니다 제품 설명을 실제로 적을 수 있는 뭔가를 만드는 |
|
|
|
09:26.040 --> 09:31.080 |
|
것처럼요 하지만 가격을 제시하는 것만큼 측정하기가 |
|
|
|
09:31.080 --> 09:33.270 |
|
쉽지는 않죠 |
|
|
|
09:33.270 --> 09:36.420 |
|
가격을 생각해 보면 측정하기가 아주 쉬워요 |
|
|
|
09:36.420 --> 09:40.920 |
|
우리가 잘한다면 인간적으로 이해할 수 있는 방법으로 측정할 수 있어요 |
|
|
|
09:40.950 --> 09:47.010 |
|
복잡한 데이터 측정법 같은 거 말고 모두가 이해할 수 있는 |
|
|
|
09:47.010 --> 09:47.790 |
|
거요 |
|
|
|
09:47.940 --> 09:51.660 |
|
방금 말씀드린 냉장고 가격은 얼마나 정확하죠? |
|
|
|
09:51.990 --> 09:55.230 |
|
개선된 모습을 볼 수 있을 거예요 |
|
|
|
09:55.230 --> 10:04.320 |
|
그 이유와 다른 이유 때문에 이건 우리가 도전하기에 아주 좋고 잘 정의된 도전이라고 |
|
|
|
10:04.320 --> 10:12.330 |
|
생각해요 그리고 성공도 좀 할 거예요 그게 당신 문제군요 |
|
|
|
10:12.840 --> 10:13.590 |
|
좋아요 |
|
|
|
10:13.590 --> 10:17.370 |
|
다음 비디오에선 데이터에 관해 얘기할 겁니다 거기서 뵙죠
|
|
|