ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
谷歌揭秘大模型不会数r原因:嵌入维度是关键,不止分词器问题
8642点击    2024-09-04 22:03

大模型做奥赛题游刃有余,简单的数数却屡屡翻车的原因找到了。


谷歌的一项新研究,发现大模型不会数数的原因,并不是简单的tokenizer所致,而是没有足够的空间来存储用于计数的向量



数出一段话中某个单词出现的次数,这样简单的任务可以难倒许多大模型,GPT-4o、Claude 3.5也无法幸免。


如果再进一步,想要找到出现频率最高的一个词,更是难如登天,即便能蒙对给出的具体数量也是错的。



有人认为是词汇的token化导致了大模型看到的“词”和我们的看法不一致,但论文表明,实际情况并不是这么简单。



想数清单词,嵌入维度要够大


Transformer的计数能力与其嵌入维度d和词汇量m(指词汇表中词的数量,非序列长度)的关系密切相关。


详细的原因,就涉及到了Transformer统计词频时的机制。


Transformer通过一种特殊的嵌入方式,利用嵌入空间的线性结构,巧妙地将计数问题转化为了向量加法


具体说是将每个词映射到一个独特的正交向量上,在这种表示下,词频可以通过对这些正交向量求和来简单地计算



然而,这种机制的局限性在于,它要求词汇表中的每个词都有一个独立的正交向量表示,因此嵌入维度必须大于词汇量


嵌入维度不足时,词向量就无法保持正交性,词频的线性叠加也就无法实现了。


此时Transformer要实现计数,可以通过注意力机制(CountAttend)来实现,但需要一个随序列长度n线性增长的大型“逆转MLP”层。


具体来说,模型首先通过注意力赋予被查询词较大的权重,再利用位置编码将注意力权重提取到值向量的最后一个元素,这个元素实际记录了被查询词的出现频率的倒数。


这意味着,模型需要一个大小为O(n)的MLP层来计算1/x函数(x为某个词出现的次数)


但进一步分析表明,任何常数层ReLU网络都无法在o(n)的神经元数量下逼近1/x函数


因此,对于固定规模的Transformer,这种方案无法推广到任意长度的序列。当序列长度超出训练集长度时,模型的计数能力会急剧恶化。



长度非主要因素,词汇表中数量是关键


为了验证这一结论,作者一共进行了两个实验。


第一个实验,是在一个从头开始训练的Transformer模型上进行的,具体有关参数如下:


  • 使用一个由两个Transformer层、四个注意力头组成的标准模型;

  • 嵌入维度d的取值范围为8到128;

  • 对每个固定的d,词汇量m从5到150变化,分别测试20个不同的值;

  • 模型使用Adam优化器从零开始训练,批量大小为16,学习率为10^-4,训练10万步。

训练和评测数据通过随机采样生成。首先从大小为m的词汇表中均匀采样n个词,构成一个长度为n的序列。


序列长度n设置为n=10m,平均每个词出现的次数固定为10次,一共使用了1600个样本进行测试。


作者发现,随着词汇量的增加,模型的计数准确率呈阶梯状下降,临界点恰好出现在词汇量超过嵌入维度的时刻


为了进一步量化模型的计数能力,作者定义了一个指标m_thr,表示模型的计数准确率下降到80%时的临界词汇量。


直观地说,m_thr反映了在给定嵌入维度下,模型可以“承受”的最大词汇量,m_thr越大说明模型的计数能力越强。


结果显示,对于计数(QC)和找出最高频词(MFC)的任务,m_thr都随嵌入维度d的增大而近似线性增长



第二个实验则是在预训练的Gemini 1.5模型上开展,在这个实验中,作者更关注词汇量对计数能力的影响。


他们设计了一系列计数任务,每个任务使用不同大小的词汇表,并把每个词在序列中出现的平均次数固定。


这意味着,在实验组当中,词汇量越大,序列长度也就越长。


作为对照,作者还设置了一个“Binary Baseline”,词汇表中只有固定为两个词,但序列长度与主实验组相同。


这样一来,就可以判断出带来模型计数误差的究竟是词汇量还是序列长度。


实验结果显示,随着词汇量的增加,Gemini 1.5在计数任务上的平均绝对误差显著上升,而“Binary Baseline”的误差要低得多。



这表明,词汇量的增加,而非序列长度的增长,是导致大模型计数能力下降的主要原因。


不过作者也表示,虽然这项研究一定程度上划定了大模型计数能力的上下界,但这些界限还不够紧致,距离理想的结果还有一定差距。


同时,作者也没有探究增加Transformer的层数是否会改变这一结论,需要未来开发新的技术工具才能进一步验证。


文章来源于“量子位”,作者“克雷西”


关键词: AI , GPT-4o , Claude 3.5 , 大模型
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI数据分析

【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。

项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file

本地安装:https://www.deepbi.com/

【开源免费airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。

项目地址:https://github.com/hitsz-ids/airda

2
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

3
免费使用GPT-4o

【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。

在线使用:https://ffa.chat/