大模型詞表設計與作用解析

幾乎所有大型語言模型(LLM)都有自己獨立的詞表(Vocabulary)。這是模型設計和訓練過程中的核心組件之一。以下是關于詞表的關鍵點:

1. 詞表的作用

  • 分詞基礎:詞表定義了模型如何將輸入文本拆分成基本單元(如單詞、子詞、符號等)。
  • 數值化映射:每個詞表中的單元對應一個唯一整數(Token ID),模型通過處理這些 ID 進行運算。
  • 模型容量:詞表大小直接影響模型的參數量和處理效率。

2. 不同模型的詞表差異

  • 語言差異
    • 中文模型(如 ChatGLM、Qwen)包含大量中文字符和常見中文詞匯。
    • 多語言模型(如 mBART、NLLB)的詞表可能覆蓋數十種語言的字符。
  • 訓練數據
    • 代碼模型(如 CodeLlama)的詞表包含編程語言關鍵詞(if, def, {} 等)。
    • 專業領域模型可能包含生物/化學術語(如 AlphaFold 相關的蛋白質序列 token)。
  • 分詞算法
    • BPE(Byte Pair Encoding):GPT 系列、RoBERTa。
    • WordPiece:BERT、DistilBERT。
    • Unigram:T5、XLM-R。
    • SentencePiece:LLaMA、Gemini(支持跨語言無空格分詞)。

3. 典型模型的詞表大小對比

模型詞表大小特點
GPT-250,257英文為主,含常見符號
BERT30,522英文+WordPiece 子詞
LLaMA 3128,256多語言優化,支持代碼
Qwen-1.5152,064中英混合,覆蓋數學/代碼符號
Claude 3~200k強調多語言和長上下文支持

4. 為什么需要自定義詞表?

  • 效率優化:避免對常見詞(如英文的 the、中文的 )過度拆分。
  • 語言適配:中文/日文等非空格語言需要不同的分詞策略。
  • 領域適配:醫學/法律模型需保留專業術語的完整性(如 "冠狀動脈" 不應被拆解)。
  • 生僻詞處理:通過子詞組合(如 "Deep" + "##seek" → "Deepseek")解決未登錄詞問題。

5. 詞表如何影響模型行為?

  • 分詞結果差異
    • 輸入 "ChatGPT is amazing!"
      • GPT-2 可能拆為 ["Chat", "G", "PT", " is", " amazing", "!"]
      • LLaMA 可能拆為 ["Chat", "GPT", " is", " amazing", "!"]
  • 語言偏誤:詞表以英文為主時,中文/泰文等語言的效率會下降。
  • 信息損失:過小的詞表可能導致專有名詞被強制拆解(如 "Transformer" → "Trans" + "##former")。

6. 特殊 Token 示例

除了常見詞匯,詞表還包含功能性 Token:

  • [CLS][SEP] → BERT 用于句子分類/分隔
  • <|im_start|> → ChatML 格式中的對話開始標記
  • <0x04>(EOS)→ 句子結束符
  • → SentencePiece 表示空格

總結:

詞表是每個大模型的身份證語言基因,決定了模型如何看待文本。不同模型因目標語言、領域和算法選擇差異,會采用完全不同的詞表設計。這也是同一段輸入在不同模型中表現各異的原因之一!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915325.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915325.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915325.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(一)Eshop(異常處理中間件/grpc)

文章目錄項目地址一、異常處理1.1 自定異常1.2 自定義異常處理中間件1.3 注冊中間件二、grpc服務2.1 創建protos1. 打折的protos2. 設置grpc server3. program配置服務4. docker-compose2.2 CRUD1. 查詢2.3 測試1. 發起查詢請求三、grpc服務消費3.1 創建client1. 添加服務2. 選…

BLIP、InternVL Series(下)

