对于提示工程,我们使用Prompt Studios来设计和迭代 LLM 提示。在这个可视化界面中,,以将我们的示例包含在提示中。我们可以从已批准的模型列表中进行选择,以快速评估不同 LLM 在相同提示和测试用例上的表现,还可以查看如果我们要大规模运行查询的估计成本。
如下图所示,我们使用 Amazon Bedrock 的 AWS Titan G1 Lite 进行实验。
Dataiku Prompt Studio:高级提示模式,使用示例添加上下文。
Dataiku Prompt Studio:高级提示模式,使用示例添加上下文。
微调:定制法学硕士的另一种方法
对于少数学习和快速工程无法完全缩小生成文本所需质量差距的情况,微调模型本身可能是一种选择。在 Dataiku 中,我们可以使用基于代码或视觉的方法进行微调;这两种方法都允许将自定义模型保存到 LLM Mesh,并具有与其他连接的 LLM 相同的控制和治理。
对于我们的项目,我们使用无代码方案来微调来自 Amazon Bedrock 的 AWS Titan Text G1 Lite 模型。
Dataiku Flow 用于视觉微调,输出新模型对象“titan_ft_v1”
Dataiku Flow 用于视觉微调,输出新模型对象“titan_ft_v1”
Dataiku 微调配方配置
Dataiku 微调配方配置
注意:对于 Amazon Bedrock 模型,需要在 AWS 中部署经过微调的输出模型,因为定价是通过部署(而不是推理)完成的。使用预配置的吞吐量在 Amazon Bedrock 中部署模型,然后将该模型添加到 Dataiku-Amazon Bedrock 连接中的现有模型列表中。
比较上下文学习和模型微调的输出
回到最初的问题,哪种方法更适合我们的用例?
使用上下文学习和微调方法对每日汇总真实数据与 LLM 的合成输出进行并排比较。
使用上下文学习和微调方法对每日汇总真实数据与 LLM 的合成输出进行并排比较。
当我们手动阅读两个生成的输出时,似乎经过微调的 AWS Titan 模型产生的摘要比基 沙特阿拉伯 电话号码数据 线模型更优秀,因为通过少量学习为 LLM 提供了额外的背景信息。为了进一步证实这一分析并大规模自动化 LLM 评估,我们利用LLM-as-a-judge指标来根据两个生成的摘要评估基本事实摘要。
我们还使用了 Dataiku 中的评估方案,该方案允许我们存储模型评估结果和随时间变化的性能指标,并在答案正确性和答案相关性等维度上比较模型。这项分析证实了我们最初的评估,即经过微调的模型生成的摘要与我们标记的训练数据集中的每日摘要更相似、更正确。
在 Dataiku 的模型评估商店中比较 LLM-as-a-Judge 指标
在 Dataiku 的模型评估商店中比较 LLM-as-a-Judge 指标
话虽如此,请记住,在进行微调之前,我们还可以尝试其他途径来尝试获得更好的摘要。例如,我们可以回到我们的Prompt Studio并从 Amazon Bedrock 中选择不同的 LLM;尤其是 Claude 3,它因其在对话或任务中理解和有效利用上下文的能力而闻名,通常执行少量学习场景。