LLM就是那群终于打出莎士比亚的猴子
塔勒布在《随机漫步的傻瓜》里讲了一个思想实验:如果有无限只猴子在无限台打字机前随机敲击,总有一只会打出《伊利亚特》全文。
我越想越觉得,这个故事的终局,就是今天的大语言模型。
塔勒布在《随机漫步的傻瓜》里讲了一个思想实验:如果有无限只猴子在无限台打字机前随机敲击,总有一只会打出《伊利亚特》全文。
我越想越觉得,这个故事的终局,就是今天的大语言模型。
用过Claude Code的开发者可能都有这样的体验:即便在一次超长对话中修改了几十个文件,它似乎始终"记得"之前做过什么。更神奇的是,你在上一次对话里告诉它"我喜欢用bun而不是npm",下次它就自动遵守了。
这背后是一套精密的记忆管理系统。今天,我们把Claude Code的记忆机制彻底拆解开来。
公众号一年多没更新了,不是因为懒,也不是因为自己没有跟上技术的步伐,而是因为有个执念,AI变强之后,技术博客本身的价值就大幅降低,大家学习的方式已经从搜索-学习变成了直接与AI对话的交互式学习。此外由于AI能力的加持,太多AI生成的公众号内容会第一时间发布一些内容,让我觉得步人后尘倒也没有太大必要。从博客的访问量上来看,最近一年的访问量也骤跌,更没有了花几小时写一篇文章的兴致。我更怀念那些一个字一个字几个小时甚至几天码出来的一篇博文的时光。
最近半年AI工具有了长足进步,作为重度用户,聊聊”明明Agent是我们的帮手,为什么却感觉越来越累?”
当你在 Windows 上使用 TeX Live 编译包含自定义字体的 LaTeX 文档时,可能会遇到如下错误:
| |
这个错误的原因是 TeX 系统找不到所需的字体文件(特别是 .mf 或 .tfm 文件),因此无法生成它们。奇怪的是,你可能已经安装了该字体。
MongoDB 的 Aggregation Pipeline 是处理和分析数据的强大工具,适用于实时查询和离线数据分析。它允许开发者使用多个阶段(stages)来转换、过滤、分组和排序数据,从而高效地执行复杂的计算。本文将探讨 Aggregation Pipeline 的基本概念、应用示例、性能分析及优化方案。
今天打开Chrome突然提示SwitchyOmega “此扩展程序未遵循 Chrome 扩展程序的最佳实践,因此已无法再使用。” 应该是Chrome自动升级之后插件被禁用了。还有一个坏消息,Stylish插件也因为一样的问题入土不可再用。
然后Chrome Web Store无法打开安装其他插件,死锁了。
双花问题是交易系统中的一个关键挑战,尤其是在管理账户余额或资金时。当系统允许由于并发操作或竞争条件导致同一笔资金被多次使用时,就会发生双花问题。本文将探讨使用 MongoDB 解决这一问题的两种方法:基于事务的处理和基于版本的处理。
本文是 用MongoDB构建交易系统 关于双花问题的深入讨论。
Windows Update之后,win11的远程桌面就不好使了:连接黑屏,鼠标和界面一概不可见,一分钟之后自动断开连接。无奈只能重新进入本机查看到底是什么问题。
交易系统是现代商业和金融活动的核心,涵盖从电子商务订单处理到金融机构的实时清算等多种场景。这类系统通常需要高并发处理能力、实时数据存储和高效检索功能,同时需要在数据一致性与性能之间找到平衡。随着交易数据的规模和复杂性不断增长,传统交易系统架构在应对这些挑战时,往往因固定的表结构和横向扩展能力的不足而受限。
MongoDB 作为一款分布式文档型数据库,以其灵活的架构、高吞吐能力和内置的事务支持,为构建复杂、高效的交易系统提供了一种现代化的解决方案,能够满足多样化的业务需求。
收到腾讯云的证书续期通知,结果在申请新证书时发现,腾讯云不再支持一年的免费证书:
2024年4月25日起,腾讯云新签发的免费证书有效期调整为 90 天
考虑到一直是手动更新证书,如果三个月手动操作一次还是挺费劲的。于是研究Let’s Encrypt的certbot,唯一的顾虑是如何证明自己对二级域名的所有权问题。实践之后发现此问题并不存在,因为certbot仅是签发一个证书而已,并不存在对网站本身的威胁。
下面是certbot的配置步骤,其实仅需要执行几个命令,非常简单。
十一去了趟伦敦,很喜欢这座拥有悠久历史和丰富文化的城市,古典和现代的结合给人留下了非常深刻的印象。限于时间,只玩了几处最具代表性的地标:大英博物馆、西敏寺、牛津大学、国家美术馆和海德公园。
去之前在小红书上做了些功课,主要是两点:提前办无接触信用卡(contactless card)和治安不好。其他就是常规操作,出发前两天买旅行险,提前在淘宝上买电话卡(用的giffgaff,信号还可以)。
旅行的体验:
特别要提的是天气,十月已经不再是伦敦的旅游旺季,温度大概在10度左右,偏湿冷。当地朋友特意提示要穿waterproof,也就是冲锋衣。实际体验之后明白了原因,这里的雨可谓是霪雨霏霏,下得不大,但说下就下,而且可能伴有大风,穿雨衣忒费劲,打伞又举不住,而且大风带着小雨一样会把衣服打湿。
如今许多App都涉及社交网络,如 Twitter、WhatsApp 和 Facebook。这些平台必须扩展以处理数十亿用户(图节点),这并非易事。构建和维护一个可扩展的社交网络基础设施需要仔细的规划和战略性的数据建模。实际上,像Facebook这样专业的社交网络应用有专门的团队来做这块内容,对其性能进行极致的优化。但对于许多希望加入社交网络功能的小型App,如一个创业公司项目,建立一个团队来做这样的架构显然是不现实也没有必要的。
那么,利用合适的数据建模和存储能否构建一个高性能易扩展的社交网络?答案是肯定的。早期的Facebook使用mysql作为底层存储来构建社交网络,但今天我们可以有更好更高效的存储选择:MongoDB。
在conda环境中升级软件包后,talib无法接受DataFrame作为输入,错误信息如下所示:TypeError: Argument 'xxx' has incorrect type (expected numpy.ndarray, got DataFrame):
| |
大多数网络搜索结果都具有误导性,比如将df转换为np数组。由于在更新软件包之前代码能够正常运行,因此问题应为软件包不兼容的问题。
搜索系统的评估和调优很大程度上依赖于相关性标签——这些标签标注了某个文档对特定搜索和搜索者是否有用。理想情况下,这些标签来自真实的搜索用户,但要大规模收集这些数据非常困难,所以典型的实验依赖于第三方标注人员,但他们也可能产生不准确的标注。标注质量一般通过持续的审核、培训和监控来管理。
微软(Bing搜索组)在SIGIR'24提出了一种“反其道而行之”的方法:从真实的用户获取反馈,并利用这些反馈来选择一个与之相符的LLM及其提示词,然后令该LLM大规模地产生标签。实验表明,LLM的准确性与人工标注者相当,并且在找到最佳系统和最难的查询方面同样有用。
[SIGIR2024] # Large Language Models can Accurately Predict Searcher Preferences
大语言模型在各种与语言相关的任务中表现出了显著的零样本泛化能力,包括搜索引擎。然而,现有的工作主要利用LLM的生成能力进行信息检索,而不是直接进行段落排序。这篇EMNLP2023的论文(Outstanding Paper)研究了LLM是否擅长搜索排序的问题。
# Is ChatGPT Good at Search? Investigating Large Language Models as Re-Ranking Agents
之前写过深度检索模型的介绍: # 深度文本检索模型:DPR, PolyEncoders, DCBERT, ColBERT ,今天来看看DeepMind在NeurIPS 2024上的文章,对多向量检索模型(Multi-Vector Retrieval)ColBERT进行了改进:
Rethinking the Role of Token Retrieval in Multi-Vector Retrieval
多向量检索模型由于使Query与Doc进行词元级别的交互,因此在许多信息检索基准测试中达到了SOTA。然而,其非线性评分函数无法扩展到数百万个文档,这就需要一个三阶段的推理过程:通过词元检索检索初始候选,访问所有词元向量,并对初始候选文档进行评分。非线性评分函数应用于每个候选文档的所有词元向量,使得推理过程复杂且缓慢。XTR 引入了新的目标函数,鼓励模型首先检索最重要的文档词元,对词元检索的改进使得 XTR 可以仅使用检索到的词元来对候选文档排序,而不是文档中的所有词元,因此其成本比 ColBERT 低两到三个数量级。在流行的 BEIR 基准测试中,XTR 在没有任何蒸馏的情况下,将 NDCG@10 提升了 2.8。
主要改进点:
最近读到一篇有趣的文章,讨论了当前许多新的AI搜索产品是否会取代Google:
Here’s why AI search engines really can’t kill Google
先简要地看下这篇文章在说什么:
如果要取代Google,那么这些新的产品必须可以完成Google能做的所有事情。于是,作者先收集了Top100的Google搜索查询,然后将它们输入到当前最好的一些AI搜索产品中。作者认为,虽然在某些情况下,基于LLM的搜索比一页Google搜索结果有用,但在大多数情况下,AI搜索取代Google还是相当困难的。
最早听说语言模型的本质是压缩器的想法是在 黄仁勋和Ilya的围炉对谈 ,当时只是直觉上觉得这个说法很有意思,但却没想明白原理是什么。2023年9月,DeepMind写论文进一步论证了语言建模与压缩的等价性:
# Language Modeling Is Compression
长期以来,人们已经确认预测模型可以转化为无损压缩器,反之亦然。值得注意的是,近年来,机器学习领域一直专注于训练规模越来越大且功能强大的自监督语言模型。由于这些大语言模型展示了很强的预测能力,它们自然而然地也被认为是强大的压缩器。文中研究者主张通过压缩的视角来审视预测问题,并依此评估大型基座模型的压缩能力。实验证明大语言模型也是强大的通用预测器,语言模型即压缩的视角为扩展定律和上下文学习提供了新的见解。例如,Chinchilla 70B虽然主要用文本训练,但却能将ImageNet patches和LibriSpeech样本压缩到其原始大小的43.4%和16.4%,分别超过了领域特定的压缩器,如PNG(58.5%)和FLAC(30.3%)。最后,研究者证实基于预测与压缩的等价性可以使用任何压缩器来构建条件生成模型。
本文试图用简洁的语言(无公式)来说明“语言建模即压缩”的思想。原论文的思路是借助算术编码的原理和过程,然后将语言模型建模的过程与算术编码过程进行映射并证明它们等价。这个思路有些类似于NP难问题的证明:将一个问题在多项式时间归约成已知的某个NP难问题。