目錄 一、InternVL1.5 1、改進 二、InternVL2 1、漸進式擴展 2、多模態擴展 三、InternVL2.5 1、方法 2、數據優化 四、InternVL3 2、方法 3、訓練后處理 4、測試時擴展 五、BLIP-3o 一、InternVL1.5 1、改進 InternVL1.5在InternVL基礎上&#xff0c;優化了QLLa…

【數據結構】二維差分數組

題目鏈接 【模板】二維差分_牛客題霸_牛客網 牛客網 - 找工作神器|筆試題庫|面試經驗|實習招聘內推&#xff0c;求職就業一站解決_牛客網 描述 給定一個 nmnm 的整數矩陣 bb&#xff0c;矩陣的下標從 11 開始記作 bi,jbi,j?。現在需要支持 qq 次操作&#xff0c;第 tt 次…

【JDK內置工具】常用工具和實戰指令

作者&#xff1a;唐叔在學習 專欄&#xff1a;唐叔的Java實踐 關鍵詞: #JDK工具 #Java性能調優 #JVM調優 #內存泄漏排查 #線程死鎖分析 #Java開發工具 #線上問題排查 #Java診斷工具 Hello&#xff0c;大家好&#xff0c;我是愛學習的唐叔。作為Java開發者&#xff0c;JDK內置工…

一站式PDF轉Markdown解決方案PDF3MD

簡介 什么是 PDF3MD &#xff1f; PDF3MD 是一個現代化、用戶友好的網絡應用程序&#xff0c;旨在將 PDF 文檔轉換為干凈、格式化的 Markdown 文本。它提供了高效的轉換工具&#xff0c;支持多種文件格式之間的轉換。 主要特點 PDF 轉 Markdown&#xff1a;能夠將 PDF 文檔轉…

RocketMQ學習系列之——MQ入門概念

一、什么是MQMQ&#xff08;Message Queue&#xff0c;消息隊列&#xff09;是一種能夠實現跨進程消息傳輸&#xff0c;并且消息緩存符合隊列特性的組件。二、MQ的作用異步&#xff1a;消息發送方無需等待消息接收方收到消息&#xff0c;發送方將消息成功發送到 MQ 之后即可無阻…

血條識別功能實現及原理

從零開始學Python圖像處理 - 血條識別 從實際問題中能快速的學習特定技能&#xff0c;通過完成一個能自動刷怪的工具&#xff0c;達成快速學習python圖像處理和識別。 自動刷怪需要先識別怪物&#xff0c;在游戲中怪物類型很多&#xff0c;同時在移動中形態會一直發生變化&…

網絡地址和主機地址之間進行轉換的類

#pragma once #include "Common.hpp" // 網絡地址和主機地址之間進行轉換的類class InetAddr { public:InetAddr(){}InetAddr(struct sockaddr_in &addr) : _addr(addr){// 網絡轉主機_port ntohs(_addr.sin_port); // 從網絡中拿到的&#xff01;網絡序列// _i…

《Python 項目 CI/CD 實戰指南:從零構建自動化部署流水線》

??《Python 項目 CI/CD 實戰指南:從零構建自動化部署流水線》 一、引言:為什么 Python 項目需要 CI/CD? 在現代軟件開發中,CI/CD(持續集成 / 持續部署)已成為不可或缺的工程實踐。它不僅提升了開發效率,還顯著降低了部署風險。對于 Python 項目而言,CI/CD 的價值尤…

AJAX 技術

AJAX全稱是 Asynchronous JavaScript and XML ( 異步的JavaScript 和 XML )&#xff0c;使用該技術后&#xff0c;可以實現不刷新整個網頁&#xff0c;與服務器進行異步通信并更新部分網頁。一&#xff09;為什么需要AJAX?傳統網頁在與服務器通信時&#xff0c;需要刷新整個頁…

Python爬蟲實戰:研究NLTK庫相關技術

