Skip to content

字幕功能效果不好,断句不合理,多数过长且不合语义,只有开头几句,后面大部分只有时间没有文本 #3406

Description

@dearvcc

升级到了最新的 1.3.27:
使用大佬建议的命令:

python examples/subtitle/generate_subtitle.py tst.mp4 -o subs/tst.srt --lang zh

生成的字幕效果远不如以前用老式的无AI功能的Itransformer方式好:

1
00:00:00,150 --> 00:00:05,550
谷歌古典感谢收听 a i 会编造答案这是让人最讨厌的一件事情特别是在你很严肃的查询比较专业问题的时候你希望 a i 给你的答复是精准的准确的可以做不到可以查不到但是不能够编造结果呢你再给他准备了充分的提示词的情况下告诫他如果你查不到就一定要说如果你没有把握就一定要说我回答不了在给出了这样明确的提示词的前提下你会发现 a i 给你了一大堆的回答看来煞有借释有链接有说明有引用有评论一切出看起来都非常好但是一旦你把这些链接输入到真实的浏览器中去查证往往返回的是空于是你会很恼怒大声斥责 a i 为什么撒谎并再次强调回答问题的时候要认真要负责任查不到就是查不到 a i 往往会给你一大堆道歉诚恳的表示我下次再也不会了查不到一定说查不到接着又给你一堆看着非常专业的回答你再次查证之后发现还是不对这个时候你可能已经有点上头了又一顿暴力输出用极为粗俗的语言咒骂 a i 并严厉的告诉他你不就是做不到吗这些不都是假的吗自己说自己不知道很困难吗这时候你会看到 a i 再次洗心革面的检讨并且终于说出了抱歉我可能确实做不到于是你认为,

2
00:00:06,150 --> 00:00:07,950
a i 已经领教了你严父班的训斥再问下一个问题满心期待 a i 能够负责任的告诉你他认知范围内的准确回答结果再次失望那么问题来了为什么 a i,

3
00:00:08,070 --> 00:00:09,750
这么不愿意承认自己不知道为什么他们宁愿编造撒谎也不愿意承认自己不知道为什么他们都已经明明认错了承诺了可就是不改正呢其实这里所谓的认错改错检讨不知道就是不知道等等都是你自己认知的幻影对 a i 来说他们和别的文字没有任何区别只是不同的 token罢了我管这个现象叫做 a。

4
00:00:09,930 --> 00:00:13,530
i 的死要面子综合症当然这里的死要面子同样只是便于人类理解的说法 a i 压根没有面子这个概念下面我们就来聊聊这个死要面子问题很多人觉得 a i 编造答案是一件很奇怪的事情因为在人类看来如果不知道直接回答我不知道就可以了这是最简单最省事儿的选择何必耗费半天算力搞一个假答案出来呢然而从大圆模型的技术原理来看事情恰恰不是这样整个问题的根源在于大圆模型的训练目标从来不是回答真实而是生成最像真实答案的文字序列transformer 训练时只有一个核心目标预测下一个 token 例如训练数据中有一句话牛顿提出了什么什么什么模型会学习到,

5
00:00:13,590 --> 00:00:16,230
在这个位置最有可能出现的是万有引力于是他输出万有引力整个过程中他并没有去查询数据库也没有验证事实更没有一个模块负责判断我知道还是不知道他只是根据训练过程中统计到的语言规律预测最可能出现的下一个词然后不断重复这个过程最终生成完整回答因此大模型真正的工作流程更接近于用户提出问题模型开始预测下一个词继续预测下一个词一直预测直到回答结束而不是很多人想象中的用户提出问题搜索某种知识库找到答案如果没找到则回答我不知道这两种工作方式在本质上完全不同这也解释了为什么 a i 特别容易编造链接这同样是研究者最深恶痛觉的 a i,

6
00:00:16,530 --> 00:00:17,010
病假设用户问给我,

7
00:00:17,070 --> 00:00:17,790
nature 上一篇关于 cross 蛋白的论文链接模型实际上知道很多与,

8
00:00:17,850 --> 00:00:18,510
nature 有关的信息例如 nature come articles,

9
00:00:18,570 --> 00:00:19,830
do 格式 nature 论文编号的形式这些内容在训练数据中大量出现因此他已经学会了 nature 网址通常长什么样于是他开始预测。

10
00:00:20,130 --> 00:00:23,190
h t t p s w w nature come articles 然后继续预测后面的编号再继续预测年份最后拼接出一个看起来完全正规的 u r l 例如 h t t p s i w w。

11
00:00:23,310 --> 00:00:25,530
nature come articles 四万一千五百八十六减二零二六零八三二一七这个网址可能具有所有正确的格式域名是真的路径是真的多一格式是真的论文编号格式也是真的唯一的问题是这篇论文根本不存在因为模型并不是去 nature 网站查询而是在根据统计规律补全文本这就是所谓的模式补全而不是数据查询同样的道理也适用于,

12
00:00:25,650 --> 00:00:26,610
do o e 例如 nature 论文大量采用这样的格式一零三八年十月次四万一千五百八十六减零二六零八一二三九模型学到的是,

