翻译|解开LLMs的神秘面纱:他们怎么能做没有受过训练的事情?
大语言模型(LLMs)通过将深度学习技术与强大的计算资源结合起来,正在彻底改变我们与软件互动的方式。

虽然这项技术令人兴奋,但许多人也担忧LLMs可能生成虚假的、过时的或有问题的信息,他们有时甚至会产生令人信服的幻觉(产生不存在的信息)。值得庆幸的是,我们可以立即澄清一个谣言。根据GitHub Copilot的机器学习(ML)高级研究员Alireza Goudarzi的说法:“LLMs并未接受推理训练。它们并不试图理解科学、文学、代码或其他任何事物。它们只是被训练来预测文本中的下一个标记。
让我们深入了解LLMs如何做出意想不到的事情,以及为什么会这样。本博客文章将全面介绍LLMs,包括它们的训练方法和伦理考虑。我们的目标是帮助你更好地了解LLM的能力,以及他们为什么他们能在没有训练的情况下掌握语言。
什么是大语言模型
LLMs是在大量文本数据上进行训练的人工智能系统,使它们能够生成类似人类的行为,并以传统机器学习模型无法做到的方式理解自然语言。
“这些模型使用深度学习领域的先进的tricks,涉及多层深度神经网络的训练,用于学习复杂的模式和关系。”GitHub Copilot团队的机器学习高级研究员John Berryman解释道。
LLMs的独特之处在于它们擅长概括和理解上下文。他们不受预定的规则或模式的限制,而是通过大量数据学习,形成对语言的独立理解。这使它们能够对各种提示和查询生成连贯而上下文适当的响应。
尽管LLMs因此可以成为非常强大且灵活的工具,但用于训练它们的机器学习方法以及它们的训练数据的质量或限制,有时也可能导致生成不准确、不实用和不可靠信息的偶发性失误。
Deep Learning
现代机器学习实践的出现,如深度学习,已经成为释放LLMs潜力的重要变革者。与依赖预定义规则和模式的最早语言模型不同,深度学习使这些模型能够以更类似人类的方式生成自然语言输出。
“深度学习和神经网络的整个学科基础是‘我们可以将规则简化到多么简单,以尽可能接近人脑的行为?’”Goudarzi说道。
通过使用具有多层的神经网络,深度学习使LLMs能够分析和学习语言数据中的复杂模式和关系。这意味着这些模型可以生成连贯而上下文适当的响应,即使面对复杂的句子结构、成语表达和语言中微妙的细微差别。
虽然初始的预训练赋予了LLMs广泛的语言理解能力,但精调是它们变得多才多艺和适应性强的地方。“当开发者希望这些模型执行特定任务时,他们提供任务描述和示例(few-shot learning)或仅提供任务描述(zero-shot learning)。然后,模型根据这些信息对其预训练的权重进行精细调整,”Goudarzi说。这个过程帮助模型适应特定任务,同时保留它在广泛预训练中获得的知识。
但即使深度学习的多层和注意机制使LLMs能够生成类似人类的文本,它也可能导致过度概括,即模型生成的响应可能在上下文中不准确或过时。
为什么LLM不是总是正确的
有几个因素可以解释为什么基于LLMs构建的工具有时可能不准确,即使听起来相当令人信服。
1、有限的知识和过时的信息
LLMs通常缺乏对外部世界或实时背景的理解。它们仅依赖于它们接受训练的文本,而且它们没有对世界当前状态的固有意识。GitHub Next研究与开发团队的首席研究员Albert Ziegler表示:“通常整个训练过程需要很长时间,对于任何给定的LLM,训练数据过时两年是很常见的情况。”
这一限制意味着它们可能基于过时的假设生成不准确的信息,因为它们无法实时验证事实或事件。如果它们在接受训练后的某个领域或主题发生了发展或变化,LLMs可能不会意识到这些变化,可能提供过时的信息。这就是为什么仍然重要的原因,即使看起来基于事实,也要对从LLM收到的任何响应进行事实核查。
2、缺乏上下文信息
LLMs有时提供不正确信息的主要原因之一是缺乏上下文。这些模型在很大程度上依赖于输入文本中提供的信息,如果输入模糊或缺乏细节,模型可能会做出导致不准确响应的假设。
3、训练数据偏差和局限性
LLMs在预训练期间接触到大量未标记的文本数据集,这些数据集是多样化的,代表了模型应该理解的语言。常见的数据来源包括书籍、文章、网站,甚至是社交媒体帖子!
由于这个原因,它们可能会无意中产生反映这些偏见或在训练数据中存在的不正确信息的响应。在涉及敏感或有争议的主题时,这尤其令人担忧。
Ziegler表示:“它们的偏见往往更严重。这适用于机器学习总体,而不仅仅是LLMs。机器学习的做法是识别模式,而诸如刻板印象之类的东西可能变成极为方便的简便表达。它们可能是真实存在的模式,或者在LLMs的情况下,是基于人类偏见的模式,这些偏见可能是明确讨论或隐含使用的。”
如果模型在包含有偏见或歧视性语言的数据集上进行训练,它可能生成具有偏见或歧视性的响应。这可能产生实际影响,例如强化有害的刻板印象或歧视性实践。
4、过度自信
LLMs没有评估它们生成信息准确性的能力。由于它们的深度学习,它们通常以高度自信的方式提供响应,优先生成看起来合理且流畅的文本,即使信息是不正确的时候也是如此!
5、幻觉
LLMs有时会因为它们生成文本的方式(通过模式和关联)而产生“幻觉”。有时,在面对不完整或模糊的查询时,它们试图通过借助这些模式来完成它们,有时生成的信息可能不准确或不符合事实。最终,这些幻觉并不得到证据或真实世界数据的支持。
例如,假设你询问ChatGPT关于20世纪的一个历史问题。相反,它可能描述两位从未真正见过面的著名历史人物之间的会面!
在GitHub Copilot的背景下,Ziegler解释说,“我们遇到的典型幻觉是当GitHub Copilot开始谈论甚至不存在的代码时。我们的缓解措施是确保它为它谈论的每一段代码提供足够的上下文,以便我们可以检查并验证它实际上是否存在。”
但GitHub Copilot团队已经在思考如何在编码的“自上而下”方法中利用幻觉。想象一下,你正在解决一个积压问题,而你希望GitHub Copilot给出建议。正如GitHub Next的首席研究员Johan Rosenkilde所解释的那样,“理想情况下,你希望它提出对你复杂问题的一个子划分,委托给 nicely delineated 的助手函数,并为这些助手给出良好的名称。在建议调用(尚不存在的)助手的代码后,你希望它还能提出它们的实现!”
这种对幻觉的处理方式就像获得解决编码挑战的蓝图和构建块一样。
LLMs的使用道德和责任倡导
使用LLMs时要注意伴随而来的伦理考虑是很重要的。话虽如此,尽管LLMs有生成虚假信息的潜力,但它们并不是有意伪造或欺骗。相反,这些问题源于模型试图基于其训练数据学到的模式和信息生成一致和与上下文相关的文本。
GitHub Copilot团队已经开发了一些工具来帮助检测有害内容。Goudarzi说:“首先,我们有一个重复检测过滤器,它帮助我们检测生成的代码与我们可以访问的所有开源代码之间的匹配,从而过滤掉这样的建议。我们使用的另一个工具是名为“负责任人工智能”(RAI)的分类器,它可以过滤掉滥用词汇。最后,我们还单独过滤掉已知的不安全模式。”
了解LLMs背后的深度学习过程可以帮助用户理解它们的局限性以及它们的积极影响。为了有效地应对这些问题,关键是要从可靠的来源验证信息,提供清晰而具体的输入,并在解释LLMs生成的响应时运用批判性思维。
正如Berryman提醒我们的那样,“引擎本身是无道德的。用户可以随心所欲地使用它们,这可以涵盖从道德到不道德的整个范围。但通过意识到这些问题并积极致力于道德实践,我们可以确保LLMs被以一种负责任和有益的方式使用。”
开发人员、研究人员和科学家不断努力提高这些模型的准确性和可靠性,使它们成为未来越来越有价值的工具。我们所有人都可以倡导对LLMs的负责任和道德使用。这包括在这些模型的开发和部署中促进透明性和问责制,以及在我们互联网角落中采取措施减轻偏见和刻板印象。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关文章:
翻译|解开LLMs的神秘面纱:他们怎么能做没有受过训练的事情?
大语言模型(LLMs)通过将深度学习技术与强大的计算资源结合起来,正在彻底改变我们与软件互动的方式。 虽然这项技术令人兴奋,但许多人也担忧LLMs可能生成虚假的、过时的或有问题的信息,他们有时甚至会产生令人信服的幻…...
代码随想录-DAY⑦-字符串——leetcode 344 | 541 | 151
344 思路 没啥好说的, 双指针头尾交换, 相遇结束。 时间复杂度:O(n) 空间复杂度:O(1) 代码 class Solution { public:void reverseString(vector<char>& s) {int left0, rights.size()-1;while(left<right){swa…...
JavaScript(7)——数组
JavaScript中数组的用法与Java差不多,但还是有一些区别 声明数组 语法: let 数组名 [数据1,数据2,数据...] let arr new Array(数据1,数据2,...数据n) 添加数据 数组.push()方法将一个或多个元素添加到数组末尾,并返回该数组新长度 <script>…...
Spark RDD优化
Spark RDD优化 一、分区优化二、持久化优化三、依赖优化四、共享变量优化五、提交模式与运行模式优化六、其他优化 一、分区优化 分区数调整:RDD的分区数可以通过repartition和coalesce方法进行调整。合理的分区数可以提高并行度,但过多的分区会增加管…...
idea:解决Maven报错 Properties in parent definition are prohibited
在父pom文件中定义了 <dhversion>1.0-SNAPSHOT</dhversion> 在子模块中引用 <parent><groupId>com.douhuang</groupId><artifactId>douhuang-springcloud</artifactId><version>${dhversion}</version> </parent&…...
代理IP池:解析与应用
代理IP大家都了解不少了,代理IP池又是什么呢?下面简单介绍一下吧! 1. 概述 代理IP池就是由多个代理IP地址组成的集合,用于实现更高效的网络访问和数据获取。这些IP地址通常来自不同的地理位置和网络提供商,经过动态管…...
MQTT是什么,物联网
写文思路: 以下从几个方面介绍MQTT,包括:MQTT是什么,MQTT和webSocket的结合,以及使用场景, 一、MQTT是什么 MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅消息…...
分布式训练
一、分布式计算 跟多GPU不同是:数据不是从主存拿的,是在分布式文件系统拿的,有多个工作站,工作站中有多个GPU,通过网络读取数据到GPU中,GPU通过网络接收到来自参数服务器的参数进行运算计算梯度,…...
day10:04一文搞懂decode和decoding的区别
在Python 3中,decode()方法和decoding概念同样与字符串的编码和解码紧密相关,但它们的应用场景和上下文有所不同。下面通过案例来解释它们的关系和区别。 1. decode() 方法 decode()方法是字节串(bytes)类型的一个方法ÿ…...
MechMind结构光相机 采图SDK python调用
测试效果 Mech-Mind结构光相机 Mech Mind(梅卡曼德)的结构光相机,特别是Mech-Eye系列,是工业级的高精度3D相机,广泛应用于工业自动化、机器人导航、质量检测等多个领域。以下是对Mech Mind结构光相机的详细解析: 一、产品概述 Mech Mind的结构光相机,如Mech-Eye PRO,…...
“学习Pandas中时间序列的基本操作“
目录 # 开篇 1. 创建和操作时间序列对象 2. 时间序列数据的读取和存储 3. 时间序列数据的索引和切片 4. 时间序列数据的操作和转换 5. 时间序列数据的可视化 6. 处理时间序列中的缺失值 7. 时间序列数据的聚合和分组 8. 时间序列的时间区间和偏移量操作 示例代码&…...
常用知识碎片 分页组件的使用(arco-design组件库)
目录 分页组件使用 API 组件代码示例 使用思路: 前端示例代码 html script 后端示例代码 Controller Impl xml 总结 分页组件使用 使用Arco Design之前需要配置好搭建前端环境可以看我另外一篇文章: 手把手教你 创建Vue项目并引入Arco Desi…...
WPF 制作一个文字漂浮提示框
WPF好像没有自带的文字提示漂浮,我们可以定制一个。 效果如下: xaml xaml如下: <Window x:Class"GroupServer.MsgTip"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sc…...
Node.js_fs模块
文件删除 文件重命名和移动(本质都是修改路径) 文件夹操作 创建文件夹(mkdir) 读取文件夹(readdir) (打印出来是该文件夹下名称的数组形式) 读取当前的文件夹(readdir) 删除文件夹 (rmdir) 查看资源状态…...
使用 Vue 3 实现打字机效果
在现代前端开发中,添加一些视觉效果可以提升用户体验。其中,打字机效果是一种常见且吸引人的效果,可以用于展示动态文本。本文将介绍如何在 Vue 3 中实现打字机效果。 实现步骤 1. 创建自定义指令 我们首先创建一个自定义指令 v-typewriter…...
unordered_map和set
前言:本篇文章继续分享新的容器unordered_map和set。前边我们分享过map和set,其底层为红黑树,而unordered_map和set的底层则为哈希表,因此在unordered_map和set的实现中,我们可以效仿许多在map和set的中就分享过的一些…...
java:运用字节缓冲输入流将文件中的数据写到集合中
代码主要是将文本文件中的数据写到集合中,运用到的是java字节缓冲输入流的知识点。 public static void main(String[] args) throws IOException {//创建字符缓冲流输入对象BufferedReader bufferedReader new BufferedReader(new FileReader("student.txt&q…...
【机器学习】支持向量机与主成分分析在机器学习中的应用
文章目录 一、支持向量机概述什么是支持向量机?超平面和支持向量大边距直觉 二、数据预处理与可视化数据集的基本信息导入必要的库加载数据集数据概况数据可视化特征对的散点图矩阵类别分布条形图平均面积与平均光滑度的散点图变量之间的相关性热图 三、模型训练&am…...
SpringBoot项目架构实战之“网关zuul搭建“
第三章 网关zuul搭建 前言: 1、主要功能 zuul主要提供动态路由(内置ribbon实现)和过滤(可以做统一鉴权过滤器、灰度发布过滤器、黑白名单IP过滤器、服务限流过滤器(可以配合Sentinel实现))功能…...
发挥储能系统领域优势,海博思创坚定不移推动能源消费革命
随着新发展理念的深入贯彻,我国正全面落实“双碳”目标任务,通过积极转变能源消费方式,大幅提升能源利用效率,实现了以年均约3.3%的能源消费增长支撑了年均超过6%的国民经济增长。这一成就的背后,是我国能源结构的持续…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
