尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
李宏毅生成式人工智能导论笔记 2024(五)
学习率影响模型学习速度。调得过大生成的人脸会更像目标人物但可能丢失模型原有的文本理解能力例如提示“白T恤”却生成黑西装。训练步数决定训练时长。步数越多训练时间越长。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_73.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_75.png参数设置代码如下示例# 超参数设置示例learning_rate1e-4num_train_epochs1train_batch_size4gradient_accumulation_steps4https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_77.png模型训练https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_79.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_81.png如果你只想获得基础分数8分可以跳过训练步骤直接使用预训练的1000步模型进行推理。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_83.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_85.png若想获得更高分数则需要继续训练。代码预设了训练200步约30分钟。训练过程中每间隔一定步数由save_steps参数控制会进行一次验证生成样本图片并保存检查点方便你观察训练进展。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_87.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_89.png训练结束后系统会根据验证分数自动保存一个最佳检查点checkpoint-best和最后一个检查点checkpoint-last。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_91.png生成图像与提交https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_93.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_95.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_97.png训练完成后运行推理代码生成最终提交的25张图像。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_98.png以下是关键步骤在推理代码部分选择使用checkpoint-last还是checkpoint-best模型进行生成。运行代码大约需要15分钟。生成的25张图像将保存在你的Google Drive文件夹下的inference子文件夹中。重要推理完成后会显示一个分数这是基于全部25张生成图像计算出的最终分数请以此为准。最后将这25张图像打包到一个以你学号命名的文件夹中压缩后提交到课程作业系统。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_100.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_102.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_104.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_106.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_108.png注意事项与常见问题 ⚠️在动手操作前请留意以下事项。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_110.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_112.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_113.png以下是需要特别注意的几点存储空间确保Google Drive至少有4GB可用空间用于存储模型检查点每个约2GB。时间安排训练需要一定时间请合理安排作业截止日期不会因此延长。提交内容只需提交最终生成的25张图像无需提交模型或代码。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_115.png评分细则与提交 https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_117.png最后我们来详细了解一下评分细则和提交格式。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_119.png评分政策https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_121.png最终成绩主要依据人脸相似度分数进行分段评定。使用预训练模型默认设置即可获得8分的基础分。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_123.png提交规则请严格按照以下格式提交创建一个文件夹命名为你的学号。将生成的25张图像放入该文件夹。将此文件夹压缩为ZIP文件例如R12345678.zip。将ZIP文件提交至课程指定的作业提交系统。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_125.png成绩将于指定日期公布。如有特殊需求需提前批改请按课程要求格式联系助教。如有任何问题可至课程讨论区或通过邮件向助教提问。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_127.png总结 https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_129.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/18d8a501dad48b1418d9f9f92a4eac44_131.png本节课中我们一起学习了如何使用LoRA技术对Stable Diffusion模型进行个性化微调。我们介绍了文本到图像模型和LoRA的基本概念详细讲解了作业的数据准备、训练、推理全流程并明确了基于人脸相似度、文本相关性和有效人脸检测的评分标准。请按照指南完成模型微调与图像生成并按时提交你的作业成果。42额外课程GPT-4o - 啥都会一点的研究生 在本节课中我们将探讨GPT-4o语音互动模式背后可能的技术原理。我们将从语音技术的基本概念入手分析GPT-4o语音模式的独特之处并基于现有技术推测其可能的实现方式。课程内容旨在让没有语音技术背景的同学也能理解其核心思想。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_1.png有很多同学询问我对GPT-4o的看法因此我今天来讲解一下GPT-4o背后可能的语音技术。这部影片的目标听众是没有语音技术背景的同学。如果你已经是语音领域的专家这部影片讲的内容对你来说可能过于科普。首先说明一下我假设观看这部影片的同学是修过《深度学习人工智慧导论》的。如果你还没有看过这堂课的影片你可以在这个链接找到。如果你看过这堂课的影片可以让你更了解我现在这部影片所要讲的内容。GPT-4o其中一项特别令人瞩目的技术就是语音互动的功能。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_1.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_3.png谷歌也推出了Project Astra的结果。在Project Astra里面也打造了语音互动的技术。这代表现在语音互动的技术是各个大厂都非常重视的一块。那么GPT-4o的语音模式有什么特别的地方呢第一个是它有很丰富的语音风格。讲到语音合成大家往往想到的就是谷歌小姐。谷歌小姐就是一种语调。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_5.png但是GPT-4o你可以用文字的指令要求他用不同的语调来说话。比如叫他讲快一点叫他轻声细语或甚至叫他用唱的方式把他想要讲的事情表达出来。另外GPT-4o好像可以理解语音内容以外的资讯。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_7.png用比较白话的讲法就是他能够察言观色。举例来说他可能可以听得到一个人的喘气声知道一个人气喘如牛。他可以发出非语音性的声音例如笑声。如果你有看GPT-4o的演示你会发现这是一个非常爱笑的模型它动不动就会笑。另外GPT-4o有自然而及时的互动。在其中的演示里面有一个人说“我们来做一个有趣的尝试”话还没有说完GPT-4o居然说了一声“哇哦”。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_9.png如果还没有看过OpenAI的演示你可以先看一下OpenAI的演示再来继续这部影片。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_3.png首先我想要澄清一个很多人对GPT-4o语音模式的误解。我这部影片是在5月19号的晚上录制的。其实到5月19号的晚上为止多数人都没有GPT-4o的语音模式。很多人会想说我有啊我可以用语音跟我的ChatGPT互动。那个语音互动是ChatGPT手机版本来就有的语音界面。ChatGPT的手机版本来就可以用语音互动。它的互动方式是说这是你的ChatGPT的页面。GPT-4o已经推出了你可以在右下角点这个语音的按钮。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_5.png然后你就会看到一个这样的画面。你确实可以透过这个界面跟ChatGPT用语音沟通。但是如果你有实际尝试的话你会发现这一个语音的界面并没有你在GPT-4o语音模式的演示里面看到的种种神奇功能。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_11.png比如用不同的语气讲话比如你可以打断他说话等等。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_7.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_13.png事实上大家可能都有收到一则OpenAI给的讯息就是voice mode还没有真的释出他只是coming soon。他会在接下来的数周慢慢地被推出。所以大家所使用的手机版的语音界面其实可能还不是GPT-4o的语音模式。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_9.png上一节我们介绍了GPT-4o语音模式的独特表现本节我们来看看旧版语音界面是如何工作的。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_15.png旧版的语音界面是先把语音讯号透过语音辨识变成文字。再把文字丢给语言模型比如ChatGPT。然后语言模型会给一个回应这个回应透过语音合成产生语音讯号。如果语音辨识跟语音合成跑得够快的话其实这个界面也可以达到蛮自然、及时的互动功能。但是跟OpenAI GPT-4o语音模式的演示比起来还是有一段差距。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_17.png比如如果是透过语音辨识把声音讯号转成文字那语言模型可能会不知道说话者的情绪。语音合成如果只是把语言模型的输出转成声音讯号那语音合成就只有某一种说话的风格而已。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_19.png我在看GPT-4o语音界面的演示的时候我在想他会不会只是把原来的系统加上了一些额外的模组。比如在语音辨识之外我们可以加一些语音事件侦测或情绪辨认的模组。所以我们也有机会透过情绪辨认的模组把声音讯号的情绪侦测出来。你可以把侦测出的情绪放在语音辨识的结果后面再丢给语言模型。那语言模型也有机会知道这句话的情绪。我这边引用一些论文。这些论文是说你可以加一些额外的模组来帮助语言模型了解现在输入语音的情绪。另外你也可以让语言模型除了文字之外多输出一些符号。比如语言模型在他的输出的文件后面加一个括号“笑”再丢给语音合成系统。搞不好语音合成系统就可以产生笑声。你可能会问说这个语音合成系统可以看到这个括号“笑”就产生笑声吗https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_21.png有一些语音合成系统是真的可以的。比如SOOAI所开发的bug你在你的文具里面打一个“笑”这个语音合成模型的结果是真的可以产生笑声的。另外一方面ChatGPT可能也可以产生一段指令告诉语音合成系统说现在应该要用什么样的语气来进行合成。语音合成系统可以看得懂这些文字的指令吗其实很多语音合成系统是可以看得懂文字指令的。举例来说一个具代表性的例子就是Meta开发的AudioBus。所以用很多现有的技术串接起来其实也不是没有可能打造GPT-4o的语音界面。只是说把很多系统串接起来那可能及时性不是非常好需要透过大量工程的手段来加快模型运作的速度来达到真正及时的回应。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_11.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_23.png不过GPT-4o的博客已经告诉我们他的语音模式是一个端到端的模型。也就是它只用了一个模型来处理所有的事情。也就是说他用的不是像上一页投影片一样一个非常复杂的架构而是只有一个单一的模型。这个单一的模型听语音讯号作为输入然后产生对应的输出。这个模型其实是一个多模态的模型也就是它可以看图片、看影像的。但以下的讨论我们只集中在声音的部分。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_13.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_25.png这边先说一个免责声明。本影片主要的目的是讨论技术没有要对任何群体或个人造成伤害的意图。我目前还没有GPT-4o的voice mode所以我对GPT-4o的理解完全来自OpenAI的展示。至于实际上真的voice mode推出以后有没有展示那么厉害我们就拭目以待。OpenAI到目前为止都没有发表跟GPT-4o相关的论文或者是技术报告。以下的内容完全是根据我知道的技术进行预测。所以以下我对于GPT-4o背后技术的猜想是完全没有根据的并没有任何的论文可以佐证我的猜测。我只是想要跟大家讨论一下根据今天语音技术的发展有什么样可能的技术可以达到GPT-4o这样的效果。如果日后发现实际技术跟我的预测有差异还请大家见谅。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_15.png在开始讲这个端到端的语音模型之前我们先来复习一下文字的语言模型是怎么被训练出来的。我们知道文字的语言模型它的训练有三个步骤。以下是文字语言模型训练的三个核心步骤预训练用大量没有标注的资料进行训练。微调用少量有标注的资料微调。基于人类反馈的强化学习用使用者回馈的资料进行微调。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_27.png微调和基于人类反馈的强化学习也合起来又叫做对齐。如果你对于这三个步骤还不熟悉的话。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_17.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_29.png你可以看一下过去我上课的录音。你也可以看一下我最近释出的影片讲这个《生成式人工智慧的生存策略》了解生成式人工智慧的基本原理。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_19.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_31.png再进行以下的课程。那么语音版的语言模型它可能的运作原理是什么样子的呢我们知道语言模型就是做文字接龙给他一个未完成的句子他猜接下来应该输出哪一个文字的token。语音版的语言模型可以听一句话给你一个回应。它背后运作的逻辑可能也非常类似。他做的事情可能就是听一段声音然后去猜接下来应该产生什么样的声音。也就是他做的事情是声音接龙。虽然从表面上看起来语言模型跟语音版的语言模型它们的运作可能非常类似但是语音版的语言模型有它独特的挑战。第一个挑战就是这个语音相较于文字它更为复杂。对一段声音讯号而言如果他的采样率是16K赫兹的话意思就是一秒钟的声音讯号里面有1万6000个取样点所构成。也就是一秒钟的声音讯号是由1万6000个数值所构成的。所以声音讯号非常复杂。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_33.png如果我们今天在做这个声音接龙的时候是让声音讯号一个一个取样点跑出来那你要产生一秒钟的声音讯号你就要跑1万6000次的声音讯号接龙。这显然会非常花时间。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_35.png所以现在在做这一种语音的接龙通常不是直接在语音的讯号上面做接龙。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_37.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_39.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_21.png比较常见的做法是先把声音的讯号进行压缩。你会有一个编码器它的英文是encoder。这个编码器里面可能会有一个codebook。这个codebook里面是一大堆的code。每一个code代表某种类型的声音。可能某个code代表人类发的“B”这个声音有个code代表人类的笑声。有的code甚至代表不是人类的声音比如狗叫声等等。所以一段声音讯号输入给编码器。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_41.png编码器会用它里面的codebook来表示这一段声音讯号。所以一段声音讯号会被表示成一个code的序列。这些code又被叫做speech unit它们可以被看作是声音的单位。你还会训练一个解码器这个解码器可以读这些speech unit把这些speech unit转回声音讯号。一般这些编码器跟解码器也是类神经网络也是需要透过训练资料来进行训练的。如果你想要知道更多有关这种把声音讯号变成speech unit再把speech unit解回来相关的技术的话可以阅读以下这两篇文章。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_23.png那么语音版的语言模型是运作在这些speech unit上面的。也就是说当一段声音讯号进来的时候语音版的语言模型并不是直接对这段声音讯号去做语音接龙。这些声音讯号会先通过编码器变成一串unit。然后这些unit会变成语音版语言模型的输入。语音版语言模型要做的事情是预测下一个unit会是什么。然后下一个unit会再通过解码器产生声音讯号。所以语音版语言模型没有必要产生复杂的声音讯号它只需要产生unit然后由解码器把unit转回复杂的声音讯号。所以语音版的语言模型是运作在speech unit这种压缩过的东西上面。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_43.png有很多具代表性的语音版的语言模型比如Meta的GSLN还有Google的Audio LM。这其实不是非常新的技术GSLN是在21年的年初的时候就已经有的。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_25.png我们也可以把编码器看作是一种非常特殊的语音辨识只是它的输出不是文字而是speech unit。我们也可以把解码器看成是一种特殊的语音合成只是它的输入不是文字而是speech unit。它不是把文字变成语音而是把speech unit变成语音。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_45.png你可能会想说那为什么我们不直接套用语音辨识跟语音合成当做编码器跟解码器呢其实我们确实可以把语音辨识想成是一种非常特别的压缩方式。当我们把声音讯号变成文字的时候其实也是在做某种压缩文字本来就可以看作是语音的浓缩版。但是这边的问题是文字只代表了语音里面某个面向的资讯。文字只代表了语音里面内容的资讯。假设今天输入的声音讯号是有一个人说“好好笑”然后接下来“哈哈哈”了几声。那语音辨识系统可能只能够把代表文字的“好好笑”辨识出来那笑声就不见了。接下来你用语音合成把“好好笑”还原回声音的时候你其实笑声的资讯就丢掉了。用speech unit的好处是它可能可以保留文字所无法表达的资讯。但是另外一方面用这种speech unit也有一个坏处。speech unit里面可能很多unit它本来就是对应到某个文字的token。那你等于是要编码器去重造轮子。本来就已经有文字可以表示语音里面的某些讯号。编码器需要再用另外新的符号来表示这些我们本来就有文字符号可以描述的语音资讯。那这样感觉是重造了轮子。所以另外一个可能的做法是把编码器跟语音辨识结合。我们这边把它叫做混合编码器。把解码器跟语音合成结合这边叫做混合的解码器。也就是对一段声音讯号而言能够做语音辨识的部分能够辨识成文字的部分把它用文字来表示。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_47.png那无法用文字来表示的部分就用speech unit来表示。我这一段声音讯号“好好笑”后面接了“哈哈哈”。那“好好笑”的部分可能可以用文字来表示那笑声的部分就拿一个特殊的符号来表示。那混合解码器可以看文字跟特殊的符号把它转回声音讯号。我不知道GPT-4o会不会采取这样混合的策略也许GPT-4o也是使用编码器而已并没有用语音辨识。我只是觉得用混合的编码器有它额外的好处。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_49.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_27.png这个部分我们等一下会再提到。另外我们这边还需要一个说话者自动分段标记的技术。这样的技术叫做说话者日志。如果你看GPT-4o的演示的话当有两个以上的人跟他说话的时候其实他是知道的他可以知道谁是谁。所以他应该需要用到说话者日志的技术。说话者日志的系统说话者自动分段标记的系统就给他一段声音讯号他可以知道哪些段落是某一个同一个说话者讲的。他可以知道说这一段跟这一段都是说话者A讲的这一段是说话者B讲的。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_29.png所以我猜测一段声音讯号对于一个语音版的语言模型来说他的表达方式应该是这个样子的。就可能同时使用了混合的编码器跟说话者自动分段的标记。有一段声音讯号进来会标出说哪一个段落是说话者A说的。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_51.png他可能会用“A:”一个特殊的符号来代表这是A说的话。然后可以用文字表示的地方可能用文字表示。那不能用文字表示的地方可能就拿特殊的符号用speech unit来表示。这是对于语音版的语言模型看到一段声音讯号的时候他实际上输入的猜想。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0c6d_31.png接下来怎么训练这种语音版的语言模型呢我们已经知道语言模型是用大量文字资料所训练出来的。那语音版的语言模型用同样的道理也可以用大量声音的资料来进行训练。我们完全可以用大量的声音资料来训练一个语音版的语言模型来做speech unit的接龙。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_53.png哪里去找大量的声音资料呢这个想起来非常直觉。网络上有这么多的影音平台从这些语音平台上就可以收集到大量的声音资料。OpenAI显然在做这件事情因为在4月的时候纽约时报才说了OpenAI用了超过100万小时的YouTube影片来训练他们的语言模型。那时候我刚看这个报道的时候我就很困惑。为什么要用YouTube的影片来训练语言模型呢难道现在文字的资料已经全部都用完了真的没有文字的资料可以用了吗但是如果OpenAI是在训练语音版的语言模型那用YouTube影片完全就说得通了。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_33.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_55.png你可能会想说可是网络上的影片五花八门又不是全部都是干净的语音。那些语音很多背后是有音效、有背景音乐的。那我们拿这些声音讯号来训练我们的语音版语言模型这个语音版语言模型会不会把音效、背景音乐通通都学进去了呢非常有可能。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_35.png我们来仔细听一下在GPT-4o演示里面GPT-4o的声音。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_37.png大家仔细听一下GPT-4o的声音哦。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_39.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_57.png“Can you help me calm my nerves a little bit?” “Oh you’re doing a live demo, right now. That’s awesome just take a deep breath, and remember you’re the expert.”你有没有发现GPT-4o他讲话的时候背景是有一个钢琴声的。但我们不能排除现场正好有人在弹钢琴的可能。但是如果你告诉我GPT-4o讲话的时候就是有可能会产生一些音效或者是背景音乐这我完全也不意外。不过我觉得可以如果今天一个语音模型他在讲话的时候就是会自带音效或自带BGM其实也是一个很酷的事情。他以后讲话都自带BGM所以我们可以说这不是一个bug这是一个feature。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_59.pnghttps://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_41.png在演示里面我们也可以看到说GPT-4o它可以产生非常多样化、非常戏剧性的声音这是怎么办到的呢有一些论文已经指出。这边引用了一个Amazon在今年2月所释出的论文。他们用了超过10万个小时的语音讯号来训练他们的语音合成模型应用的是一个参数有10亿等级的模型。当然这样大小的模型在文字领域并不是很大但对于语音合成模型来说已经非常大了。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_61.png他们发现是说过去语音合成系统因为他用的资料不够多所以往往合出来的声音非常的平淡。这个如果你有看动漫的话你知道这就叫做棒读讲话不带情绪非常的平淡。https://github.com/OpenDocCN/dsai-notes-pt3-zh/raw/master/docs/lee-genai-2024/img/8e6dd261c0bf719f6d075af0d2610c6d_63.png但是现在如果有大量训练资料的时候这些语音合成的模型就可以理解要读的内容
RELATED

