点击上方蓝字关注我们
Meta 的 Llama Recipes 中的 “NotebookLlama ”提供了一系列 Jupyter 笔记本指导,用于将 PDF 转换成播客风格的音频。工作流程包括四个步骤:处理 PDF、生成脚本、增强对话语气以及使用文本到语音模型进行旁白。它使用 Meta 的 Llama 模型,包括 1B、8B 和 70B 版本,以及 TTS 模型。这种设置需要高内存 GPU 或对 Hugging Face 模型的 API 访问,鼓励对提示和模型进行定制,以获得最佳效果。
这是一系列有指导的教程/笔记本,可作为建立 PDF 到 Podcast 工作流程的参考或课程。您还可以从使用文本到语音模型的实验中学习。 本文假定对 LLM、提示和音频模型一无所知,所有内容都将在各自的笔记本中介绍。
大纲
以下是完成任务的步骤思路(双关语):
第 1 步:预处理 PDF:使用 Llama-3.2-1B-Instruct 对 PDF 进行预处理,并将其保存为 .txt 文件。
第 2 步:誊写器:使用 Llama-3.1-70B-Instruct 模型根据文本编写播客文字稿。
第 3 步:戏剧性重写:使用 Llama-3.1-8B-Instruct 模型使文字稿更加戏剧化
第 4 步:文本到语音工作流程:使用 parler-tts/parler-tts-mini-v1 和 bark/suno 生成对话播客
注 1:在步骤 1 中,我们提示 1B 模型不要修改文本或对文本进行摘要,严格清理 PDF 编码可能导致的多余字符或垃圾字符。详情请参见笔记本 1 中的提示。
注 2:对于第 2 步,您也可以使用 Llama-3.1-8B-Instruct 模型,我们建议您进行实验,并尝试是否有任何不同。这里使用 70B 模型是因为在测试的示例中,该模型提供的播客文字稿稍有创意。
注 3:对于步骤 4,请尝试使用其他模型来扩展该方法。这些机型是根据样本提示选择的,效果最好,更新的机型可能听起来更好。有关部分测试示例,请参阅注释。
运行笔记本的详细步骤:
要求:GPU 服务器或使用 70B、8B 和 1B Llama 模型的 API 提供商。如果要运行 70B 模型,您需要一个拥有 140GB 左右总内存的 GPU,以便以 bfloat-16 精度进行推断。
注:对于 GPU 较差的朋友,也可以在整个流水线中使用 8B 或更低的模型。没有强烈推荐。下面的管道是前几次测试中效果最好的。您应该尝试看看哪种方法最适合您!
在开始之前,请确保使用 huggingface cli 登录,然后启动你的 jupyter notebook 服务器,以确保你能下载 Llama 模型。
你需要你的 Hugging Face 访问令牌,可以在这里的设置页面获取。然后运行 huggingface-cli 登录,复制并粘贴你的 Hugging Face 访问令牌完成登录,以确保脚本能在需要时下载 Hugging Face 模型。
首先,请从此处运行文件夹安装需求:
git clone https://github.com/meta-llama/llama-recipes
cd llama-recipes/recipes/quickstart/NotebookLlama/
pip install -r requirements.txt
笔记本 1
此笔记本用于处理 PDF,并使用新的 Feather light 模型将其处理为 .txt 文件。
用您想使用的 PDF 链接更新第一个单元格。请决定笔记本 1 使用的 PDF,可以是任何链接,但请记住用正确的链接更新笔记本的第一个单元格。
请尝试更改 Llama-3.2-1B-Instruct 模型的提示,看看能否改善结果。
笔记本 2
本笔记本将接收笔记本 1 的处理输出,并使用 Llama-3.1-70B-Instruct 模型将其创造性地转换成播客文字稿。如果您的 GPU 资源丰富,请使用 405B 模型进行测试!
请尝试使用该模型的系统提示进行实验,看看是否能改善结果,并在此尝试使用 8B 模型,看看是否有巨大差异!
笔记本 3
这本笔记采用了之前的记录,并提示 Llama-3.1-8B-Instruct 在对话中加入更多戏剧化和插话。
这里还有一个关键因素:我们返回了一个对话元组,这让我们以后的生活更轻松。是的,学习《数据结构 101》确实有用了一次!
对于我们的 TTS 逻辑,我们使用了两种不同的模型,它们在特定提示下的行为各不相同。因此,我们会相应地提示模型为每个说话者添加具体内容。
请再次尝试更改系统提示,看看能否改善效果。我们鼓励您在此阶段也测试轻便的 3B 和 1B 模型。
笔记本 4
最后,我们将上一个笔记本中的结果转换成播客。我们使用 parler-tts/parler-tts-mini-v1 和 bark/suno 模型进行对话。
parler 模型的发言人和提示是根据实验和模型作者的建议决定的。请尝试使用,您可以在资源部分找到更多详细信息。
注意:现在有一个问题:Parler 需要转换器 4.43.3 或更早版本,而管道的第 1 步至第 3 步需要最新版本,因此我们只需在最后一个笔记本中切换版本即可。
进一步的想法
语音模型实验:TTS 模型限制了声音的自然程度。如果有更好的管道,并有更多知情人士的帮助,可能会有所改进!:)
LLM 与 LLM 辩论:撰写播客的另一种方法是让两名代理就感兴趣的话题进行辩论,并撰写播客大纲。现在,我们使用单个 LLM(70B)编写播客大纲
测试 405B 来撰写文字稿
生成示例
友情提示
支持摄影网站、音频文件、YouTube 链接等。我们再次欢迎社区PR!
进一步学习的资源
进一步学习的资源
https://betterprogramming.pub/text-to-audio-generation-with-bark-clearly-explained-4ee300a3713a
这篇文章详细介绍了如何使用Bark模型进行文本到音频的生成。Bark是一个基于变换器的文本到音频模型,由Suno AI创建,能够生成高度逼真的多语言语音以及其他音频类型,包括音乐、背景噪音和简单的音效。文章可能还涵盖了模型的工作原理、如何训练和使用该模型,以及一些实际的应用示例。
https://colab.research.google.com/drive/1dWWkZzvu7L9Bunq9zvD-W02RFUXoW-Pd?usp=sharing
Google Colab笔记本可能是一个交互式的教程或示例,用于演示如何使用Bark模型。用户可以在Colab环境中直接运行代码,无需在本地计算机上安装任何东西。
https://colab.research.google.com/drive/1eJfA2XUa-mXwdMy7DoYKVYHI1iTd9Vkt?usp=sharing#scrollTo=NyYQ—3YksJY
这是另一个Google Colab笔记本,可能包含更高级的教程或更复杂的示例,用于展示Bark模型的不同功能或应用场景。
https://replicate.com/suno-ai/bark?prediction=zh8j6yddxxrge0cjp9asgzd534
这个页面提供了关于Bark模型在Replicate平台上运行的详细信息。Replicate是一个平台,允许用户运行机器学习模型而无需自己管理基础设施。页面上提到,运行Bark模型的成本大约是每运行一次0.01美元,或者每1美元可以运行100次,具体成本取决于输入。模型运行在Nvidia T4 GPU硬件上,预测通常在46秒内完成。此外,还提供了模型的开源信息和如何在自己的计算机上使用Docker运行模型的指导。
https://suno-ai.notion.site/8b8e8749ed514b0cbf3f699013548683?v=bc67cff786b04b50b3ceb756fd05f68c
这个Notion页面提供了Bark Speaker Library (v2)的详细信息,包括不同语言和性别的说话者样本。页面上列出了各种说话者,包括他们的语言、性别、标签以及如何获取他们的音频样本。这可能是一个资源库,供研究人员和开发者选择和使用不同的说话者声音。