데이터셋 토큰 수 계산
입력
| 단어 수 | 100 |
|---|---|
| 단어당 토큰 | 1.3 |
| 에폭 수 | 1 |
데이터셋 토큰 수 계산
텍스트 말뭉치의 단어 수와 단어당 토큰 비율로 토큰 수를 추정하고, 학습 에폭 수로 비례해 모델이 보게 될 전체 토큰을 구합니다.
입력
말뭉치
결과
값을 입력하면 계산 결과가 표시됩니다.
세부 정보
데이터셋 토큰 수
언어 모델을 학습하고 예산을 잡는 일은 단 하나의 양, 곧 데이터셋이 토큰을 몇 개 담고 있는지에서 출발합니다. 그러나 말뭉치는 보통 토큰이 아니라 단어, 문서, 기가바이트로 설명되는 반면, 모델이 읽는 것은 오직 토큰뿐입니다. 이 계산기는 단어당 토큰 비율로 단어 수를 추정 토큰 수로 환산하고, 학습 에폭 수로 비례해 모델이 처리할 전체 토큰을 돌려줌으로써 그 간극을 메웁니다.
단어가 아닌 토큰
토큰은 토크나이저가 텍스트를 하위 단어 조각으로 나눌 때 만들어내는 최소 단위입니다. 자주 나오는 단어는 토큰 하나가 되는 경우가 많지만, 드물거나 긴 단어는 여러 조각으로 나뉘므로 한 구절은 거의 언제나 단어보다 토큰을 더 많이 담습니다. 이 대응은 토크나이저가 학습한 것이므로, 토큰과 단어 사이의 비율은 보편 상수가 아니라 토크나이저와 텍스트의 성질입니다. 단어와 토큰을 같다고 보면 실제 수를, 그와 함께 학습에 필요한 연산을 과소평가하게 됩니다.
추정 방식
말뭉치 크기는 백만 단어 단위 로 들어갑니다. 단어당 토큰 비율 를 곱하면 데이터를 한 번 통과할 때의 토큰이 나옵니다. 말뭉치를 에폭만큼 반복하면 모델이 수행하는 작업이 곱해지므로, 실효 학습 토큰은 한 번 통과 총량에 에폭 수를 곱한 값입니다. 학습 데이터셋 크기는 보통 억 단위 토큰으로 표기되므로 백만 단위 총량에서 억 단위 값을 도출합니다.
계산식
를 백만 단어, 비율을 , 에폭을 라 하면 한 번 통과 총량 (백만)와 그 억 단위 형태, 에폭으로 비례한 학습 총량 (백만)는 다음과 같습니다.
TE=W⋅r=T⋅e억 단위 값은 단순히 입니다.
계산 예시
1억 단어 말뭉치를 단어당 1.3 토큰으로 토큰화해 3 에폭 동안 학습하는 경우를 살펴봅니다.
TE=100×1.3=130 million tokens=130×3=390 million tokens데이터를 한 번 통과하면 약 1억 3천만 토큰, 곧 0.13억입니다. 3 에폭 동안 학습하면 고유한 토큰은 1억 3천만뿐이어도 모델은 3억 9천만 토큰에 해당하는 순전파와 역전파를 수행합니다. 고유 총량은 가용한 정보를, 에폭으로 비례한 총량은 작업과 그에 따른 연산을 나타냅니다.
비율의 선택
최신 바이트 페어 토크나이저를 쓰는 영어 산문에서는 단어당 약 1.3 토큰이 합리적인 기본값이고, 토큰당 약 4글자라는 관련 근사도 있습니다. 코드, 수식, 비라틴 문자는 토큰으로 더 잘게 쪼개져 비율을 높입니다. 믿을 만한 방법은 의도한 토크나이저를 대표 표본에 돌려 나온 토큰 출력을 그 표본의 단어 수로 나눈 뒤, 측정한 비율을 여기에 쓰는 것입니다. 토큰 예산에서 읽을 수 있는 길이로 되돌리는 역변환은 토큰-단어 변환 계산기가 다룹니다.
한계
결과는 추정값입니다. 정확한 토큰 수는 구체적인 토크나이저, 서식과 공백, 문서를 잇는 방식에 따라 달라지는데, 단일 비율로는 이를 완벽히 포착할 수 없습니다. 에폭을 추가 토큰으로 세는 것은 연산과 스케일링에는 맞지만, 반복된 토큰은 새 정보를 담지 않아 몇 번을 넘어서면 수확이 줄어듭니다. 특정 모델 크기에 데이터셋이 충분한지 확인하려면 한 번 통과 총량을 친칠라 최적 토큰 수 계산의 연산 최적 목표와 비교하십시오.
자주 묻는 질문 (FAQ)
토큰은 단어와 어떻게 다릅니까?
토큰은 모델이 실제로 읽는 단위로, 텍스트를 하위 단어 조각으로 나누는 토크나이저가 만들어냅니다. 흔한 단어는 토큰 하나에 대응하는 경우가 많지만, 드물거나 긴 단어는 여러 조각으로 나뉘므로 텍스트의 토큰 수는 보통 단어 수보다 많습니다.
둘 사이의 비율은 토크나이저와 언어에 따라 달라지는데, 이 추정값이 둘을 같다고 가정하지 않고 단어 수에 명시적인 단어당 토큰 계수를 곱하는 이유가 여기 있습니다.
단어당 토큰 비율로 어떤 값이 합리적입니까?
최신 바이트 페어 또는 유니그램 토크나이저로 토큰화한 영어 산문에서는 단어당 약 1.3 토큰이 흔한 어림 기준이고, 토큰당 약 4글자라는 관련 추정도 있습니다. 코드, 수식, 형태가 풍부하거나 비라틴 문자 언어는 보통 단어당 토큰이 더 많이 나옵니다.
가장 믿을 만한 값은 대상 토크나이저를 실제 말뭉치의 대표 표본에 돌려 나온 토큰 수를 단어 수로 나누는 데서 나옵니다.
반복되는 에폭을 더 많은 토큰으로 세야 합니까?
연산과 스케일링 추정에서는 그렇습니다. 각 에폭은 데이터에 대해 또 한 번 전체 순전파와 역전파를 수행하므로, 실효 학습 토큰은 한 번 통과 수에 에폭 수를 곱한 값입니다.
데이터 고유성을 따지는 질문에서는 구분이 중요한데, 반복된 토큰은 새 정보가 아니어서 몇 번을 넘어서면 수확이 줄기 때문입니다. 이 계산기는 고유한 한 번 통과 총량과 에폭으로 비례한 학습 총량을 모두 보여 주어 두 관점을 다 쓸 수 있게 합니다.
면책조항
토큰 수는 평균 단어당 토큰 비율에 근거한 추정값이며, 정확한 총량은 구체적인 토크나이저와 텍스트 자체에 따라 달라집니다. 연산 예산을 확정하기 전에 의도한 토크나이저를 표본에 돌려 정밀한 값을 확인하십시오.