2025-09-14

人类本质是LLM

最近看到一些比较有意思的新词.
比如苹果小区.

还有一些就是比较热点的话题.
比如预制菜.

然后发散了下,想到了解构主义这个词.

本质上来说,之前的所谓互联网黑话体系,其实也是某种解构主义.
甚至往大了说,短视频以及互联网本身都是依靠某种形式的解构主义支撑的.

用某种冲击性,或者说新鲜的词/话语形式去尝试高度覆盖某种更大范围的事物和现象.

就像现在正在做的,用 解构主义 一词去试图概括和定性一种现象.

它的问题在于,容易把一些事情简单标签化.

诚然,从语言进化的角度来说,确实需要并且必然也会存在新词和以一种新的抽象形式概括总结某类现实的形式.
但反过来说,也不能说所有的简化抽象都是合适的.

就像预制菜,某种语境下是充满negative含义的.
而苹果小区,则是跟某种形式的高级感混合在一起.

从体验上来说,一听到词出现基本上就定下了整个表述的氛围和立场.

但实际上来说,什么是预制菜,什么是苹果小区,这是一个比较虚无/undefined.
或者说其实是没有一个相对准确严格的定义去区分的.

它更多的是表达了某种预期中的情绪和意图.

这就有点像LLM的hallucination了.

你根据一个词汇predicate出来的东西,其实从第一开始就决定了基调.

而反过来,形式上的,既然首词或者说关键词决定了一个人对某种表述或者某种食物的情感变化的话.
技术上来说就能通过rephrase去控制影响甚至是构造植入观点.

比如当用计划经济开头描述一项措施,和以市场驱动开头描述一项政策.
听众的情绪反应和接受程度可能从前几个词就决定了对于后续的具体措施的认可/反对程度了.

而同样地,如果先叙述细节,再加上冠词定性.
那么听众可能就对条目本身更为中立,转而对提出人的立场存在区分质疑了.

更复杂的情况在于.
当你吃的一个东西的时候,对于食物本身的判断可能就被迁移了焦点.
从是否喜欢是否好吃等更纯粹具体的地方,转移到一个可能定义不明确,但是有着明显正负情绪印象的点上.

以及由此延伸的对于关联词汇的情绪和接受程度变化.

所以从这个角度来说,如果说之前社会的被影响程度更多源于信息差造成的不对称,或者说不全面的话.
现代社会的意识形态更多的是这种相对复杂的植入形式.

或者说源于某种信息过剩之后的,出于自保也好,效率也罢的一种对digest需求造成的某种依赖性引发的misleading.

因为信息的多元化和巨量话,选择一种高度概括的,或者信息浓缩程度足以覆盖大部分话语场景的词汇,去处理和应用某种立场表达.

与其花两个小时看一部电影,不如花五分钟看剪辑加上评论,快速地吸收.
然后迫不及待地奔赴下一个需要处理的条目.

至于吸收了什么,反倒不是什么特别值得注意的重点.

从这个角度来说,各种女权或者说社会意见群体的割裂,归根到底可能还是接受信息流派的差异.
毕竟个体上来说,数量特征上决定吸收的核心思想是类似的.

观点冲突立场对立的不过是因为不同宗门而已.

大多数不过是被某种关键词注入的观点表达.

形式上来说,可能就像一个巨大的诈骗园区.
不同隶属的团体有着各自固定的话术范本,互相套路着对方.

这么一想的话,人类本质是复读机这个解构主义的注释可能还是颇合时宜的.

或者相应地,可以说人类本质是LLM.


2025-08-02

何乐不为

去看了长安的荔枝.

前半段还可以,尤其像荔枝林里不知道是笑还是哭的几个镜头表演算是相当出色了.
结合人物背景的那种对目标的绝望与对当下人际环境的希望的交叉矛盾心理.

后半段就有些过滤潦草了.

如果说整片是对于一骑红尘妃子笑,无人知是荔枝来的解构的话.
带入民生潦倒涂炭这点是没问题的.

尤其前半段路上驿站的桥段和蓄奴的设定,以及荔枝林老板娘的对城人陈见等都是一种很自然的侧写.
不过分渲染,点到而已.

后半段的砍荔枝林虽然说表演和镜头问题比较多,过多地用了一种新闻摄影聚焦肢体冲突的拍法.
但是作为一种层层加码和举国体制的滚滚车轮的描写来说,剧情上还是有必要的.

但是对后面逃驿的问题,加上刻意的仰望苍天的片段就有些刻意和浪费剧情空间了.

这里更好的侧写可能还是保留后勤支持不足的设定,然后插播几个经过凋零村落的镜头即可.
因为这里可以在最后和杨国忠的对话里,再回扣回来.
用成本压力导致的各级执行虽然遵守,但不坚决来反衬用度的荒淫.

这点也和前期的办公室政治化氛围是契合的.
部门之间即使动员,但是在涉及到自身利益的时候,多少还是执行上会有一亩三分地的考虑的.

毕竟生存和服从也是分级别和尺度的.

从这个角度来说,刘德华的杨国忠交出刻字金牌说出 流程那种东西是强者不必遵循的规矩 这句话的时候,本片的含金量就到了一个阶段性高点了.

形式上来说,这是一个简单的权倾朝野的权力叙述.
也很容易,或者说没办法避免滑入到对权力滥用,以及最后对值不值得这一句的衍生思路.

但本质上来说,剧本本来可能更想倾向于落到权责上面的.
毕竟道具上采用的刻有名字的金牌,以及金牌所代表的令行禁止的各种特权.

本质上来说,这属于一个用名字背书的项目.

从前段段各部门踢皮球,到利益均沾的点播,以及杨国忠夜访认可.
用前半段的办公室政治来说,这就是简单的有了一个总体拍版负责的最高负责人.

所以到这里,各个层级的决策点已经不是这个项目风险高,不能入坑,变成了纯粹的执行而已.
责任解耦,各个层级的决策层本身退化回了执行节点.

这也是觉得后面召集人员发细节号令穿插执行镜头的存在的必要性了.

按照这个思路的话,杨国忠这个角色的塑造就应该是有点亦正亦邪的设定的.

所以后面看的时候,其实蛮期待最后的对话的.

尤其相关的镜头上,多处和佛像以及夜叉交叉,从手法上算是某种角色定位暗示.

在看到场景是在佛堂以及高低层设计的时候,也是蛮惊艳的.
甚至在最初的值不值的讨论上,也算是可圈可点没有落入俗套.

但可惜的是剧本没有让刘德华有机会塑造这么一个角色.

一个题外话就是感觉刘德华还是挺适合这种有争议性的亦正亦邪角色的.
感觉可能这个也是无间道成功的一点.
人物气质选的好.

回到剧情上.

不满意的在于杨国忠居然没有反驳的设定.
直接恼羞成怒地杖击,从而使得后面一连串的演出的剧情越来越浅薄公式化.

设想的场景里本来觉得会想和珅反问纪晓岚一样,问李善德知道这个浪费行为能养活多少人么之类的问题.

