diff --git a/dev/data/fineweb.py b/dev/data/fineweb.py index 5109d31..12e1eb7 100644 --- a/dev/data/fineweb.py +++ b/dev/data/fineweb.py @@ -67,8 +67,8 @@ elif args.type =="edu": def tokenize_llama(doc): # tokenizes a single document and returns a numpy array of uint32 tokens tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3.1-8B") - encode = lambda s: tokenizer.encode(s, add_special_tokens=False, verbose=False) - eot = 128000 # BOS; hardcoding because I don't know how to get it properly TODO + encode = lambda s: tokenizer.encode(s, add_special_tokens=False, verbose=False, split_special_tokens=True) + eot = tokenizer.encode('')[0] # by default the tokenizer adds the EOT token (128000) tokens = [eot] # the special <|endoftext|> token delimits all documents tokens.extend(encode(doc["text"])) tokens_np = np.array(tokens) diff --git a/dev/data/tinyshakespeare.py b/dev/data/tinyshakespeare.py index e5ba0d9..758a9a4 100644 --- a/dev/data/tinyshakespeare.py +++ b/dev/data/tinyshakespeare.py @@ -51,8 +51,8 @@ def tokenize(model_desc): eot = enc._special_tokens['<|endoftext|>'] # end of text token elif model_desc == "llama-3": tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3.1-8B") - encode = lambda s: tokenizer.encode(s, add_special_tokens=False, verbose=False) - eot = 128000 # BOS; hardcoding because I don't know how to get it properly TODO + encode = lambda s: tokenizer.encode(s, add_special_tokens=False, verbose=False, split_special_tokens=True) + eot = tokenizer.encode('')[0] # by default the tokenizer adds the EOT token (128000) else: raise ValueError(f"unknown model descriptor {model_desc}") data_filename = os.path.join(DATA_CACHE_DIR, "tiny_shakespeare.txt") diff --git a/dev/data/tinystories.py b/dev/data/tinystories.py index aafd2cc..915c321 100644 --- a/dev/data/tinystories.py +++ b/dev/data/tinystories.py @@ -77,8 +77,8 @@ def process_shard(shard_index, shard_filename, model_desc): eot = enc._special_tokens['<|endoftext|>'] # end of text token elif model_desc == "llama-3": tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3.1-8B") - encode = lambda s: tokenizer.encode(s, add_special_tokens=False, verbose=False) - eot = 128000 # BOS; hardcoding because I don't know how to get it properly TODO + encode = lambda s: tokenizer.encode(s, add_special_tokens=False, verbose=False, split_special_tokens=True) + eot = tokenizer.encode('')[0] # by default the tokenizer adds the EOT token (128000) else: raise ValueError(f"unknown model descriptor {model_desc}")