SwitchyOmega已无法再使用的解决方案
今天打开Chrome突然提示SwitchyOmega “此扩展程序未遵循 Chrome 扩展程序的最佳实践,因此已无法再使用。” 应该是Chrome自动升级之后插件被禁用了。还有一个坏消息,Stylish插件也因为一样的问题入土不可再用。
然后Chrome Web Store无法打开安装其他插件,死锁了。
今天打开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难问题。
“涌现能力”可谓是大模型的神来之笔:这些能力在小规模模型中不存在,而仅在大规模模型中存在。涌现能力的神奇之处就在于两点:第一,锐利性,似乎它们瞬间从不存在变为存在;第二,不可预测性,不知道在什么规模的模型上就突现了。
涌现能力相关的讨论在大模型出圈之后一直被津津乐道,尤其是在训练出的模型能力不达预期时,时常背锅:可能是模型不够大,所以不具备这样的能力。问题来了,涌现能力是否真的是大规模模型才拥有的魔法?
NeurIPS 2023的Main Track Outstanding Paper的二者之一,提出了对涌现能力的一种解释:对于特定任务和模型,在分析模型输出时,涌现能力的出现是由于研究人员选择的衡量指标所致,而非模型行为随着规模扩大而发生了根本性变化。具体而言,非线性或不连续的衡量标准会产生明显的涌现能力,而线性或连续的度量标准会导致模型性能的平滑、连续、可预测的变化。
一篇有趣的综述文章,写于ChatGPT问世一周年之时,总结了开源大型语言模型(LLM)在过去一年中的发展情况。首先介绍了开源LLM的兴起,以及它们如何在各种自然语言处理任务中取得了显著的进展。然后讨论了开源LLM与闭源LLM之间的竞争,以及它们在性能和应用方面的差异。文中提到了一些具体的研究成果和进展,包括知识获取、情感分析、代码生成等。最后,论文探讨了开源LLM的未来发展方向,以及在伦理和安全方面的挑战和应对措施。
# ChatGPT’s One-year Anniversary: Are Open-Source Large Language Models Catching up?
过去半年,MSR发布了一套名为Phi的小模型(SLMs),取得了卓越的性能表现。其中第一个模型,1.3B 的Phi-1,实现了在现有SLMs中对Python编码的最佳性能(在HumanEval和MBPP数据集上)。随后,他们将注意力扩展到常识推理和语言理解,并创建了一个新的 1.3B 模型,命名为Phi-1.5,其性能相当于规模更大5倍的模型。
最近MSR发布了Phi-2,一个 2.7B 的语言模型,展示了卓越的推理和语言理解能力,表现出小于 13B 语言模型的最好效果。在各种测试中,Phi-2与规模大达25倍的模型差不多或获胜,主要归功于模型规模和训练数据方面的创新。MSR已经在Azure AI Studio模型目录中提供了Phi-2,以促进语言模型的研究和开发。
Phi-2 未放出细节的技术报告,具体可参考原博客:
# Phi-2: The surprising power of small language models
第一代Phi-1解读:
数据为王: Textbooks Are All You Need
昆仑的天工模型一直走开源路线,最近放出了技术报告,其中关于预训练模型刷榜作弊的部分引发了广泛的讨论,把大家心照不宣的事情首次放到了台面上 :-)。本文来看下这篇技术报告的亮点(非全文精读,仅摘要有趣的点,细节可阅读原论文)。