随着谷歌和 Meta 相继推出基于大语言模型的 AI 播客功能,将极大地丰富人类用户与 AI 智能体互动的体验。
上个月,谷歌宣布对旗下 AI 笔记应用 NotebookLM 进行一系列更新,允许用户生成 YouTube 视频和音频文件的摘要,甚至可以创建可共享的 AI 生成音频讨论。加上此前支持的谷歌文档、PDF、文本文件、谷歌幻灯片和网页,NotebookLM 的用例和覆盖范围进一步扩大。
本月初,AI 大牛 Karpathy 发推表示自己只用了两个小时就创建了一个 10 集的系列博客 —— 历史谜团(Histories of Mysteries),其中就使用 NotebookLM 将每个主题的维基百科条目链接在一起,并生成播客视频;同时也使用 NotebookLM 编写博客 / 剧集描述。
就这两天,Meta 推出了 NotebookLM 的开源平替版 ——NotebookLlama,它使用 Llama 模型进行大部分任务处理,包括 Llama-3.2-1B-Instruct、Llama-3.1-70B-Instruct 和 Llama-3.1-8B-Instruct。
下图为 NotebookLlama 运行流程,首先从文件(比如新闻文章或博客文章)创建转录文本,然后添加「更多戏剧化」和中断,最后将转录文本馈入到开放的文本到语音模型。
据外媒 Techcrunch 报道,NotebookLlama 的效果听起来不如谷歌 NotebookLM 好,带有明显的机器人口音,并且往往会在奇怪的时刻「互相交谈」。不过,项目背后的 Meta 研究人员表示,使用更强大的模型还可以提高质量。
Meta 研究人员在 NotebookLlama 的 GitHub 页面写到,「文本到语音模型限制了声音的自然程度。」此外,编写播客的另一种方法是让两个智能体就感兴趣的主题进行讨论并编写播客大纲。现在,Meta 只使用了一个模型来编写播客大纲。
就像下面所展示的,虽然播客内容还有一些粗糙,但它听起来已经很不错了。
对于 Meta 的 NotebookLlama,有人直言听起来糟糕透了,要想真正地对标谷歌的 NotebookLM,就要在语音转换效果上接近人类水平。不过也有人认为,虽然目前效果不佳,但随着所有代码的开源,用户可以自定义尝试不同的提示方法等,相信未来会变得更好。
虽然效果还是差点意思,但也有网友表示:「现在是时候让 Google 加快步伐了,Meta 已经紧随其后赶上来了,开源 NotebookLM。」
项目介绍
根据 Meta 发布的教程配方,你可以基于 PDF 文件构建播客。
项目地址:https://github.com/meta-llama/llama-recipes/tree/main/recipes/quickstart/NotebookLlama
第一步:对 PDF 进行预处理。即使用 Llama-3.2-1B-Instruct 对 PDF 进行预处理,并将其保存为.txt 文件;
第二步:转录文本编写器。使用 Llama-3.1-70B-Instruct 模型从文本中编写播客转录文本;
第三步:对内容重新优化,添加戏剧性。使用 Llama-3.1-8B-Instruct 模型使转录文本更具有创意;
第四步:文本到语音。使用 parer -tts/parer -tts-mini-v1(文本到语音模型)和 bark/suno 生成会话播客。
不过,还有几个值得大家注意的点:
首先,在步骤 1 中,需要提示 1B 模型不要修改文本或对文本进行总结,并严格清理掉可能在 PDF 转录过程中出现的多余字符或垃圾字符。
其次,对于步骤 2,你也可以使用 Llama-3.1-8B-Instruct 模型,然后对比不同模型的效果。项目中采用的是 70B 模型,原因在于它为测试示例提供了更具创意的播客记录。
对于步骤 4,你也可以使用其他模型进行扩展,较新的模型可能听起来更好。
想要顺畅的运行该项目,你需要有 GPU 服务器或者使用 70B、8B 和 1B Llama 模型的 API 提供商。如果你采用的是 70B 模型,那么需要一个总内存约为 140GB 的 GPU 来以 bfloat-16 精度进行推理。
退一步讲,如果你的 GPU 并不是很好,也可以使用 8B 模型跑通整个 pipeline。
接下来是安装。在开始之前,请确保使用 huggingface cli 登录,然后启动 jupyter notebook ,以确保能够下载 Llama 模型。
接着运行代码:
git clone https://github.com/meta-llama/llama-recipes
cd llama-recipes/recipes/quickstart/NotebookLlama/
pip install -r requirements.txt
Notebook 1:Notebook 1 用于处理 PDF,并使用新的 Feather light 模型将其处理为.txt 文件。
Notebook 2:Notebook 2 将接收 Notebook 1 处理后的输出,并使用 Llama-3.1-70B-Instruct 模型创造性地将其转换为播客脚本。如果你拥有丰富的 GPU 资源,也可以使用 405B 模型进行测试!
Notebook 3:Notebook 3 采用了之前的文本,并提示 Llama-3.1-8B-Instruct 在对话中添加更多的戏剧化和中断。
Notebook 4:最后,Notebook 4 从上一个 notebook 中获取结果并将其转换为播客。项目中使用了 parer -tts/parer - ttts -mini-v1 和 bark/suno 模型进行对话。
这里有一个问题:Parler 需要 4.43.3 或更早版本的 transformer,但对于 pipeline 中的步骤 1 到 3,需要最新的版本,所以需要在最后一个 notebook 中切换版本。
最后,项目列出了未来需要改进的地方:
语音模型:TTS 模型使语音听起来不是很自然,未来可以纳入更好的模型; 更好的提示; 支持提取网站、音频文件、YouTube 链接等。
参考链接:https://techcrunch.com/2024/10/27/meta-releases-an-open-version-of-googles-podcast-generator/?guccounter=1