尤其本来白客那个商人角色在这里也可以插入亦正亦邪设定的.
毕竟一方面有着被大哥压制的梗,二来确实有想翻身的欲望.
如果剧本上植入白客反骨砍了荔枝林,但是自己生意也靠这个做成了的话,倒也可以加入到杨国忠的这个论战论据里.

一个设定升华两个人物.

另外一个没有用好的是那个同是献上来的贡品绿李.

杨国忠的那句也不过那样可以在李善德吃了绿李,按照耿直人设说出不好吃的时候,再把这句台词抛出来.
最后在值不值的问题论证的时候,把这个也曾经是荔枝的背景交待出来.

毕竟,形式上来说,皇家贡品认证某种程度上来说,确实属于一种经济模式.

这样两相来回就可以把问题螺旋到一个新的未定状态.
而不是简单的劳民伤财的结论.

然后后面流放岭南,能回到荔枝林也不会显得太突兀.
毕竟真多成贡品了,扩产荔枝园给老板娘带来切实利益也能呼应回跟杨国忠的对话.

进一步考虑价值问题.

甚至和最初的懵懂长漂青年到中年到狱中的和光同尘,再到最后的偏居岭南形成一个逻辑上的进化通道.
也就是常说的质疑理解成为的下一阶段注解.

现在剧情结尾一下转到和解以及白客成才就有点闲的无厘头了.

而且使得最后在荔枝树下的日啖荔枝三百颗圆梗变成了没有支撑点的哀国眼泪.
因为你很难解释他哭的是什么.

为百姓已经哭过了.
为长安为圣人就有点说不过去了.

未兴百姓苦亡百姓苦就更说不过去了.
毕竟,从行为上来说,他自己就是为了自保的推手之一.
并且,整部剧的设定也没有忏悔自己成为洪流一份子的剧情,所以谈不上某种复杂的自责和怜悯心理.

但如果按照前面的杨国忠设定走的话.
这里就可以转化为一种对价值问题的释然和放下.

毕竟不管杨国忠怎么做,做不做,长安还是在燃烧.
一种历史宿命的滚滚车轮感,结合自己送荔枝到如今吃荔枝吃到吐的现状的一种荒谬冲击.

回闪到当初荔枝林到分不清苦笑到镜头,然后结束就可以了.

这样连日啖荔枝三百颗这个梗也某种程度上上升到了一种入世又出世的了然感.

何乐不为.




2025-07-26

理解成为

最近写个Presto的UDF,发现点比较有趣的地方.

因为功能上需要运行时访问外部数据,做个类似缓存的读写动作.
所以形式上来说,这是一个带状态的函数.

在SparkSQL里的话,这个处理比较简单.
由于整个execution pipeline是基于序列化的,所以只要能够提供一个某种程度上determinist的初始状态,那么各个executor是可以有一致的表现的.

当然,这个有一些前提.
主要是class版本的一致性.
这个主要是由于kyro本身的问题.

但总得来说是比较straightforward的.

但是presto不太一样.
它采取了一些可能从设计上来说,比较学院派或者说不是那么实用主义的设计.

从架构上来说,它的udf主要通过一种plugin机制扩展.
而为了比较好地.或者说便于udf的作者提供更flexible的实现,所以采用了一个独立的plug classloader的方式加载对应的实现.

这个从工程上来说,也是一个可能容易被选择的方案.
因为弱化了实现的库版本依赖的约束,允许plugin作者选择自己prefer的各种其他库.

这里它为了比较好地解决不同classloader同名类不兼容的问题,主要也是plugin spi类的可cast问题,在plugin classloader里面做了个白名单机制.
是的SPI的类从同一个classloader加载,避免隔离机制造成的互相不兼容.

不过这里形式上也提供了一种调用主classloader的实现的一些方式.
毕竟已知的白名单类可以得到app classloader,自然也就有办法使用到所有的类.

不过这算classloader这种sandbox机制的某种特性吧.
毕竟形式上来说,这也是JVM的claasloader sanbox对立统一的一面.

而且整个udf runtime和execution pipeline的执行某种程度也是依靠这种leakage来实现的.

因为它不像SparkSQL是依靠序列化传递函数实现,而是靠比较轻量的某种执行计划描述在个节点节点重构调用链的.
所以形式上来说,可能各个节点运行的版本并不严格一致.
因为jar包可能不一样.

不过这在实际场景下可能不是一个大问题.
尤其如果是用容器方式运行的话.

这里的主要问题在于它对udf函数的初始化处理.

大体上来说,是比较标准的依赖注入的思路.
扫描类的annotation来生产udf的描述信息和运行时绑定方式.

这里比较tricky的是对udf的绑定是通过method handler实现的.

这个大概率可能是一种基于性能借口的炫技.

因为对于一个generic的udf来说,入参数量和返回值是不确定的.

像SparkSQL就索性采用了一个透明的类Object/Any方式.
好处是SPI接口简单.
坏处也显而易见,不能简单地知道入参出参的类型.

Presto形式上来说也可以采用这样的方式.
而且实际上来说,如果采用这种方式的话,可能更有利于vectorize.
毕竟本身就内部pipeline的传递的page/block就是某种batch data.

但显然作者没有采用这种实用主义的手法.
而是用了method handler以便能够在udf的声明上就清晰函数的定义.
把heavy lifting的事情放在method handler的参数绑定上.

甚至炫技的地方还不单在这种类curry的functional化上.
甚至还允许函数声明根据参数类型做specialize,一定程度上做着类似template specialized的事情.
对特定类型的参数可以提供统一但优化的实现和声明.

这个炫技本身倒没什么.
只不过从实际实现上来说,它引入了一个隐性约束.
就是这个函数的implementaion部分必须是static的.

因为这样才可能在早期绑定确定的method handler.

虽然看实现上也支持非static method的绑定.
但对于hosting class的constructor有一定的限制.

而且本质上来说,这个hosting instance也是once bounded的.
作用上就是一个static的singleton.

所以没办法从这个角度去让某个udf调用带有状态.

于是要带状态的话,一种思路是把状态相关的部分作为参数inject到udf的入参里.

这个的问题主要是在explain语句的时候,会有一些可能或干扰或敏感或意义不明的部分让人confuse,或者说知道了不必知道的实现细节.

当然,这个通过override某些函数是可以redacted的.
但是总的来说,不是很便利.

另外一点就是late binding的问题.

有时候udf入参的一部分并不需要立即evaluate,而是需要在udf实现里根据情况决定是否做eval.

这个在SparkSQL因为expression是可以自定义哪些需要eval的.
不管是eval模式还是codegen模式,自主性都比较flexible.

而presto的因为前面method handler的那些magic,基本上generate出来的bytecode都是实际eval出来的结果再入参的.
也就是说,在这方面的可控性并不如SparkSQL.

如果将这些late binding需求的部分作为原始string传入,再再udf里编译的话,有几个问题.

一个是这个compile流程不算友好.
如果bytecode模式的话,需要处理多个class loader的问题.

