音乐模型训练

感谢鹏宇

训练小规模音乐文本生成模型技术指南

本指南将详述如何训练一个小规模的语言模型,用于音乐/歌曲歌词文本生成。我们将按关键步骤依次介绍从数据准备到模型部署的流程,并提供代码示例、工具推荐和最佳实践建议。

1. 数据收集与整理

要训练音乐歌词生成模型,首先需要收集和整理数据。高质量、大规模的歌词或音乐相关文本数据能显著提升模型效果。常用数据源包括:

  • 公开歌词数据集:例如 Lakh MIDI Dataset(包含176,581首MIDI曲目,其中45,129首与Million Song Dataset对齐​;约10%的MIDI文件带有时间戳对齐的歌词事件​),MAESTRO(一个钢琴音乐数据集,含约200小时的音频-MIDI对齐表演记录​),以及其他歌曲歌词数据集(如 Kaggle 上的 5 Million Song Lyrics Dataset,包含来自 Genius 网站的歌词,涵盖142种语言​)。
  • 自建数据:如果现有数据集不能满足需求,可以通过爬虫或API收集特定艺术家的歌词(例如使用 Genius API 等),然后自行整理成为语料库。
  • 数据清洗:无论数据来源如何,都需要对原始歌词文本进行清洗和预处理。例如:
    • 移除歌词中的无关字符或标签(如 [Verse], [Chorus] 标记等,除非您希望模型学习这些结构)。
    • 统一字符编码和大小写(根据任务需要保留大小写以保存专有名词,或全部转换为小写)。
    • 处理标点符号和换行:通常保留必要的标点以保持歌词韵律和语句完整性,保留换行符以标识歌词的行结构。
  • 数据标注(可选):如果计划生成特定风格的歌词,可以在数据中增加元数据标签。例如给每首歌词加上风格或流派标签,用于日后模型条件生成。不过对于一般的歌词生成任务,这不是必需的步骤。

完成清洗后,需要将文本转换为模型可训练的格式:

  • 训练/验证划分:将整理好的歌词数据划分为训练集和验证集(例如按90/10划分)。验证集用于在训练过程中监控模型性能,防止过拟合。
  • 分词与编码:将歌词文本转化为模型输入的Token序列。现代语言模型通常采用子词级别的分词方法,如 Byte Pair Encoding (BPE) 等。BPE最初是一种文本压缩算法,后来被OpenAI用于GPT模型的词表构建​ huggingface.co 。子词分词可以有效处理未登录词,提高生成长单词的灵活性。可以使用 Hugging Face 提供的分词器或 sentencepiece 等工具: 上述代码示例展示了如何加载现有GPT-2分词器,将文本分割成子词 token,并编码为对应的ID序列。对于中文或多语言歌词数据,可以考虑使用多语言的预训练分词器(如bert-base-multilingual)或者根据语料训练自定义的分词器。注意:确保特殊符号(如换行 \n)被保留或用特殊token表示,以帮助模型学习歌词的分行结构。
  • 嵌入表示:在生成训练数据时,模型会学习将token映射到向量(embedding)。如果使用Transformer模型,嵌入层是模型的一部分,通常不需要我们手动生成预训练嵌入。但如果数据非常有限,您也可以尝试使用预训练词向量(如GloVe或word2vec)来初始化模型的嵌入层,以加速收敛。不过对于GPT这类模型,通常直接从预训练权重微调即可。

完成上述步骤后,应当得到清洗良好、已编码的歌词数据,接下来即可用于模型训练。

2. 模型选择 edit

