首页 > 其他分享 >大模型面试题:LLAMA中的FFN层作用是什么?

大模型面试题:LLAMA中的FFN层作用是什么?

时间:2024-11-09 12:45:46浏览次数:3  
标签:面试题 函数 模型 Transformer FFN MLP LLAMA Memory

更多面试题的获取方式请留意我的昵称或看评论区

LLAMA中的FFN层作用是什么?

总结上网上看到的一些分析,毕竟当时Transformer提出来的时候,可能也没考虑到会被研究的这么细。

  • 模型结构本身 [ Attention is Not All You Need: Pure Attention Loses Rank Doubly Exponentially with Depth] 论文中做了实验,对于单纯的self-attentation而不考虑实验残差和MLP的话,我们堆叠了n层,整个模型的秩会很快坍缩,也即所有表征趋于一个vector,而加上了MLP和残差的话会好很多,因此MLP这个东西是必要的。

  • 增加表达能力 升维之后的线性变换通常伴随着一个非线性激活函数。非线性激活函数的引入打破了线性模型的限制,使得模型可以对数据进行更复杂的变换。降维操作将升维后的结果映射回原始维度,从而将这些非线性特征组合到最终的输出中。这种操作增强了模型的表达能力,使其能够表示更加复杂的函数关系。

  • 存储知识 使用了激活函数,如门控类的函数的话,就可以从key-value的角度来看待FFN了,FFN本身占据了Transformer的很大的参数量,对于FFN来说,第一层线性变换是 Key Memory,第二层线性变换是 Value Memory。可以参考论文[Transformer Feed-Forward Layers Are Key-Value Memories]和[End-To-End Memory Networks].

总结:FFN的作用是增加表达能力、模型结构上去掉FFN会导致秩坍缩更快、存储知识

参考: [1] https://www.zhihu.com/question/622085869/answer/3518358912 [2] https://www.zhihu.com/question/665731716

标签:面试题,函数,模型,Transformer,FFN,MLP,LLAMA,Memory
From: https://blog.csdn.net/2401_88821455/article/details/143643365

相关文章

  • 记录一下 Win11 下自编译 Ollama 本地运行 llama3.1
    运行环境Windows11(显卡AMDRadeonRX6650XT)VSCode(用于查找特定代码,在gfx1030附近添加gfx1032)GitGo版本$goversiongoversiongo1.23.3windows/amd64MinGW(编译需要make命令)$make-vGNUMake4.4.1Builtforx86_64-w64-mingw32Copyright(......
  • MySQL面试题
    文章目录目录文章目录1.什么是内连接、外连接、交叉连接、笛卡尔积呢?2.那MySQL的内连接、左连接、右连接有有什么区别?3.说一下数据库的三大范式?4.varchar与char的区别?5.blob和text有什么区别?6.DATETIME和TIMESTAMP的异同?7.MySQL中in和exists的区别?8.MyS......
  • Me-LLaMA——用于医疗领域的新型开源大规模语言模型
    摘要大规模语言模型的出现是提高病人护理质量和临床操作效率的一个重大突破。大规模语言模型拥有数百亿个参数,通过海量文本数据训练而成,能够生成类似人类的反应并执行复杂的任务。这在改进临床文档、提高诊断准确性和管理病人护理方面显示出巨大的潜力。然而,像ChatGPT和......
  • 高级java每日一道面试题-2024年10月29日-JVM篇-简述分代垃圾回收器是怎么工作的?
    如果有遗漏,评论区告诉我进行补充面试官:简述分代垃圾回收器是怎么工作的?我回答:在Java高级面试中,分代垃圾回收器的工作原理是一个重要的考点。下面将详细解释分代垃圾回收器是如何工作的:分代垃圾回收器的基本概念分代垃圾回收器是一种基于对象生命周期的垃圾回收方......
  • 高级java每日一道面试题-2024年10月28日-RabbitMQ篇-RabbitMQ的使用场景有哪些?
    如果有遗漏,评论区告诉我进行补充面试官:RabbitMQ的使用场景有哪些?我回答:RabbitMQ是一个开源的消息代理和队列服务器,它遵循高级消息队列协议(AMQP)。RabbitMQ的核心作用是作为应用程序之间的中介,实现异步消息传递。它可以帮助解耦系统组件、提供消息的持久化、支持消息......
  • Javaweb之servlet常见面试题
    目录什么是Servlet?解释请求转发forward()方法和请求重定向sendRedirect()方法的区别?什么是Session?Session的工作原理?什么是Session?Session的工作原理:Session的特点:说一说HttpServletRequest、ServletContex和HttpSesssion三个对象的作用域?解释下Servlet生命周期?JSP和S......
  • Kafka面试题总结
    1、kafka消息发送的流程?2、Kafka的设计架构你知道吗?3、Kafka分区的目的?4、你知道Kafka是如何做到消息的有序性?5、ISR、OSR、AR是什么?6、Kafka在什么情况下会出现消息丢失7、怎么尽可能保证Kafka的可靠性8、Kafka中如何做到数据唯一,即数据去重?9、生产者如何提高......
  • Java面试系列-SpringCloud面试题20道,服务注册与发现,断路器,智能路由,熔断,追踪,网关,调用,限
    文章目录1.SpringCloud是什么?2.SpringCloud中的服务注册与发现是如何工作的?3.SpringCloud中的配置管理是如何工作的?4.SpringCloud中的断路器(Hystrix)是如何工作的?5.SpringCloud中的智能路由(Zuul)是如何工作的?6.SpringCloud中的服务熔断(Resilience4j)......
  • 程序员面试题目之栈的用法
    【题目】        实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。【要求】        1.pop、push、getMin操作的时间复杂度都是O(1)。        2.设计的栈类型可以使用现成的栈结构。【解答】......
  • Java面试系列-MySQL面试题20道,InnoDB,索引类型,事务隔离级别,锁机制,MVCC,主从复制,慢查询,分
    文章目录1.MySQL中的InnoDB和MyISAM存储引擎有什么区别?2.MySQL中的索引类型有哪些?3.MySQL中的索引是如何工作的?4.MySQL中的事务隔离级别有哪些?5.MySQL中的锁机制有哪些?6.MySQL中的MVCC(多版本并发控制)是如何工作的?7.MySQL中的主从复制是如何工作的?8.MySQL中的分区......