因为前面也说了,plugin本身的class是在一个半isolated的class loader.
而bytecode generate因为使用了method handler这个builtin class,所以形式上可以不管实现,在一个独立的mini classloader就可以完成code gen.
而卒后执行的时候又是在main classloader里执行.

所以在运行时,或者说函数的调用逻辑里需要毕竟明确的知道会触发class loading的点和确保bind了正确的classloader.

而如果是interpreter模式的话同样有类似的问题.

并且除了这个问题之外,还有怎么构造compiler/interpreter也是跟问题.

因为整个presto是按照guice的inejctor构造的.
而plugin的接口和loading方式又缺乏引入injector从而获得相关依赖服务构造对应compiler/interpretor的方式,所以实际上也不太可行.
即使是强行构造了一些等价接口的话,在覆盖率上也是有所差异的.

这使得即使构造成功,可能运行时的表现也不尽如人意.

再就是即使构造成功,处于性能考虑,如何对整个compile结果缓存也是个问题.

因为前面所说的method invoke是无状态的.

不过因为本身表达式是string形态,所以缓存这方面倒相对来说更直接一点.

而如果不走这种compile/interpretor方式的话,presto倒是提供了一种间接或者说直接late binding的方式.
那就是presto sql的lambda expression.

这个倒是解决了按需evaluate的问题.
并且不需要复杂的compile/interpreter,甚至于都不需要做method handler的缓存.
意味本身就已经是bindable了的,在函数声明里就是个通用的明确的functional interface.

但这里也回到了缓存状态的问题上.

针对一个udf的调用,形式上是根据某些特定的入参生成一个确定的cache key以帮助查找的.
但是如果同时有late binding的需求的话,那么因为functional interface本身不太cache sensitive.

也就说,很难说两个functional interface是否具有相同的逻辑,从而增加了缓存的难度.

而这里因为前面说的bytecode codegen的classloader是个不关心/aware plugin classloader的.
所以实际上它接收的functional interface只能是jdk builtin的interface.
无法通过扩展的方式,使得运行时能从这个入参里得到一些比较显著的信息.

能想到的方式只能是walkaroud地再inject一个足够distinguish的比如原始expr的string参数,同时想办法在explain等场景里给它屏蔽/不显示干扰.

总的来说,核心问题可能还是在于Presto整体设计有些学院派.
不像SparkSQL更多的是秉持某种能用就行.

虽然比较讽刺的是Presto本身是Facebook这种喊出move fast break things的工程实用主义的公司搞出来的.

不过想想自己也是.

曾几何时倒也是看不太起Spark+Scala这种到处又不是不能用哲学组合的产品.

现在却是走到了理解成为的阶段.

2025-06-15

一部未完成的适配

看完了一部未完成的电影.

这部片片子比较有意思的是一开始那段自嘲.

秦昊关于既然拍了也播不了,只是私下小圈子里自嗨的事情又什么意义的质问.

片里导演也讪讪地承认生活的现实.

到这里其实沿着原有的思路,把补拍和一些意外穿插进去,可能还是一个不错的文艺片.

至少于戏里戏外的导演来说,是一种文青的自我感觉良好和救赎.
一种艺术上的纯粹为了完成而完成的虚无主义.

这里说虚无主义倒不是贬义.
只是描述一种关于文青普遍的宏大叙事情怀.
非得有一种表达和刺刀的锐性和针对才能称得上艺术的执着.

接入covid的叙事大概也是这种思路.

在淡淡地牢骚戏里戏外的电影行业处境之后,惯有的自由主义角度去看到这段历史.

所以他选择的封控的突如其来的干涉,留在房间里的不自由的苦闷逐渐癫狂,再加上解封后的泪流满面.
附带的叙事是乌鲁木齐火灾里的苦难和反抗精神.

这是一个可以说是很主流的文青自由主义视角.
一个关于个人权利和集体或者所谓专制下的冲突和反抗,以及在这个斗争中对弱者的怜悯,和对反抗者的可歌可泣的宏大叙事.

是的,这其实也是一种宏大叙事.

如果你用他的这个角度去看这部片子,无疑地,你可以说在克制中又振聋发聩.
毕竟,没有用一种直接的评击甚至几乎没有对抗的镜头,却选取了各种触动人心的片段,去通过情绪构造这种递进喧哗.

用薛之谦的话说,就是递进的情绪一点也不省略.

但这里可能有一些文化冲突的陷阱在里面,导致这种自我感动似乎不太普世.

至少当时看到一些舆论是戛纳可能也并不是太买单这部片子.

当然,这个舆论可能也收某种倾向性立场诱导或者说编造的.

但是至少在个人的角度来说,在叙事方面确实是存在一种立场差异导致的文化冲突的.

第一点是关于酒店封控的转折递进的.

娄烨的上下文可能更多的关注在疫情期间封控的一些野蛮和一刀切问题.

但是这个其实并不是一个普适的上下文.
对于一个不是很了解事件背景的人来说,特意引入一个武汉人不能住酒店的剧情只能是让人联想到地域歧视.
酒店的封控和跟警察保安的冲突也只能被理解为unlawful的一种试图要挟贿赂行使特权的一种自利行为.

这在西方表层的价值观里,可能都不是一种politic right的剪影.

尤其考虑到中西在lockdown这个问题上的巨大的现实差异.

没有经历过lockdown的人可能更倾向于如果当时采取了一些及时的手段,可能一些人甚至亲人可能就不会有不太好的结果发生.
所以在反lockdown这个角度,跟娄烨的想法注入角度可能是有一些偏差的.

某种程度上,可能恰好是在这些人的情绪反面.
毕竟如果归因于lockdown不及时的话,那么这里谈反抗精神就是有点火上浇油适得其反的.

中间穿插的隔离和在隔离中的无助软弱和疯癫化的镜头也是可能站在了对立面的.

对于娄烨来说,短视频的各种发疯和医护人员的谢谢你,以及被及时拉走的隔离人员,这些都是一种不必明说的殇.

但是对于没有lockdown的人来说,这是一种系统有效运作,医护情绪稳定放松.
用现在自由派喜欢的词来说就是chill和松弛感.

这个可能谈不上有一种控诉的共鸣.

而后面剪的乌鲁木齐和白纸影子,在娄烨看来可能是一种形式极佳的升华和收尾.
毕竟一边是苦难到极致,一边是群情愤慨,到最后整体的大爱无疆,make自由 great again.

但是对于普通人来说,这就是一幕幕对于医护的打砸抢暴乱行为.

从这个局外角度来说,这个结尾就显得非常的莫名其妙.

整个故事就变成了,一个要续拍电影的小组,遇到了疫情,却第一时间想着不管风险加班为自己的理想,然后在系统稳定运作,看着有保障医疗供给正常运作的时候,莫名其妙地开始忧伤流泪害怕,最后在庆幸一切结束的鸣笛里,忽然插入哥谭印象,最后定格在一群人看成片.

这就很让人莫名其妙.
强行解读的话,也只会顺着秦昊开头的那段话,把未完成的电影解释为这一场中年人的文艺复兴闹剧.
把死去的理想和疫情中死去的人挂钩在一起.