选择合适的模型对于生成效果和开发难度都有重要影响。针对音乐和歌词文本生成,可以考虑以下几种模型策略:

  • 基于预训练语言模型的Transformer:主流做法是采用像 GPT-2 这样的预训练模型并进行微调。GPT-2 是OpenAI提出的生成式预训练Transformer,在大规模通用语料上训练,擅长续写文本,因而适合歌词生成任务。其“小型”版本(例如117M参数)可以在单块GPU上训练。相比从零训练,自然语言领域的预训练模型已经学习了语法和一般语言知识,微调可以更快收敛并产生连贯的歌词。
  • 更大型的预训练模型:如 GPT-3 或其衍生(例如 open-source 的 GPT-Neo、GPT-J 等)。GPT-3 非开源但可通过 OpenAI API 进行定制微调,不过费用较高且需云端调用。对于小规模项目,不太推荐直接使用GPT-3进行训练,但可以考虑通过API微调一个歌词模型作为比较。
  • 专门用于音乐序列的模型:如 Music Transformer(谷歌提出的Transformer变种,用相对位置注意力机制来更好地捕捉音乐长程结构​)。Music Transformer主要针对MIDI音符序列生成,如果您的任务包含曲调创作或结合旋律,可考虑此模型。然而,它并非直接用于歌词文本;如果目标仅是文本歌词创作,标准的语言模型(GPT系列)会更方便。另一类模型是基于LSTM的序列模型,曾经在歌词生成上有应用,但已被Transformer架构所超越,在小规模数据上Transformer同样表现更好。
  • 从头训练 vs. 微调:在大多数情况下,微调预训练模型是首选。预训练模型已经掌握了丰富的语言模式,微调可以利用歌词数据让模型学习特定风格和用词。【除非】您的数据非常特殊(比如大量专业术语或特殊格式)且与常见语料差异巨大,否则不建议从零开始训练语言模型——从头训练不仅需要海量数据和算力,而且生成质量往往不及预训练微调。对于歌词生成,小规模数据下从零训练的模型容易出现语法错误或无意义重复。
  • 开源框架选择:推荐使用开源的深度学习框架及其高层接口来实现模型训练:
    • Hugging Face Transformers【🔥 推荐】:提供了丰富的预训练模型(包括GPT-2等)和便捷的微调接口。使用🤗Transformers,您可以轻松地加载预训练模型和分词器,并使用自带的 Trainer API 进行训练。
    • PyTorch:底层框架,如果需要更大灵活性或自定义模型结构,可以直接使用PyTorch定义Transformer架构。也可结合 PyTorch Lightning 这样更高级的训练管理框架。
    • TensorFlow/Keras:同样可用于实现语言模型。TensorFlow 的 Keras 接口提供了易用的模型定义和训练流程,适合快速原型。但大量现成的预训练模型(尤其GPT系列)在PyTorch上的支持更完善。如果需要使用 TPU 训练,则 TensorFlow 可能更方便一些。
    • Magenta:谷歌的 Magenta 项目在音乐生成领域有特殊模型和工具(如 MusicVAE、Music Transformer 的实现)。如果您的项目更关注曲调/旋律生成,可以参考 Magenta 提供的模型和预训练检查点。

模型选择代码示例:下面示例展示如何通过 Hugging Face 加载一个预训练的 GPT-2 模型并准备进行微调:

上述代码下载了GPT-2小模型及其分词器。对于小规模项目,您也可以选择更小的DistilGPT2模型,以减少参数数量从而缩短训练时间和所需内存。加载模型后,可以根据需要冻结部分层不参与更新,从而保留模型的一般语言能力,同时专注学习歌词风格。

3. 云计算平台选择 edit

根据预算和资源限制,选择合适的云计算平台来训练模型非常关键。以下是几种常见方案:

  • 本地CPU/GPU:如果您的个人电脑有足够性能的GPU(如NVIDIA 30系显卡),可以考虑本地训练小模型。但一般来说,笔记本或普通PC难以高效训练Transformer模型(除非模型非常小或数据集很小)。
  • Google Colab:提供免费且即开即用的Jupyter笔记本环境。Colab允许使用GPU/TPU训练模型,并且免除了环境配置的复杂性。免费版Colab通常可以获得一个 Tesla K80 或 T4 GPU,并支持最长约12小时的连续运行​。同时也可以使用 TPU v2-8 实例做加速(需使用 TensorFlow)。优点:免费易用;缺点:会受限于使用配额(长时间运行或多次使用后可能暂时无法获取GPU)以及内存限制。 (注:Colab Pro/Pro+ 是付费升级选项,提供更长运行时间和更强GPU,如Tesla P100/V100。)
  • Kaggle Notebooks:Kaggle 也提供免费在线笔记本,可使用Tesla P100 GPU来训练模型。每周有固定的GPU小时配额(例如每周约30小时​),单次运行最长9小时左右。对于短期实验来说Kaggle是很好的选择。优点:免费GPU且社区数据集丰富;缺点:连续运行时间有限,交互式功能略有欠缺。
  • 云GPU服务器(AWS/Azure/GCP 等):主流云服务商提供按需计费的GPU实例。例如 AWS EC2 的 p2/p3 系列(Tesla K80/V100等),Google Cloud 的 Compute Engine GPU, Azure 的 NC系列虚拟机等等。您可以根据需要选择GPU类型和数量,按小时付费。优点:性能稳定,可长时间运行,支持多GPU分布式训练;缺点:成本较高,需自行设置环境。一些云服务提供免费的试用额度(如 GCP 对新用户有300美元赠金),可善加利用。
  • 云 TPU:如果使用 TensorFlow 或 JAX 进行模型训练,Google Cloud 提供的 TPU(张量处理器)也是选择之一。TPU在大批量矩阵运算上有优势,针对大型深度学习任务常有更高的性价比​。在 Colab 中也可以免费试用 TPU。但需要注意TPU的编程模型与GPU有所不同,PyTorch用户需要使用torch_xla等库才能支持 TPU。优点:在大型模型上训练速度快​;缺点:调试难度较高,小模型在TPU上未必有明显优势。
  • 混合方案:可以先在本地或低配环境调试代码、跑小批量数据确认流程,然后将训练任务迁移到云端GPU/TPU加速。在云端训练完成后,再切换回本地进行模型分析和部署开发,以节省云端成本。

