工具分享 — Tiktokenizer
自然語言處理(NLP, Natural Language Processing)與機器學習(machine learning)的相關技術中,有 1 個稱為 Tokenization (或稱斷詞)。該技術是指將一連串的文本(text)拆分成多個部分的方法,這個方法的拆分標準可以用字元(characters)為單位,或者以單字(words)為單位,舉 “I love LangChain.” 為例,若以單字為拆分單位, tokenization 之後會變成 “I”, “love”, “LangChain” 3 個 tokens 。
最近很夯的大語言模型(LLM),也有用到 tokenization 技術,不過它的 tokenization 並不是以單字為拆分單位,舉 OpenAI 系列的模型為例,大概是 4 個 English 字元為 1 個 token, 或者 3/4 的單字長度作為 1 個 token, 沒有絕對的切分方式,所以 1 個單字可能會被拆成多個 token, 另外還會有單字前的空格都會保留,甚至是單 1 個空格也可能作為 1 個 token 的情況,真的很有趣。
想知道 GPT-3.5-turbo, GPT-4 等的 tokenization 結果,可以用 Tiktokenizer 進行預覽(或者估算費用),使用方式是貼上一些文字或 prompt 到工具裡,就可以看到本文所說的結果喔!