于是再拔高也只能拔高到这部作品试图把制度对电影的扼杀跟疫情造成的悲剧图腾等价化.

这个叙事的匪夷所思性就体现在,如同一个西方讲述二战悲痛往事的故事,内核在控诉体制扼杀了艺术.

犹如虽然失去了一条腿,但是保住了爱情这种不知道称之为后现代还是文艺复兴的逻辑.

所以从这个角度来说,片名倒是意外地贴切.

一部未完成的适配.

2025-05-25

请君入瓮

广场协议的一般结论是通过日元升值解决美国的债务问题.

那么,为什么日元升值能够解决美国的债务问题呢?

相对来说,日元升值对应的就是美元贬值.
如果说要解决的问题是美国债务问题的话,那么形式上来说,美元贬值就意味着以日元能够cover更多面值一定的美元计价的资产.

从交易的角度来说,如果预期美元贬值,那么第一想法自然是通过置换美元计价的资产为其他货币计价.
直到美元汇率稳定的时候,再置换回美元资产从而实现以美元计价的套利.

以美债债券方,即债务方美国角度来说的,在due date有一个确定的美元偿付额度是已知的.
那么如果能够通过以上套利手段的话,相当于能在美债到期之后,手头上又多出一些美元.

形式上来说,就相当于通过这种套利机制凭空消减了一些美元债务.

而从另外一角度来说,如果需要构成这种套利的话,就需要一个途径或者方式把美元计价的资产置换为其他升值货币计价的资产.

在广场协议的上下文里,这个资产就是最直接的日元货币本身.

看广场协议的内容,也可以看到.
日本政府还同时承诺了开放国内市场和金融货币自由化策略.

这本质上就是允许外资持有各种形式的日元计价的资产.

当然,从日本的角度来说,就是扩大了外商投资的入口.
形式上也有利于拉动国内产业的快速发展.

实际上,考虑广场协议的年份是1985年.
同期中国在做的就是改革开放和招商引资,叠加百万大裁军,all in经济建设.

这个从结果上来说,算是邓小平赌对了.

不过这里想强调的是广场协议背后的时代背景.

也是某种形式的产能过剩,然后通过广场协议形成了一个倾销的输入点.

某种形式上来说,中美建交和后来的中英香港问题能以一个比较满意的结果谈下来,也有一定甚至相当的影响.

既然从形式上来说,广场协议是一个win-win的策略.
毕竟一方得到了债务置换和过剩输出的途径,一方得到的资本和市场扩大以及国际影响力提升.

那么,为什么谈到日本失去的20年的时候,又常常归因于广场协议呢?

这两者实际上也确实互为因果.
因为广场协议的目的或者说至少50%的构成在于美债问题.
而当这个债务问题解决了的时候,另外50%是否成立就不再协议范畴了.

前面所说的套利机制的第二段内容就是把日元资产转换回美元资产 .
这里自然就涉及到日元资产的忽然抛售和经济规模不对等的洪泛效应了.

虽然微观上可以有比如不对等开放和贸易限制,或者说房地产泡沫以及银行系统僵化等问题.
但宏观上来说,还是由于日本本身没有办法承接这个过渡时期的资产溢价导致的.

类似的就像近代的几次金融危机,比如97亚太金融危机和次贷.

杠杆奔溃的本质是没有一个缓和的承接反应过程.

然后看看现在所谓的新广场协议或者说美债问题.

逻辑上来说,这个套利和化债的方式还是可行的.
但问题在于这里需要有一个能够被捧起的其他货币资产.

中国本来可以成为像当年日本一样的win-win对象的.
毕竟境况需求是差不多一摸一样的.

但是它跟中美对抗这个另外命题冲突.
而至于为什么中美对抗是个命题则是另外的话题,暂且不表.

所以,它可以是人民币资产但又不能,至少不能完全是人民币资产.

那么除开中国之外,日本或者其他经济体行不行呢?

能不能的关键在于有没办法构成一个有效的套利交易方式.

或者更直接地说,美国能够买/投资什么看起来值钱的东西么?

几乎没有.

全球化的发展已经使得除了中国市场之外,美国没有其他可以购买的资产了.
而且,就制造业来说,也与America first冲突.

那么,如果不能够找到一个有升值潜力的货币/资产标的,那么要构成交易链条就只能从让美元贬值这个角度来说了.

于是回头看无差别的10%关税和可能的对欧洲50%关税.

关税的直接作用是对于美国国内消费价格来说,直接加上对应价格的百分比.
按照简单的基于商品交易的的汇率形成理论来说,就相当于美元贬值10%.

事实上,从看一下4月1号前后欧元日元对美元的汇率的变化,虽然没有升值10%,但7-8%是有的.
而看台币兑美元汇率则更清晰.

所以从这个角度来看关税问题的话.
差别大大额关税可能反而是一种不太现实的策略.

比如如果针对欧洲征收50%关税的话,那么理论可能要求欧元兑美元升值20-30%.
那么它的问题在于动态计价下,日元人民币跟欧元以及美元的汇率会如何浮动呢?

通过比较详细的商品交换和可替代性当然能够算出一些定性和定量的结果.
但是这种系统抖动可能并不难保证最初的化债目的能够实现.

所以在还有其他方案的前提下,这个更多的是一种姿态和叫价要求.

但是万一呢?

考虑路径的话.
美国如果对欧洲征收某种不特定品类的高关税的话,形式上来说可以是迫使替代品计价的某种升值.

比如如果针对欧洲出口的汽车征收关税的话,那么对于美国从其他国家进口的车辆就存在某种加成的汇率影响.
因为以美元计价的角度看的话,替代进口的价格更便宜.
从而间接地构成替代品货币相对于欧元升值,从而传导为对美元升值.

当然,这里不可能是中国的汽车.
但可以是当前中国对美出口的其他产品.

假设通过这种方式构成了人民币对美元升值.
那么,对于化债这个核心问题有帮助么?

因为虽然只是人民币对美元汇率变化,但作为全球两大经济体,形式上就是实现了美元贬值.
而这个过程中也不要求美国置换人民币资产,可以通过持有其他资产规避持有美元资产从而形成套利.

但这里后续跟日本剧本的区别在于,如果按照广场协议模版的话,需要把诸如其他货币资产置换回美元.
那么同样的日本面临的体谅问题就会继续考验这些经济体.

而即使中国没有直接参与在这个场景中,也会因为连锁的关系而收到牵连.
毕竟一方面的出口替代也依赖的这些经济体.
另一方面,也是当今贸易网络的复杂性内涵的无法独山其身.

一个可能不太舒服的结果就是不得不最后出面bailout这些抛售资产.

它可以是一个机遇,毕竟在国力足够支撑的情况下,最坏也无非是前几年的全线出海场景.

但它更大的风险或者说问题在于这些资产的价值还存不存在.

尤其考虑中国威胁论的背景.

可能很多国家和经济反倒是乐见其接受,甚至一开始就考虑借机处置有毒资产变危机为风口的.

