前處理包含哪些流程
- 分詞 tokenization
- embedding?
CPU可以做哪些優化
分詞
分詞在做什么?
?什么是詞元化?
詞元化(Tokenization)是把一段自然語言文本拆分成更小的單元(稱為“詞元”,即 Token)的過程。詞元可以是:
- 單詞:例如,“I love NLP” 分成 ["I", "love", "NLP"]。
- 子詞:例如,“loving” 分成 ["lov", "##ing"]。
- 字符:例如,“hello” 分成 ["h", "e", "l", "l", "o"]。
這些詞元最終會被轉換成數字表示(模型的輸入),因為機器只能處理數字。
如何優化:CPU可選擇高效的分詞引擎&多線程
高效分詞器:FlashTokenizer: 基于C++的高性能分詞引擎,速度可以提升8-15倍-阿里云開發者社區
friso:git clone https://github.com/lionsoul2014/friso.git
項目首頁 - manticoresearch:manticoresoftware/manticoresearch: 這是一個用于快速搜索和索引數據的搜索引擎。適合用于需要快速搜索和索引數據的場景。特點:易于使用,支持多種數據格式,具有高性能和可擴展性。 - GitCode
探秘高性能中文分詞器——Jcseg-CSDN博客
tiktoken - 為OpenAI模型優化的高性能BPE分詞器 - 懂AI
上面這個鏈接有多線程示例
分詞器關注指標?對e2e的影響
Qwen是什么分詞器;llama又是什么分詞器;為什么說qwen的分詞器在中文壓縮上比llama更好;_qwen 分詞器-CSDN博客
embedding 文本嵌入
embedding 在做啥?
大模型推理中的Embedding(Token級)
文本先通過分詞器拆分成最小語言單位token,例如 :"unbelievable" → ["un", "believ", "able"]。
接著查詢詞表,每個token被映射成一個數字編號,比如:"un"→1087。
根據編號查詢Embedding矩陣,快速取出對應的浮點數向量,例如:"un"→[0.24,-0.31,0.88,…, 0.05]。
生成Token級的Embedding,是大模型理解輸入文本的第一步。
如何優化?
玩轉RAG應用:如何選對Embedding模型?-騰訊云開發者社區-騰訊云
位置編碼
Transformer輸入Embedding及位置編碼詳解_transformer embedding-CSDN博客
詞向量之間需要有一個相對位置關系,如果全部不分序輸入那處理肯定不方便,不同詞之間組合意思也會發生變化,于是就要給詞向量加位置信息。
Transformer的PE(position embedding),即位置編碼理解-CSDN博客
Transformer中Position Embedding的原理與思考 | Erwin Feng Blog
看不懂
位置編碼深度剖析:從正弦波到RoPE、ALiBi —— 讓AI記住順序的奧秘-CSDN博客
這篇可以?
附錄:
一文搞懂大模型的前處理_大模型處理-CSDN博客
AI大模型中BERT的Embedding到底是個什么?看完小白也懂了! - 知乎
【超詳細】【原理篇&實戰篇】一文讀懂Transformer-CSDN博客