上万credit烧下来的使用感受-1 - 3.8max, 1M context, xtra high

代码是你的,但你不真正拥有它们

如果你只在乎端到端的可用性,或者你永远都不打算自己对代码做大幅的修改,那么这没问题。如果不是,你最好再想想清楚。机器改的每一行代码我都audit, 目前发现有这么些特性。

a. 他生成的代码会过度包装,比如:
let condition1 = xxx
let condition2 = xxx
我们自己写,在代码里就会写if condition1 and condition2, 但机器帮你写,他会给你再声明一个变量
let condition3 = condition1 and condition2
代码里就会写成 if condition3 …
这造成的问题是人在阅读的时候多了一次look up,这种情况一多,你就晕了。
函数也类似,本来50行能解决的事情,他要给你拆开,调来调去。

b. 匪夷所思的变量名。机器自己“理解“你的业务生成的变量名往往让你完全莫不着头脑。你要去查代码,想象一下,如果很多变量名字都这样,你怎么维护?如果对业务理解不是100%透彻的同事,他需要花多少时间能看懂?
举例:我有个最新样本时标,机器给我取个名字叫watermark,我想这tm什么玩意儿,我制定了一个规则,让机器不准给我发明terminology,这他才给我改成newest sample timestamp,这make sense, 但机器为什么第一次给我搞个那么fancy的名字。

c. 我给他增加各种规范来约束上面的问题。
问题是,约束不要钱的吗?我现在问一个问题(一次代码audit会对机器的修改提出5-10点意见和质疑)就能消耗900 credits。 这没法在真实生产环境下使用。一方面是费用,另一方面是这拖累了整个推理的速度。

d. 代码质量
端到端的功能实现并不糟糕,已经达到了可用。但业务pipeline比较长时,是不如一流模型的。他不是不能帮你解决,是要花好几个turn/human verification才能帮你解决。
举例:我一个数据处理的pipeline,大概3,4个流程,机器发现问题跑了1个小时没找到问题。我提示:从数据源开始,核对每个unit in pipeline’s input/expected output, 他就找到了。

所以和一流模型的差距会在好几个地方体现。除了大家诟病的挣着人民币花着美元的收入差距外,

  • 一流模型解决问题消耗的算力更少,速度更快,即使token定价完全相同,依然是一流模型更便宜,而且这种便宜可能不是小幅度的8/9折能解决的,真实差距可能在1折-5折之间。

e. c实际上引入了真实的系统性风险
机器的代码,看起来注释很多,实际上是为机器优化的,并不是为人audit优化的。这意味着如果你做了一个项目,也不用很大,10万行的规模吧,你已经失去的实际的掌控。如果项目是一次性的,这没有问题。但如果是一个有延续性的产品,那么你实际上失去了不少维护能力,credit的价格不管涨到多少,你都得给,除非你打算重新配置足够的人天数来重构这些机器生成的代码。一定会有不少公司踩坑。

Solution

我觉得这也不能算是一个bug吧,甚至都不能叫做产品质量问题,应该算是产品的理念。你要做什么样的事情。
在真实生产环境中,我相信99%的用户都不会花这个时间去对机器改的每一行代码都audit,这是无法计入KPI的事情,保证输出符合spec就够了。所以屎山粪海依然,只不过差在是是谁拉的。

Use Case

When would you use this?

Priority

  • :red_circle: High - Blocking issue
  • :yellow_circle: Medium - Important improvement
  • :green_circle: Low - Nice to have

Additional Info

(Optional: screenshots, examples, links)

不能同意更多。

现在的AI编程工具就是猎犬,打猎时带几条能大大提高效率,但是它还不是人,很多时候还是会不可理喻。

只能多约束,并且等它们更通人性一些了。Qwen比先进模型还是差点。

是的。尽管打榜的时候看起来成绩不错。即使打榜是特调机也是有意义的,不然根本连这个模型试都不可能去试,厂家又不给我发工资,浪费时间。

但是也可能打榜的特调性能好是因为约束少。毕竟面向中国的模型有有中国特色的社会主义约束,北美基本没有了。不过这个事情禁止展开,点到为止。

接着上一篇的继续补充

关于图像处理

有一个界面交互的说明,我要模型帮我截几张张图,写一个说明。就一次对话,1个任务,最后给我的输出是5张截图,大约1000字以内的描述。

消耗了900 credits

我一般一次对话(不是一轮,就一次,但可能问5-10个问题),消耗大约是50 -250 credits。相对来说,以模型的输出量,这900个credit是不可能在生产环境中用的。我找个小弟 10分钟的工作量,模型算了100分钟,900 credits,这没有实际可用性。如果 credit不要钱,那么我会让他晚上跑一下。

总之,模型极其不擅长图片,不是不能用,你让体育生画素描也是能画。

改进

改进的空间并不在于如何“”提高“”, 因为提高的方向还没定。从算力消耗诊断的角度,希望能给出模型在运行每一次任务时的基础消耗,pitfall/standing rules的消耗。即如果我写了一些规则,或者模型在这个项目的学习过程中自己存储的一些规则,消耗的算力在整体中的占比。

有了这些数据,对用户来说,他可以诊断是不是自己写的规则太多了,拖累了基础计算的速度(也多花钱)。
对模型开发来说,可以判断这个模型的基础好不好,对特定任务的新学习是否开销过大,也可以在不同用户上测试不同版本模型,总之,厂商有了统计数据能做的事情很多。