到目前为止对 LLM 的描述中,我们将其描述为一次预测一个单词,但实际上还有一个更重要的技术细

节。即 LLM 实际上并不是重复预测下一个单词,而是重复预测下一个 token 。对于一个句子,语言模型会

先使用分词器将其拆分为一个个 token ,而不是原始的单词。对于生僻词,可能会拆分为多个 token 。

这样可以大幅降低字典规模,提高模型训练和推断的效率。例如,对于 “Learning new things is fun!” 这

句话,每个单词都被转换为一个 token ,而对于较少使用的单词,如 "Prompting as powerful

developer tool",单词 “prompting” 会被拆分为三个 token,即"prom"、“pt"和"ing”。

# 为了更好展示效果,这里就没有翻译成中文的 Prompt
# 注意这里的字母翻转出现了错误,吴恩达老师正是通过这个例子来解释 token 的计算方式
response = get_completion("Take the letters in lollipop \
and reverse them")
print(response)

The reversed letters of “lollipop” are “pillipol”.

但是,“lollipop” 反过来应该是 “popillol”。

但 分词方式也会对语言模型的理解能力产生影响 。当您要求 ChatGPT 颠倒 “lollipop” 的字母时,由于分词器

(tokenizer) 将 “lollipop” 分解为三个 token,即 “l”、“oll”、“ipop”,因此 ChatGPT 难以正确输出字

母的顺序。这时可以通过在字母间添加分隔,让每个字母成为一个token,以帮助模型准确理解词中的字

母顺序。

response = get_completion("""Take the letters in \
l-o-l-l-i-p-o-p and reverse them""")
print(response)

p-o-p-i-l-l-o-l

因此,语言模型以 token 而非原词为单位进行建模,这一关键细节对分词器的选择及处理会产生重大影

响。开发者需要注意分词方式对语言理解的影响,以发挥语言模型最大潜力。

❗❗❗ 对于英文输入,一个 token 一般对应 4 个字符或者四分之三个单词;对于中文输入,一个

token 一般对应一个或半个词。不同模型有不同的 token 限制,需要注意的是,这里的 token 限制是输

入的 Prompt 和输出的 completion 的 token 数之和,因此输入的 Prompt 越长,能输出的

completion 的上限就越低。截至2023年,ChatGPT3.5-turbo 的 token 上限是 4096。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/922405.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/922405.shtml
英文地址,请注明出处:http://en.pswp.cn/news/922405.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视觉智能的「破壁者」——Transformer如何重塑计算机视觉范式?三大CV算法论文介绍 ViTMAESwin Transformer

当自然语言处理领域因Transformer而焕发新生时,计算机视觉却长期困于卷积神经网络的架构桎梏。直到ViT(Vision Transformer)的横空出世,才真正打破了视觉与语言之间的壁垒。它不仅是技术的革新,更是范式革命的开始&…

Java 并发容器源码解析:ConcurrentSkipListSet 行级深度剖析

Java 并发容器源码解析:ConcurrentSkipListSet 行级深度剖析 本文将深入解析 Java 并发容器 ConcurrentSkipListSet 的核心源码,结合流程图、代码注释、设计思想、优缺点分析、业务场景、调试与优化、集成方案、高阶应用等,帮助你系统掌握这款…

答题卡自动识别案例

目录 1.答题卡自动批阅整体实现思路 2.关键技术步骤与原理 答题卡区域提取 ①轮廓检测并排序 ②执行透视变换 ③找到每一个圆圈轮廓 ④先对所有圆圈轮廓从上到下排序 ⑤再通过循环每次只提取出五个轮廓再进行从左到右的排序 3.完整代码 1.答题卡自动批阅整体实现思路 …

C#实现通过POST实现读取数据

C# POST请求与MySQL数据存储实现下面是一个完整的C#解决方案,用于发送POST请求、接收响应数据,并将数据保存到MySQL数据库中。完整代码实现 using System; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Newtonsoft.J…

Java 字符编码问题,怎么优雅地解决?

网罗开发(小红书、快手、视频号同名)大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方…

STL之string类(C++)

1.string类核心定位std::string 本质是对 “字符序列” 的封装,内部通过动态数组存储字符,并自动管理内存(分配、扩容、释放),对外提供了简洁的接口用于字符串的创建、修改、拼接、查找等操作。1.1 使用前提头文件包含…

[Maven 基础课程]第一个 Maven 项目