某种显而易见的决策自然是某种特定形式的闭关锁国独善其身内循环.

但是这个在特定历史条件下,都存在着非制度性的内部外部阻力的.

而且借助流浪地球的世界观,这最终也不可能是一种妥善的解决方案.

所以,如果面对接下来的请君入瓮可能也是一个关键的历史时期.


2025-04-07

变数

 等红眼航班,稍微理了下川普的策略.

机制上来说,目前关税的做法是并没有他理想的交易模式,大部分臣服.

欧洲的暂停汽车进口某种程度上来说也算一种反制试探.

毕竟从目前来看,马斯克是川普版图里最脆弱或者说最容易有显著崩溃作用的一个环节.

反特斯拉的行为和非新能源车的国内市场供给矛盾不仅会对特斯拉进而影响马斯克立场,更重要的是对于普遍认识的所谓红脖对非新能源的喜好与随之而来支持情绪反转,对于川普来说都是挺致命的.

而要拯救特斯拉,目前已经做的是利用xAI收购X去可能间接地补偿之前收购X的股权质押,从而缓解特斯拉的困境.

加上AI的风头和Open AI和解是有可能让马斯克坚持下来的一种结局.

但考虑到这两家公司的实控人的性格和行为过往,大概率也是不会有好结果的.

那么,如果考虑国有化特斯拉,或者以某种形式政府注资呢?

这个历史上也是有类似案例的.
甚至恰好是同为汽车行业的通用.

以一个国家安全或者战略投资之类的救助法案定向注资程序上也是说得过去的.

而且本身已经有了一个星际之门的定向策略,剩下的可能只是如何通过的问题.

这个路径的问题也比较明显,就是马斯克和川普的关系,以及夹杂的4任职利益冲突.

所以,如果从这个角度考虑传闻马斯克辞去DOGE职位的也算有一种相对积极的可能性解读.

如果退而求其次让xAI去做这个通道的话,那么由于本身未上市,去操作特斯拉就大概需要一个私有化过程.
这个行过往看,特斯拉那边是不太容易通过的.

当然,考虑到当下的舆情和马斯克的现状,现在私有化变成可行也不算意外.
毕竟跟之前不同,现在可能存在负资产可能,会顺利允许也可以理解.

但相对来说,是不如直接国有化特斯拉来得干脆和少变量的.

不过即使争取到马斯克坚持下来,按照目前烽烟四起,诸侯蠢蠢欲动的情况,可能川普大棒之后的胡萝卜策略也没办法施展了.

毕竟形式上来说,对中对美,第三方都是可以谈而不是之前一边倒的制裁局面.

甚至于基于这个共识,美国在继续以抑制中国策略的时候,可能需要反过来出让利益于盟友,以换取协同步骤而不是像以前一样了.

但是这样问题就变成了川普是怎么看待中国和MAGA的关系了.

如果事实上确定地认为制造业回流的障碍在中国制造,那么确实出让利益遏制中国是一种可选项.

而如果制造业回流是一种general的回流,那么出卖利益就是一个不必要的交易选项.
因为在跟中国意外的国家比较的时候,美国制造并没有那么明显的弱势.

甚至于在对比欧洲等发达国家的时候,还具有一定的制度上的低福利低人权优势.
加上相对的,还有经济和制造基础的优势.

所以如果从这个角度理解向万国征税这个思路就显得有条了.

作为一种general的回流策略,目前这种粗暴的根据逆差计算penalty的算法就显得某种程度的smart了.

直接量化了一个谈判的目标值,交易的negotiation在某种程度上就是明牌的,在具有优势的情况下.
而在相对对等的情况下,也相当于把用什么交换的问题丢给了对方.

只有在遇到没有优势的对手的时候,才会显得手足无措.

于是除开中国,欧洲和其他盟友的策略最终都会回到用什么跟美国交换的一个问题上.

如果沿用以前的联美抗中路线,那么由于美国其实并没有太特定的对抗目的,更多的是taking advantage of their ally,所以可能实际上是作为巴黎和会中中国的角色了的.

而如果是渐中立的状态三方互有合作的话,倒是存在某种形式上的re-globalize的可能性.
只不过各方的优势产业能力会跟之前有所差异就是了.

至于中国,在这个变化当中更多的是思潮能不能转变协同的问题了.

这个某种程度上来说可能是个更大的变数.

毕竟政策被舆论裹挟而被打乱节奏的事情还历历在目.

2025-03-08

瑕不掩瑜

新加坡哪吒2终于上映了.
也终于有机会去看了.

客观地说, 剧本应该是还算可以的.但是叙事成熟度还是不太够.
虽然哪吒二阶重生的片段确实很打动人,但切割开来看的话,缺少一个比较明显的叙事主线.

或者说在剧情长短安排上还是有些不太平衡.

像第一关的土拨鼠.
作为一个单元片段放出来算完成度很高了.

但是对于整体剧情的推进来说,却显得过于冗长.
唯一能有点体现的不过是哪吒为了大局愿意忍辱负重这点.

算是对疯魔外表下的一丝认真性刻画.

但是消耗的片长实在是太长了.
而且主要的叙事花在了跟敖丙融合冲突的这点设定.

而这个设定在剧情推进上属于可有可无的部分.
不多笔墨也不影响主干叙事.

作为其反面的就是第二关申正义的剧情.

申正义和申公豹的剧情从构造上来说是跟哪吒成对立面的.

哪吒2的主旨是不由天的含义延伸/溯源.
反抗是因为顺从无用,被别人定义是一种牢笼.

而这点恰好是申公豹一家所推崇行走的.

从戏剧冲突的角度来说,塑造主角哪吒的觉醒和讲述申公豹的DC式悲情才是一个比较成熟的表现手法.

但可惜的是尽管尝试引入申小豹这个角色去把闯关剧情和这个对立面人物谱系联系起来.
但是对申公豹的憎恨一切的黑化剧情没有了.

甚至作为回环伏笔的得知申正义受伤也是在一个很后期也很突然的闪回剧情里插入.
更可惜的是,作为最后一根稻草的绝望只有一个背影剧情交待,甚至连具体挣扎冲突都没有.

当然,这点一方面可能是因为实在塞不下了,另一方面也可能考虑是在第三部重点展开.
毕竟作为对立叙事,第二部注解正面,第三部从反面重点注解也是能理解的.

不过按照类似漫威的思路,可能就是独立的申公豹系列单列了.
以此构成一个比较完整又庞大的体系.

同样微妙的还有从第三关石矶娘娘和对应的东海龙宫背景交代开始.

这里基本上就属于各种隐喻和投射开始密集的地方了.

无量仙翁以怀疑龙宫为理由先斩后奏很容易让人联想到美国对伊拉克的大规模杀伤性武器指证.
而龙宫终的肉身和代差武器反抗也很容易联想到诸如长津湖等历史.

尤其如果把妖魔论尤其对哪吒的魔丸包袱对应到中国威胁论的话.

那么在升华第一部的不由天内涵到不被定义自主独立层面的话,大致也对应了中国发展思路的变化.

