【AI非常道】二零二五年一月,AI非常道
经常在社区看到一些非常有启发或者有收获的话语,但是,往往看过就成为过眼云烟,有时再想去找又找不到。索性,今年开始,看到好的言语,就记录下来,一月一发布,亦供大家参考。
有关AI非常之言语,即AI非常道!
《思考,快与慢》视觉笔记 by Daniel Kahneman
来自微博@爱可可-爱生活
大脑的两种思维模式:快与慢,就像一对默契的搭档,却各自有着截然不同的个性。
快思维(系统1)是我们的“本能反应手”:它感性、直觉、不假思索。就像你看到熟人时脱口而出的问候,或是对危险的本能躲避 - 这些都是它的杰作。它遵循“最小努力原则”,总想用最省力的方式解决问题。
慢思维(系统2)则是我们的“理性顾问”:它统计、分析、深思熟虑。当你需要做出重要决策,比如评估投资风险或解决复杂问题时,它就会接管指挥权。它不满足于表面数据,而是会追问:“我们的判断是基于什么统计基础?有足够的信息支撑这个结论吗?”
有趣的是,这两个系统经常会产生有趣的互动。比如“晕轮效应”:仅仅因为第一印象不错,就对一个人好感倍增。而当我们回忆过去时,“当下的我”和“记忆中的我”也常常会得出不同的评价。
要做出更明智的决策,关键是学会在两种思维模式间取得平衡:既要保持直觉的敏锐,又要用理性的视角去审视和校正。这样,我们才能避免被“半知半解”的认知误导,做出真正明智的选择。
RAG vs. Agentic RAG
来自微博@黄建同学
RAG(Retrieval-Augmented Generation)与 Agentic RAG 的主要区别在于它们的功能范围和执行方式,以下是详细对比:
- RAG(Retrieval-Augmented Generation):
将检索(Retrieval)和生成(Generation)结合。
系统会从外部知识库中检索相关信息,并利用生成式模型(如 GPT)结合检索结果生成回答。
① 被动性:只根据检索到的内容生成答案,没有主动行为。
② 固定任务:用于问答、文档总结等静态任务。
③ 主要用途:解决基于知识库的问答问题、改善生成式模型的回答准确性。
④ 优点:减少幻觉(hallucination)问题,因为答案基于具体检索的事实;可扩展性好,可以连接多种外部知识库。
- Agentic RAG:
在传统 RAG 的基础上引入代理能力,使模型能够采取主动步骤。具有执行逻辑、决策能力,能自主规划任务并动态调整行为。
① 主动性:不仅生成答案,还能执行动作(如调用工具、执行代码)。
② 动态性:根据任务要求调整策略,支持复杂任务拆解和多步骤执行。
③ 自主学习:可以迭代优化生成过程,通过与外部交互改进结果。
④ 主要用途:复杂的多步骤任务(如数据分析、自动化操作)、动态环境中的任务执行(如实时数据监控和处理)、需要强交互能力的应用场景(如编程助手、问题推理)。
④ 优点:任务自动化能力更强;适应复杂、动态场景;更智能化的决策和工具调用。
简单来说,RAG 是一种增强问答准确性的技术,而 Agentic RAG 是在此基础上加入了自主性,能执行更复杂的任务并具有更高的智能化水平。
RAG vs. Agentic RAG
DeepSeek是如何改善Transformer架构的?
来自微博@高飞
epoch专家撰写了一篇技术博客(链接:网页链接),对DeepSeek v3的技术架构做了一番分析。结论是:“我看到DeepSeek所做的许多改进在“事后看来是显而易见的”:它们是那种如果有人事先问我,我会说是好主意的创新。然而,正如我之前所说,这并不意味着最初想出这些想法是容易的”。
DeepSeek 最近发布了 DeepSeek v3,该版本在开放权重模型中在基准性能方面处于最先进水平,并附有一份技术报告,详细描述了该模型的 training。令人印象深刻的是,他们仅使用了 280 万 H800 小时的 training 硬件时间就达到了这一 SOTA 性能——如果假设 40% 的 MFU,这相当于大约 4e24 FLOP。这比同样表现的 Llama 3.1 405B 所需的计算量少了大约十倍 training。
在本期中,我将介绍DeepSeek在其报告中强调的一些重要架构改进,以及为什么我们应该期待它们在性能上优于普通的Transformer。完整的技术报告还包含大量非架构细节,如果您想更好地了解在协调中等规模的training运行时需要解决的工程问题,我强烈建议您阅读它。
- 多头潜在注意力(MLA)
多头潜在注意力(简称为 MLA)是 DeepSeek 模型在长上下文推理中的最重要架构创新。该技术首次在 DeepSeek v2 中引入,是一种比传统方法(如分组查询和多查询注意力)更优越的减少 KV 缓存大小的方法。
我将简要解释一下 KV 缓存的内容。如果您对此很熟悉,可以直接跳到下一小节。
- KV 缓存是什么,为什么它很重要?
当Transformer在推理过程中用于顺序生成tokens时,它需要查看所有过去tokens的上下文,以决定下一个输出哪个token。这样做的简单方法是每次想要生成新的token时,进行一次包含所有过去tokens的前向传播,但这效率低下,因为那些过去的tokens已经被处理过。我们只是在重新计算之前已经获得并丢弃的结果。
为了避免这种重新计算,缓存所有过去 tokens 的相关内部状态 Transformer 是高效的,然后在我们需要它们用于未来 tokens 时从这个缓存中检索结果。因为过去 tokens 对未来 tokens 的影响仅通过它们在注意力机制中的键和值向量,因此只需缓存这些向量。这就是键值缓存或简称 KV 缓存名称的来源。
当上下文长度较短时,这种方法效果很好,但当长度变长时可能会变得昂贵。这是因为缓存读取并不是免费的:我们需要将所有这些向量保存在 GPU 高带宽内存(HBM)中,然后在需要将它们参与计算时将它们加载到张量核心中。如果每个token都需要知道其所有过去的上下文,这意味着对于我们生成的每个token,我们必须从 HBM 中读取整个过去的 KV 缓存。
在一个标准的多头注意力机制的基础上,过去每个 token 的 KV 缓存参数数量可以表示为:
2 * 注意力头维度 * 注意力头数量 * Transformer 块数量
例如,GPT-3 有 96 个注意力头,每个头有 128 个维度和 96 个块,因此对于每个 token,我们需要一个 2.36M 参数的 KV 缓存,或者在每个 KV 缓存参数精度为 2 字节的情况下为 4.7 MB。
GPT-3 不支持长上下文窗口,但如果暂时假设它支持,那么在 100K 上下文长度下生成的每个额外 token 将需要 470 GB 的内存读取,或者大约 140 毫秒的 H100 时间,考虑到 H100 的 HBM 带宽为 3.3 TB/s。每百万个 tokens 的价格为每小时每个 H100 2 美元,那么价格将是 80 美元,约为 Claude 3.5 Sonnet 客户价格的 5 倍(这可能远高于其自身的 Anthropic 成本)。这种简单的成本可以通过例如投机采样来降低,但它提供了一个合理的粗略估计。
这个粗略的计算显示了在处理 100K 或以上的上下文长度时,减少 KV 缓存大小的重要性。目前开源模型中最流行的方法是分组查询注意力。在这种架构设置中,我们为每对键和值头分配多个查询头,有效地将查询头分组在一起——因此得名。这将 KV 缓存的大小减少到我们选择的组大小的一个倍数。在如Llama 3.3 70B 和 Mistral Large 2 等模型中,分组查询注意力将 KV 缓存大小减少了大约一个数量级。
- 击败分组查询注意力
诸如分组查询注意力或 KV 缓存量化等方法的根本问题在于,它们涉及在降低 KV 缓存大小的同时妥协模型质量。与此不同,DeepSeek找到了一种在不妥协质量的情况下减少 KV 缓存大小的方法,至少在他们的内部实验中是这样。
他们通过将残差流中键和值向量的计算转变为一个两步过程来实现这一点。在一个普通的Transformer中,键和值向量是通过直接将残差流向量与形状为的矩阵相乘来计算的。
(头数 · 头部尺寸)x (模型尺寸)
DeepSeek的方法本质上强制这个矩阵为低秩:他们选择一个潜在维度,并将其表示为两个矩阵的乘积,一个矩阵的维度为潜在维度乘以模型维度,另一个矩阵的维度为(头的数量·头的维度)乘以潜在维度。然后,在推理过程中,我们只缓存潜在向量,而不是完整的键和值。通过减小潜在维度,我们可以缩小 KV 缓存的大小。
天真地说,这不应该解决我们的问题,因为每次需要生成新的 token 时,我们都必须重新计算实际的键和值。毕竟,我们需要完整的向量才能使注意力机制正常工作,而不是它们的潜在表示。多头潜在注意力基于一个巧妙的观察,即这实际上并不正确,因为我们可以将计算从潜在表示中上采样的键和值向量的矩阵乘法与查询和后注意力投影合并。
低秩压缩之所以如此有效,是因为不同注意力头需要了解的信息之间存在大量重叠。如果我们对单个头的键和值向量使用低秩压缩,而不是对所有头的所有键和值进行堆叠,那么该方法实际上等同于一开始就使用更小的头维度,我们将不会获得任何收益。利用不同头需要访问相同信息的事实对于多头潜在注意力机制至关重要。
诸如分组查询注意力的方法利用了相同重叠的可能性,但它们通过强制分组在一起的注意力头对查询做出相似的响应而效果不佳。换句话说,信息共享变得与在某种限制意义上具有相同的行为相耦合,这显然是一种不理想的特性。另一方面,低秩压缩允许不同的注意力头以非常不同的方式使用相同的信息。从理论上讲,这甚至可能对training产生有益的正则化效果,而DeepSeek在其技术报告中发现了这种效果。
我将其视为那些在事后看来显而易见的创新,但实际上需要对注意力头的实际作用有很好的理解才能提出这个想法。一旦你看到这种方法,立刻就会明白它不可能比分组查询注意力更糟,而且很可能会显著更好。然而,想出尝试这个想法是另一回事。
- 专家混合创新
最受欢迎的改进之一是引入了混合专家(MoE)模型。这些模型将Transformer的前馈块划分为多个不同的专家,并添加了一种路由机制,以上下文相关的方式将每个token发送到少数这些专家。这意味着模型可以拥有比每个特定token激活的更多参数,从某种意义上说,将模型的知识量与处理单个tokens的算术成本解耦。目前已知的最具影响力的 MoE 模型可能是原始的 GPT-4。
专家路由算法的工作原理如下:一旦我们退出任何层的注意力块,我们就会得到一个残差流向量作为输出。每个专家都有一个相应的相同维度的专家向量,我们通过查看与当前残差流的内积最高的专家来决定哪些专家将被激活。
这个问题在于它在模型的核心引入了一个表现不佳的间断函数,具有离散的图像,这与实现连续输入输出关系的普通Transformers形成鲜明对比。这导致梯度下降优化方法在 MoE training中表现不佳,常常导致“路由崩溃”,模型总是激活同几个专家,而不是将其知识和计算分散到所有可用的专家中。
为了直观理解路由崩溃,考虑尝试训练一个模型,例如总共有 16 个专家的 GPT-4,每token激活 2 个专家。现在,假设由于随机初始化的原因,这两个专家恰好是开始时表现最好的专家。梯度下降将加强选择这些专家的倾向。这意味着在更新过程中,这些专家几乎会获得所有的梯度信号并变得更好,而其他专家则滞后,因此其他专家将继续不被选择,产生一个正反馈循环,导致其他专家永远不会被选择或训练。
根本问题在于梯度下降只是朝着局部最优的方向前进。这通常在神经网络 training 中遇到的高维优化问题中效果良好。然而,当我们的神经网络在其行为上如此不连续时,即使问题空间的高维度也可能无法拯救我们免于失败。
解决这些training困难并非易事。DeepSeek v3 通过结合几种不同的创新来实现这一点,我将逐一讨论每一种。
- 辅助无损失负载均衡
避免路由崩溃的一个流行方法是强制“平衡路由”,即每个专家在足够大的批次中大致被激活相同次数的属性,通过向training损失添加一个测量特定批次中专家路由不平衡程度的项。这个项被称为“辅助损失”,引入它使模型朝向平衡路由的方向发展是合乎直觉的。然而,DeepSeek v3 技术报告指出,即使它确保了平衡路由,这种辅助损失也会损害模型性能。
他们的替代方案是向路由机制添加专家特定的偏置项,这些偏置项会被添加到专家亲和力中。这些偏置项不是通过梯度下降更新的,而是在training期间进行调整,以确保负载平衡:如果某个特定专家的访问量没有达到我们认为的应有水平,那么我们可以在每个梯度步骤中将其偏置项略微增加一个固定的小量,直到达到预期水平。技术报告指出,这种方法比依赖辅助损失实现了更好的性能,同时仍然确保了适当的负载平衡。
- 共享专家
上述解决路由崩溃的方法存在一个严重问题,即它在没有任何理由的情况下假设一个经过最佳训练的 MoE 将具有平衡的路由。然而,这一假设是值得怀疑的。
要理解原因,可以考虑任何大型语言模型可能有少量信息被频繁使用,而有大量信息则很少使用。例如,几乎任何对LLM的英语请求都要求模型知道如何说英语,但几乎没有对LLM的请求会要求它知道 1510 年法国国王是谁。因此,最优的 MoE 很可能应该有一些专家被频繁访问并存储“常见信息”,同时还有一些专家被稀疏访问并存储“专业信息”。
如果我们强制平衡路由,我们将失去实施这种路由设置的能力,并且不得不在不同的专家之间冗余地复制信息。然而,如果我们不强制平衡路由,我们面临路由崩溃的风险。为了摆脱这个困境,DeepSeek将专家分为两种类型:共享专家和路由专家。共享专家无论如何总是被路由:它们在专家亲和力计算和任何可能的路由不平衡损失项中都被排除在外。我们只关注确保路由专家的平衡路由。
这里的关键观察是,“路由崩溃”是一种极端情况,在这种情况下,每个单独专家被选择的可能性要么是 1,要么是 0。简单的负载均衡通过试图将分布推向均匀来解决这个问题,即每个专家应该有相同的被选择机会。然而,如果我们唯一关心的是避免路由崩溃,那么就没有理由特别针对均匀分布。DeepSeek v3 则针对一种分布,其中每个专家要么肯定被选择(概率为 1),要么以某个固定概率 p > 0 被选择。token
我认为即使这种分布也可能不是最优的,选择更好的分布将会产生更好的 MoE 模型,但这已经比仅仅强制使用均匀分布有了显著改善。
- 多重token预测
DeepSeek v3 对原始 Transformer 的最终更改是能够在模型的每次前向传播中预测多个 tokens。这使得他们能够在 training 期间使用多 token 预测目标,而不是严格的下一个 token 预测,并且他们在消融实验中展示了这一变化带来的性能提升。
基本思想如下:我们首先进行一次普通的前向传播以进行下一个token预测。与普通的Transformer一样,我们使用最终的残差流向量通过去嵌入和 softmax 生成下一个token的概率。然而,与普通的Transformer不同,我们还将这个向量输入到后续的Transformer块中,并使用该块的输出对第二个下一个token进行预测。我们可以根据需要进行多次迭代,尽管DeepSeek v3 仅在training期间预测两个tokens。
他们将关于更远期tokens的预测纳入training目标,通过向training损失中添加一个额外的交叉熵项,权重可以作为超参数进行调节。这不仅为他们在training期间提供了一个额外的目标以获取信号,还允许模型用于推测性地自我解码。我们可以在每次前向传播中生成一些tokens,然后将它们展示给模型,以决定从哪个点开始拒绝提议的延续。
DeepSeek v3 仅使用多token预测到第二个下一个token,技术报告中引用的第二个token预测的接受率在 85%到 90%之间。这相当令人印象深刻,并且如果我们使用上述的推测解码设置,应该可以在每个token的固定价格下实现几乎翻倍的推理速度(以每秒每个用户tokens为单位)。它看起来并不比解码Llama 3 405B 时获得的接受概率差,甚至可能更好。
我很好奇如果他们预测的时间超过下一个token会得到什么。如果例如每个后续的token都能使接受率相对降低 15%,那么通过预测更多的tokens,可能可以从这个投机解码设置中挤出更多的收益。
Distilling the Knowledge in a Neural Network
来自微博@高飞
辛顿教授领衔的这篇论文,领先了时代10年。
刚看到人形机器人公司1X的联合创始人Eric Jang发了一个推文,说10年前(2015年),当时来自Google的Geoffrey Hinton、Oriol Vinyals和Jeff Dean的一篇开创性论文:《Distilling the Knowledge in a Neural Network》(传送门:arxiv.org/abs/1503.02531),远远走在了时代前边(如图)。
虽然大模型很强大,但是我们需要在手机等设备上运行AI模型。而但那些性能最好的模型往往体积庞大,计算开销巨大。就像一位博学的教授,虽然知识渊博,但不可能随时随地为每个学生答疑解惑。所以,我们需要找到一种方法,让"小模型"也能获得"大模型"的智慧。
这篇论文提出了在当时具有开创性的想法:通过"蒸馏"技术,将复杂模型中的知识转移到更小的模型中。事实证明,现在确实大家把蒸馏作为一种用大模型训练小模型的方式。甚至Deepseek-v3有这么好的表现,分析背后也有数据蒸馏的成果。
这个团队当时通过MNIST手写数字识别任务发现,当使用知识蒸馏技术时,一个小型网络可以达到接近大模型集成的性能。具体来说,原始的大型模型在测试集上有67个错误,而经过蒸馏后的小模型仅有74个错误,相比直接训练同样规模的小模型(146个错误)提升显著。
更令人惊讶的是,在语音识别领域的实验中,研究团队发现蒸馏后的单个模型几乎可以完全保持模型集成的优势。在帧准确率方面,原始基准模型为58.9%,模型集成可以达到61.1%,而经过蒸馏的单个模型也能达到60.8%,这种性能的保持令人印象深刻。
那么,这种"知识蒸馏"是如何实现的呢?其核心在于使用"软标签"。传统的深度学习使用严格的0-1标签进行训练,就像只告诉学生答案对错。而知识蒸馏则采用大模型输出的概率分布作为软标签,这就像告诉学生"这个答案有多大把握是对的"。通过调整温度参数,可以让这种知识传递更加高效。
这项研究不仅提供了一个实用的模型压缩方案,更重要的是开启了一个新的研究方向:如何更好地理解和传递神经网络中的知识。正如作者所说,我们不应该将模型的知识简单地等同于其参数,而应该从更抽象的角度去理解和利用这些知识。
十年前的研究,现在开花结果。我们从不缺乏跟风口的人,但是始终缺乏创造风口的人。
时间序列
@黄建同学
Google AI 在Hugging Face 上发布了 TimesFM-2.0,准确率和最大上下文长度都比1.0有显著提升。
这里面有趣的是"时间序列基础模型"这个技术,用于时间序列预测的预训练时间序列基础模型。主要用于预测未来的股票走势、公司业绩等。
以下内容来自Google 24年5月的Blog内容,可以理解这种模型的特点:
★ 为何需要时间序列预测基础模型?
时间序列预测在零售、金融、制造、医疗等领域至关重要,例如零售业中提升需求预测精度能够显著降低库存成本并增加收入。
虽然深度学习模型(DL)在预测复杂多变量时间序列数据方面表现出色,但传统方法仍面临以下挑战:
- 高昂的训练与验证成本:大多数DL模型在应用到新时间序列数据前需要复杂的调试和训练。
- 部署延迟:无法快速进行零样本预测以满足即时需求。
TimesFM 的优势:无需额外训练,即可对未见时间序列数据提供高质量预测,使用户专注于具体下游任务(如零售需求规划)。
★ 模型架构与创新
TimesFM 架构核心:借鉴语言模型的解码器设计,使用堆叠的 Transformer 层。
- 输入处理:将连续的时间点集合(称为“时间块”)作为“Token”,输入到 Transformer 中。
- 输出灵活性:能够预测比输入时间块更长的未来时间点,显著减少生成步骤,提高预测准确性。
关键创新:
- 使用多层感知机(MLP)将时间块转换为 Transformer 可处理的 Token。
- 输出时间块长度可大于输入时间块长度,适合长时间跨度预测。
示例:
- 训练时:模型使用前 32 个时间点预测未来 128 个时间点,并逐步增加输入范围以预测更长时间段。
- 推理时:模型可基于输入时间点及已生成的预测结果进行多步预测。
项目:github.com/google-research/timesfm
其他一些重要的时间序列基础模型: 1. TimeGPT: 首个原生基础模型,于2023年问世,迅速在预测领域引起了广泛关注。它在时间序列数据的处理和预测方面表现出色,成为了基础模型研究的里程碑。 2. MOMENT: 一个开源的大型预训练时间序列模型,旨在服务于各种时间序列分析任务,包括预测、分类和异常检测。它的设计使其能够适应多种应用场景,具有较强的灵活性和适应性。 3. TSMamba: 基于Mamba架构,是一个高效的时间序列预测基础模型。它解决了传统模型在数据获取、泛化能力和数据效率方面的挑战,适用于多种领域的时间序列预测任务。 4. TimeDiT: 结合了去噪扩散模型和Transformer架构,能够有效处理多通道、多分辨率和缺失值问题。它在时间序列分析中表现出色,尤其是在整合物理知识方面。 5. DAM: (深度数据依赖近似分析模型)是一种通用的时间序列预测基础模型,能够在多个不同的数据集和领域中进行准确预测,具有良好的泛化能力。
RAG vs CAG
@黄建同学
别只知道RAG,CAG了解一下!
CAG:Cache-Augmented Generation,缓存增强生成。
检索增强生成 (RAG) 已成为一种通过集成外部知识源来增强语言模型的强大方法。然而,RAG 也带来了一些挑战,包括:
① 检索延迟– 实时检索步骤导致的延迟。
② 检索错误 - 选择相关文档不准确。
③ 系统复杂性 - 增加架构和维护开销。
为了解决这些限制,提出了缓存增强生成 (CAG) — 一种绕过实时检索的替代范式。CAG 利用现代大型语言模型 (LLM) 的扩展上下文窗口,将所有相关资源预加载到模型的上下文中并缓存其运行时参数。在推理过程中,预加载的 KV 缓存使模型能够直接生成响应,从而无需检索。
CAG 的优势
① 减少延迟– 消除实时检索,实现更快的推理。
② 提高可靠性 - 在保持上下文相关性的同时最大限度地减少检索错误。
③ 简化设计 - 提供简化的、无需检索的 RAG 替代方案,以较低的复杂性实现同等或更优异的结果。
CAG 的局限性
① 知识规模有限 - CAG 要求整个知识源适合上下文窗口,因此不太适合涉及极大数据集的任务。
② 上下文长度限制 - 如果上下文过长,LLM 的性能可能会下降。
论文:arxiv.org/abs/2412.15605
项目:github.com/hhhuang/CAG
抢银行
来自微博@小黑夜之睛
早期美国抢银行没有什么技术含量,一般都是在天黑以后,趁着夜色用炸药或者硝化甘油炸开金库,拿钱走人。
但是从1920年左右开始,美国的银行业发生了技术进步,普遍安装了报警系统和水泥加固的防炸金库。一时之间劫匪也没什么办法。
于是很快地,抢银行的技术也跟着进步了。
这个技术进步归功于绰号“男爵”的Baron Lamm。Lamm是德国人,曾在普鲁士陆军服役,被开除后移民美国。
1917年他因抢银行在犹他监狱内服刑期间,想出了一套抢银行的新思维,他认为抢银行不是枪和胆量的问题,而是技术问题。
他发明的这套技术系统后来被称之为“Baron Lamm Technique”:
1.提前准备;
2.去银行踩点,甚至假装记者去了解银行内部运作;
3.分工,谁放哨,谁在大厅,谁干金库,谁开车等;
4.事先演习;
5.严格执行时间,时间一到,不管拿没拿到钱都必须离开;
6.确定逃跑路线,并计算时间;
7.在车的仪表盘上粘贴精确的地图。
Lamm把抢银行变成了艺术。其中1922年在Denver的联邦造币厂90秒钟内抢走20万美元一役,以单位时间内抢钱最多而载入史册。
Baron Lamm Technique是极具参考价值的一套系统,关于Baron Lamm Technique,有下面的一段评论:
“这套暴力美学的精髓,是事先不厌其烦的准备工作。所有可能性都要考虑到,一切意外都有预案。最专业的高手从不指望临场发挥,随机应变是外人看来的一种错觉。”
这是一套极其成功的犯罪系统,直到今天还活跃在抢银行的第一线。一般来说,抢银行“临时性即意犯罪”的可能性很小,大多抢匪都会认真准备一番。因此,相对于其它抢劫系统,Lamm只是做得更好。
但是Baron Lamm Technique中的第五条:“严格执行时间,时间一到,不管拿没拿到钱都必须离开。”,使Baron Lamm Technique系统有了质的进步。
对劫匪来说,时间拖延极有可能会被捕入狱。其余六条保证了抢劫计划的成功是一个大概率事件,而第五条是出现意外时的止损操作,是整个系统成功的必要条件。
最后,必须要说一下Baron Lamm的结局。
1930年,他和同伙在印第安纳州的Clinton镇抢完一家银行撤离时,车胎爆了。
对这样的小意外,Lamm显然早有预案。他们很快抢了一辆车,但这辆车很特殊,上面有个限速装置,时速不能超过35英里。
于是他们又抢了一辆车,但这辆车的水箱漏了。
他们又抢了一辆,但这辆车只剩下一加仑汽油。
最后,被警察包围,Lamm和七十多岁的司机不想投降,于是都开枪自杀了,戏剧般地结束了传奇的人生。
AI下棋
来自@六层楼先生
某一次跟朋友聊天,说起AI下棋这件事情,他说AI下棋跟咱们人下棋有一个不同的地方,就是每走一步棋,在AI眼里这都是在下一局新的棋,它都会重新进行计算。
我不确定他现在是否仍然这么认为,但这段话对我来讲还是有很大的启发,以至于我经常会带入自己去思考:又过了一天,我是不是在过新的一天。
哈哈,说起来很玄乎,其实这背后就是今天的我是否会受到过往的影响,这常常会直接影响我今天的要进行的决策和思考。
我举个例子:
有很多赌徒在最后一把牌all in的时候,往往手里的牌并不是多好,至少在理性状态下不至于好到要all in……那为什么会做出这样的决定呢?
主要是因为ta前面拿了很多次烂牌,输了不少钱,这直接影响了ta的决策逻辑,当ta拿到一把还算不错的牌之后,很容易陷入到癫狂状态,认为这一把可以翻盘。
但事实上,这是新的一局,之前的数据对于这局并没有指导意义,ta应该像毫无记忆一样重新计算现在这一局。
所谓,每一局,都是新的一局。
这在我工作中也常常奏效,因为我大多数时候都在重复过去的知识点(医学进步是很缓慢的),那么我希望自己每次都像第一次解释这个知识点一样去科普,因为发布时间,阅读人群,季节气候,经济水平,舆论热点……这些都跟过去不同了。
我需要对当下各种信息进行重新梳理,并再次完成这次的科普内容,也因此常做常新。
那我为什么要写这篇内容呢?
并不是想要给大家介绍我是如何工作的,而是在私信里看到很多人当下所做的决策是受到过往经验的影响的。
比如因为之前去看病都没有得到很好的效果,所以再次有病就不去治疗了……
比如因为之前经历过糟糕的亲密关系,所以当遇到勉强及格的人就all in了……
比如因为过去多次无套都没有意外怀孕,所以认为安全可靠,直到意外怀孕……
……
当然,AI可以每一步都这么做是因为它有足够强大的算力,我们很难做到每一步都是如此,但在那么关键的几步,我们或许应该暂时放下跟自己过去的纵向对比,而着眼当下进行横向评估。
Gemini 2.0
@黄建同学
回顾2024年,我认为影响最大的是谷歌12月发布的新一代AI模型Gemini 2.0,并推出了AI Studio的新功能。 这一进展标志着谷歌在AI领域的重大突破,对谷歌公司自身、用户体验以及整个AI行业都将产生深远影响。
-
最令人意外和惊喜。
OpenAI 2024年很多进展都在意料之中,情理之间。唯独谷歌12月的系列发布,让人眼前一亮。本来以为OpenAI连续12天的发布会会是年底的大戏,结果被谷歌成功截胡了热度。 -
确实很强大!
- Gemini 2.0具备多模态输入和输出能力,能够处理文本、图像、音频等多种形式的数据,并生成相应的输出。发布之后我也实测了改小学数学试卷(微博正文),丝毫不输GPT。
- AI Studio的新功能,用户可以体验实时语音和视频互动,享受低延迟的双向交流,有非常好的应用场景(微博正文)。
- 谷歌还推出了Project Astra和Project Mariner等研究原型,探索AI代理在不同领域的应用,进一步推动了AI技术的发展和创新。
-
Gemini 2.0的发布让谷歌"咸鱼翻身",跻身AI领域的领先地位。高富帅终于努力对方向了,凭借其雄厚的研发和资本实力,必将更快地推动行业的发展。
-
用户多了一种选择。Gemini 2.0发布后,在三方API接口调用瞬间从9%提升到50%以上(微博正文),而且AI Studio大部分功能都是免费的,对于用户来说真的是太实惠了!
总的来说,谷歌发布的Gemini 2.0及AI Studio新功能,不仅强化了自身在AI领域的竞争力,也为用户提供了更智能的服务,并推动了整个AI行业的进步。 很看好Google这匹黑马,期待2025年带来更多惊喜!
技术博客“Exploring Language Models”
来自@蚁工厂
一个关于大语言模型的技术博客“Exploring Language Models”
newsletter.maartengrootendorst.com/
该博客有很多可视化分析大模型技术的文章,如最新的一篇文章“混合专家模型(MoE)的视觉指南”,用很多图表介绍了MoE技术。
博主Maarten,开发了多个流行的开源工具,如BERTopic、KeyBERT和PolyFuzz,并与Jay Alammar合著了《Hands-On Large Language Models》一书。
几个用大模型做翻译的常用“密码”
来自@爱可可-爱生活
-
强调精确和准确性:
“准确翻译” (Accurately translate/Precise translation): 更强调翻译的准确性和精确度。 暗示需要尽可能忠实于原文的每一个细节,避免任何误解或偏差。
“忠实翻译” (Faithfully translate/Literal translation): 强调忠实于原文,尽可能保留原文的结构、风格,甚至语气。 “Literal translation” 虽然字面意思是“字面翻译”,但在提示词中,可以用来强调忠实原文精神,但要谨慎使用,避免真的变成生硬的逐字翻译。
“如实翻译” (Translate truthfully/Verbatim translation): 类似于“忠实翻译”,但更强调真实性和客观性。 “Verbatim translation” 强调逐字逐句的翻译,同样要谨慎使用,避免过于机械。 -
强调流畅和自然度:
“自然翻译” (Translate naturally/Fluent translation): 强调翻译的流畅性和自然度,使其读起来像目标语言的母语表达,避免生硬和翻译腔。
“地道翻译” (Translate idiomatically/Native-sounding translation): 比“自然翻译”更进一步,强调翻译的地道性,使用目标语言的习语、俗语、俚语等,使翻译更具本地特色。
“流畅翻译” (Translate fluently/Smooth translation): 侧重于翻译的流畅性,强调语言的连贯性和节奏感,使阅读体验更佳。 -
强调风格和语气:
“[风格] 翻译” (Translate in a [style] manner / Translate with a [tone]): 明确指定翻译的风格或语气,例如“正式翻译”、“非正式翻译”、“幽默翻译”、“严肃翻译”等。
“根据/面向[目标读者]进行翻译” (Translate for [target audience] / Tailor translation for [audience]): 强调目标读者,要求根据目标读者的背景、知识水平、文化背景等进行翻译,使翻译更易于被目标读者理解和接受。 -
强调特定任务或目标:
“总结并翻译” (Summarize and translate/Translate with summary): 要求在翻译的同时,概括原文的主要内容,提供一个摘要,帮助读者快速了解文本大意。
“解释并翻译” (Explain and translate/Translate with explanation): 要求在翻译的同时,解释原文中的难点、术语、文化背景等,帮助读者更深入地理解文本。
“优化翻译” (Optimize translation/Refine translation): 用于改进已有的翻译结果,要求 Gemini 对之前的翻译进行优化和提升,使其更流畅、更准确、更自然。
有时ChatGPT给出的回答非常符合我的要求,我会追问:”我很喜欢你这次的回答,因为它更加[准确,或者简洁, 等等]。告诉我哪些prompt可以让你生成更多的这种风格的回答“,然后ChatGPT就会给出很好的提示。