## Knuckledragger 二进制验证
本文详细介绍了使用 Python 构建的二进制验证工具“Knuckledragger”的开发过程,该工具利用 Ghidra 的 p-code 语义。其目标是提供一种更易于管理的方式来验证低级代码——通常出于性能、特定硬件访问或严格控制的需要,但由于其冗长性和有限的工具支持而容易出错。
其核心创新在于“双模拟”方法。该工具允许用户定义程序行为的*更高层次*模型,而不是直接调试复杂的符号执行输出。Knuckledragger 然后使用 Z3 进行自动证明,自动验证汇编代码中的所有可能执行路径都对应于此更高层次模型中的有效路径。
作者通过示例演示了这一点,包括一个简单的加法程序和一个 `mycpy` 函数(内存拷贝)。使用模型检查在 `mycpybad` 中发现并修复了一个错误——缺少长度检查。通过双模拟框架和 Knuckledragger 的反射特性,实现了进一步的验证,包括证明程序状态的不变量,并提供可读的规范。
虽然比基本的模糊测试或有界模型检查更复杂,但这种方法能够实现无界验证,并允许对程序正确性进行形式化证明。代码和演示视频可在网上找到。
## 寻宝者出狱
73岁的深海寻宝者汤米·汤普森在服刑十年后获释,罪名是刑事藐视法庭。汤普森于1988年发现“黄金之船”——SS Central America号沉船,该船位于南卡罗来纳海岸附近,打捞出数百万枚最初在旧金山铸造的金币。
资助探险的投资者在2005年起诉汤普森,声称他们从未收到从打捞的宝藏(估计价值高达4亿美元)销售中承诺的回报。汤普森于2012年出逃,并于2015年被捕。
他因拒绝透露约500枚失踪金币的位置而被监禁。然而,法官去年结束了他的无限期刑期,认为他不太可能透露它们的下落。虽然获释,但剩余金币的命运仍然是个谜,关于宝藏销售和分配的完整账目仍存在疑问。
这篇帖子详细介绍了作者对量化投资的探索,特别是将其应用于外汇(FX)市场,尽管他们之前从事高频交易。与股票不同,外汇收益受宏观事件(如利率变化)的强烈影响,这使得建模更加复杂。
作者利用TwelveData API收集主要货币的每日汇率数据,创建用于分析的数据集。然后,他们复制美元指数(DXY)——一种衡量六种主要货币对美元汇率的加权平均值——作为整体市场走势的代理,类似于股票市场的标准普尔500指数。
作者以资本资产定价模型为框架,通过滚动线性回归计算了几种货币相对于DXY的beta值。这些beta值表明了货币对美元波动整体的敏感度。初步结果与预期一致——欧元显示出接近1的beta值,而土耳其里拉由于其独特的宏观经济因素表现出较低的敏感度。
虽然这些初步的beta值本身并没有特别深刻的见解,但这项工作为构建一个更全面的外汇因子模型奠定了基础,该模型将纳入动量和商品敏感性等因素。
## 搜索蒸馏提升语言模型推理能力
本研究探讨了是否可以通过增强语言模型与搜索功能(类似于AlphaZero等游戏AI使用的技术),来提升其推理能力。作者研究了将蒙特卡洛树搜索(MCTS)应用于Qwen-2.5-1.5B-Instruct模型,并通过在线PPO训练将由此产生的更强的推理路径蒸馏回模型中。
实验重点是组合算术游戏“Countdown”,在该游戏中,模型必须使用给定的整数和运算来达到目标数字。结果表明,蒸馏后的模型实现了11.3%的mean@16准确率——比预训练模型提高了8.2个百分点——优于CISPO (8.4%) 和“最佳N个”采样基线 (7.7%)。
该研究强调了基于搜索的蒸馏的潜力,表明组合问题尤其受益于自适应推理树。尽管承认实验规模较小(1.5B模型),作者计划使用更大的模型和计算资源来进一步探索这种有前景的方法及其“推理旋钮”,例如worker/迭代次数。代码是开源的,欢迎合作以推进这项研究。