当前位置: 首页 > news >正文

大模型词表设计与作用解析

几乎所有大型语言模型(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.dtcms.com/a/289754.html

相关文章:

  • Autosar RTE实现观测量生成-基于ETAS软件
  • [Python] -项目实践2- 用Python快速抓取网页内容(爬虫入门)
  • python网络爬虫小项目(爬取评论)超级简单
  • 阶段1--Linux中的计划任务
  • 调试Claude code的正确姿势
  • 类型混淆、越界写入漏洞
  • 基于单片机出租车计价器设计
  • 重塑优化建模与算法设计:2024上半年大模型(LLM)在优化领域的应用盘点
  • Java入门-【3】变量、字符串、条件、循环、数组的简单总结
  • python 字典中取值
  • SQL189 牛客直播各科目同时在线人数
  • MySQL事物相关
  • Logback简单使用
  • 什么是SEO关键词优化的实战提升指南?
  • 如何系统化掌握角色设计与提示工程的深度整合
  • 基于Event Sourcing和CQRS的微服务架构设计与实战
  • 第十四届全国大学生数学竞赛初赛试题(非数学专业类)
  • 零基础入门 AI 运维:Linux 部署全栈项目实战(MySQL+Nginx + 私有化大模型)
  • 论文解读:Rethinking vision transformer through human–object interaction detection
  • 西门子 S7-1500 系列 PLC CPU 选型全指南:从类型到实战
  • 搭建大模型
  • 新人加入团队后如何快速理解看板?
  • 地图经纬度与地图切片像素坐标换算类
  • 2.组合式API知识点(1)
  • imx6ull-系统移植篇11——U-Boot 移植(下)
  • 不只是“能用”:从语义化到 ARIA,打造“信息无障碍”Web 应用的实战清单
  • Python关于numpy的基础知识数组的升维
  • leetcode丑数II计算第n个丑数
  • 操作系统总结
  • dify创建OCR工作流