从纠结制度问题到文化自信的演变过程.

所以,如果把结尾东海龙王和哪吒分别的那段话做政治解读的话,基本上就属于两个时代中国领导层的思路交接了.

以这个角度回看哪吒听到陈塘关消息反而直奔第三关试炼就有一种合理性了.

此时的哪吒还纠结于成仙完成制度改造去除威胁的思路.

属于转型变革尝试的一种表述了.

也是通过这个奠定了只有坚持不被定义,不纠结成不成仙的问题,向着不由天的二阶意义延伸.

所以第三关的的突兀从这个角度来说,就显得像是一种必要的突兀了.

从这个角度来说,哪吒2的后半部分更像是例外一种形式的觉醒年代和战狼.
属于某种形态的当代新文化运动启蒙了.

作为一种官方意识形态的以前所未已的方式扩散.

尤其如果考虑饺子本人的一些经历的话,就会觉得可能也不是一种过度解读.

第一步作品打个大西瓜多少就是有些形态指涉的.
尤其大棋局的设定.

而且记得当初这部作品本身新科动画也是有参与的.也就是CCTV当时的针对动漫的新媒体渠道.

即使除开那些解读,饺子自己在哪吒2里也是能看到一些反身致敬的.

比如开头哪吒亲口说的打个大西瓜.
以及在把龙族入鼎完成一阶复仇之后,对着大海和海鸥空虚的场景,多多少少是对那片的致敬.

除了这些自身的投射之外,像海夜叉这个角色.
开头的剧本也很容易想到陈佩斯朱时茂的警察与小偷.

还有一些场景和方言做派也容易勾起对于武林外传的想法.

所以,即使抛开那些元素,该片也是多多少少有很强的时代性烙印在的.

从这个角度来说的话,也算瑕不掩瑜.


2025-03-02

暴力美学

最近跟风看了下DeepSeek开源的几个项目,
一个感想就是这样的团队可能其实还是挺难得的.

基本上属于需要有钱,玩得起硬件,但又不能是一个大公司,使得接触这些环境有条条框框和门槛.
再就是在有追求的同时,具有一定的实用主义精神,有ROI概念.

像基础的3fs.

一上来就是面向RDMA设计的.
这个成本本身就有一定,小点或者资金不是那么充裕的,一时半会也玩不起.
而在大公司里,大概有属于一类比较特殊/不通用的硬件资源,大多也只是某些特殊目的的项目有预算支持.

何况即使有,也大多是属于某些特定部门的专有资源.

倒不是说不够共享精神,可能实际上更多的是来自于行政上的条条框框数据隔离.
再就是复杂的成本归依问题使得不大可能是一个通常意义的基建环境.

除了硬件使用门槛之外,实现上也一方面实用主义,一方面也有一点要求的.

因为面向的是特殊场景,所以有些地方就没考虑通用场景.
都是针对于需求需要达到什么样的效果,就采用什么样的实现.

比较明显的就是DeepEP和DeepGEMM两个项目.

DeepEP给nvshmem 的驱动打了个patch,增加了receive队列以及相应的通知机制.
这个基本上就是DualPipe和DeepEP本身能够在带宽调度上面手动双工压榨的软硬件基础了.

而说到DualPipe这个项目,HN上有个评论算是蛮meme的.
A CEO who codes.

当时第一印象就是当年Facebook现Meta炸子鸡时代,提到扎克伯格跟工程师一起写代码的都市创说.
虽然这一版的评论在当时被爆说比较负面,称根本在帮倒忙.

不过DualPipe的倒是比较亲和.
有人举了个例子说是跟中国厂家打交道,很多时候确实是老板亲自下场解决调试各种技术问题的.

基本上来说DeepSeek在HN上面的评价是少有的对于国产东西又相当一致性的高评价的话题.
从最初R1的时候,就是几乎少有的一面倒的贴服.

侧面可能也是说明对于OpenAI算是苦秦久矣.

而DeepSeep某种程度上也确实像是那个指出皇帝新装的小孩.

最近那个拆解成本摊薄说利润率500%+的可能某种形式上来说也是算是对OpenAI发布4.5对一种呛声.
比较时间点上刚好在OpenAI发布不久,并且强调成本高昂的时候,跳出来展示了自己成本.

当然,这个成本固然爆出了属于既得利益层面不太愿意公开,一般人也不太能算得出来的信息差的一方面.
但是,也必须承认这个只是inference的成本.

而且计算的机器成本和其他投入成本也是过于简化和纯粹的.

但确实对于价格的合理性植入了一个问号就是了.

至于训练方面,这个属于一个目前还算一个外行比较难评价的层面.

一方面是一般人也不太有条件去复现.
另一方面可能语料的组织形式本身也是一个具有advance的商业元素.

毕竟模型结构和fine tune的脚本一定程度上算是开放的了training的相当部分内容.
但是怎么喂的可能还是有一定的技巧在的.

加上像Meta的语料来源合规性问题,本身也是有非技术原因的复杂度在的.

不过虽然不能直接给出一些信息,DeepSeek也多少还是在关于自己FireFly2的集群架构论文多少有撕开一些东西.

一个是对比Nvdia DGX A-100的成本.
卡数相同集群规模,性能大致是后者的83%,但是总体硬件成本可以减少40%.
里面很大一部分开始缩减在于减少了IB的实用.

DGX的架构里但节点8卡一共用了9个IB,而FireFly2只用了一个IB加4个nvlink.

4个nvlink主要也是为了拓扑层级逐级归并引入的单节点双卡之间的互联.

诚然,从Nvdia的角度来说,因为是面向某种形态的通用场景,所以用上了一种比较奢侈的IB配置.
但是从另外一个角度来说,也可以说是Nvida是为了利润搞了某种形式的结构化捆绑销售,强卖了一部分过剩但是性能上并不容易扩展的硬件.

看DeepSeek也提到了DGX这几张IB其实还是环形结构的.
虽然提供了一个端对端比较高的带宽,但是某种形式上利用率是不太高的.

当然,Deepseek也提到了自身这种拓扑结构的一些问题.
但更多是CPU结构导致的一些局限性.

比如有PIC口不太够,导致8张卡里有两张需要共享一个口,成为了一个瓶颈点.
还有CPU本身点一些实现缺陷也导致PCI带宽跑不满成为瓶颈.

感觉这块如果说估计成本考虑如投入DPU和swich设计,替代IB的话还是有很大的成本提升空间的.

不过查了下数据中心交换机这块,国产厂商跟国外的技术差距还是比较大的.

看券商研报有列出一个datasheet,国内盛科通信能达到2.4T的交换容量,但是思科博通一线是在25.6T,差了一个数量级.

所以这块可能还是得等有同能能力的厂商之后才行.

看DeepSeek提到自己的下一代架构可能也会上8块独立NIC口,只不过不是IB而是通用RoCE方案,
不过没提到CPU选型,只提到了AMD的下一代CPU也有当前类似的瓶颈.
所以不知道会不是跟华为搞个专门通道DPU之类的去一体化解决GPU CPU和NIC的整合性问题.

