WEBVTT 00:00.410 --> 00:02.180 다시 만나서 반가워요 00:02.180 --> 00:10.130 모험 3주 차 3일째가 시작됐는데요 이번엔 상황이 더 심화될 거예요 00:10.130 --> 00:11.900 get it 00:11.900 --> 00:18.140 페이스 트랜스포머 포옹 라이브러리 하위 레벨 API를 살펴보면서 팔을 걷어붙일게요. Get 00:18.140 --> 00:18.890 it. 00:19.490 --> 00:24.800 다시 한번 말씀드리지만 프론티어 모델에 대한 코드도 만들 수 있고 인공지능 비서를 만들 수도 있고 파이프라인을 00:24.800 --> 00:26.330 사용할 수도 있어요 00:26.330 --> 00:26.870 파이프라인요 00:26.870 --> 00:35.150 지난번에 했던 건 정말 쉬운 방법이었죠 얼굴을 안는 것으로부터 가능한 다양한 오픈 소스 추론 작업을 사용하는 00:35.150 --> 00:36.290 거요 00:36.290 --> 00:39.260 오늘은 낮은 레벨로 가죠 Get it 00:39.350 --> 00:45.470 앞서 언급했듯이 토큰라이저와 모델은 파이프라인보다 낮은 수준에서 00:45.470 --> 00:49.430 트랜스포머와 상호 작용하는 방법의 일부죠 00:49.430 --> 00:50.630 오늘 그걸 할 거예요 00:50.630 --> 00:53.000 토큰라이저부터 시작할 거예요 00:53.000 --> 00:58.100 텍스트와 토큰을 다른 모델로 변환하는 법을 배울 거예요 채팅 템플릿이라는 00:58.100 --> 01:02.600 것도 이해할 거고요 이로써 몇 가지 다른 것들이 하나로 합쳐지면 01:02.600 --> 01:03.890 좋겠네요 01:03.920 --> 01:06.170 중요한 순간이에요 01:06.440 --> 01:13.700 먼저, 토큰마이저라는 유형의 객체를 소개할게요 얼굴을 안는 거예요 01:13.700 --> 01:20.870 이 객체는 문자열과 토큰, 숫자 목록을 번역하는 거예요 01:21.020 --> 01:23.930 기능은 두 가지로 아주 간단해요 01:23.930 --> 01:26.960 암호화와 해독에 관해 알아야 할 게 두 가지 있어요 01:26.960 --> 01:32.060 인코드는 문자열에서 토큰으로 디코드는 다시 과거로 돌아가게 하죠 01:32.060 --> 01:33.590 두고 봐야죠 01:33.590 --> 01:38.810 물론 약간의 뉘앙스와 성가신 부분이 있지만 기본적으로 그게 다예요 01:38.810 --> 01:39.920 비트 박스는 01:40.370 --> 01:48.290 토큰이에는 여러 단어가 들어 있어요 한 글자에서부터 네 글자까지 다양한 01:48.290 --> 01:53.150 문자를 조합해서 토큰을 구성하는 거죠 01:53.360 --> 01:57.110 또한 이런 캐릭터의 단편들도 포함할 수 있죠 01:57.110 --> 01:59.870 특별한 토큰이라는 것도 포함할 수 있어요 01:59.900 --> 02:07.880 몇몇 특별한 토큰은 하나의 토큰으로 모델에게 그것이 나타내는 02:07.880 --> 02:15.620 것을 알려줍니다 문장의 시작이나 비서와의 채팅 시작 같은 02:15.620 --> 02:17.210 것을요 02:17.660 --> 02:23.150 아까도 언급했지만 신경망 구조를 어떻게 훈련할지 궁금하실 02:23.150 --> 02:28.730 거예요 신경망 구조를 어떻게 구성해야 특정 토큰이 문장의 02:28.730 --> 02:33.470 시작 같은 걸 나타낼지 궁금하실 거예요 02:33.470 --> 02:35.420 마법 같은 답은 없어요 02:35.420 --> 02:37.370 훈련만 잘하면 돼요 02:37.370 --> 02:43.130 훈련 데이터에서 특정 토큰을 사용하는 예제를 충분히 봤다면 그게 그 02:43.160 --> 02:46.550 특별한 토큰의 목표라는 걸 알게 되죠 02:46.550 --> 02:52.400 하지만 아키텍처에서 근본적인 것은 없습니다 일반적으로 토큰의 종류를 02:52.400 --> 02:57.890 다른 종류로 바꾸는 것은 없습니다 토큰라이저도 마찬가지죠 02:57.890 --> 03:02.810 이 외에도 텍스트를 토큰에 매핑하고 대화방법도 가지고 있어요 채팅방 템플릿이라고도 03:02.840 --> 03:03.590 하죠 03:03.590 --> 03:07.320 적어도 특정 모델은 그렇죠 곧 보시겠지만요 03:07.320 --> 03:14.160 시스템 메시지나 사용자 메시지 같은 메시지 세트를 토큰 03:14.160 --> 03:16.950 세트로 바꿀 수 있죠 03:16.950 --> 03:20.940 실제 예시를 보면 이해가 될 거예요 03:21.630 --> 03:29.520 얼굴을 끌어안는 모든 모델 오픈 소스 모델은 그와 관련된 토큰라이저가 있어요 03:29.520 --> 03:35.190 토큰이 한 명만 모델에 적용되는 게 아니에요 모델이 어떻게 훈련되느냐에 따라 다르거든요 03:35.220 --> 03:40.920 토큰라이저는, 음 여러 모델이 같은 토큰라이저를 공유할 수 있지만, 중요한 것은 어떤 토큰라이저가 03:40.920 --> 03:46.200 훈련된 모델에서 사용되었는가 입니다. 왜냐하면 실행중인 추론기간에 정확히 동일한 03:46.200 --> 03:53.040 토큰라이저를 사용해야 하기 때문입니다. 그렇지 않으면 나쁜 결과를 얻을 수 있기 때문이죠. 03:53.130 --> 03:57.390 언젠가 한번 해 봐야겠지만 이유는 알게 될 거예요 03:57.390 --> 04:01.380 당장은 비생산적인 실험이 될 거예요 04:01.380 --> 04:12.120 오늘은 라마 3 토큰라이저를 살펴볼 거예요 라르마의 상징적인 모델 가족이에요 04:12.240 --> 04:12.420 미안해요 04:12.450 --> 04:12.660 네 04:12.690 --> 04:13.230 라르마한테서요 04:13.230 --> 04:13.890 메타가 보냈어요 04:13.920 --> 04:17.010 오픈 소스 모델의 길을 닦았죠 04:17.010 --> 04:20.670 마이크로소프트의 파이 3 모델을 보죠 04:20.670 --> 04:26.760 퀸 2도 다시 보죠 알리바바 클라우드의 동력원으로 여러 지표에서 04:26.760 --> 04:29.400 선두를 달리고 있죠 04:29.400 --> 04:35.790 다른 것도 살펴볼 거예요 Star Coder 2라는 04:35.790 --> 04:41.010 모델인데 코드 생성을 위한 모델이죠 04:41.010 --> 04:44.970 토큰라이저를 살펴보고 차이점을 찾아볼게요 04:45.270 --> 04:51.660 이 두 차의 그래픽이 비슷한 이유는 라마 3 때문이에요 1과 피3는 굉장히 04:51.660 --> 04:53.520 비슷해요 04:53.550 --> 05:01.650 콴투도 비슷하긴 하지만 영어와 중국어에 더 중점을 두고 있어요 05:01.650 --> 05:05.580 스타 코더 2는 물론 코딩에 관한 거죠 05:05.700 --> 05:12.120 소개를 마쳤으니 구글 Colab으로 가서 토큰라이징을 해보죠 HDMHD HDMHDDHDHD