1. 引言 1.1 研究背景與意義 隨著互聯網的快速發展,網絡新聞已成為人們獲取信息的主要來源之一。每天產生的海量新聞文本蘊含著豐富的信息和知識,但也給信息獲取和分析帶來了挑戰。如何從大量非結構化的新聞文本中自動提取有價值的信息,識別熱點話題和趨勢,成為當前自然語…

ARM 學習筆記(二)

參考文獻&#xff1a;《ARM ArchitectureReference Manual ARMv7-A and ARMv7-R edition》1、MMU 1.1 背景早期的內存是比較小的&#xff0c;一般是幾十k&#xff0c;不過相應的程序也是比較小的&#xff0c;這時程序可以直接加載到內存中運行。后來為了支持多個程序的并行&…

Github 貪吃蛇 主頁設置

自動化腳本頂部元信息觸發條件&#xff08;on:&#xff09;作業&#xff08;jobs:&#xff09;步驟&#xff08;steps:&#xff09;1. 生成 SVG2. 推送到 output 分支Commit & Push在 README 里引用參考&#xff1a;https://github.com/Platane/Platane/tree/master 首先寫…

關于Spring RestTemplate

? 一、概述RestTemplate 是 Spring Framework 提供的一個同步 HTTP 客戶端工具&#xff0c;用于簡化與 RESTful API 的交互。它封裝了底層 HTTP 通信細節&#xff0c;提供了統一的 API 來發送各種 HTTP 請求&#xff08;GET、POST、PUT、DELETE 等&#xff09;&#xff0c;并自…

異步解決一切問題 |消息隊列 |減少嵌套 |hadoop |rabbitmq |postsql

設計準則“為什么要考慮這個問題”The forward logic is only about 10% of your code, everything else is 90%.主流邏輯 10%保障擴容和穩健的代碼設計90%同步代碼就是綁在一個繩上的螞蚱異步就是實現了解耦這個異步或許有點類似于--一些分布式數據的處理 設計如何實現的呢?…

Spring AI 項目實戰(十八):Spring Boot + AI + Vue3 + OSS + DashScope 實現高效語音識別系統(附完整源碼)

系列文章 序號 文章名稱 1 Spring AI 項目實戰(一):Spring AI 核心模塊入門 2 Spring AI 項目實戰(二):Spring Boot + AI + DeepSeek 深度實戰(附完整源碼) 3 Spring AI 項目實戰(三):Spring Boot + AI + DeepSeek 打造智能客服系統(附完整源碼) 4

指針數組和數組指針的應用案例

1. 指針數組應用&#xff1a;查找最長字符串用指針數組存儲若干字符串&#xff0c;編寫函數找出其中最長的字符串&#xff08;若有多個&#xff0c;返回第一個&#xff09;。#include <stdio.h> #include <string.h>// 函數原型&#xff1a;找出最長字符串 const c…

MCU進入低功耗模式前的引腳處理原則和方法 --> 以最小化低功耗電流

在MCU進入低功耗模式(如Sleep, Stop, Standby, Deep Sleep等)前,精心處理每一個GPIO引腳的狀態是最大限度降低功耗電流的關鍵一步。懸空或配置不當的引腳是導致“漏電”的常見原因。以下是處理引腳以達到最小低功耗電流的原則和方法: ?? 核心原則 避免浮空輸入: 浮空(…

張 關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導;

關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導; 目錄 關于大語言模型(LLM)置信度研究的經典與前沿論文 :溫度縮放;語義熵;自一致性;事實與反思;檢索增強;黑盒引導; 一、校準方法:讓模型概率更貼近真實正確…

ICT測試原理之--什么是假短

ICT測試原理之–什么是假短 文章目錄ICT測試原理之--什么是假短一、假短的由來防止假短二、無法檢測的短路示例解決無法檢測的短路調試短路文件調試意外斷路調試意外短路三、調試假短報告短路和斷路報告假短報告短路設備/引腳功能性短路測試功能性短路測試的語法一、假短的由來…