综上所述,对于预算有限的个人项目,推荐从 Google Colab 或 Kaggle 等免费资源入手​

research.google.com

kaggle.com

。在模型和数据规模增加时,再考虑租用云GPU/TPU或者升级到付费方案。务必根据模型大小和训练时长预估费用,选择最适合的平台。

4. 训练与优化 edit

有了数据和模型,就进入模型训练与优化阶段。在这个过程中,需要考虑数据增强、超参数选择、训练监控和模型保存等方面。

数据增强 (Data Augmentation) edit

对于歌词文本数据,数据增强可以在一定程度上缓解语料不足的问题。常见的NLP数据增强技术有:

  • 同义词替换:用近义词替换歌词中的某些词语,以生成语义相似的新句子。
  • 随机插入/删除:随机地在句子中插入额外的词,或删除一些不影响整体意思的词。
  • 随机交换:随机交换句子中的两个词的位置。
  • 回译 (Back-translation):将歌词翻译成另一种语言,再翻译回来,获得语义等价的变体。
  • 简易数据增强 (Easy Data Augmentation, EDA):EDA方法综合运用了上述几种操作来扩充数据​。例如,对每一句歌词应用一定概率的同义词替换、插入、交换或删除。实验证明这些简单操作在小数据集上可以提高模型的鲁棒性​。

需要注意,过度的数据增强可能改变歌词的风格或节奏,应仔细评估生成的伪样本质量。对于歌词这种对韵律和语义要求很高的文本,增强需更谨慎,比如同义词必须不破坏韵脚或节奏。经验建议:优先增强那些通用性强的句子,对标志性强的歌词(专有名词、特殊拼写等)尽量保留原样。

训练超参数选择 edit

选择合适的训练超参数可以帮助模型更快收敛并避免过拟合:

  • Batch Size(批大小):批大小影响显存占用和梯度估计稳定性。对于GPT-2这类模型,显存往往是限制因素。可以根据GPU显存大小选择批大小,例如8或16。如果显存不足,可以使用 梯度累积 (gradient accumulation) 技术:将有效批大小拆分成多个小批次累积梯度,相当于用小批次模拟更大批次。【提示】如果发现 GPU 内存溢出(OOM),首要是减小batch size。
  • 学习率 (Learning Rate):预训练Transformer微调通常使用相对小的学习率,如 1e-4 到 5e-5 之间。一个典型设置是 5e-5 用于微调GPT-2​。可以采用 学习率预热和衰减 策略——例如前几百步从0线性增加学习率到目标值,再在训练后期逐渐衰减学习率,以稳定训练过程。
  • 优化器 (Optimizer):Adam 或 AdamW 是Transformer微调的常用优化器。AdamW(带权重衰减的Adam)在Transformer训练中表现良好。保持其他超参数默认($\beta_1=0.9,\beta_2=0.999,\epsilon=1e-8$)通常即可。权重衰减可以设置一个小值如1e-21e-3以防止过拟合。
  • 训练轮数 (Epochs):如果数据量不大,可能需要多轮迭代才能充分学习模式。但轮数过多又会导致模型记忆训练集(过拟合)。可以从较小的epoch数开始(如3-5轮),观察训练损失和验证集损失的变化趋势。如验证损失不再下降甚至上升,应提前停止训练(Early Stopping)。
  • 截断与填充:设定最大序列长度(如模型支持的最大token长度,GPT-2通常512或1024)。长于该长度的歌词需要截断或拆分,短于该长度的可以填充。尽量避免过长的填充,以提升批处理效率。
  • 混合精度训练:考虑使用混合精度 (FP16) 训练,以减少显存占用和加速运算。PyTorch的 torch.cuda.amp 或 Hugging Face Trainer 中设置 fp16=True 即可开启。【注意】混合精度在某些情况下需要留意数值稳定性,但总体对大多数Transformers是安全且有效的。