相关推荐

Python 正则表达式(十四):文本匹配、查找与替换

Python 正则表达式(十四):文本匹配、查找与替换

相信大家平时都见过这样的内容,内容里明明有我们需要的信息,但它们都混杂在一大段文字里。比如日志中的时间和 IP,聊天记录里的手机号和邮箱,没法像 JSON 或 CSV 那样直接按字段读取。 思维导图这种时候,正则表达式就很…

📅 2026/9/30 2:46:39
Spring AI 接入 DeepSeek Chat 模型

Spring AI 接入 DeepSeek Chat 模型

本文介绍如何在 Spring Boot 项目中使用 Spring AI 接入 DeepSeek Chat 模型,实现一个简单的对话接口。示例包含 Maven 依赖、application.yml 配置、ChatClient 调用代码以及常见问题排查。示例基于当前 Spring AI 2.0.x 的自动配置方式。Spring AI 和 DeepSeek 的…

📅 2026/9/30 2:46:39
SPFA 算法简介及经典实例

SPFA 算法简介及经典实例

● SPFA 算法 (1)SPFA 算法,即最短路径快速算法,是基于 Bellman-Ford 算法优化而来的单源最短路径算法,适用于带负权边、无负权环的有向图或无向图,在算法竞赛中应用广泛。 (2)SPFA …

