“baseline01.ipynb”文件代码训练过程分为四个部分:
一、准备工作
二、调用API
三、反复训练(迭代)
四、读取json文件,上传最终结果
一、准备工作
1)配置环境
安装所需的Python包,“!pip install scipy openai tiktoken retry dashscope loguru"
导入numpy、json等相关包
2)注册链接 API接口 “dashscope.api_key="sk-"”
二、调用API
定义call_qwen_api函数,用于调用配置的API
response = dashscope.Generation.call(...)
:使用dashscope.Generation.call
方法调用API,并传递模型名称和查询参数。if response.status_code == HTTPStatus.OK:
:检查API响应的状态码是否为200(成功)。return response.json()['message']
:如果成功,返回生成的文本内容。else: ... raise Exception(...)
:如果失败,打印错误信息并抛出异常。
三、迭代训练
def api_retry(MODEL_NAME, query):
:定义一个函数api_retry
,用于带有重试机制的API调用。max_retries = 5
:最大重试次数设为5次。retry_delay = 60 # in seconds
:重试之间的延迟设为60秒。attempts = 0
:初始化尝试计数器。while attempts < max_retries:
:循环直到达到最大重试次数。try: return call_qwen_api(MODEL_NAME, query)
:尝试调用API,如果成功则返回结果。except Exception as e: ... raise
:如果失败,记录失败次数,打印警告信息并延迟重试,最终如果所有尝试均失败则抛出异常。
四、读取json文件,上传最终结果
最后总结,
结合朋友的实验效果发现使用不同的模型(qwen2-72b-instruct与qwen2-7b-instruct)得分差异较大,训练的准确度与模型有很大关系。
除此之外,想要提高结果准确率,还可以从以下方面入手
1)训练数据集的质量和数量,对数据集进行预处理,降噪删去不准确的干扰样本,提高数据集准确度;收集更多的数据样本。
例如,在处理json数据时,我们可以设置函数实现数据增强
(进行同义词替换,增加数据的多样性,从而提高模型的泛化能力,增强鲁棒性)
2)调整超参数,调整学习率、批大小、迭代次数等超参数,寻找最合适的组合。