模型训练过程与监控 edit

在训练过程中,需要实时监控模型的性能指标,以便及时调整:

  • 损失值 (Loss):每个训练step或每若干step记录训练损失。如果发现损失长时间不下降甚至上升,需检查学习率是否过高或出现了梯度爆炸(可尝试降低学习率或 Gradient Clipping 梯度裁剪)。
  • 验证集指标:定期在验证集上计算困惑度(Perplexity)或验证损失,以评估模型泛化能力。困惑度是语言模型常用指标,其值是平均每词的困惑程度,值越低表示模型预测下一个词越自信。
  • 可视化:使用 TensorBoard 或其他工具可视化训练曲线。通过图表观察训练损失和验证损失随时间的变化。当两者开始明显背离(训练损失继续降低但验证损失持平或上升)时,表示可能过拟合。
    • TensorBoard:如果使用PyTorch,您可以使用 tensorboardX 或 TensorFlow 的 summary writer来记录指标。在Terminal运行 tensorboard --logdir runs 可启动网页界面查看曲线。
    • Weights & Biases (W&B):这是一个流行的实验跟踪工具,只需几行代码即可将训练过程中的指标自动记录到在线面板​。使用 W&B,您可以方便地比较不同实验的超参数和结果。在 Hugging Face Trainer 中,只需在 TrainingArguments 中设定 report_to="wandb" 并登录W&B帐号即可启用。

例如,使用 Hugging Face 的 Trainer API 时,可以这样设置训练参数和监控:

以上代码设置了关键超参数,并启用了 TensorBoard 和 Weights & Biases 以监控训练。最佳实践:在实际训练中不断根据监控结果调节超参数,例如观察验证集困惑度来微调学习率或提前停止。训练完成后,保存最终的模型权重供后续部署使用(Hugging Face的Trainer会自动保存最后一个checkpoint,可以使用 trainer.save_model() 明确保存)。

模型效果优化 edit

训练完成后,可以根据生成结果对模型进行优化:

  • 手动检查输出:给模型输入一些测试性的开头歌词或主题,让模型生成歌词片段。人工评估其连贯性、押韵、风格是否符合预期。根据观察结果决定是否需要进一步微调或调整数据。例如发现模型总是重复某些词,可以在训练数据中检查并减少类似重复样本,或者引入更多样本丰富表达。
  • 调节温度和长度:在生成文本时,可调整温度(temperature)参数控制创造性,高温度会让输出更多样化但可能降低连贯性;Top-k采样或Top-p (nucleus)采样策略也可以帮助平衡多样性和流畅度。在测试不同参数组合后,选择效果最佳的用于最终应用。
  • 迭代训练:可以通过持续训练(Continual Training)的方式逐步提升模型——先用基本数据训练模型,然后将模型生成结果与原始数据混合再训练(仿人类写作过程,不断润色)。不过要小心这种方法可能引入模型自有错误的放大。

通过上述训练和优化步骤,您应当能够得到一个在您数据集上表现良好的歌词生成模型。接下来,就可以考虑将模型部署供实际使用。

5. 模型部署与测试 edit