📅 2026/9/30 2:46:39
MORE NEWS

更多资讯

📰

Univer 在线表格实战:Canvas 渲染、插件架构与协同编辑

1. 从“univer”这个名字说起:它到底想解决什么问题第一次看到“univer”这个词,很多人会下意识联想到“universe”或者“universal”,觉得它是不是又一个想做大而全的万能工具。我最初接触它的时候也是这个反应,但真正翻完文档、…

📰

基于MCP协议的LLM Agent长期记忆系统设计与Docker部署实战

1. 从“hindsight”说起:为什么我们需要给Agent装上“后视镜”第一次看到“hindsight”这个词,是在一个做LLM Agent的朋友群里。有人丢了一张截图,说他们的Agent在连续对话到第37轮的时候,突然把用户三小时前说过的偏好设置忘得一…

📰

Agent记忆系统实战:基于MCP协议与pgvector实现hindsight记忆架构

1. 从“hindsight”说起:为什么我们需要给Agent装上“后视镜”第一次看到“hindsight”这个词,是在做一个多轮对话Agent的复盘工具时。当时团队里有个争论:Agent到底需不需要“记住”上一次任务失败的原因?有人觉得每次请求都是独…

📰

Agent Memory实战:基于MCP与Docker构建LLM长期记忆系统

1. 从“hindsight”说起:为什么我们需要给Agent装上“后视镜”第一次看到“hindsight”这个词,我脑子里蹦出来的不是词典里的“事后聪明”,而是开车时那面后视镜。你往前开,眼睛盯着前方路况,但真正让你敢变道、敢超车…

📰

hindsight视角下的Agent Memory:三层记忆架构与检索优化实践

1. 从“hindsight”说起:为什么我们需要给Agent装上“后视镜”第一次看到“hindsight”这个词,我脑子里蹦出来的不是词典释义,而是每次调完一个LLM Agent之后拍大腿的瞬间——刚才那轮对话它明明已经拿到了正确线索,结果下一轮又像…

📰

Vue3 + Nginx 在 Windows 部署的三大核心冲突与配置原理

1. 为什么Vue3项目在Windows上用Nginx部署,不是“能用就行”,而是“必须这样搭”你肯定试过:npm run build打包完,把dist文件夹拖进 Nginx 的html目录,双击nginx.exe启动,浏览器打开http://localhost—— 页…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