不过感觉大概率不会是Deepseek亲自下场去搞.
就像发现DeepGEMM里发现undocumented的指令side effect也不是去搞个通用的compiler或者其他什么方案,而是简单粗暴的对原生binary做bit改写.

这种能用就暴力用的美学可能才是DeepSeek的风格.

2025-02-23

从觉醒年代谈起

最近在补觉醒年代,发觉有几点细节蛮有意思的.
或者蛮值得把玩的.

一个是新青年单价2毛多.
按照0.2银元理解的话,相当于现在什么概念呢?

Gemini给的人均年收入数据在5-30银元的区间,因沿海和地区已经行业属性而不同.

按30银元年收入等价现在6k月社平工资换算的话,大概一银元等于2.4k.
那么一份新青年的售价大概就是480.

然后是李大钊给工人垫付住院费的桥段.
也是大概30银元.

不换算的话,也就是小孩住院差不多要工人一年工资收入.
换算的话,就是住院费用在7w2.

同时值得注意的是李大钊担任编辑的月工资刚好也是30银元.
也就是说当时的一个报纸编辑的月收入等于工人的年收入.

月入7.2w大概就是现在互联网干活的主力中层的收入水平.

从这点看,Gemini的数据倒也不是完全不make sense.

另外一个剧情是陈独秀拿了120银元的稿费准备给儿子.
算人均一年学费60银元的话,两年工人收入,折合现在14.4w.

另外一个就是蔡元培和陈独秀的工资.
里面提到北大offer的是300银元的级别.

月薪72w,年薪800w+,倒也算符合现在对应的互联网收入分层.
尤其是这个package是纯现金的.

于是,在Gemini的这个框架下,回头看新文化运动和新青年的社会体感.

480一份的报纸,折合60美元.
如果当作月刊订阅的话,一个月240美元.差不多就是OpenAI之类的最高订阅费用.
服务的主力提供群体是差不多年薪百万的那群人.

那么一个不太离谱的现代代换就是新青年属于鼓吹AI颠覆传统产业的影响渠道.

如果考虑和保皇派文化之争的符号变换来看的话,大概就是马斯克的X对左派传统媒体的叫嚣颠覆.
或者说是抖音渠道的AI卖课风潮.

当然,倒也不是揶揄新文化运动和新青年的意义,只是做这种转换可能会有一种更具有现实性的实感.

毕竟,如果考虑后面各自的命运归途的话,会对什么是革命和理想有可能一些不太一样的体会.

就像不管是恨国还是粉红的人,放弃年薪百万去投身一个高风险或者说崇高而直面死亡的事情,是需要怎样的使命感这件事有些比较现实的对价.

更不用说那些年薪千万的人了.

而另外的一面可能更容易陷入沉思的对一些人事的价值的重新认识或者说思考.

跳出历史来看的话,或者说从传统历史教科书里,很容易对新文化运动做出具有局限性的评价.

但是如果身在历史中,又如何能做出这些评价呢?

影片里陈独秀有学车夫吃老北京火锅的桥段.
所以你也不能说他不接地气,不了解中国.

但是当你把年收入的差距摆在那里的时候,把一份新青年的售价和普通人的收入水平放在一起评论的时候,可能就有一种不由自主的荒谬感了.

即使不把白话文之与文言文的话语钱争夺视为如今的渠道流量之争.
但从受众的多寡来说,这个命题本身就站在了一个不属于他的高度.

因为这并不是大多数人能够第一手触达的.
甚至在某种程度上决定了为什么各种主义都救不了中国的原因.

而在这种VC/投资都狂热的倾注在这个风口的时候,有人能提出走工农路线是怎样一种insight.

所以有时候你很难说历史是偶然还是必然.

当然,这些都是基于Gemini的基准收入是符合事实的前提.

作为cross check,deepseek给出了另外一组数据.
主要的差异在于除了地区要素之外,还有城乡差距.

跟剧中的编辑收入对比的话,跟DeepSeek的数据是比较吻合的.

大学教授200-400银元,编辑40-60.
城市工人在8-15银元月收入的水平,这个跟Gemini的出入比较大.

不过继续看的话,农村佃农的年收入确实差不多在年20-50银元的范围.

自耕农的收入会高很多,在50-100银元的年收入水平.
不过这部分应该属于后面所说的小地主/富农.
毕竟是自有土地.

按绝大多数人口是农民并取55下限的话,倒也不能说是错的.

总的来说,可能对于沉默的大多数这个表述需要有更多的角度看待.






2025-02-08

聊聊Parquet

最近backport一个iceberg的读feature回一个比较老的presto版本,发现一些比较legacy的bug.
尝试重新实现绕过的时候,发现了parquet的另外一些比较有趣的事情.

设计上来说,parquet的column chunk里是可以记录min/max和num of null values的统计信息的.
这个也是parquet被广泛利用的一个特性,可以用来跳过不必要的io.

看的时候发觉是支持某种程度的udf的.

也就是说像like之类的模糊查询理论上也能够做一定程度的filter.
毕竟原生的operator是不太支持这种查询的.

不过测试的时候发现一些其他问题.

比如读取的时候其实是支持重新指定schema,也就是只读取/project部分column的场景的.
但是因为project的时候的一些逻辑会导致如果project的列里不包含filter条件的列的话,这个filter是会被丢弃的.

一个例子就是比如逻辑上有
select a from table where b > 0 
这种查询.

如果执行引擎只project了a,那么在parquet的io层面是不会触发b>0的过滤的.
连带的执行引擎对io返回结果的假设就不成立了.

这个行为要修倒也不太难.
只是一定程度上来说是个breaking change.

因为从另一个角度来说,返回的结果集存在一个invisible column产生了影响.
从而使得从查询引擎的角度来说,一些假设可能会被推翻.

当然,这个取决于各个上层查询引擎的执行计划构造和pushdown的完备性/防御性了.

不过这里倒是引申出一个问题.
当前查询引擎的pushdown设计是否应该更改为pull-up模式.

毕竟现在流行的一个概念是io设备/存储带有一定的处理能力.

pushdown的本意也是历史原因查询引擎的设计没有考虑到io/存储设备具备这些能力,所以才从优化角度产生了特例进行pushdown的.

如果说一个全新的引擎从设计之初就是考虑了io设备层面具有filter能力的话.
那么相应的就是对不支持的设备的pull-up/fallback机制了.

也就是从
project <- filter <- scan
直接变成
project <- filter-scan
形态.

不过从optimizer的角度来说,似乎是没有区别的.
毕竟在一个嵌套的比如sql查询当中,filter条件可以存在在任何一个层级.

如果按照这种storage with filter的设计的话.

一种是需要把每个subquery也抽象成某种storage,因为这种才能嵌入filter.
但是这样就会造成某些可以在io层面做的filter没有办法push down到io/存储设备.

另外一种是构造独立的intermediate/query区别于最底层的storage io.
但这样同样存在相同的无法push down问题.