完成模型训练后,需要将其部署出来供用户使用,并进行充分的测试。部署方式可以根据应用场景选择:

  • 离线使用:如果模型主要供研究或个人使用,可在本地直接加载模型权重进行文本生成。使用 Hugging Face Transformers 的 pipeline 接口可以方便地包装模型用于生成: 通过 pipeline,我们构建了一个生成器,可以传入任意开头文字并生成歌词续写。这种方式便于快速测试模型效果。
  • Web 接口部署:将模型包装成一个API服务,供前端或第三方调用。常用的方法是使用 Python 的 Web 框架构建HTTP服务:
    • FastAPI:一个高性能的现代API框架,非常适合部署机器学习模型。可以创建一个POST接口,将用户输入的提示词发送到模型并返回生成的歌词。下面是一个简化的示例: 将上述服务部署到云服务器后,前端即可通过HTTP请求得到模型生成的歌词。
    • Flask:较简单轻量的框架,也常用于包装模型为REST API。在Flask中类似地定义路由函数即可。
  • Hugging Face Spaces:如果不想自行管理服务器,Hugging Face 提供了 Spaces 平台,可以免费托管模型演示应用​ huggingface.co 。Spaces 支持两种方式:
    • Gradio:一个便捷的Python库,用于快速创建交互界面。Gradio提供简单直观的界面组件,如文本框、按钮等,几行代码即可搭建demo界面​。您只需定义一个函数接收输入并返回模型输出,Gradio会自动生成网页。如: 将此Gradio应用部署到Spaces后,用户就能在浏览器上与模型交互,输入一句话生成歌词。优点:无需自行搭建基础设施,部署过程非常简单​。
    • Streamlit:另一个常用的Python Web应用框架,适合快速搭建数据应用仪表盘。也可用于构建模型演示界面,代码风格类似脚本。部署到Spaces的过程类似Gradio。
    • (此外,Hugging Face Spaces也支持直接部署FastAPI应用通过Docker容器的方式,但对于小项目而言,Gradio/Streamlit更为简单。)
  • 移动端应用:如果希望将歌词模型集成到移动应用中,可以在后端部署上述API服务,然后在移动App中通过HTTP请求调用。这种架构可以让移动端保持轻量,只负责界面交互,由服务器完成繁重的推理计算。另一种方案是使用诸如 TensorFlow Lite 或 ONNX 等工具将模型压缩并部署在移动设备上离线运行,但Transformer模型通常较大且依赖GPU,这一路径实现难度和设备要求较高,对于“小规模模型”或概念验证阶段,优先考虑服务端部署、客户端调用的模式。

无论哪种部署方式,都需要进行充分的测试

  • 功能测试:确保接口按照预期接受输入和返回输出。例如测试空输入、非常长的输入等边界情况是否处理妥当(可以设置输入长度上限并给出友好错误信息)。
  • 负载测试:如果面向公众提供服务,需要测试在并发请求下的性能。可以使用简单的脚本并发调用生成接口,观察响应时间和系统资源占用。根据结果考虑是否需要对模型进行优化(如裁剪模型大小、启用批量推理)或增加并行实例。
  • 安全检查:生成模型可能会在输入触发下产生不良内容。需要制定过滤策略,例如对生成结果进行敏感词检测,或对输入进行限制,避免滥用。对于歌词生成,可能关注避免输出明显冒犯性或不雅词汇,可根据需要构建一个禁止词列表来筛除生成结果中的不当内容。
  • 用户反馈迭代:将模型部署给小范围真实用户试用,收集反馈。例如用户认为某些生成的句子不通顺或者风格不符,可以据此进一步调整训练数据或模型参数。这种人类反馈对于打磨生成模型非常重要。

通过上述部署与测试流程,您的歌词生成模型即可稳定地对外提供服务或演示。在实际应用中,保持对模型输出的监控和根据反馈持续改进,才能让模型生成的歌词质量越来越高。

6. 不同预算方案 edit

