李宏毅生成式人工智能导论笔记 2024(五)

发布时间:2026/9/30 2:51:34

李宏毅生成式人工智能导论笔记 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但是现在如果有大量训练资料的时候这些语音合成的模型就可以理解要读的内容
延伸阅读

更多相关文章

2026/9/30 2:46:33

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

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

2026/9/30 2:46:33

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 3:51:37

Model-Optimizer:大模型推理全链路分层优化实践指南

1. 项目概述:Model-Optimizer不是工具名,而是一类工程实践的统称 “Model-Optimizer”这个词在当前技术社区里常被误认为是一个具体软件或开源项目——比如有人搜“Model-Optimizer下载”“Model-Optimizer GitHub”,结果却找不到官方仓库。…

2026/9/30 3:51:37

SFINAE 机制全解析:从 enable_if 到 void_t 的模板实战

有些话说在前头:模板编程里最让人上头的部分,多半不是怎么把类型算出来,而是怎么让编译器“在你不想要的时候别报错,在你想选的时候刚好选对”。SFINAE 就是这一整套把戏的核心发动机。如果你玩 C 模板玩到一定阶段,一…

2026/9/30 3:51:37

大模型推理加速工程实践:TensorRT与vLLM协同部署指南

1. 项目概述:Model-Optimizer不是工具名,而是工程范式的代号“Model-Optimizer”这个标题乍看像某个开源库或GUI软件的名称,但结合NVIDIA、TensorRT-LLM、vLLM、PT文件转换、Docker镜像部署等高频热词,它实际指向的是一整套面向生…

2026/9/30 3:51:37

TensorFlow 2024实战:安装避坑、Keras 3与模型部署全流程

2024年聊起TensorFlow,注定不是一句"PyTorch已经赢了"能概括的。过去一年我在好几个生产项目里来回切换框架,发现一个特别有意思的错位:社交媒体上讨论最多的永远是PyTorch生态、LoRA微调、扩散模型,可当我拉开服务器上…

2026/9/30 3:51:37

自动化脚本实战指南:从Shell到UI、接口与CI部署

这些搜索词扔给我的一瞬间,我基本就明白了——问“自动化与脚本”的人,十个里有八个不是想听理论,而是正被某个具体的活儿追着跑:要么是测试任务重复到吐,要么是部署流程卡得人想骂人,再要么就是成天在不同…

2026/9/30 3:46:37

模型优化实战:从ONNX到TensorRT的量化、剪枝与部署加速指南

算力需求暴涨、落地 deadline 卡得死死的——“模型是训出来了,但根本跑不动”这种话我这两年听了太多。模型结构和训练效果只是第一步,真正考验工程能力的,是把一个训练好的模型安全、高效、低损耗地塞进生产环境。就在这个环节,…

2026/9/29 11:07:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/29 21:48:03

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 0:01:22

MATLAB+Yalmip+CPLEX实战:综合能源系统优化调度全流程解析

做综合能源系统优化调度这活儿,最痛苦的不是建模本身,而是模型写完之后不知道该怎么求解。看论文里轻飘飘一句“采用Yalmip调用CPLEX求解”,自己上手时却往往卡在环境配置、变量声明、约束写法和求解状态判读上,一耗就是两三天。这…

2026/9/30 0:01:22

I3C比I2C快10倍?RK3576实战:速率、DTS配置与混合总线避坑指南

I3C 比 I2C 快 10 倍?这句话在嵌入式群里传了很久,每次都能吵出一堆截图。前段时间我正好在 RK3576 上调板级 I3C 接口,从控制器寄存器一路摸到 Linux DTS 配置,踩了不少坑,也把这笔速度账彻底算明白了。本文就用 RK35…

2026/9/30 0:01:22

字符串转对象:JSON.parse、new Function与URLSearchParams

“字符串转对象”这几个字,我在技术群里见过的问法至少有十几种:有人拿着一串{a:1,b:2}说 JSON.parse 直接报错,有人要从 URL 里抠出参数,还有人只是想把abc变成能挂属性的东西。js 这门语言里,字符串和对象之间的转换…

2026/9/29 3:53:39

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/29 9:46:12

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/29 6:36:14

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