而如果把pushdown交给optimizer做的话,就不是pull-up/fallback的本意了.
因为实际上还是存在一个pushdown的优化逻辑.

这样从设计上来说,pull-up/fallabck就成为一种鸡肋了.
无端引入了一种不必要的优化规则.

另外一个比较chaotic的特性是几乎随处可侵入的meta/key-value特性.

虽然目前看着现成的reader框架里是没有接口可以侵入利用这些matadata做进一步复杂的filter动作的.
但是读取的parquet信息里,这部分数据属于read once的东西,而且是required的必定会读的部分,要从代码层面侵入的话,倒也不是很难.

只是从规则上来说,如果真的对这种filter有需求的话,还是能够合并进统计信息里成为正式标准会比较好.

毕竟前面的一些magic特性已经足够让执行引擎对io结果的不确定性打上一定的问号了.

不过可能parquet的人也意识到这个问题.
在metadata里有一个特定的created_by字段.

这个初看可能觉得可有可无,但实际上算是一种变相扩展版本提示.

毕竟根据created_by就知道文件生产的vendor是谁,具有哪些特性是可靠可依赖的.

倒算是一种可扩展性/可玩性很高的设计了.

再一个可能就是生态性方面的问题了.

在写一些测试demo的时候发觉如果真多low level地取读取parquet文件的话,column nested/repeation之类的处理还是挺繁琐的.
而使用稍微一些high level的api的时候,又回发现avro的身影.

原因也简单,毕竟column io最终呈现回给调用方的high level api的结果一般就是通常的row oriented的record.
所需需要选择一种input/output的序列化格式.

问题在于不同的application需要的record类型有差异.

parquet自己选择的是avro.
iceberg这里类查询存储引擎因为面向设计的不同存储类型和文件结构,所以需要有自己的StructLike类型.
spark也有自己专属的Row类型.
presto则是自身对应更高阶递归的数据类型,而且还是此之上又加了一层自己的rowgrow/page/chunk概念.

这就是导致了诸如presto<->iceberg<->parquet的链路会存在很多反复同质又异构的类型拆装.

这个时候人类又才会重新认识到Arrow这类项目的光辉之处.

虽然Arrow的API也是挺low level的就是了.

不过至少提供了一种理论上可能更有的传递路径.

毕竟从结果/实际上来说,现在的大部分查询引擎都是面向column chunk的.
即使实现不同,但概念相近,data pipeline的基本unit也差不多是以这个为基础的.
所以如果能趋向同一个统一格式的话,多少还是会有些生态价值的.

不过从性能的角度来说,有多少好处,有没有好处倒确实挺难说的.

毕竟除了io之外,各个系统之间的memory allocator能不能也一统也可以是个影响因素.
如果不能互通的话,copy transfer还是避免不的.

这种情况下可能统一格式带来的收益就微乎其微了.




2025-01-19

谈谈仿制药

下午查了下关于仿制药的一点东西.

首先是关于一致性定义的相关文件.

简单的Google一般会指向NMPA/国家药监局的一些关于 化学药品注射剂仿制药质量和疗效一致性评价技术要求 的相关政策公告或者是更早期一些的关于这个文件起草意见稿.

一般理解的西药就是指化学药品.

这个文件本身的内容并不多.
基本上在在描述成分加工以及储存过程中跟原研药的区别比例控制.
其中关于稳定性方面的要求除了储存方面,针对注射类还有一些长期稳定性方面的要求.

对于争议比较大的临床效果方面的一致性要求,这份文件也只是比较含糊暧昧地在稳定性方面提及了临床陪伍方面的稳定性要求.

从侧面来说,这至少说明在一定情况下,还是有对应的临场效果要求的.

不过从另外一个层面来说,仿制药作为药品本身上市也是要有临床试验支持的.

所以从这个方面来说,仿制药的临床效果争议问题上,多多少少是有一些隐含的上下文限定的.

在看关于特殊注射剂的习惯部分的时候,一致性定义里有比较明确的关于质量的定义.
里面提到了对于商业批量的样品应该进行BE或者临床试验.

按照通俗的法律理解,应该对应的属于一般强制性要求.
也就是说一致性评价里要么需要有BE试验结果,要么需要有临床试验比照数据.

只有在这两个或条件下也满足误差范围才称之为均有一致性.

而所谓的BE试验时指在给定有效制剂成分分布一致的情况下,药代动力学的人体表现也具有一致性.

通俗的理解就是在成分一样的情况下,人体对仿制药和原研药的生物代谢过程具有一致性.

这个代谢过程一致的指标可能也是大多数人比较明确的药物在人体内的浓度曲线变化.

所以从这个角度来说,如果在成分和浓度曲线变化一致的情况下,疗效存在明显差异,那么这方面的争议结果对于常见的西药之于中药的有效性论述论据是有一定影响的.

毕竟你不能在一个地方是绝对的成分决定论支持者,在另一个地方就是一个相对有所保留的成分异见者.

实际上,使用效果的差异性可能更多地来源于包装制作工艺的区别.

这倒不是说仿制药和原研药就存在质量差异 .
而是这里存在一个比较隐性的错误推动.

目前在谈论药品一致性评价的时候通常说的是前面所提及的成分和代谢特征的一致性.
它并没有对药理的发生作用的过程做约束.

也就是说,即使作用机制相同,但由于非核心有效物质以外的所谓辅料的差异,导致在人体内产生释放作用的机制存在差异.

一个简单的例子就是对于胶囊或者有肠衣的药品,因为这些包裹物的制作工艺差异,对于酸碱度和融溶的机制作用和时间长短存在差异,导致了有效成分释放到人体内部的实际起始作用时间有差异.

这样就导致了同样的医嘱对于不同的药品存在结果上的差异.

这种对于一些需要连续给药的场景带来的差异可能就更加明显了.

所以从这个角度来说,仿制药和原研药存在差异倒也不能说是错的.

毕竟两者在服用实践和方式上可能并存在一个可复用的过程.

只是这多多少少有一些隐含的上下文差异在里面.

另外一些就是关于数据方面的.

一个国内仿制药在2023年算是有一个爆炸性增长,新批准上市的大概增长了75%左右.
这个大概对应着当年A股医药市场的火爆.

根据市场份额和领域分布来看的话,大多数的新增仿制药集中在心血管方面.

而相对的国内新药多数集中在抗肿瘤药物.
这个跟国外药企的进口部分是存在一些共同之处的.

比如有段时间比较热点话题的诺和诺德,有相当一部分的利润来源于进口的抗肿瘤药物.
中国在其全球市场中应该算是有一个比较大的比重.

未来可能多多少少也会有一些争议.




人类本质是LLM

最近看到一些比较有意思的新词. 比如苹果小区. 还有一些就是比较热点的话题. 比如预制菜. 然后发散了下,想到了解构主义这个词. 本质上来说,之前的所谓互联网黑话体系,其实也是某种解构主义. 甚至往大了说,短视频以及互联网本身都是依靠某种形式的解构主义支撑的. 用某种冲击性,或者...