根据项目预算的不同,可以采用不同规模的方案来训练和部署模型。下面分别讨论低成本、中等预算和高预算情况下的最佳实践。

  • 低成本方案(利用免费资源): 如果预算近乎为零,可以最大化利用免费的计算资源:
    • 利用 Google Colab 免费版Kaggle Notebooks 获取GPU训练模型​​。尽管每次运行时间有限,但可以将训练过程拆分为多次运行,或者使用Checkpoint断点续练来绕过会话重置的问题。
    • 选择较小的模型和较短的训练周期。例如使用DistilGPT-2等精简模型,既能加快训练也减少资源占用。
    • 善用 免费云存储(如Google Drive与Colab绑定,或Kaggle的数据集存储)保存模型和数据,以便中断后继续。
    • 数据方面,多利用公开数据集,不考虑构建庞大自定义数据集。也可以使用少量人工撰写的歌词片段增强模型对目标风格的学习,这比获取大规模数据更现实。
    • 部署时,可使用 Hugging Face Spaces 等免费托管平台展示模型​,避免自行负担服务器费用。或仅在本地演示模型,不进行大规模线上部署。
  • 中等预算方案(云端小规模训练): 在有一些预算(例如每月几十到几百美元)的情况下,可以考虑更稳定和高性能的云训练环境:
    • 租用 云GPU实例 在短期内完成训练。例如使用 AWS EC2 的按需或竞价实例搭载Tesla T4/V100进行训练,仅为训练付费几十小时的GPU时间。训练完毕后释放实例,以节约成本。
    • 使用 云端 TPU(如 Google Cloud TPU v2/v3)加速训练。如果模型较大、数据较多,TPU的高吞吐可以缩短训练时间,从而降低总花费。
    • 使用 Colab Pro/Pro+ 等订阅服务。每月付费获得更长的GPU使用时间、更高端的GPU以及更少的限制。这对个人开发者而言是非常具有性价比的方案——相比自购GPU,按需订阅费用低且无需维护硬件。
    • 在模型选择上,可以尝试稍大的模型(如GPT-2 Medium,约3亿参数)以获得更好的生成质量,但仍需注意平衡参数量和训练时间。
    • 优化训练以降低成本:例如使用早停策略防止无效的长时间训练;使用混合精度减少计算量;或利用分布式训练在多卡上缩短总时间(前提是有多GPU资源可用)。
    • 部署方面,可以考虑自托管一个小型服务器来运行模型服务。例如租用一台带GPU的云服务器(月成本几十美元级别)部署FastAPI服务。对于少量用户访问已经足够。如果流量增加,可以再考虑扩展。
  • 高预算方案(专业硬件和集群训练): 如果预算充足(例如上千美元级别),可以追求更高的模型质量和更快的实验迭代:
    • 构建或租用一台高端GPU服务器,配备当前顶尖的GPU(如NVIDIA A100, 80GB显存)或多卡并行。一次性投入硬件可以长期使用,对于需要频繁训练模型的团队是良好投资。大显存可以训练更长序列、更大模型,并减少内存调优的烦恼。
    • 使用 多机多卡集群 进行分布式训练。如果希望训练定制的更大型模型(参数上亿甚至十亿级),需要多GPU协同。框架方面可考虑 Horovod 或 PyTorch Lightning 的分布式策略。在高预算下,数据并行和模型并行技术都可引入以训练无法单机容纳的模型。
    • 数据规模扩充:有资金支持下,可以购买商用歌词语料或订阅音乐数据库API获取更丰富的数据,用于训练和精调模型,从而提升生成质量和风格多样性。
    • 高预算还允许更多的实验尝试:例如训练不同模型架构进行对比(Transformer-XL、GPT-Neo 等)或尝试更复杂的训练策略(如辅助任务多任务学习,将曲谱和歌词结合训练等等)。充足的算力给予了探索的空间。
    • 部署上,可构建面向大量用户的伸缩架构。比如将模型封装在容器中,部署到 Kubernetes 集群,实现弹性扩展;或者使用CDN缓存某些生成结果以减轻实时推理压力等。这些属于工程层面的优化,在高流量、高并发的生产环境下才需要考虑。

无论预算高低,核心思想都是量入为出,充分利用可用资源并针对性优化。对个人/小团队来说,起步可以从免费或低成本方案验证想法,一旦模型雏形证明有效,再逐步投入更多资源扩大小模型的能力或迁移到更大模型。很多成功的项目都是从小做起的,在有限资源下打磨模型效果,一步步取得更好的成果。


总结:训练一个用于音乐和歌曲歌词生成的小规模语言模型,需要统筹数据、模型和资源等多方面工作。从数据收集清洗、模型选择和微调,到云平台使用、训练过程优化,再到部署应用和根据预算调整方案,每一步都有相应的工具和最佳实践可循。通过充分利用如公开歌词数据集和预训练模型等已有成果,借助 Hugging Face 等强大开源库,以及像 Colab 和 Spaces 这样的免费平台,即使预算有限也能尝试构建出一个可用的歌词生成模型​

research.google.com

huggingface.co

。在实践过程中,不断监控和调整,结合用户反馈迭代,最终模型将能够创作出风格多样、连贯押韵的歌词,为音乐创作提供有益的辅助手段。