− | Вариант алгоритма BPE модифицированный для использования в [[Большая языковая модель|больших языковых моделях]], не стремится к максимальному сжатию текста, а скорее к кодированию открытого текста в «токены», представляющие собой натуральные числа<ref>{{Cite arXiv|eprint=2410.19730|last1=Zhang|first1=Xiang|last2=Cao|first2=Juntai|last3=You|first3=Chenyu|title=Counting Ability of Large Language Models and Impact of Tokenization|date=2024|class=cs.CL}}</ref>. Все уникальные токены, найденные в корпусе, заносятся в словарь токенов, размер которого в случае [[GPT-3.5]] и [[GPT-4]] составляет 100256<ref>{{Cite web|last=Raschka|first=Sebastian|date=2025-01-17|title=Implementing A Byte Pair Encoding (BPE) Tokenizer From Scratch|url=https://sebastianraschka.com/blog/2025/bpe-from-scratch.html|access-date=2025-07-05|website=Sebastian Raschka, PhD|language=en}}</ref>. Модифицированный алгоритм токенизации изначально обрабатывает набор уникальных символов как [[N-грамма|n-граммы]] длиной в 1 символ (исходные токены). Затем последовательно наиболее частая пара смежных токенов объединяется в новую, более длинную n-грамму, и все вхождения пары заменяются этим новым токеном. Это повторяется до тех пор, пока не будет получен словарь заданного размера. При этом новые слова всегда можно построить из набора символов занесённых в словарь и символов исходного текста<ref name="2022Book_">{{cite book|last1=Paaß|first1=Gerhard|last2=Giesselbach|first2=Sven|chapter=Pre-trained Language Models|title=Foundation Models for Natural Language Processing|date=2022|pages=19–78|isbn=9783031231902|doi=10.1007/978-3-031-23190-2_2|series=Artificial Intelligence: Foundations, Theory, and Algorithms}}</ref>. В последние годы этот модифицированный подход BPE был распространен с устной речи на язык жестов<ref>{{Cite book|last=Pai|first=Suhas|title=Designing Large Language Model Applications: A Holistic Approach to LLMs|publisher=[[O'Reilly Media]]|date=2025-03-06|isbn=978-1-0981-5046-4|language=en}}</ref>. | + | Вариант алгоритма BPE модифицированный для использования в [[Языковая модель|языковых моделях]], особенно — [[Большая языковая модель|больших языковых моделях]], не стремится к максимальному сжатию текста, а скорее к кодированию открытого текста в «токены», представляющие собой натуральные числа<ref>{{Cite arXiv|eprint=2410.19730|last1=Zhang|first1=Xiang|last2=Cao|first2=Juntai|last3=You|first3=Chenyu|title=Counting Ability of Large Language Models and Impact of Tokenization|date=2024|class=cs.CL}}</ref>. Все уникальные токены, найденные в корпусе, заносятся в словарь токенов, размер которого в случае [[GPT-3.5]] и [[GPT-4]] составляет 100256<ref>{{Cite web|last=Raschka|first=Sebastian|date=2025-01-17|title=Implementing A Byte Pair Encoding (BPE) Tokenizer From Scratch|url=https://sebastianraschka.com/blog/2025/bpe-from-scratch.html|access-date=2025-07-05|website=Sebastian Raschka, PhD|language=en}}</ref>. Модифицированный алгоритм токенизации изначально обрабатывает набор уникальных символов как [[N-грамма|n-граммы]] длиной в 1 символ (исходные токены). Затем последовательно наиболее частая пара смежных токенов объединяется в новую, более длинную n-грамму, и все вхождения пары заменяются этим новым токеном. Это повторяется до тех пор, пока не будет получен словарь заданного размера. При этом новые слова всегда можно построить из набора символов занесённых в словарь и символов исходного текста<ref name="2022Book_">{{cite book|last1=Paaß|first1=Gerhard|last2=Giesselbach|first2=Sven|chapter=Pre-trained Language Models|title=Foundation Models for Natural Language Processing|date=2022|pages=19–78|isbn=9783031231902|doi=10.1007/978-3-031-23190-2_2|series=Artificial Intelligence: Foundations, Theory, and Algorithms}}</ref>. В последние годы этот модифицированный подход BPE был распространен с устной речи на [[язык жестов]]<ref>{{Cite book|last=Pai|first=Suhas|title=Designing Large Language Model Applications: A Holistic Approach to LLMs|publisher=[[O'Reilly Media]]|date=2025-03-06|isbn=978-1-0981-5046-4|language=en}}</ref>. |
| + | Предположим, что мы кодируем предыдущий пример «aaabdaaabac» с заданным размером словаря 6. Тогда сначала он будет закодирован как «0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 3» с словарем «a=0, b=1, d=2, c=3». Затем всё продолжится, как и раньше, и получится «4, 5, 2, 4, 5, 0, 3» с словарем «a=0, b=1, d=2, c=3, aa=4, ab=5». Пока что это, по сути, то же самое, что и раньше. Однако, если бы мы указали размер словаря 5, то процесс остановился бы на слове «a=0, b=1, d=2, c=3, aa=4», так что пример был бы закодирован как «4, 0, 1, 2, 4, 0, 1, 0, 3». И наоборот, если бы мы указали размер словаря 8, то он был бы закодирован как «7, 6, 0, 3» со словарем «a=0, b=1, d=2, c=3, aa=4, ab=5, aaab=6, aaabd=7». Это не максимально эффективно с точки зрения сжатия последовательности, но модифицированный BPE не стремится к максимальному сжатию набора данных, а стремится к его эффективному<ref>При этом эффективность кодирования для целей обучения конкретной языковой модели определяется соображениями её разработчика о её архитектуре и доступными аппаратными средствами.</ref> кодированию для обучения языковой модели<ref>{{Cite book|last=Pai|first=Suhas|title=Designing Large Language Model Applications: A Holistic Approach to LLMs|publisher=[[O'Reilly Media]]|date=2025-03-06|isbn=978-1-0981-5046-4|language=en}}</ref>. |