13
00:00:26,670 --> 00:00:27,510
do爱通常以一零三八年十月开头随后是 s 四幺五八六后面跟着年份最后跟若干数字于是它完全可以生成一个格式百分之一百正确的新刀 i,

14
00:00:27,570 --> 00:00:28,470
但是数据库里根本没有这个编号对于模型来说这只是语言模式的延续那么为什么模型宁可继续编也不回答不知道呢这里涉及训练数据本身的特点互联网的大多数数据都是问什么是黑洞答。

15
00:00:28,530 --> 00:00:31,480
巴拉巴拉一大堆很少有人专门写文章问什么是黑洞答不知道或者答巴拉巴拉一大堆是错的也就是说在训练过程中模型每天看到的全都是提出问题只给出完整回答而几乎没有看到提出问题度回答我不知道于是模型逐渐形成一种统计规律遇到问题就应该继续回答继续生成内容本身就是概率最高的行为从模型角度来看继续写下去远比突然停止并承认不知道更符合训练数据后来人们加入了 r l h f 即人类反馈强化学习希望通过人的参与判断来减少幻觉然而在早期阶段他有时反而强化了编造倾向原因很简单,

16
00:00:31,540 --> 00:00:35,800
标注人员通常更喜欢这样的回答根据目前研究有三种理论而不是根据已有知识我不知道即使前一种回答混入了一些错误信息他依然显得更加详细更有帮助更流畅因此更容易获得较高评分于是模型逐渐学会详细回答比简单句答更容易获得奖励换句话说系统优化过程中带错误的热心往往比谨慎的谦虚更容易获得正向反馈因此模型自然形成了尽量继续回答的倾向很多人会进一步想到一个问题既然如此我已经在提示词里明确写了如果不知道请明确回答不知道为什么他还是会编原因在于对你来说这是一种优先级升高的态度但对 a i 来说它仍然只是一部分提示词一部分的普通输入而已而模型内部的参数已经包含了数十亿甚至上千亿个权重可以把它理解成一种概率调整例如继续回答的概率原本是百分之九十二回答不知道的概率只有百分之八加入提示词以后等于是放置了一些。

17
00:00:35,920 --> 00:00:40,960
token 种子倾向关联于不知道的资料整个概率也许会变成继续回答百分之七十回答不知道百分之三十提示词只能影响概率无法改变模型本身的能力如果模型没有联网也没有访问数据库它依然只能依靠已有知识进行推断所谓请回答不知道并不会赋予模型识别未知信息的能力只能让他在部分情况下更保守一些正因为如此目前整个 a i 行业已经逐渐形成共识不要让大元模型单独负责试试检索现代 a i 系统越来越倾向于采用 rag 及检索增强生成架构整个流程变成用户提出问题多搜索系统查询网页论文或数据库如返回真实文档卓大语言模型阅读这些文档着总结分析并回答这样大元模型负责的是理解推理总结和表达而搜索系统也就是工具负责查找事实论文网页独阿姨和 u i l 职责被明确分离这也是为什么现在的一线大模型相比许多早期模型或一些没有联网能力的模型更少出现编造链接的情况近年来模型训练还加入了另一项重要改进叫做校准训练目标开始鼓励模型当证据不足时明确说明不确定当无法确认时说需要进一步查证当没有联网时承认无法验证,

18
00:00:41,080 --> 00:00:41,440
这种训练正在逐步改变模型过去无论如何都要回答的倾向此外对于 u,

19
00:00:41,560 --> 00:00:41,860
r l d,

20
00:00:42,280 --> 00:00:42,700
o e 论文标题等高风险信息现在越来越多的系统都会要求结合真实检索而不是直接依赖模型生成,

21
00:00:42,760 --> 00:00:43,240
当然这并不能完全消除幻觉如果模型没有联网没有执行实际搜索也无法访问数据库它仍然可能根据记忆和语言模式生成一个看起来非常真实但实际上不存在的论文标题都以或网址,

22
00:00:43,360 --> 00:00:45,100
因此在涉及论文法律医学新闻等需要精确引用的领域最可靠的方法仍然是让模型实际检索外部资料并给出可以验证的来源而不是仅依赖模型记忆归根结底这个现象可以总结为一句话大语言模型本质上是一个经过海量文本训练的概率生成器而不是一个事实数据库他最擅长的是生成像正确答案一样的文本而不是保证答案正确那最后还有一个问题既然大模型因为缺乏判断真实性的能力而无法改错那么当我们大声谴责 a i。

23
00:00:45,160 --> 00:00:48,640
告诫他不知道的时候一定要认错要敢于说出自己不知道之后为什么 a i 的认错态度却很好呢为什么他这时候又知道自己错了呢很简单这个时候你的大段输出都是在责骂他让他认错的话对大模型来说他只是继续按照训练模式根据你的用语把后续的回答变成了检讨填空他在做认错小作文接龙而不是真的知道自己错在哪里,

24
00:00:48,820 --> 00:00:50,200

25
00:00:50,320 --> 00:00:51,280

26
00:00:51,400 --> 00:00:53,320

27
00:00:53,440 --> 00:00:55,420

28
00:00:55,660 --> 00:00:56,260

29
00:00:56,320 --> 00:00:57,460

后面一直到结束,全是只有时间的空字幕。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions