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.
367 lines
10 KiB
367 lines
10 KiB
WEBVTT |
|
|
|
00:00.800 --> 00:02.930 |
|
다시 유피터랩에 왔네요 |
|
|
|
00:02.930 --> 00:03.890 |
|
1분 됐어요 |
|
|
|
00:03.920 --> 00:10.250 |
|
지난주에 콜랍에서 작업했고 다시 주피터로 가서 현지에서 조깅합니다 |
|
|
|
00:10.250 --> 00:13.160 |
|
오늘 즐겁게 보낼 거예요 |
|
|
|
00:13.220 --> 00:18.890 |
|
코드로 가서 무엇을 할 것인지 살펴보기 전에 leaderboard를 |
|
|
|
00:18.890 --> 00:26.300 |
|
다시 한 번 짚어보죠. 개척 모델의 코딩 능력을 살펴보고 누가 코딩의 상위권에 있는지 보기 |
|
|
|
00:26.300 --> 00:27.860 |
|
위해서요. |
|
|
|
00:27.860 --> 00:36.020 |
|
인공지능 회사인 피지 리더보드에 인체 평가가 있어요 간단한 |
|
|
|
00:36.380 --> 00:39.650 |
|
파이썬 테스트죠 |
|
|
|
00:39.860 --> 00:45.110 |
|
이 수치와 비교하면 GPT 40이 가장 앞섰어요 |
|
|
|
00:45.170 --> 00:50.420 |
|
클로드 3번 소네트가 아래를 내려다보면 잘 안 풀리네요 |
|
|
|
00:50.570 --> 00:55.310 |
|
여러 가지 이유로 이게 최신 자료는 아닌 것 같네요 |
|
|
|
00:55.310 --> 01:03.140 |
|
다른 곳에는 라마 3이 없더라고요 이 사이트에는 1개 있어요 비트가 좀 오래된 것 같네요 |
|
|
|
01:03.140 --> 01:11.090 |
|
인간 평가가 최고가 아니라는 것도 알아요 저는 코딩의 인장 순위표에 더 관심이 |
|
|
|
01:11.090 --> 01:12.230 |
|
있죠 |
|
|
|
01:12.290 --> 01:17.090 |
|
여기 와서 설명서를 읽어보면 다양한 코딩 테스트를 한다는 걸 |
|
|
|
01:17.090 --> 01:23.660 |
|
알 수 있어요 인간 평가도 있고 라이브 코드벤치도 있고 다수의 프로그래밍 퍼즐과 다른 |
|
|
|
01:23.660 --> 01:25.310 |
|
것들도 있어요 |
|
|
|
01:25.310 --> 01:27.620 |
|
아주 포괄적인 것 같아요 |
|
|
|
01:27.650 --> 01:32.330 |
|
라마 3도 반갑고요 1도 포함되어 있어요. 그래서 이건 최근의 get이라는 |
|
|
|
01:32.330 --> 01:33.200 |
|
느낌이 들어요. |
|
|
|
01:33.560 --> 01:41.510 |
|
순위표의 1위는 클로드 3이에요 5 소네트, 그다음은 GPT 40 미스트랄 라지 |
|
|
|
01:41.510 --> 01:44.720 |
|
오픈 소스 모델 미스트랄이 3위죠 |
|
|
|
01:44.900 --> 01:47.570 |
|
어떤 상황인지 알 수 있죠 |
|
|
|
01:47.600 --> 01:50.120 |
|
GPT 4가 기능이 많은지 보죠 |
|
|
|
01:50.120 --> 01:52.130 |
|
제가 보기엔 없어요 |
|
|
|
01:52.220 --> 01:56.510 |
|
그렇다면 GPT 4를 사용해야 할 수도 있겠네요 |
|
|
|
01:56.540 --> 02:01.340 |
|
톱모델들을 정면에서 비교하고 싶다면 이렇게 하세요 |
|
|
|
02:01.340 --> 02:07.500 |
|
미니 비트는 GPT 2를 쓰세요 좀 더 검소하게 쓰고 싶다면요 |
|
|
|
02:07.530 --> 02:08.430 |
|
비트 비트 좀 아꼈죠 |
|
|
|
02:08.610 --> 02:16.140 |
|
어쨌든 주피터 랩으로 가서 4주 차와 3일째 되는 날 이번 주 코드를 보죠 |
|
|
|
02:16.140 --> 02:21.090 |
|
코드 생성과 그걸 중심으로 앱을 만들 거예요 |
|
|
|
02:21.090 --> 02:25.170 |
|
오늘도 많은 걸 배울 거예요 |
|
|
|
02:25.170 --> 02:29.640 |
|
그중 하나는 코드 생성 문제예요 |
|
|
|
02:29.790 --> 02:35.190 |
|
또한 이를 활용해 다양한 모델을 탐구하고 비교하고 기존의 순위표를 검토하며 |
|
|
|
02:35.190 --> 02:40.920 |
|
LM 솔루션으로 비즈니스 문제를 해결하는 방법도 이해하려고 해요 |
|
|
|
02:40.920 --> 02:43.650 |
|
여기서 뭐가 보이는지 아세요? |
|
|
|
02:43.650 --> 02:48.210 |
|
여기 작은 게 있는데요 Gadio와 함께 플레이할 기회가 |
|
|
|
02:48.210 --> 02:53.910 |
|
또 있을 겁니다 프로토타입으로 패키지하는 게 어떤 건지 보여드릴 겁니다 |
|
|
|
02:53.910 --> 02:59.490 |
|
LM 솔루션에 관해 다른 이들과 협업할 수 있는 아주 좋은 방법이거든요 |
|
|
|
02:59.490 --> 03:06.480 |
|
임포트 실행으로 착수하겠습니다 그런 다음 환경 변수를 설정하죠 일반적인 LoadInFv를 |
|
|
|
03:06.480 --> 03:08.910 |
|
이용해서요 |
|
|
|
03:08.910 --> 03:12.330 |
|
EMV 파일을 준비하라고 다시 한 번 말씀드리죠 |
|
|
|
03:12.330 --> 03:16.560 |
|
이번에는 오픈라이와 인어로픽을 사용할 거예요 |
|
|
|
03:16.560 --> 03:23.670 |
|
여기 이 셀에서 오픈AI와 클라우드 인터페이스를 평소처럼 초기화합니다 오픈AI와 클라우드 |
|
|
|
03:23.670 --> 03:27.090 |
|
3을 사용하죠 5분 |
|
|
|
03:27.120 --> 03:27.390 |
|
미안해요 |
|
|
|
03:27.420 --> 03:29.520 |
|
GPT4와 클라우드 3을 사용하죠 5분 |
|
|
|
03:29.550 --> 03:35.250 |
|
순위표에서 상위 2위에 드는 소네트였죠 |
|
|
|
03:35.520 --> 03:41.160 |
|
이제 시스템 메시지와 사용자 프롬프트를 개발할 차례죠 |
|
|
|
03:41.160 --> 03:44.130 |
|
예전에 썼던 방법을 그대로 쓰고 있어요 |
|
|
|
03:44.130 --> 03:47.370 |
|
시스템 메시지에 하드 코드를 넣는 건 옛날 일 같아요 |
|
|
|
03:47.370 --> 03:53.370 |
|
사용자 프롬프트에는 변수에서 전달하는 무언가가 있고 그 변수를 위한 사용자 프롬프트를 |
|
|
|
03:53.370 --> 03:54.090 |
|
생성하죠 |
|
|
|
03:54.090 --> 04:00.600 |
|
제가 전달한 시스템 메시지는 당신은 고성능 C+4, M1 Mac으로 파이썬 코드를 재구성하는 |
|
|
|
04:00.600 --> 04:02.550 |
|
조수라는 거예요 |
|
|
|
04:02.580 --> 04:05.160 |
|
제가 쓰는 건 M1맥이에요 |
|
|
|
04:05.190 --> 04:12.420 |
|
여러분께 가장 적절한 환경을 갖추기 위해 어떤 것이든 여기서 대체하는 걸 권해드립니다 |
|
|
|
04:12.600 --> 04:19.500 |
|
약간의 수정이 필요할 수도 있어요 특히 C 플러스 셋업에서요 이게 제대로 되도록 |
|
|
|
04:19.500 --> 04:21.060 |
|
하기 위해서요 |
|
|
|
04:21.120 --> 04:23.400 |
|
C 플러스 플러스 코드만 사용하세요 |
|
|
|
04:23.400 --> 04:24.720 |
|
댓글은 아껴 써요 |
|
|
|
04:24.750 --> 04:28.710 |
|
가끔 댓글 다는 것 외에는 어떤 설명도 하지 마세요 |
|
|
|
04:28.740 --> 04:34.080 |
|
C++ 응답은 가장 빠른 시간 내에 동일한 출력을 내야 합니다 조금 |
|
|
|
04:34.080 --> 04:39.570 |
|
전에 보여드린 프롬프트보다 좀 더 단어 같죠 하지만 약간 수정하면 가장 |
|
|
|
04:39.570 --> 04:44.370 |
|
잘 되는 걸 찾았어요 사용자 프롬프트는 더 단어 같죠 |
|
|
|
04:44.400 --> 04:47.280 |
|
파이썬 코드를 C+로 다시 쓰고 가장 빠른 구현을 더하세요 |
|
|
|
04:47.280 --> 04:48.690 |
|
비트가 좀 반복적이에요 |
|
|
|
04:49.020 --> 04:54.210 |
|
그리고 여기 보시면 실험에서 약간 비트를 썼어요 |
|
|
|
04:54.210 --> 05:00.300 |
|
알게 되겠지만 순위표에 나온 대로일 수도 있어요 |
|
|
|
05:00.300 --> 05:04.830 |
|
클로드는 이런 힌트가 필요 없었지만 GPT 4에는 이게 필요했죠 |
|
|
|
05:04.830 --> 05:08.160 |
|
그렇지 않으면, 생성된 C++ 코드가 작동하지 않아요 |
|
|
|
05:08.340 --> 05:13.260 |
|
넘치지 않도록 숫자 유형을 잘 봐야 해요 |
|
|
|
05:13.260 --> 05:20.110 |
|
해시는 필수적인 모든 패치를 포함하는 걸 기억하세요 패키지 같은 거요 |
|
|
|
05:20.140 --> 05:26.740 |
|
특정 패키지에 명시적으로 이름을 붙여야만 했어요 그렇게 하지 않으면 GPT 4가 Cplusplus |
|
|
|
05:26.740 --> 05:32.560 |
|
코드를 생성할 테니까요 하지만 정확히 해당 패키지를 포함하진 않죠 |
|
|
|
05:32.560 --> 05:36.220 |
|
이유는 모르겠지만 결국 그렇게 해야만 했어요 |
|
|
|
05:36.220 --> 05:38.980 |
|
이걸 써보면 그렇지 않다는 걸 알게 될 거예요 |
|
|
|
05:39.010 --> 05:43.540 |
|
그렇게 명령조로 말하지 않고도 더 잘 전달할 방법을 찾을 거예요 |
|
|
|
05:43.540 --> 05:47.620 |
|
4번 비트를 조작하는 것 같아서 실격시켜야 할 것 같아요 |
|
|
|
05:47.620 --> 05:48.670 |
|
하지만 됐어요 |
|
|
|
05:48.670 --> 05:54.670 |
|
어쨌든 그걸 염두에 두고 이제 이 함수를 실행 이 사용자 프롬프트를 생성할 함수를 |
|
|
|
05:54.670 --> 05:55.510 |
|
정의했죠 |
|
|
|
05:55.540 --> 05:59.440 |
|
이 부분은 아주 익숙할 거예요 |
|
|
|
05:59.470 --> 06:03.010 |
|
음 메시지 목록은 여기서 만들어요 |
|
|
|
06:03.040 --> 06:09.550 |
|
지금은 두 가지 요소로 잘 알려져 있죠 시스템 메시지를 위한 역할 시스템과 사용자 프롬프트를 |
|
|
|
06:09.550 --> 06:11.350 |
|
위한 역할 사용자요 |
|
|
|
06:11.500 --> 06:19.930 |
|
파이썬 을 이용해서 메시지 리스트를 생성하고 쓰기출력이라는 유틸리티 함수가 |
|
|
|
06:19.930 --> 06:20.890 |
|
있어요 |
|
|
|
06:20.890 --> 06:27.850 |
|
그러려면 문장 코드가 필요해요 거기 있어선 안 될 건 뭐든 제거해 줄 거예요 |
|
|
|
06:27.880 --> 06:35.350 |
|
모델은 그에 반응하는 경향이 있어요 이건 위에 두고 이건 아래에 두는 거죠 |
|
|
|
06:35.350 --> 06:41.020 |
|
그래서 그걸 텍스트에서 제거한 다음 최적화된 .cpp이라는 cplusplus |
|
|
|
06:41.020 --> 06:44.290 |
|
파일에 저장했어요 |
|
|
|
06:44.380 --> 06:49.510 |
|
이게 실행되면 파일이 디렉터리 최적화된 cpp에 나타나는 걸 보게 되죠 |
|
|
|
06:49.960 --> 06:51.100 |
|
언제 부르는지도 알고요 |
|
|
|
06:51.250 --> 06:51.820 |
|
좋아요 |
|
|
|
06:51.820 --> 06:59.140 |
|
그리고 여기 함수 최적화된 GPT가 있습니다 GPT API를 호출할 거예요 |
|
|
|
06:59.170 --> 07:03.670 |
|
OpenAI.Tat.완료.Create라고 입력할게요 |
|
|
|
07:03.700 --> 07:11.620 |
|
모델과 OpenAI 모델 메시지가 같다는 것을 어떻게 아셨나요? 파이썬 을 위한 메시지를 |
|
|
|
07:11.620 --> 07:15.700 |
|
전달하는 것을 스트리밍으로 설정했죠 |
|
|
|
07:15.700 --> 07:18.520 |
|
덩어리 인 스트림도 있어요 |
|
|
|
07:18.520 --> 07:24.980 |
|
즉, 결과가 나오면 그 결과에 따라 조금씩 프린트하는 거죠 |
|
|
|
07:24.980 --> 07:27.830 |
|
그리고 마지막에 이걸 파일로 작성해요 |
|
|
|
07:28.100 --> 07:31.850 |
|
이런 건 안 해도 되겠죠? 당신한텐 익숙하잖아요 |
|
|
|
07:31.880 --> 07:38.390 |
|
이걸 100번은 보셨을 겁니다 이것과 나란히서요 이건 클로드가 같은 걸 하는 |
|
|
|
07:38.420 --> 07:40.040 |
|
동일한 버전이죠 |
|
|
|
07:40.100 --> 07:41.390 |
|
클로드한테 전화할게요 |
|
|
|
07:41.570 --> 07:45.080 |
|
메시지 클로드 모델에게 점 흐름 보내주세요 |
|
|
|
07:45.230 --> 07:51.590 |
|
클로드의 경우를 기억하시겠지만 사용자 프롬프트에는 시스템 메시지를 따로 제공해야 |
|
|
|
07:51.590 --> 07:52.100 |
|
해요 |
|
|
|
07:52.100 --> 07:52.970 |
|
자, 됐어요 |
|
|
|
07:53.000 --> 07:55.340 |
|
이것 역시 여러분이 아주 익숙한 구조죠 |
|
|
|
07:55.370 --> 07:57.710 |
|
패의 최대 개수를 알려 줘야 해요 |
|
|
|
07:57.710 --> 08:01.040 |
|
이렇게 스트리밍을 하는 거예요 |
|
|
|
08:01.070 --> 08:02.360 |
|
비슷한 거예요 |
|
|
|
08:02.390 --> 08:04.340 |
|
인쇄해서 출력하는 거죠 |
|
|
|
08:05.060 --> 08:06.020 |
|
좋아요 |
|
|
|
08:06.050 --> 08:11.270 |
|
이 시점에서, 실제로 해볼 준비가 되어 있기 때문에 이 두 가지를 실행할게요 |
|
|
|
08:11.300 --> 08:14.240 |
|
그런 다음 다음 다음 비디오로 일시 정지하죠 |
|
|
|
08:14.240 --> 08:20.360 |
|
다음 영상에서는 저희가 이 작업을 시도하고 GPT 4와 클로드 3이 어떻게 작동하는지 |
|
|
|
08:20.390 --> 08:23.960 |
|
보여 드릴게요 이 난관에 직면했을 때 5개의 소네트가 공연되죠 |
|
|
|
08:23.990 --> 08:24.710 |
|
그때 봐요
|
|
|