怎么裁剪LLM(大语言模型)的vocab(词表)? Part1前言 对于一些多语言的大语言模型而言,它的词表往往很大。 在下游使用这些模型的时候,可能我们不需要其它的一些语言,例如只需要中文和英文,此时,我们可以对其vocab进行裁剪,既可以大大减少参数量,也能够保留模型的性能,接下来以Bloom模型为例看看是怎么进行操作的 # 加载原词表。 一般为多语言模型的词表 old_tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) # 检查新词表是否为原词表的子集 开始转换: # 需要进行裁剪的模型路径 model_name_or_path = 'bigscience/bloom-560m' # 自己制作的词表的路 new_tokenizer_name_or_path
而词表作为大模型理解语言的字典,直接决定了模型对输入文本的编码能力。 今天我们将由浅入深讲解大模型词表扩展技术,聚焦中文生僻字与专业术语的词嵌入适配方案,从基础概念拆解到实操流程、详细实例。 词表(Vocabulary) 词表是大模型在预训练时构建的固定字词集合,堪称大模型的语言字典,包含模型能够识别的所有基本语言单元(字、词、子词)。 例如,中文大模型常见的词表可能包含"的"、"是"、"人工智能"等高频单元。 :不同大模型的词表格式不同(如 Llama 使用 BPE 分词,Qwen 使用 SentencePiece 分词),扩展时需适配对应分词器。
机器之心报道 编辑:赵阳 本文初步探讨了不同类型的词表对语言模型训练所产生的影响,研究者使用了 12 个小型的语言模型及 4 个中型的语言模型作为实验对象,并得出了直观简洁的结论。 这些结论可以帮助你选择最合适的词表来训练语言模型。 不同词表对语言模型有哪些影响?如何权衡这些影响? 在最近的一项实验中,研究者对 16 个语言模型使用不同的语料进行了预训练和微调。 最佳词表规模为 32000。 词表越简单,模型收敛得越快,但收敛后不一定会产生更好的结果。 字词比(每个 token 对应的平均字符数)增加,不会单独对模型质量产生负面影响。 50256-balanced 的性能仅比 SMLQA(Ground Truth)基准上的 32000-balanced 好 1%,但是模型的尺寸却大了 13%。 这一点在 "中等"(MEDIUM)模型中体现得最为明显,如下面的图表所示。 单字词表的性能略好于 TokenMonster 默认的每个 token 对应多个字的词表。
什么是fastText 2. n-gram表示单词 3. fastText模型架构 4. fastText核心思想 5. 输出分类的效果 6. fastText与Word2Vec的不同 7. ⽆论是在跳字模型还是连续词袋模型中,我们都将形态不同的单词⽤不同的向量来表⽰。例如,“dog”和“dogs”分别⽤两个不同的向量表⽰,而模型中并未直接表达这两个向量之间的关系。 3. fastText模型架构 之前提到过,fastText模型架构和word2vec的CBOW模型架构非常相似。下面是fastText模型架构图: 注意:此架构图没有展示词向量的训练过程。 仔细观察模型的后半部分,即从隐含层输出到输出层输出,会发现它就是一个softmax线性多类别分类器,分类器的输入是一个用来表征当前文档的向量; 模型的前半部分,即从输入层输入到隐含层输出部分,主要在做一件事情 但在传统的分类器中,用来表征这两段文本的向量可能差距非常大。
从早期的 AlexNet、BERT 到如今的 GPT-4,模型规模从数百万参数扩展到数千亿参数,显著提升了 AI 的语言理解和生成等能力。 Scaling Up: 模型扩容,持续扩展基础模型 Scaling Up 通过增加数据规模、模型参数和计算资源,使 AI 系统的能力得到了显著提升。 计算资源方面,训练和推理所需的硬件、能源和成本呈指数级增长,环境和经济压力使得进一步扩展变得不可持续。 尽管面临挑战,规模化扩展仍是推动 AI 性能边界的关键。 优化计算效率:投机采样,通过近似模型生成候选词,再由目标模型并行验证,加速推理过程;KV Caching,存储注意力机制的中间状态,避免重复计算;混合专家模型,通过任务特定的子模型和门控机制实现高效扩展 其次,外部辅助增强将为小模型提供新的能力扩展途径。
一、什么是MCPMCP(Model Context Protocol,模型上下文协议)是一种新兴的开放协议,于2024年11月由Anthropic公司(Claude的开发者)开源。 它的核心目标是建立一个类似USB-C的标准化协议,统一AI模型与外部资源的交互接口,让AI应用能够像使用扩展坞一样,轻松地连接各种工具和服务。 例如,不同的模型在定义函数调用时,结构和参数格式各不相同,开发者需要针对每个模型进行定制化开发,这不仅耗时耗力,还难以维护。 提高扩展性AI应用可以通过随时“插拔”新的MCP Server来扩展功能。这种灵活的扩展方式,使得AI应用能够快速适应变化,满足不同场景的需求。
Query扩展是一种广泛使用的技术,可以提高搜索系统的召回率。 最近,借助 LLM 强大的理解与生成能力,结合基础大语言模型,使用LLM来帮助查询扩展 诞生了! 在本文中,提出了一种利用大型语言模型(LLM)的生成能力进行查询扩展的方法。 相比之下,作者的工作利用了通用LLM固有的能力,而无需训练或微调模型。 结合LLM的Query扩展 框架图 在本文中,作者建议使用大型语言模型(LLM)来帮助查询扩展。 模型尺寸的影响 为了理解基于LLM的查询扩展器的实际功能和局限性,在图2中比较了不同的模型大小。 作者提出一个大型语言模型并为其提供一个查询,然后使用模型的输出用新的术语扩展原始查询,这些术语有助于文档检索。
更多AI大模型应用开发学习视频内容和资料,尽在聚客AI学院。 一、MCP协议:大模型与外部系统的“神经枢纽”核心价值解耦设计:大模型(Client)专注推理决策,外部操作(Server)交给工具执行动态扩展:新增工具无需修改模型代码,通过JSON-RPC标准化通信安全管控 request.url.path}") return await call_next(request)九、从开发到部署全流程源码与资源:MCP协议规范FastMCP v2文档数学问答应用完整代码掌握MCP架构,你将成为大模型落地的
西湖大学的研究人员利用Foldseek来处理蛋白质结构,将其编码成一维的离散token,并与传统的氨基酸进行结合,形成了结构感知词表(Structure-aware Vocabulary),以此将结构信息嵌入到模型输入中 因此本文使用了一种简单而有效的结构嵌入方式:将结构词表和氨基酸词表计算笛卡尔积(即两两组合),形成新的结构感知词表。 这样对于蛋白质的每个位点,其氨基酸类型和对应的局部结构都能组合成新词表中的某个元素,从而让模型同时考虑到蛋白质的序列与结构信息。 而结构感知词表通过将蛋白质结构编码成一维的结构序列,在尽可能保留结构模式的情况下忽略了精细的坐标数值,因此模型能够有效地利用结构信息而不受到隐藏pattern的影响。 局限 虽然SaProt经过训练展示出了优异的性能,但依然还有一些可以改进的地方,例如: Foldseek默认的结构词表大小只有20,如果有更加精准的结构编码模型,扩大结构表征的词表大小,是不是能进一步提升模型利用结构的能力
此外,该方法使我们能够扩展到迄今为止最大的贝叶斯LLM,其基础模型参数数量是此前工作的四倍。 然而,在将这类方法扩展到大语言模型(LLMs)时,由于 W的维度极高,对这一不可行积分进行良好近似变得愈发困难。 4.6 扩展到更大模型 Yang 等人 [2024a] 和 Wang 等人 [2024] 的先前工作存在一个局限性:他们仅使用了相对较小的、仅有70亿参数的大语言模型。 为此,我们将我们的方法扩展到迄今为止最大的贝叶斯大语言模型——Qwen2.5-32B,其基础参数数量是此前工作的四倍。我们进行了与之前相同的分布内实验,测试集结果如表4所示。 因此,我们认为 ScalaBL 是目前唯一有望扩展到当前前沿大模型(基础参数已超万亿 [Anil 等, 2023])的方法。
通常情况下,Django提供的User模型能够满足我们大部分的需求,但是有时候我们需要给User添加一些格外的功能和信息。 Django支持两种方式来扩展User模型。 代理模型 如果只是需要添加一些功能性操作,可以基于User创建一个代理模型。 关联模型 如果是需要添加格外的字段信息,则可以创建一个与User关联的模型,两者之间的关系为1对1。 这个模型通常称之为profile model,因为大部分情况下这些格外信息都与认证无关。 关联模型 下面创建一个关联模型,给User添加手机信息。 ,它们只是与User模型存在一对一的关联而已。 因此,当创建用户的时候,profile并不会自动创建,可以通过django.db.models.signals.post_save来创建或者更新profile模型。
腾讯位置服务MCPServer由来随着各类AI大模型的发展,快速推动了产业智能化进程,而AI与外部资源的交互,是应用落地的基础支撑。 为了应对用户多样性的需求,产生了丰富的外部工具,但是因为各类大模的不同开发标准,也造成了一个工具无法在不同AI中运行,额外适配要花费大量精力与成本,介于此,MCP协议的推出形成了统一规范,使得AI与外工具的结合更为简单高效 上面内容配置完成后,我们切换到【高级设定】在高级设定页面我们选择具体的模型,这里我们默认【腾讯混元大模型-TurboS长文版(128k)】模型,最大回复长度设为6144,携带上下文论述设置为30添加MCPServer
文章重点探讨指令微调的几个方面:(1)任务数量的扩展,(2)模型规模的扩展,以及(3)链式思考数据上的微调。 实验结果表明,指令微调在任务数量和模型规模上都具有良好的扩展性。它们各自的扩展行为表明未来的研究应进一步扩大任务数量和模型规模。其次,研究了微调对模型执行推理任务的影响。 扩展到540B个参数和1.8K个任务 图 4 表 3 作者首先通过在模型大小和微调任务数量两个方面进行扩展来考察对保留任务性能的影响。对三种PaLM模型大小进行实验:8B、62B和540B。 作为PaLM 62B模型的扩展版本,作者进行了指令微调的cont-PaLM模型,它是从PaLM-62B初始化的62B PaLM模型,并在此基础上进行了额外的500B标记的预训练。 结论 在论文中,作者扩展了指令微调,并通过以下方式对Flan-PaLM进行了训练:(1)扩展到540B参数的语言模型,(2)扩展到1.8K的微调任务,以及(3)在微调中包含链式思维(CoT)数据。
扩展强化学习(RL)为人工智能的持续改进开辟了新的途径,大语言模型(LLMs)有望通过学习利用奖励进行探索,来扩展其训练数据。然而,先前已发表的研究并未取得具有竞争力的成果。 我们的观察表明,上下文长度是大语言模型强化学习持续扩展的一个关键维度。 简单框架:长上下文扩展与改进的策略优化方法相结合,为大语言模型的学习构建了一个简单的强化学习框架。由于我们能够扩展上下文长度,学习到的思维链展现出规划、反思和修正的特性。 VLM 模型性能来自 OpenCompass 基准测试平台(https://opencompass.org.cn/)3.3 长上下文扩展我们使用一个中型模型来研究大语言模型强化学习的扩展特性。 结论我们介绍了 k1.5 的训练方法和系统设计,这是我们最新的通过强化学习训练的多模态大语言模型。从我们的实践中得出的一个关键见解是,上下文长度的扩展对于大语言模型的持续改进至关重要。
在人工智能这个充满无限可能的领域内,通用大模型和垂直大模型各有千秋。就我个人而言,在二者之间的选择上,并不存在偏向某一方的倾向。我觉得应当依据实际应用场景的具体需求,来挑选最为契合的大模型。 通用大模型通用大模型,乃是旨在应对多种任务与数据类型的庞然大物级人工智能模型。 在知识覆盖的广度方面,通用大模型无疑具有明显的优势。当我们对于当下所需模型所涉及的精确专业领域的界限感到模糊不清时,选择通用大模型无疑是一种明智之举。垂直大模型接下来谈谈垂直大模型。 然而,由于垂直大模型的训练内容聚焦于当前行业,其涉猎的范围更集中,数据针对性更强,所以在提供专业咨询时往往更加精准、细致,这也正是垂直大模型的独特价值所在。 因此,对于通用大模型或者垂直大模型,更倾向于哪一方不取决于个人想法,而是取决于用户需要。
对于主要将信息编码为线性矩阵变换权重的密集深度神经网络来说,参数大小的扩展直接与计算和能量需求的增加相关。语言模型需要学习的一个重要信息子集是简单关联。 最近,Meta 的一项新研究使记忆层超越了概念验证,证明了它们在大型语言模型(LLM)扩展中的实用性。 扩展记忆层 扩展记忆层时面临的一个瓶颈是「查询 - 键」检索机制。简单的最近邻搜索需要比较每一对查询 - 键,这对于大型记忆来说很快就变得不可行。 图 4 显示了不同大小的 Memory、MOE 和密集模型在 QA 任务上的扩展性能。 图 1 表明 Memory+ 模型的实际 QA 性能随着记忆大小的增加而不断的增加。 最后,本文在 8B 基础模型和 4096^2 个记忆值的基础上 (64B 记忆参数)扩展了 Memory+ 模型,表 2 报告了结果,发现记忆增强模型的表现明显优于密集基线。
大模型超越AI 目前所指的大模型,是“大规模深度学习模型”的简称,指具有大量参数和复杂结构的机器学习模型,可以处理大规模的数据和复杂的问题,多应用于自然语言处理、计算机视觉、语音识别等领域。 本文将探讨大模型的概念、训练技术和应用领域,以及与大模型相关的挑战和未来发展方向。 大模型是指具有庞大参数数量的机器学习模型。传统的机器学习模型通常只有几百或几千个参数,而大模型则可能拥有数亿或数十亿个参数。 训练大模型的挑战 训练大模型需要应对一系列挑战,包括: 以下是与大模型相关的一些代码示例: 计算资源需求: import tensorflow as tf # 指定使用GPU进行训练 with tf.device 未来的发展方向可能包括: 更高效的训练算法:研究人员将继续致力于开发更高效、可扩展的训练算法,以加快大模型的训练速度。
在人工智能(AI)和机器学习(ML)的快速发展过程中,大模型(Large Models)已经成为推动技术进步的重要力量。当前,业界存在两种主要的大模型开发模式:开源大模型和闭源大模型。 一、开源大模型 开源大模型是指开发者将模型的代码和训练数据公开,使得任何人都可以访问、修改和使用这些资源。 二、闭源大模型 闭源大模型是指模型的代码和数据不对外公开,通常由商业公司开发和维护。代表性的闭源大模型包括OpenAI的GPT-3和Google的BERT。 三、开源大模型与闭源大模型的对比 1.透明性与可控性: 开源大模型的透明性更高,任何人都可以查看和验证其代码和数据,确保模型的行为符合预期。这对于学术研究和技术验证非常重要。 闭源大模型通过控制代码和数据的访问,能够更好地保护用户隐私和数据安全,降低被恶意利用的风险。 五、总结 开源大模型和闭源大模型各有优缺点,适合不同的应用场景和需求。
参考 大模型中的涌现 OpenAI 科学家:幻觉是大模型与生俱来的特性,而非缺陷 大模型「幻觉」,看这一篇就够了|哈工大华为出品 大模型 什么是大模型 大语言模型(LLM)是基于海量文本数据训练的深度学习模型 大模型的模型发展如下图 涌现 参考:大模型中的涌现 什么是涌现?先从蚂蚁开始说起。蚂蚁是自然界中一种个体非常简单,但是群体能力非常强大的生物。 如何解决大模型的「幻觉」问题? 方向一:什么是大模型「幻觉」 大模型出现幻觉,简而言之就是“胡说八道”。 用文中的话来讲,是指模型生成的内容与现实世界事实或用户输入不一致的现象。 OpenAI 科学家 Andrej Karpathy关于大模型幻觉 在 Karpathy 看来: 从某种意义上说,大语言模型的全部工作恰恰就是制造幻觉,大模型就是「造梦机」。 只有大模型助手存在幻觉问题。 方向二:造成大模型「幻觉」的原因 那么致使大模型产生幻觉的原因都有哪些?
为了提高模型的性能,研究者们不断尝试增加模型的参数数量,从而诞生了大模型这一概念。本文将从大模型的原理、训练过程、prompt和相关应用介绍等方面进行分析,帮助读者初步了解大模型。 为了提高模型的性能,研究者们不断尝试增加模型的参数数量,从而诞生了大模型这一概念。本文讨论的大模型将以平时指向比较多的大语言模型为例来进行相关介绍。 相比于传统的循环神经网络(RNN)和长短时记忆网络(LSTM),Transformer具有独特的注意力机制(Attention),这相当于给模型加强理解力,对更重要的词能给予更多关注,同时该机制具有更好的并行性和扩展性 训练三步骤 初步认识了大模型长什么样了,接下来一起来看看如何训练出一个大模型。 除这些外还包括算法优化、隐私和数据安全以及模型可解释性等方面的研究和应用,每天还有很多大模型的应用正在不断涌现,大模型在未来仍然有很大的发展潜力,国内的优秀大模型代表例如百度文心大模型也正在搭建全系统产业化的大模型全景