
借助LLM实现模型选择和试验自动化 原创
大语言模型(LLM)已成为一种工具,从回答问题到生成任务列表,它们在许多方面简化了我们的工作。如今个人和企业已经使用LLM来帮助完成工作。
代码生成和评估最近已经成为许多商业产品提供的重要功能,以帮助开发人员处理代码。LLM还可以进一步用于处理数据科学工作,尤其是模型选择和试验。
本文将探讨如何将自动化用于模型选择和试验。
借助LLM实现模型选择和试验自动化
我们将设置用于模型训练的数据集和用于自动化的代码。在这个例子中,我们将使用来自Kaggle的信用汽车欺诈数据集。以下是我为预处理过程所做的准备。
我们将只使用一些数据集,丢弃所有缺失的数据。这不是最优的过程,但我们关注的是模型选择和试验。
接下来,我们将为我们的项目准备一个文件夹,将所有相关文件放在那里。首先,我们将为环境创建requirements.txt文件。你可以用下面的软件包来填充它们。
接下来,我们将为所有相关的元数据使用YAML文件。这将包括OpenAI API密钥、要测试的模型、评估度量指标和数据集的位置。
然后,我们导入这个过程中使用的软件包。我们将依靠Scikit-Learn用于建模过程,并使用OpenAI的GPT-4作为LLM。
此外,我们将设置辅助(helper)函数和信息来帮助该过程。从数据集加载到数据预处理,配置加载器在如下的函数中。
在同一个文件中,我们将LLM设置为扮演机器学习角色的专家。我们将使用下面的代码来启动它。
你可以将LLM模型更改为所需的模型,比如来自Hugging Face的开源模型,但我们建议暂且坚持使用OpenAI。
我将在下面的代码中准备一个函数来清理LLM结果。这确保了输出可以用于模型选择和试验步骤的后续过程。
然后,我们将需要该函数来启动模型和评估训练过程。下面的代码将用于通过接受分割器数据集、我们要映射的模型名称以及超参数来训练模型。结果将是度量指标和模型对象。
准备就绪后,我们就可以设置自动化过程了。有几个步骤我们可以实现自动化,其中包括:
1.训练和评估所有模型
2. LLM选择最佳模型
3. 检查最佳模型的超参数调优
4. 如果LLM建议,自动运行超参数调优
在上面的代码中,我指定了LLM如何根据试验评估我们的每个模型。我们使用以下提示根据模型的性能来选择要使用的模型。
你始终可以更改提示,以实现模型选择的不同规则。
一旦选择了最佳模型,我将使用以下提示来建议应该使用哪些超参数用于后续过程。我还指定了Scikit-Learn版本,因为超参数因版本的不同而有变化。
你可以以任何想要的方式更改提示,比如通过更大胆地尝试调优超参数,或添加另一种技术。
我把上面的所有代码放在一个名为automated_model_llm.py的文件中。最后,添加以下代码以运行整个过程。
一旦一切准备就绪,你就可以运行以下代码来执行代码。
输出:
这是我试验得到的示例输出。它可能和你的不一样。你可以设置提示和生成参数,以获得更加多变或严格的LLM输出。然而,如果你正确构建了代码的结构,可以将LLM运用于模型选择和试验自动化。
结论
LLM已经应用于许多使用场景,包括代码生成。通过运用LLM(比如OpenAI GPT模型),我们就很容易委派LLM处理模型选择和试验这项任务,只要我们正确地构建输出的结构。在本例中,我们使用样本数据集对模型进行试验,让LLM选择和试验以改进模型。
原文标题:Model Selection and Experimentation Automation with LLMs,作者:Cornellius Yudha Wijaya