idea 新建一个项目: 来到 New Project 页面: 这里我们有两种方式创建 maven 项目,一种是自定义创建,另一种是使用 maven 模版项目创建。 自定义创建 maven 项目 基本配置 Name: first_maven_project 项目名称,设为 …

uni小程序中使用Echarts图表

前言 今天鸡米花给大家带来的是在uni里面使用echarts,能够完美支持和PC端一样的效果,我这边的工程是uni转为微信小程序,用的是vue3vite来写的,然后实现了竖屏和横屏的展示方式,好了献上效果图。 效果图 一、引入插件 这…

从FOTA测试到汽车电子安全体系的启蒙之旅

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

stm32中 中断和事件的区别

一、核心概念比喻想象一下工厂里的一个报警系统:​中断 (Interrupt)​​:就像火警警报器响了。它的目的是通知管理员(CPU)​​:“着火了!”。管理员听到后,会停下手中的工作(保存现场…

深入理解MySQL主从架构中的Seconds_Behind_Master指标

问题:主从延迟与写后读不一致 在典型的 MySQL 主从架构下,所有写操作都会直接进入主库,而读操作大多分流到从库,从而实现读写分离,缓解主库压力。 然而 MySQL 的复制机制是异步的:主库先写入 binlog&#…

MySQL安装(linux版本)

MySQL安装(linux版本) 课程地址 08. 进阶-MySQL安装(linux版本)_哔哩哔哩_bilibili 安装过程中所有需要的程序都放在网盘里了 通过网盘分享的文件:虚拟机 链接: https://pan.baidu.com/s/1eLMD2iq1uEujNN7mWs2dIg?pwdckmh 提取码: ckmh …

OpenCV 图像双三次BSpline插值

文章目录 一、简介 二、实现代码 三、实现效果 参考资料 一、简介 之前我们介绍过BSpline曲线,一条B样条曲线可以被定义成 n + 1 n+1 n+1个控制点的集合 { Q i } i = 0 n {\{Q_i\}}^{n}_{i=0}

Prometheus+Grafana构建企业级监控方案

1.prometheus工作原理: Prometheus将指标收集并存储为时间序列数据库(时序数据库),即指标信息与记录它的时间戳一起存储,以及称为标签的可选键值对。 特性: 具有由指标名称和键/值对识别的时间序列数据的…

第23课:行业解决方案设计

第23课:行业解决方案设计 课程目标 掌握金融、医疗、教育等行业应用 学习领域特定Agent设计 了解行业标准集成 实践设计行业解决方案 课程内容 23.1 金融行业解决方案 金融Agent系统 class FinancialAgentSystem {constructor() {this.agents =

Go语言快速入门教程(JAVA转go)——2 环境搭建与入门

安装go Go官网下载地址:https://golang.org/dl/ 中国区官方镜像站(推荐):https://golang.google.cn/dl/ windows安装 下载好后选择安装路径即可,安装完成后,winr 输入cmd调出命令行窗口,输入…

ffplay播放pcm

用 ffplay 播放 PCM 裸流时&#xff0c;必须手动告诉它“没有封装头、采样率、声道数、采样格式”四个关键点。命令模板如下&#xff1a; ffplay -f <采样格式> -ar <采样率> -ac <声道数> -i <pcm文件>常用组合示例 48 kHz、16 bit、小端、双声道 ffp…

【LLM】大模型训练中的稳定性问题

训练稳定性问题 &#x1f4cb; 概述 本文档详细介绍了在项目中解决训练稳定性问题的方法、原理分析以及实际应用。涵盖了梯度裁剪、损失函数优化、数值稳定化处理和学习率调度等关键技术。&#x1f6a8; 问题描述 现象: 训练过程中出现数值不稳定&#xff0c;损失函数波动剧烈 …

【linux系统】6. 基础开发工具(一)

一. 软件包管理器 1&#xff09;Linux下安装软件的常用方法 1. 源代码安装 下载程序的源代码&#xff0c;本地编译成二进制文件&#xff0c;拷贝到系统指定路径下。 2. rpm包安装 已经编译好的安装包&#xff0c;使用rpm对应的指令去安装&#xff0c;也比较麻烦。 3. 包…

ffplay数据结构分析

struct VideoState 播放器封装 typedef struct VideoState {SDL_Thread *read_tid; // 读线程句柄AVInputFormat *iformat; // 指向demuxerint abort_request; // 1时请求退出播放int force_refresh; // 1时刷新画面&#xff0c;请求立即刷新画面的意思int paused; …