큰 언어 모델의 비밀을 공개 : 토큰 화에 대한 깊은 다이빙
2020 년 Openai의 GPT-3을 둘러싼 버즈를 기억하십니까? GPT-3의 놀라운 텍스트 생성 기능은 그 라인에서 첫 번째 라인이 아니지만 명성을 얻었습니다. 그 이후로 수많은 대형 언어 모델 (LLM)이 등장했습니다. 그러나 LLM은 Chatgpt Drecipher 언어를 어떻게 좋아합니까? 답은 토큰 화라는 프로세스에 있습니다.
이 기사는 Andrej Karpathy의 통찰력있는 YouTube 시리즈 인 "Chatgpt와 같은 LLMS Dive"에서 영감을 얻습니다. (적극 권장!)
토큰 화를 탐색하기 전에 LLM의 내부 작업을 간략하게 살펴 보겠습니다. 신경망과 LLM에 이미 익숙하다면 앞서 건너 뛰십시오.
큰 언어 모델 내부
LLM은 변압기 신경망을 사용합니다 - 복잡한 수학 공식. 입력은 임베딩 층을 통해 처리 된 일련의 토큰 (단어, 문자 또는 문자)으로 숫자 표현으로 변환합니다. 이러한 입력은 네트워크의 매개 변수 (가중치)와 함께 거대한 수학적 방정식으로 공급됩니다.
현대 신경망은 처음에 무작위로 설정된 수십억 개의 매개 변수를 자랑합니다. 네트워크는 처음에 무작위 예측을합니다. 교육은 반복적으로 이러한 가중치를 조정하여 네트워크의 출력을 교육 데이터의 패턴과 정렬합니다. 따라서 교육에는 교육 데이터의 통계적 특성을 가장 잘 반영하는 최적의 가중치 세트를 찾는 것이 포함됩니다.
Vaswani et al.의 2017 년 논문 "주의가 필요하다"는 2017 년 논문에 소개 된 변압기 아키텍처는 시퀀스 처리를 위해 특별히 설계된 신경망입니다. 처음에는 신경 기계 번역에 사용 된이 곳은 이제 LLM의 초석입니다.
생산 수준 변압기 네트워크에 대한 시각적 이해를 보려면 https://www.php.cn/link/f4a75336b061f291b6c11f5e4d6ebf7d를 방문하십시오. 이 사이트는 GPT 아키텍처의 대화식 3D 시각화 및 추론 프로세스를 제공합니다.
이 나노 GPT 아키텍처 (약 85,584 개의 매개 변수)는 레이어를 통해 처리 된 입력 토큰 시퀀스를 보여주고, 다음 토큰을 예측하기 위해 변환 (주의 메커니즘 및 피드 포워드 네트워크)을 보여줍니다.
토큰 화 : 텍스트를 분해합니다
Chatgpt 또는 Claude와 같은 최첨단 LLM 훈련에는 여러 순차적 단계가 포함됩니다. (훈련 파이프 라인에 대한 자세한 내용은 환각에 관한 이전 기사를 참조하십시오.)
초기 단계 인 사전 조정에는 대규모 고품질 데이터 세트 (테라 바이트)가 필요합니다. 이 데이터 세트는 일반적으로 독점적입니다. Hugging Face (Open Data Commons Attribution License에서 제공)에서 Open-Source FineWeb 데이터 세트를 사용합니다. ( FineWeb의 창조물에 대한 자세한 내용은 여기를 참조하십시오 ).
FineWeb의 샘플 (100 예제 연결).
우리의 목표는 신경망을 훈련 하여이 텍스트를 복제하는 것입니다. 신경망은 유한 세트에서 1 차원의 기호 순서를 필요로합니다. 이를 위해서는 텍스트를 그러한 순서로 변환해야합니다.
우리는 1 차원 텍스트 시퀀스로 시작합니다. UTF-8 인코딩은 이것을 원시 비트 시퀀스로 변환합니다.
처음 8 비트는 문자 'a'를 나타냅니다.
이 이진 시퀀스는 기술적으로 일련의 기호 (0 및 1)이지만 너무 길다. 더 많은 기호로 더 짧은 시퀀스가 필요합니다. 8 비트를 바이트로 그룹화하면 256 개의 가능한 기호 (0-255)의 시퀀스가 제공됩니다.
바이트 표현.
이 숫자는 임의의 식별자입니다.
이 변환은 토큰 화입니다. BYTE-PAIR 인코딩 (BPE)을 사용하여 최첨단 모델이 더 나아갑니다.
BPE는 빈번한 연속 바이트 쌍을 식별하고 새로운 기호로 대체합니다. 예를 들어, "101 114"가 자주 나타나면 새 기호로 대체됩니다. 이 과정은 반복되어 시퀀스를 단축하고 어휘를 확장합니다. GPT-4는 BPE를 사용하여 약 100,000 개의 토큰의 어휘를 만듭니다.
다양한 모델에 대한 토큰 화를 시각화하는 Tiktokenizer 와 대화식으로 토큰 화를 탐색하십시오. 처음 4 개의 문장에서 GPT-4의 CL100K_BASE 인코더를 사용하면 다음과 같습니다.
<code>11787, 499, 21815, 369, 90250, 763, 14689, 30, 7694, 1555, 279, 21542, 3770, 323, 499, 1253, 1120, 1518, 701, 4832, 2457, 13, 9359, 1124, 323, 6642, 264, 3449, 709, 3010, 18396, 13, 1226, 617, 9214, 315, 1023, 3697, 430, 1120, 649, 10379, 83, 3868, 311, 3449, 18570, 1120, 1093, 499, 0</code>
전체 샘플 데이터 세트는 CL100K_Base를 사용하여 유사하게 토큰 화 될 수 있습니다.
결론
토큰 화는 LLM에 중요하며, 원시 텍스트를 신경망을위한 구조적 형식으로 변환합니다. 밸런싱 시퀀스 길이와 어휘 크기는 계산 효율의 핵심입니다. GPT와 같은 최신 LLM은 최적의 성능을 위해 BPE를 사용합니다. 토큰 화 이해는 LLM의 내부 작업에 대한 귀중한 통찰력을 제공합니다.
더 많은 AI 통찰력을 얻으려면 X (이전 트위터)에서 나를 팔로우하십시오!
참조
브래킷 링크를 실제 링크로 바꾸십시오. 요청대로 원래 형식 및 이미지 배치를 유지하려고 시도했습니다.
위 내용은 이것이 LLM이 언어를 분해하는 방식입니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!