구글 콜랍에 잘 오셨어요
이제 토큰이들의 세계를 탐험해 볼까요?
먼저 할 일은 수입품 처리를 하는 거예요
그걸 한 후 여기 이 문장을 언급하고 싶어요
지난 강의에서 언급하는 걸 잊었는데 Colab에 추가했어요 어쨌든
찾아서 제 설명을 읽어보세요
콜랍의 포옹 사이트에 로그인해야 할 거예요
그걸 위해 사용하는 코드가 이거죠
먼저, 포옹하는 얼굴 계정을 아직 만들지 않으셨다면 포옹하는 얼굴 계정이 필요해요
공짜예요
정말 멋지고 절대 후회하지 않을 거예요
안기페이스에 등록한 다음 설정으로 이동해 새 API 토큰을 생성하세요
스스로 허락하는 거죠
오늘은 올바른 권한이 필요 없지만 나중엔 필요할 테니 지금 설정하는
게 좋아요
다시 돌아와서 Colab의 이 키 섹션으로 가서 새 비밀을 추가하세요
비밀은 HF_token이라고 하고 값은 여러분의 토큰이어야 해요
이제 코드를 실행해서 기밀에서 HF 토큰을 가져오면 로그인 메서드를 호출할
거예요 여기 불러왔죠
로그인 방법은 얼굴을 안는 거예요
바로 실행하죠
다 됐어요
여기 보면 권한이 있다고 나와 있죠
토큰라이저에 대해 얘기해 보죠 환상적인 라마 3부터 시작할게요 1번, 메타의 상징적인 모델 오픈
소스 모델의 길을 닦았죠
llama 3을 사용하면요 1. 메타 서비스 약관에 먼저 서명하세요
모델 페이지에 방문해서 얼굴 안기기를 하면 돼요 여기 링크가 있죠
그 페이지 상단에 서명하기 위해 해야 할 간단한 지침이 있어요
이메일 주소를 제공해야 하는데 포옹하는 얼굴 계정과 일치하는
이메일 주소가 좋아요
I'm get it's get it. 일이 빨리 끝난다는 뜻이죠
몇 분 내로 승인될 거예요
토요일 밤늦게까지 여러 번 해 봤어요
아주 빨리 승인을 받았어요
정말 꼼꼼해서 그런 건지 자동화되어 있어서 그런 건진 모르겠지만
정말 빠르네요
이 서비스 서명 약관에 뭔가 해로운 게 있다고 생각하실까 봐 말씀드리는데 작은 글씨를 읽어 보시면
lemma 3을 사용하지 않도록 확실히 하는 거예요 1번, 비도덕적인 행동과 선한 의도가
있을 경우입니다 이 수업에서는 그런 경우가 많죠
그러니 서명하는 건 문제가 안 될 거예요
그렇게 하면 라마다 3의 모든 변수를 볼 수 있죠 1번요
하나의 간판이 가족 전체에 적용돼요
라마 3이나 2 같은 구형 라마 모델을 사용하려면 모델
가족에 가서 계약서에 서명해야 해요
혹시 하기 싫거나 당장 승인해 주지 않는 것 같으면
나중에 시작해도 돼요
아니면 제가 3번 실행하는 걸 보셔도 돼요 1, 다른 토큰라이저와 작업하기 시작하면
그걸 선택하세요
하지만 이걸로 토큰라이저를 만드는 건 여기 이 한 줄이죠
안는 얼굴에는 오토 토큰마이저 클래스가 있습니다 이 모델을 위해 필요한 토큰마이저의 서브클래스를
생성하죠
그건 너무 걱정하지 마세요
오토 토큰마이저를 이용하면 됩니다 미리 훈련된 것을 이용해 수업 메서드를 호출합니다 즉, 미리 훈련된 모델이
있다면 토큰마이저를 이용하여 이를 위해 개발하면 된다는 거죠
그게 이름이에요
이게 우리가 사용하는 모델이에요
안아주기 얼굴 허브에서 바로 가져올 수 있는 거죠
메타 라마 3이에요 180억 달러요
이 트러스트 원격 코드는 true입니다 토큰라이저를 가져오면 모델의
일부인 코드가 있을 수 있어요
메타가 누군지 안다고 했잖아요
이건 괜찮으니까 믿어도 돼요
그것만 빼면 괜찮을 거예요
그저 추악한 경고만 남겨요
어글리 경고가 싫으면 그냥 Put을 해요
네
이것과 함께 다음으로 할 일은 텍스트를 이용하는 거예요
LLM 엔지니어들에게 토큰라이저의 작동을 보여드릴 수 있어 기쁩니다 텍스트를 문자열로 만들어 Tokenizer.incode로
호출하죠
그 결과의 토큰을 인쇄하죠
여기 있네요
아주 간단한 거예요
그냥 번호표예요
그 이상은 아니에요
증표는 마법과 아무 상관 없어요
그냥 숫자일 뿐이에요
이 숫자들이 그 텍스트를 나타내죠
몇 개나 있는지 보죠
우리가 준 문자에 편지가 몇 통이나 있었는지부터 말해보죠
글자가 61개나 돼요
이제 패의 수를 세면 돼요
대략적으로 토큰 하나에 몇 글자가 매개되는지 기억하시나요?
평균 4개예요
대강요
경험상 네 글자는 토큰이 되어야 해요 영어를 많이 안다면 말이죠
61통의 글자가 예상되네요
15토큰 정도 예상해요
get get을 해 보죠
15토큰요
됐어요
토큰이 정확히 15개예요
이 디코딩을 통해 토큰을 다시 텍스트로 바꿀 수 있어요
그래서 원문을 재창조할 거예요
Get it은 비슷하면서도 약간 달라요
보다시피 get get은 우리가 기대하는 텍스트예요
그런데 그 앞에 새로운 게 있어요 여기 재미있는 거요 비스듬한 대괄호로 기호 시작보다보다보다보다보다보다보다보다보다보다보다보다가
텍스트 집합이죠
이게 뭐죠?
이건 특별한 토큰이란 건데요 제가 강조 표시한 모든 게 하나의 토큰에 매핑된
거죠
사실 여기 이 128,000 토큰은 특별한 토큰으로 우리 모델에
프롬프트의 텍스트의 시작을 알려주고 있어요
그 목적으로 LM의 특별한 지표가 된 거죠
이렇게 생각하실지도 몰라요
그렇다면 변압기의 구조가 그런 종류의 토큰을 기대하도록 설정되어야
한다는 뜻인가요?
지금은 아주 편하실지 모르겠지만 제 대답은 안 된다는 거예요
그런 뜻이 아니에요
이 말은 훈련 중에 본 모든 훈련 사례가 이런 식으로 설정됐다는
뜻이에요
훈련 예시는 이 특별한 토큰에서 시작됐죠
훈련을 통해 그런 걸 기대하며 익숙해졌죠
최상의 결과를 내기 위해서는 같은 방법을 써야 하죠
새로운 먹이를 줄 때 추론할 때 나타나요
이해가 되셨길 바라요
다른 방법으로 해독할 수도 있어요
그걸 토큰과 함께 실행하면 하나의 문자열 대신 이런 문자열
집합을 얻게 됩니다 각각의 문자열이 토큰을 나타내는 거죠
말씀드렸듯이 이 첫 번째 토큰이 이렇게 변했어요
그러면 그게 어떻게 작동하는지 볼 수 있죠
몇 가지 주의할 점이 있어요
바로 보실 수 있듯이, 그중 하나는 대부분의 경우 워드를 토큰에 매핑한 것입니다. 왜냐하면 여기에는 아주
간단한 단어들이 있으니까요.
정말 신나요, 토큰 하나에 4자 이상으로 매핑되긴 하지만요 흔한 단어니까요
단어 선택에 포함돼 있죠
또 하나 주목할 점은 GPT 토큰라이저와 마찬가지로 단어 시작을 의미하는
겁니다 단어 앞의 이 공백은 토큰의 일부죠
그래서 AM은 단어의 시작으로 쓰이고 알파벳 AM은 문자 조각인 AM을 나타내는 다른 토큰이에요
더 복잡한 무언가에 속해 있을 수 있죠
토큰라이저 같은 것이 토큰 두 개로 나뉘는 것도 보이실 겁니다 하나는 워드 토큰이고
다른 하나는 ISA죠
ISA로 끝나는 단어가 참 흥미롭네요
여러 가지 끝에 걸렸을 수도 있어요 그것도 토큰화의
일부죠
또 하나 주목할 점은 대소문자를 구별한다는 거죠
보시다시피 대문자 T로 시작하는 토큰이 저기로 옮겨졌어요
마지막으로 말씀드리고 싶은 건 토큰라이저라는 단어예요
토큰라이저 닷 단어집을 실행하면 get이 나와요
단어와 숫자 조각 사이를 오가는 완전한 지도 사전이죠
잘 안 알려진 것들이 있어요
사용할 수 있는 토큰이 정말 많아요 여기엔 꽤 이상한 토큰들도 있어요 다른 언어의
토큰이거나 다른 목적으로 사용되고 있죠
서너 글자 정도가 아니라 다양한 걸 볼 수 있어요
꽤 많이 인쇄했어요
여기서 보여드릴 게 또 있어요 우리 사전을 쭉 넘기면서 보여드리죠
Get it, Get it, Get it, Get it, get, it, it, it! 이리 와요
주석 인쇄도 할 수 있다는 거예요
어, 추가된 단어라고 하는 건데, 제가 아까 말했던 특별한 토큰이에요
예약된 특별한 토큰이 여러 개 있는데요 죄송합니다, 맨
위에 보이는 건 보캡에서 예약된 특별한 토큰으로 LM에 신호를 보내기 위해 사용되죠
글의 시작이죠
그게 다예요
예약된 것도 있고요
그리고 시작 헤더, ID와 헤더를 두죠
다른 것도 있어요
파이썬 태그도요
뭔가 특별한 게 있어요
어떤 이유에서든지 이 토큰들은 특별한 토큰들입니다. 이 특별한 토큰들을 단어 선택에 포함시키면
유용하게 쓰일 것입니다. 그리고 훈련 중에 제공해서 추론을 할 때나, 모델을 실행할
때 텍스트를 생성할 때, 이 토큰들을 이용해서 모델에 무언가를
표시할 수 있어요.
좋아요
라마 3 모델은 좀 비트가 있었죠
라마 3요 토큰라이저 1개요
잠시 후에는 이 기능이 채팅방에 어떻게 적용되는지 살펴볼 거예요
그런 다음 다른 토큰라이저로 놀 거예요
그럼 그때 봐요