2024-02-23
26 篇热帖
2. Bluesky announces data federation for self hosters (bsky.social)
Bluesky宣布数据联邦化,支持用户自托管
Bluesky宣布其网络将进行联邦化并开放数据托管功能,允许用户自主存储其社交数据(如帖子、点赞和关注关系)。此举旨在将数据控制权归还用户,摆脱传统社交媒体公司对数据的集中掌控。
核心机制与优势
- 类比互联网托管:如同网站可选择不同托管商一样,用户在Bluesky注册后,默认由Bluesky存储数据,但也可选择其他服务商或自行托管。迁移数据提供商不会导致内容、社交关系丢失,且用户身份标识(handle)保持不变。
- 用户体验不变:对于普通用户,使用体验不受影响。自托管旨在让用户体验与官方托管同样甚至更好。
- 目标与愿景:此举旨在建立独立于单一公司的社交媒体公共基础设施,确保即使Bluesky消失,网络也能在数据分布式托管的基础上重建,促进开放、动态的社交网络生态。
与Mastodon的关键区别
尽管都采用“联邦”模式,Bluesky基于AT协议,与基于ActivityPub的Mastodon有显著不同:
- 全球对话优先:Mastodon的体验由所属实例(服务器)决定,而Bluesky的体验基于所关注的订阅源和账户,支持参与全球对话(如热点新闻、病毒式传播内容)。
- 模块化审核:Bluesky的审核不与服务器绑定,而是通过屏蔽列表、审核服务等工具支持社区自我管理。
- 模块化信息流:Bluesky的时间线不限于所关注账户,用户可从超过4万个自定义算法信息流中选择。
- 账户可移植性:在Bluesky中迁移托管服务就像更换手机运营商,不会影响用户名、好友关系和帖子。
参与自托管
当前自托管需要一定的技术能力。开发者可查阅官方技术博客、GitHub上的PDS仓库及Discord管理员社区获取指导。首批联邦化面向个人自托管用户,后续将面向希望运行大型服务器的用户开放。
3. Nobody ever gets credit for fixing problems that never happened (2001) [pdf] (web.mit.edu)
本文探讨了企业在实施过程改进项目中普遍面临的“改进悖论”:尽管投入巨大,但多数改进努力未能取得显著成效。研究指出,问题根源不在于改进工具本身,而在于改进活动与组织的物理、经济、社会和心理结构之间的相互作用。
核心问题与模型
作者通过系统动力学模型解释了这一现象。模型的关键要素包括:
- 过程绩效取决于“工作时间”和“过程能力”。
- 两个基本选择:
- 更努力地工作(平衡环B1):通过增加工作强度立即提升产出。
- 更聪明地工作(平衡环B2):投资于能力改进,效果持久但存在延迟和风险。
- 再投资环(强化环R1):是一个关键反馈。若将改进带来的收益重新投入改进,可形成良性循环;若因压力削减改进投入,则能力衰退,绩效差距扩大,迫使进一步“更努力地工作”,形成恶性循环。
- 捷径环(平衡环B3):在压力下,员工会削减改进和维护时间(走捷径)来专注于当前产出,短期有效但损害长期能力。
能力陷阱的形成
“更努力地工作”与“捷径”的短期有效性,常使组织陷入“能力陷阱”。管理层面对绩效差距时,倾向于增加工作压力。员工为完成目标被迫减少改进投入,导致能力逐渐衰退。由于能力衰退存在延迟,管理层观察到短期产出提升,从而错误地将问题归因于员工懒惰或缺乏纪律,而非系统问题。这导致了“自我确认的归因错误”:管理层加大压力,进一步验证其错误假设,形成恶性循环。这种动态最终会嵌入到奖励“救火英雄”而非预防问题的企业文化中,使陷阱持续存在。
如何克服陷阱
成功的关键在于打破自我强化的归因循环,实现思维模式的转变——从“追究个人责任”转向“系统性地解决问题”。案例研究展示了系统动力学模型和模拟(如杜邦公司的“制造游戏”、英国石油公司的学习实验室)如何通过以下方式帮助组织跳出陷阱:
- 加速认知:在短时间内(如几小时)体验通常需数年才能显现的“先恶化后好转”的改进动态。
- 打破部门隔阂:让不同角色体验他人面临的压力与决策逻辑,减少相互指责。
- 构建共同心智模型:使团队理解系统互动,认识到小改进如何产生累积效益,并相信自身能够带来改变。
杜邦和英国石油公司通过这种方法,最终实现了维护成本大幅下降、设备可靠性显著提高等突破性改进。案例强调,改进的障碍往往并非技术知识,而是深植于组织内部的、认为“没有时间和资源改进”的思维定式。
4. Thanks FedEx, This Is Why We Keep Getting Phished (www.troyhunt.com)
文章摘要
本文通过作者亲身经历,揭示了一类常见的“包裹未送达”钓鱼短信攻击,并探讨了其难以辨别的原因。作者近期收到多条疑似来自FedEx的短信,要求支付关税和税款。尽管存在多个典型的钓鱼特征(如拼写错误、紧急语气、可疑链接、语法问题),但由于作者确实在等待一个来自FedEx的国际包裹,故进行了深入调查。
关键调查过程与发现:
- 初步分析:短信内容存在至少7个“高度可疑”迹象,包括品牌名拼写错误、链接非FedEx域名、金额格式异常等。超过87%的网友投票认为该短信是诈骗。
- 验证尝试:作者通过订单信息直接访问FedEx官网,但未能找到相关税务信息。同时发现,短信中的支付链接可通过修改URL参数任意篡改订单号、金额等信息,存在安全漏洞。
- 客服体验:拨打官网客服电话时,系统存在循环故障,最终通过人工客服得知包裹价值确实可能产生关税。
- 最终确认:几天后,作者收到一封附有完整采购发票的FedEx官方邮件,证实之前的短信通知是真实的,即“大多数人(87%)都猜错了”。
文章的核心讽刺在于:合法的商业通知(FedEx)在形式上与诈骗短信高度相似,甚至更甚。作者指出,当前诈骗短信泛滥,技术拦截手段(如澳大利亚ACMA拦截3.36亿条诈骗短信)虽有效但仅能应对一小部分。因此,除了技术手段,提高公众对诈骗模式(如制造紧急感、要求付款、语法错误、可疑链接)的识别能力至关重要。
结论强调了反诈骗工作的矛盾现状:在人工智能驱动的诈骗日益难以分辨的今天,合法企业的官方通信却常常模仿诈骗行为,这使得依靠“人为警惕”的传统防线变得更加困难。
5. Phind-70B: Closing the code quality gap with GPT-4 Turbo while running 4x faster (www.phind.com)
6. Show HN: Real-time image generation with SDXL Lightning (fastsdxl.ai)
7. Gemma.cpp: lightweight, standalone C++ inference engine for Gemma models (github.com)
gemma.cpp:用于 Gemma 模型的轻量级独立 C++ 推理引擎
项目概述 gemma.cpp 是由 Google 开发的用于 Gemma 系列基础模型(包括 Gemma-2、Gemma-3 和 PaliGemma-2)的轻量级、独立 C++ 推理引擎。它并非官方支持的产品,而是专注于实验和研究用途,旨在弥合面向部署的 C++ 推理运行时与以 Python 为中心的 ML 研究框架之间的差距。
核心设计与目标
- 极简主义:核心代码实现约 2000 行,另加约 4000 行支持工具,专注于简洁直接,而非完全通用。
- 易于嵌入与修改:依赖项少,旨在方便地集成到其他项目中,并便于研究者进行算法和计算的共同设计。
- 灵感来源:受
ggml、llama.c等垂直集成的模型实现启发。 - 非生产部署:对于面向生产的边缘部署,推荐使用基于 Python 的标准框架(如 JAX、PyTorch 等)。
主要功能与特性
- 支持的模型:Gemma 2、Gemma 3 和 PaliGemma 2 的仅 CPU 推理。
- 采样方法:支持 Top-K 采样和温度调节。
- 研究支持:包含 Gemma 的反向传播(VJP)和 Adam 优化器。
- 计算优化:
- 混合精度 GEMM:支持 fp8、bf16、fp32、fp64,专为 BF16 指令设计,具有运行时自动调优功能。
- 集成权重压缩:支持自定义 fp8 格式、bf16、fp32 以及非均匀 4 位(NUQ)等格式。
- 基础设施:
- SIMD 优化:通过 Google Highway 库实现,运行时自动选择指令集。
- 并行化:支持 CCX 感知的多套接字线程池和张量并行。
- I/O 优化:支持内存映射或并行读取。
- 跨平台:支持 Linux、Windows/macOS,使用 CMake 或 Bazel 构建。
- 前端接口:
- C++ API(支持流式单查询和批量推理)。
- 基本的交互式命令行应用。
- 基本的 Python 绑定。
快速入门与构建
- 系统要求:CMake、Clang C++ 编译器(C++17+)、tar。
- 获取模型:从 Kaggle 或 Hugging Face Hub 下载权重和分词器。推荐初学者使用
gemma2-2b-it-sfp(8 位切换浮点)模型。 - 构建步骤:
- 使用
cmake配置构建目录(提供针对 Unix、Windows 和 Bazel 的预设)。 - 使用
make或对应工具进行编译。 - 生成可执行文件
gemma或gemma.exe。
- 使用
- 运行示例:
对于 PaliGemma 多模态模型,需额外指定./gemma --tokenizer tokenizer.spm --weights gemma2-2b-it-sfp.sbs--image_file参数(目前仅支持 PPM 格式图像)。
使用模式
- 通过
--verbosity控制输出详细程度(0:仅生成内容,1:标准交互界面,2:调试信息)。 - 默认为交互式终端应用。也可通过创建别名将其用作命令行工具。
- 注意:CLI 用法具有实验性,需考虑上下文长度限制。
作为库集成
- 可通过 CMake 的
FetchContent功能将 gemma.cpp 及其依赖项(如 sentencepiece、highway)拉入自有项目。 - 也可单独构建为共享库(
libgemma.a)供链接使用。
常见问题与提示
- 构建问题:Windows 上推荐在 WSL 环境构建。
- 模型无响应:确保使用的是指令微调模型(如
gemma2-2b-it-sfp),而非预训练模型(-pt后缀)。 - 性能优化:使用
-sfp模型、注意电源设置、利用自动调优后的缓存优势。 - 序列长度:默认支持 32K,给定足够内存可扩展至 128K,但长序列因注意力机制二次成本而较慢。
- 权重转换:提供工具将多文件格式迁移至包含分词器和模型类型的单文件格式,也支持从 Safetensors 格式转换。
项目背景与社区
- 由 Austin Huang 和 Jan Wassenberg 于 2023 年秋发起,2024 年 2 月发布。
- 采用 Google 的 Highway 库实现跨平台 SIMD 优化。
- 已有第三方项目(如 Python、Lua 绑定及游戏引擎演示)开始使用。
- 接受社区贡献,开发在
dev分支进行。
8. Satoshi – Sirius emails 2009-2011 (mmalmi.github.io)
这是一份中本聪(比特币创建者)与早期开发者 Martti Malmi(化名 Sirius)在 2009 至 2011 年间的电子邮件通信记录。这些邮件因英国的一项审判而被 Malmi 公开,其中详细记录了比特币项目最初几年的发展过程。
通信核心围绕比特币的早期开发和项目管理展开。最初,中本聪邀请 Malmi 参与项目,主要任务包括在 SourceForge 上创建网站、撰写常见问题解答(FAQ)以及运行节点以支持网络。他们讨论了多项关键技术特性,例如支持服务器端脚本的接口、钱包密码保护和密钥备份的重要性,以及运行可接受传入连接的节点对网络稳定性的价值。
项目网站经历了多次迁移和平台变更。最初在 SourceForge 的 Bitweaver 上,后迁移至一个由 Malmi 托管、使用 Drupal 构建的网站(bitcoin.org)。他们还建立了官方论坛,最初尝试了 Zetaboards 和 SMF,最终在 bitcoin.org 上设立了 SMF 论坛。邮件中详细讨论了网站主题设计、托管服务选择(如从 Rackspace 获得捐赠后升级服务器)、多语言支持以及社区建设。
技术讨论涵盖广泛。他们解决了 Linux 版本的开发问题,包括 64 位兼容性、内存管理错误(如 ParseString 函数在 64 位系统上的 bug)以及在没有图形界面(daemon 模式)下运行。中本聪实现了 JSON-RPC 接口以便与服务器端脚本交互,并讨论了使用 Boost 库提高代码可移植性。邮件中还提到了提高安全性的措施,如自定义验证码以防止论坛垃圾注册,以及监控和处理因服务器 IP 被列入 PBL 垃圾邮件黑名单而导致的邮件发送问题。
比特币的早期采用和社区管理也是主题。他们讨论了建立交易所服务的想法(Malmi 后来创建了 bitcoinexchange.com),以及如何通过捐赠(如收到一笔 3500 美元的匿名现金捐赠)来支持项目运营和为交易所提供初始流动资金。中本聪强调了淡化“匿名”宣传的重要性,转而强调“伪匿名”并需要用户采取谨慎措施。他们还处理了社区事务,如发布新版本(0.2、0.3 等)、网站和论坛的管理员权限管理,以及备份策略(建议加密备份数据库并安全存储)。
项目后期,中本聪开始将更多责任移交给 Malmi 和后来加入的 Gavin Andresen。通信中显示了项目治理的演变,包括预算管理(托管费用)、对外联络(如回复学术询问和会议邀请),以及中本聪逐步退出日常开发工作的过程。
9. Beyond A*: Better Planning with Transformers (arxiv.org)
文章探讨了如何利用Transformer模型提升复杂规划任务的解决能力。传统符号规划器(如A算法)在复杂决策任务中仍优于Transformer架构,但本文通过训练编码器-解码器Transformer模型来预测A算法的搜索动态,成功提升了Transformer的规划性能。
研究方法:将A*搜索过程中的状态添加与移除操作编码为token序列,以此作为训练数据,使Transformer学习搜索动态。经过微调后得到名为Searchformer的模型。
主要成果:
- 在未见过的Sokoban谜题中,Searchformer的解决率达到93.7%,同时搜索步骤比原始A*实现减少26.8%。
- 相较于直接预测最优方案的基线方法,Searchformer在模型体积上缩小5-10倍,训练数据集规模减少10倍的情况下,性能显著提升。
- 模型可扩展至更大规模、更复杂的决策任务,在提高任务解决率的同时,进一步缩短搜索过程。
结论:通过预测搜索动态而非直接输出方案,Transformer能够更高效地学习规划策略,为复杂决策任务提供了可扩展的解决方案。
10. Ten years of remembering every day that passes (2022) (lembransation.blogspot.com)
本文记录了作者从2011年12月17日开始,坚持每天在脑海中为度过的一天标记“记忆标签”并定期回顾,持续整整十年的经历与反思。
当前回顾方式:作者目前采取逐月回顾的方式,例如在回顾2022年时,会连续回忆2012年以来的每一天。作者认为这极大地丰富了记忆,否则许多事件可能早已被遗忘。相比之下,2012年之前的记忆则缺乏清晰的里程碑。
感受与挑战:
- 时间的流逝令人惊叹。记忆中的画面依然鲜活,但随着时间推移,看待它们的角度已然不同。
- 坚持回顾变得越来越难。随着记忆标签数量接近4000个,作者原计划每天回顾过去三个月的标签,但时常难以完成。
- 作者调整了心态,不再强求记起所有标签,而是先回顾能想起的部分,寄望于未来回顾时自然浮现。记忆可能在回顾其他相关月份或年份时被激活。
辅助方法与变化:
- 早年主要靠脑力回忆,偶尔需借助照片等记录。
- 几年前,作者根据记忆标签补写了早年的日记。
- 最近,作者开始同步写日记,在页面顶部记录当天的记忆标签,以巩固近期记忆。
- 近期标签因强化次数少而最难记起。作者发现最有效的方法是定期回顾:先过一遍过去一个月的所有日子,再回顾前六个月中每个月的部分日子,并穿插回顾更早的年份。
- 如今常无法完成每日回顾,需借助日记补充。日记主要用于帮助回忆近期的日子。
新挑战与个人关联:
- 2019年起,作者开始学习弹钢琴,需要在脑中构建音乐和键盘的“心理表征”。这导致“心理钢琴”与“心理日历”在争夺注意力资源,但作者仍不愿放弃记忆练习。
- 作者愈发感激这些记忆,它们承载着逝去的时光和已故的亲友。母亲患阿尔茨海默症并逐渐失去所有记忆的现实,让作者深刻体会到记忆的脆弱、记忆对人际关系的重要性,以及我们“超越记忆”的本质人格。
结论:
- 尽管过程充满挑战,作者仍看不到放弃记忆的好处。
- 此前的零散记忆常夹杂着对自身不足的懊恼,并缺少背景联系。而持续每日记忆提供了一种更完整、更立体的人生视角。
- 因此,作者将继续竭力记住每一天,并持续惊叹于生命本身的内涵。
11. I turned my ThinkPad into a programmable USB device (xairy.io)
这篇文章讲述了作者如何将ThinkPad X1 Carbon 6th Gen笔记本通过启用隐藏的xDCI控制器,将其转变为可编程USB设备,从而无需外部硬件即可模拟USB设备、进行模糊测试或运行Facedancer等工具。
核心探索与发现
作者在开发Linux内核模块Raw Gadget时,偶然发现笔记本的/sys/class/usb_role/目录下存在一个intel_xhci_usb_sw-role-switch接口,这暗示笔记本的xHCI(USB主机控制器)可能支持切换到设备模式(即xDCI模式)。通过分析Linux内核源码和相关的内核邮件列表讨论,作者了解到一些Intel系统支持xDCI(可扩展设备控制器接口),但通常被BIOS禁用。
启用xDCI的尝试
作者尝试了三种主要方法来启用xDCI:
修改BIOS与刷写SPI芯片(成功但复杂):
- 作者发现BIOS中存在隐藏的
xDCI Support设置。 - 通过破解社区指南,他修改了BIOS镜像,解锁了隐藏的“高级”设置菜单,并绕过了Boot Guard和TPM保护。
- 此过程需要拆卸笔记本,使用SPI编程器读写主板上的BIOS存储芯片,并制作了定制的USB数据线(断开VBUS供电线)来连接另一台电脑。
- 成功后,系统检测到xDCI设备(设备ID
9d30),dwc3驱动加载,并确认了笔记本上支持xDCI的USB端口。
- 作者发现BIOS中存在隐藏的
尝试通过PCH寄存器软件启用(部分成功):
- 作者试图从已启动的操作系统内直接修改PCH(平台控制器中枢)寄存器来启用xDCI。
- 在PMC(电源管理控制器)部分,他利用系统从休眠唤醒后寄存器锁定位未设置的漏洞,成功清除了xDCI的禁用位。
- 但在PSF(主要可扩展结构)部分,由于BIOS在启动时已通过IOSF-SB(Intel片上系统结构-边带)接口断开了PSF端口的访问并锁定了相关寄存器,尝试失败。
直接修改NVRAM数据(成功且更优):
- 作者最终找到了一个更优的解决方案:直接修改存储在BIOS SPI芯片NVRAM区域中的
xDCI Support设置值。 - 通过分析UEFI内部表单表示,定位了该设置在
PchSetup变量中的偏移量。 - 此方法无需解锁高级菜单或破坏Boot Guard,仅需刷写修改过的BIOS镜像,因此理论上可移植到其他系统。
- 作者最终找到了一个更优的解决方案:直接修改存储在BIOS SPI芯片NVRAM区域中的
启用xDCI后的应用
成功启用xDCI后,作者验证了其功能,并展示了多种用途:
- 设备模拟:使用
g_mass_storage内核模块成功模拟了U盘。 - Raw Gadget集成:成功在笔记本上直接运行Raw Gadget,模拟了USB键盘。过程中发现并修复了
dwc3驱动与Raw Gadget的兼容性问题。 - 漏洞复现:使用
syzkaller的USB模糊测试工具,通过模拟特定USB设备成功触发了一个主机端内核警告。 - 运行Facedancer:结合Raw Gadget后端,在笔记本上直接运行了Facedancer框架的Rubber Ducky示例,实现了无需外部硬件的高级USB设备模拟。
总结与意义
作者通过深入探索BIOS、ACPI、UEFI、PCH寄存器以及Linux内核驱动,成功将消费级笔记本转变为功能强大的USB设备模拟平台。这项工作的主要价值在于:
- 硬件潜力挖掘:揭示了常见笔记本中未被官方文档记载的USB设备模式(xDCI)功能。
- 实用工具链构建:使安全研究者和开发者能够在日常使用的笔记本上,无需额外硬件即可进行USB协议分析、设备模拟、模糊测试和漏洞研究。
- 技术方法论:详细记录了从硬件逆向、固件修改到驱动适配的完整技术路径,为后续类似项目提供了参考。
12. Jim Keller criticizes Nvidia's CUDA, x86 (www.tomshardware.com)
Jim Keller批评CUDA与x86架构
传奇处理器架构师Jim Keller近期公开批评NVIDIA的CUDA软件栈,将其比作x86架构,形容两者均为“沼泽”(swamp)而非“护城河”(moat)。他认为CUDA为保持硬件与软件的向后兼容性,通过持续堆叠功能实现演进,导致架构臃肿、性能受限且开发效率低下,与x86面临的问题类似。
CUDA生态存在替代方案
Keller指出,实际上很少有开发者直接编写CUDA代码,即使编写也难以获得最优性能。开源框架和工具(如Triton、TensorRT、Mojo等)常能提供更高效的解决方案。他举例说明NVIDIA自身也推出非CUDA依赖的工具:
- Triton Inference Server:开源AI模型部署工具,支持TensorFlow、PyTorch等多框架,优化GPU/CPU资源利用。
- TensorRT:深度学习推理优化器,可跨框架优化模型,降低延迟、提升实时任务吞吐量。
平台演进的权衡
尽管CUDA、x86等架构因兼容性要求而演进缓慢且显得臃肿,但这种统一性也避免了类似GPGPU领域的碎片化问题。文章提到,Keller对x86的前景持保留态度,且其言论暗示他短期内不太可能加入NVIDIA。
背景补充
Jim Keller曾参与x86、Arm、RISC-V等多种处理器架构设计,职业经历涵盖苹果、英特尔、AMD等公司,现任职于Tenstorrent。
13. After 14 years in the industry, I still find programming difficult (www.piglei.com)
编程14年后的8个深刻感悟
核心观点
作者回顾14年编程生涯,发现编程并未随经验增长而变得轻松,并分享了八个关键洞察。文章强调代码质量、创造心态、环境优化和持续学习的重要性。
主要内容摘要
1. 写好代码比写代码难
- 编程入门门槛降低,但优秀代码依然稀缺。
- 好代码应以可读性为首要原则,兼顾性能、可维护性和API设计。
- 提升方法是持续阅读经典项目和技术文献,形成“阅读-编程”循环。
2. 编程的本质是“创造”
- 维护“创造者心态”能提升学习效率并激发创新(如Linux、Python的诞生)。
- 程序员应意识到自己不仅是“砌砖工”,更是“教堂的建造者”。
3. 高效试错环境至关重要
- 理想编程体验类似解LeetCode题:问题独立、反馈快速、试错无成本。
- 通过模块化设计、自动化测试、缩短反馈循环等改善环境,让工作像“编码乐园”。
4. 避免代码完美主义陷阱
- 代码无需完美,满足当前需求并预留扩展空间即可。
- 过度追求“清洁代码”可能适得其反。
5. 人比技术更重要
- 单一职责原则(SRP) 的核心在于理解不同角色的变更需求。
- 微服务架构的价值需结合组织规模来评估,技术讨论不能脱离“人”的上下文。
6. 学习需注重性价比
- 技术迭代快,但学习精力有限,应合理分配投入。
- 选择适合初学者的教材比追求经典权威更有效(如《写给大家看的设计书》)。
7. 尽早开始编写单元测试
- 单元测试能改善代码设计、充当文档,是构建高效开发环境的关键。
- 对未重视测试的开发者,建议“明天就开始”。
8. 程序员的最大敌人是复杂性
- 产品经理和需求变更不是敌人,不可控的复杂性才是。
- 通过编写清晰代码、消除重复、有效测试等实践,控制复杂性增长。
结语
作者在准备演讲时曾写道:“十年太短,不足以精通编程。”如今第二个十年将至,他仍感编程之难,但已更懂得如何面对挑战。本文内容基于作者多年实践,旨在分享可借鉴的编程哲学。
14. Certain dogs are capable of learning the names for more than 100 different toys (www.scientificamerican.com)
狗狗能学习超过100个玩具名称:研究揭示部分犬类的非凡语言能力
研究发现,某些狗狗具备学习超过100个不同玩具名称的能力,且这种能力多为自发显现,无需特殊训练。
核心发现
- 词汇量惊人:研究中的41只“天才词语学习犬”平均掌握29个玩具词汇,其中表现最佳的一只知道86个玩具名称。至研究结束时,有16只狗的词汇量已超过100个。
- 学习速度快:这些狗平均仅需约5分钟即可学会一个新玩具的名称。
- 自发性:许多狗狗的能力是主人偶然发现的,例如当听到“披萨”时,狗会主动找出对应的玩具。
研究方法与过程
- 招募“天才犬”:研究者最初尝试训练34只普通家庭犬学习玩具名称,但三个月后效果甚微。随后转向公开征集,并发起“天才狗狗挑战”(通过YouTube直播),成功招募到具备语言能力的狗狗。
- 样本多样性:41只狗来自三大洲9个国家,品种多样。超过半数为边境牧羊犬,但也包括拉布拉多、博美、柯基等纯种犬和混种犬。
- 验证方式:数据通过在线视频通话进行验证。
科学意义与比较
- 语言进化的线索:研究语言能力的物种差异有助于理解人类语言的起源。狗狗因与人类长期共生(约1.5万至2万年),成为理想的比较研究对象。
- 与其他动物研究的对比:此前类似研究多聚焦于圈养环境中的类人猿或海豚,而狗狗研究更贴近自然互动环境。
- “公民科学”的范例:该研究展示了通过主人参与和网络平台推进科研的潜力。
潜在影响因素与未来方向
- 未解之谜:目前尚不清楚这些“天才犬”与普通犬的具体差异。研究者推测,早期成长环境和天生特质可能共同起作用,但具体机制仍待探索。
- 品种关联:大多数天才犬为工作犬品种(如牧羊犬、拉布拉多、甚至历史上曾担任军犬的贵宾犬),这可能与人类长期选育中对其语言反应能力的隐性要求有关。
- 后续计划:研究团队希望进一步探索这些狗狗的天赋成因、学习机制,并与人类儿童的学习方式对比。他们呼吁更多狗狗主人参与,以扩大样本量。
15. I don't think the cheapest APC Back-UPS units can be monitored except in Windows (strugglers.net)
本文主要探讨了APC Back-UPS BX1600MI在Linux系统下的监控问题及潜在解决方案。
问题核心
作者在Linux系统上使用nut或apcupsd监控APC Back-UPS BX1600MI时,持续出现大量虚假事件(如电池断开/重连、电源故障/恢复),每个事件持续时间不足2秒。该问题在多台电脑和同型号UPS上均可复现。
关键发现
- Windows下正常:使用APC官方Windows软件Powerchute Serial Shutdown时,UPS监控完全正常,无虚假事件。
- APC官方态度:客服明确表示仅支持自家Windows软件,不提供非Windows环境的技术支持。
- 社区反馈:在
apcupsd邮件列表中,有用户指出该型号是廉价塑料制品,不建议购买。 - 协议变化推测:作者认为APC可能修改了通信协议,导致非Windows监控软件出现兼容性问题。
临时解决方案
- 文章提到2024年8月11日,
nut项目已根据作者报告的问题合并了一个PR,增加了过滤虚假事件的选项。 - 作者目前使用该解决方案,已能在Linux上正常监控UPS。
背景与决策
- 作者因家庭电源故障导致硬盘损坏,决定购买价格较低的UPS进行保护。
- 选择APC Back-UPS系列是因为价格低廉,但后续发现监控兼容性问题。
- 最终决定更换为价格稍高但被
nut官方兼容列表完全支持的Riello NPW 1.5kVA UPS,原APC设备已由零售商全额退款。
总结
该案例表明某些廉价APC UPS型号可能在非Windows环境下存在监控兼容性问题,但开源项目nut已通过软件更新提供了解决方案。用户若需在Linux等系统中稳定监控UPS,应优先查阅硬件兼容性列表或选择明确支持多平台的产品。
16. The Fed is behind the Capital One/Discover merger (www.thebignewsletter.com)
美国信用卡巨头Capital One计划以350亿美元收购Discover,核心原因在于联邦储备系统(Fed)留下的监管漏洞。此计划若获批准,将显著影响数百万企业与支付系统的关系。美国信用卡行业年收入高达数千亿美元,主要来自与商户和消费者的交易费用,以及信用卡使用者的利息与各项费用。信用卡网络还涉及数据分析、反欺诈及广告数据经纪业务,网络拥有拒绝用户使用付款系统的权力,被视为金融主权的一部分。
该行业门槛高,现有巨头具有强大的议价能力。消费者金融保护局数据显示,信用卡利润率高且越来越集中于大型公司。此次收购不只是简单的银行收购,更像科技平台扩展,Capital One希望借此变身拥有“应用商店式”平台的银行。Capital One CEO明确表示:“圣杯就是成为拥有自己网络的发行方。”网络作为平台本身拥有定价权,尤其是在Fed留下的监管空白下,一家银行若拥有网络可绕过价格管控,使其可定价而竞争对手无法效仿。
解析信用卡行业基本结构:银行发行信用卡,向消费者收取费用与利息,同时从商户处获得“刷卡费”(interchange fee),通常为交易额的1.5-3.5%。网络运营商(如Visa和Mastercard)从商户收取此费用并与银行分配,银行再向消费者提供奖励以锁定客户。
美国信用卡支付系统在全球范围内独特,巨额交易费用成为中间商的提取机制,令商户抱怨甚多。Visa、Mastercard、American Express和Discover因市场权力强制商户接受高额费用。有鉴于此,国会2010年通过Dodd-Frank法案的Durbin修正案,对借记卡进行价格上限和网络选择权监管,部分缓解商户困境,但信用卡未受管控,目前正有参议员推动适用于信用卡的竞争法案。
Fed在实施Durbin修正案时,为American Express等“自营三方网络”开出了豁免,仅限制Visa和Mastercard,从而赋予Discover类似优势。Capital One计划将其借记卡业务转至Discover主网络以利用该定价优势,从而对商户产生更强约束力。合并后,商户要么失客户,要么接受更高费用和规则。
其他合并动因包括Capital One将获得银行资金优势并达到“不能倒闭”规模,Discover作为大型信用卡发行商也有价值。收购完成后,Capital One将成为美国顶级信用卡发行商,网络资产稀有性进一步凸显。
关于合并前景,已遇到两党反对,包括多个倡导团体与参议员。当前政府下,审批难度大——需Fed和货币管理局批准、反垄断部门放行。反垄断障碍显著,且CEO明确以提高价格、减少竞争为主因,令合并前景不明。一旦政府换届,监管环境可能改变,2016-2020年特朗普政府监管宽松但也阻止过部分支付合并。
作者认为,真正的问题是美国支付系统需根本改革,包括Fed的公共支付系统(FedNow)完善或立法促进支付竞争。目前状况允许支付巨头通过费用攫取财富,导致资产集中的合并并非解决之道。
17. Form to DB (www.formtodb.com)
Form to DB 产品概述
核心价值 Form to DB 是一款工具,旨在帮助用户跳过繁琐的自定义React表单开发或从电子表格进行的数据提取转换加载(ETL)过程。它允许用户直接连接到其现有的 Postgres、MySQL 或 MSSQL 等SQL数据库,并在此基础上快速构建表单。
关键特性与功能
灵活的表单定制
- 组件与样式:提供超过100个预置组件(输入框、下拉菜单、按钮等),并允许用户进行深度样式定制,以符合品牌设计。
- 验证逻辑:支持使用开箱即用的验证规则,或使用JavaScript编写自定义验证逻辑。还可以集成像Moment.js这样的常用库进行日期格式化等操作。
- 兼具灵活性与效率:在具备如React般的高度自定义能力的同时,实现了类似Google Forms的快速部署速度。
数据库连接与数据操作
- 直接数据库集成:能够连接到任何SQL数据库,并在数据库表结构的基础上生成表单,实现数据的直接写入。
- 构建数据应用:基于表单收集的响应数据,可以一键生成CRUD(增删改查)应用和商业智能(BI)仪表板,用于查看、筛选、编辑和可视化数据。
- 数据整合:支持使用SQL或其API将表单响应数据与其他数据源进行关联整合。
技术栈兼容性 该产品设计为与用户现有的技术栈协同工作,旨在无缝融入开发流程。
总结 Form to DB 是一个连接前端表单与后端数据库的桥梁,通过提供可定制的表单构建器和数据库直连能力,简化了数据收集和应用搭建的过程,尤其适用于需要将表单数据直接、结构化地存入现有数据库的场景。
18. Building a deep learning rig (samsja.github.io)
搭建深度学习平台
1. 初始设备与目标
作者以1700欧元购买了一台包含3张RTX 3090显卡的矿机。计划将其改造为深度学习平台,用于:
- 微调和提供大型语言模型(LLM)服务。
- 学习使用PyTorch分布式训练,包括混合专家(MoE)模型。
- 进行独立研究。
原矿机配置:3张RTX 3090、Ryzen 5 1600 CPU、B450主板、4GB内存、两个750W电源。
2. 核心问题:PCIe带宽瓶颈
矿机使用PCIe 1x延长线连接GPU,这对深度学习非常低效。
- 原因:挖矿算法(如工作量证明)主要在GPU内部进行计算,对GPU与CPU之间的数据带宽要求不高。而深度学习训练需要频繁地在CPU(数据预处理)和GPU之间传输数据批次,因此PCIe带宽至关重要。
- 对比:普通游戏PC通常提供24条PCIe通道,显卡一般使用16条通道(16x)。1x连接意味着带宽被降低了16倍。
3. 解决方案探讨
方案一:利用现有CPU和主板(成本较低)
- 现状:当前CPU支持24条PCIe通道,主板支持PCIe分叉。
- 可行性:可将主板上的主16x插槽通过分叉器拆分为4个4x插槽,从而为3张GPU提供4x通道。
- 成本:额外增加约200欧元(分叉器及运费)。
- 优点:成本极低,是“史上最便宜的深度学习平台之一”。
- 缺点:可能限制未来某些高级功能的性能。
方案二:升级CPU和主板(成本较高)
- 问题:即使是高端消费级CPU(如Ryzen 9或Core i9)通常也只提供24条PCIe通道。
- 选择:需要使用AMD EPYC或Threadripper等提供更多PCIe通道的工作站/服务器级CPU及配套主板。
- 缺点:价格昂贵。
4. 关键决策点:4x PCIe通道是否足够?
这取决于计划使用的GPU并行策略:
- 分布式数据并行(DDP):模型在每个GPU上复制,数据被分割。GPU独立计算梯度后,通过All-reduce同步。4x带宽可能足够,性能损失约为5-10%。
- 对于大型模型(如70B参数的LLaMA 2)的微调:
- 单张24GB显存的3090无法容纳整个模型(即使使用INT8精度)。
- 需要采用模型并行技术:
- 流水线并行:将模型层分块到不同GPU,需要在前向和反向传播时传递激活值。
- 张量并行:将单个层的权重分片到不同GPU,需要在每个层内进行All-gather和All-reduce等通信。
- 这些并行策略比DDP需要更多的GPU间通信,4x带宽可能成为严重瓶颈。
- 混合专家(MoE)模型:专家分布在不同GPU上,路由器需要将每个token发送到对应专家,通信需求更大。
5. 结论与权衡
作者面临两难选择:
- 方案一(4x通道):成本极低,但可能严重限制进行大模型微调、MoE实验等需要高通信带宽的任务。
- 方案二(升级平台):提供充足的PCIe通道和扩展性(如未来安装第4张GPU),但成本高昂。
作者倾向于进一步研究Threadripper方案,如果价格合理,它被认为是更优的选择,尤其是考虑到未来的扩展性。
19. I Spent a Week with Gemini Pro 1.5–It's Fantastic (every.to)
谷歌本周发布了私有测试版大语言模型 Gemini Pro 1.5,其性能显著优于以往版本。该模型的核心优势在于其超大上下文窗口,可处理高达 100 万 token 的提示信息,远超过 GPT-4 Turbo 的 12.8 万 token 容量。在实际测试中,Gemini Pro 1.5 能高效处理完整小说、整个代码库及大量文本数据,准确提取关键信息并生成相关输出,例如从小说中间定位特定场景、在代码库中建议功能插入点并提供示例代码。
与现有模型不同,Gemini Pro 1.5 在处理长提示时性能不会下降,能全面利用上下文信息,避免信息遗漏或遗忘。这一特性直接提升了模型的实用性和易用性,无需额外编码辅助即可处理复杂任务。文章通过对比测试表明,模型对完整文档的直接处理能力远胜于仅依赖部分信息的其他模型,进一步凸显了其技术突破。
20. Show HN: Supermaven, the first code completion tool with 300k token context (supermaven.com)
Supermaven 是一款代码补全工具,号称具有最快的响应速度和最长的上下文窗口。其核心优势在于专为高效处理大型代码库而设计。
主要特点与优势:
超大上下文窗口:Supermaven 拥有高达 300,000 token 的上下文窗口,远高于 Copilot 的 8,192 token。这意味着工具在建议代码时,能考虑整个代码仓库的更大部分,从而更准确地适应项目特定的 API、惯例和结构,解决了其他工具在大型、独特代码库中表现不佳的常见问题。
低延迟与高速度:通过自定义基础设施和一种新型神经网络架构(比标准 Transformer 在长上下文处理上更高效),Supermaven 在提供超大上下文的同时,保持了与仅 4,000 token 上下文的 Transformer 模型相当的延迟和成本。性能测试显示,其从触发补全到显示结果的延迟仅为 250 毫秒(15帧),远低于其他主流工具(如 Copilot 783毫秒,Cursor 1883毫秒)。
基于编辑序列的训练:与大多数将代码视为文件序列的工具不同,Supermaven 分析用户对代码库所做的 编辑序列(类似于
git diff)。这种方法使其能更快地理解用户的当前任务意图,在代码重构等场景中表现尤其出色。
市场定位与理念: 文章指出,尽管大型语言模型功能强大,但其高昂的运行成本(GPU)限制了在每个按键时都调用的可行性。因此,代码补全领域仍需使用高效的小型模型。Supermaven 的策略正是通过创新的架构设计,在保持小模型成本效益的同时,最大化利用长上下文信息,从而在产品质量上与大公司竞争。
使用与集成: 目前,Supermaven 可供下载试用,主要集成在 VS Code 编辑器中,并计划支持更多编辑器。
21. Did fermented foods fuel brain growth? (news.harvard.edu)
文章摘要
一项发表在《通讯·生物学》上的新研究提出了一个假说,认为发酵食品——而非先前普遍认为的用火烹饪——可能是驱动人类祖先大脑容量增加的关键进化因素。
核心争议与时间线矛盾
人类大脑从南方古猿时期开始显著增大,但其驱动原因长期存在争议。最流行的理论认为,火的使用和烹饪技术的出现,使食物更易消化、释放了更多热量,从而支持了高耗能的大脑组织。然而,该理论面临一个关键的时间线问题:最早的用火证据(约150万年前)晚于人类脑容量开始显著增大的时间(约250万年前),这之间存在约100万年的空白。
发酵假说的核心内容
新理论提出,一种更早发生的饮食变化填补了这一空白。研究者认为,我们的祖先可能通过储存食物,无意中使其发生发酵。这种“预先消化”的过程,使食物中的营养变得更容易获取和利用,从而解除了对大脑体积增长的代谢限制,为自然选择塑造更复杂的大脑提供了能量基础。
支持该假说的证据
- 生理适应证据:人类的大肠相对于其他灵长类动物比例更小,这表明我们可能已经适应了消化那些已被发酵过程预先分解的食物。
- 文化普遍性证据:发酵食品在人类所有文化中普遍存在,从欧洲的葡萄酒、奶酪,到亚洲的酱油和日本的纳豆,这暗示发酵可能是一项古老且基础的实践。
- 逻辑一致性:发酵假说在时间线上与大脑开始增大的时期吻合,且可能最初是一种储存食物时产生的“偶然副产品”,随后才被逐渐发展成更稳定的文化实践。
未来研究方向与意义
论文作者建议,未来研究可以探索人类大脑对发酵与非发酵食物的反应差异,以及利用古DNA研究嗅觉与味觉受体的演变。此外,该假说也为研究发酵食品对人类整体健康(特别是肠道微生物组与身心健康的关联)提供了新的进化视角。
总之,该研究挑战了以火为中心的传统叙事,提出发酵技术可能是人类大脑进化进程中一个更早且至关重要的驱动力。
22. Facial recognition error message on vending machine sparks concern at University (kitchener.ctvnews.ca)
自动售货机人脸识别错误消息在大学引发隐私担忧
2024年2月22日,Colton Wiens报道称,滑铁卢大学(University of Waterloo, UW)的自动售货机上出现人脸识别应用的错误消息,导致学生对隐私问题表示担忧。该事件涉及自动售货机中的人脸识别技术,错误消息的显示引发了学生们对个人数据可能被收集或滥用的顾虑。报道于当日18:04 EST发布,反映了技术集成在日常设备中时可能带来的隐私挑战。
23. Intel Processor Instability Causing Oodle Decompression Failures (www.radgametools.com)
问题概述 Intel已确认第13代和第14代Core处理器(型号为13xxx和14xxx)存在硬件缺陷,导致系统普遍不稳定,进而引发Oodle数据解压缩失败,并使基于虚幻引擎(Unreal Engine)的游戏出现崩溃。
典型故障表现 启动虚幻引擎游戏时最常见的错误信息为:
DecompressShader(): Could not decompress shader (GetShaderCompressionFormat=Oodle)
该问题不仅影响Oodle解压缩。出现此不稳定性的计算机在运行标准基准测试和压力测试程序时也会表现出故障。任何在多线程环境下大量使用处理器的程序都可能导致崩溃或不可预测的行为。已知受影响的软件包括Adobe Premiere、RealBench、CineBench、Prime95、Handbrake、Visual Studio等。此问题有时也会以GPU错误信息的形式出现,例如虚假的“显存不足”错误,尽管其根源在于CPU。
根本原因 Intel确认其根本原因是处理器内部时钟信号电路由于多种因素叠加而快速老化。这是芯片本身发生的物理磨损,且一旦发生此老化,便不可逆转。受影响的部件需要更换。
解决方案
- 硬件层面:已老化的处理器必须更换。
- 软件层面(预防措施):截至2024年10月1日,新的BIOS更新正在陆续发布,旨在避免导致电路损坏的工作条件。
- 若使用品牌台式机或笔记本电脑,制造商正在(或即将)分发包含此解决方法的BIOS更新。务必尽快安装这些更新,以防症状出现。一旦开始出现崩溃,软件解决方案将为时已晚。
- 若为自行组装的计算机,请访问主板厂商网站获取更新的BIOS镜像。
24. Intuitive Machines successfully lands on the Moon (www.theguardian.com)
直觉机器公司成功着陆月球
核心事件
2024年2月22日,由美国私营公司直觉机器设计和操作的“奥德修斯”号月球着陆器成功在月球表面着陆。这标志着美国自1972年以来首次重返月球,也是人类历史上首次由商业公司主导并成功完成的登月任务。
重要性与反响
- NASA局长比尔·尼尔森称这是“巨大的胜利”,是“人类的一大步”。
- 白宫发表祝贺,引用拜登总统的话强调“以科学、希望和远见,我们作为国家无所不能”。
- 这次任务凸显了NASA商业月球有效载荷服务计划的成功,展示了公私合作探索太空的力量。
任务关键细节
- 发射:由SpaceX的猎鹰火箭从NASA肯尼迪航天中心发射。
- 着陆器:六足,高14英尺(4.3米),目标着陆点靠近月球南极的马拉珀特A陨石坑。
- 载荷:搭载六件NASA科学仪器与技术演示设备,以及艺术家杰夫·昆斯的125件微型月球雕塑。
- 着陆过程:着陆器在月球轨道使用自主系统选择最佳着陆点,并在下降过程中进行制动。
遇到的技术挑战
- 原计划的主要导航传感器出现问题,转而使用NASA提供的备用激光雷达仪器引导下降。
- 为了解决软件问题,着陆时间被推迟。
确认与后续
- 着陆后约10分钟,通信链路建立,任务主管斯蒂芬·阿尔特穆斯宣布:“我们在月球表面。”
- 控制团队(位于加利福尼亚州托兰斯)在紧张监控后庆祝了成功。
- 目前,任务团队仍在分析通信数据,以详细了解着陆情况、着陆器状态,并确定其能否完成既定的月球科学任务。
25. A 'scam manual' written to help immigrants not become victims (www.atlasobscura.com)
26. Shoes makes building little graphical programs for Mac, Windows, Linux simple (shoesrb.com)
Shoes 框架摘要
Shoes 是一个用于轻松构建小型图形用户界面(GUI)程序的开源框架。其主要目标是简化跨平台桌面应用的开发过程。
核心特点:
- 跨平台支持:适用于 Mac OS X、Windows 和 Linux 三大主流操作系统,确保开发的图形程序能够在不同系统上运行。
- 简单易用:致力于降低 GUI 开发的复杂度,使创建小型图形应用变得更加简单直接。
资源与社区:
- 教程:提供丰富的学习资源,帮助新手快速入门 Shoes 开发。
- 博客:持续更新项目最新动态、新功能发布以及社区成员的创作展示。
- 贡献:鼓励开发者参与贡献,团队欢迎有热情的成员共同改进 Shoes 框架。
该框架旨在通过简化开发流程和统一跨平台体验,为开发者提供一个高效、便捷的图形应用开发工具。