场景:我们要设计一个专有领域的大语言模型,设计思路是先选择开源的基座模型,使用领域相关的数据集对基座模型进行微调得到通用的大语言模型,再使用特定任务的数据集进一步对基座模型进行微调得到专用的大语言模型。
问题:如何对大语言模型开发的各个阶段进行评价,以确保每一步操作的有效性。
思考:第一次接触这个问题的时候,我想到的对大语言模型的评价是针对专用模型的评价,在公用的开源数据集或者基准上计算评价指标的得分,如果得分高则意味着大语言模型性能好。但是,仅考虑对专用大语言模型的评价就会忽略之前开发的各阶段所做的努力。显然,评估大语言模型开发的各个阶段更加合理,能够证明每一步工作的有效性,提高开发的效率。
根据我们设计领域特定大语言模型的思路,对大语言模型开发过程的评估主要有两个方面,一个是数据的评估,一个是模型的评估。
对于数据评估方法,无论是为了获得通用大语言模型还是专用大语言模型都需要使用数据对模型进行微调,即使是最终评估模型的性能,也需要考虑数据集或基准的有效性,所以评估数据主要有三个方面:
对于模型评估方法,首先是评估基准模型的性能以选择合适的基座模型,其次是评估通用的大语言模型的性能,最后是评估专用的大语言模型的性能,所以评估模型主要有三个方面:
评估特定于任务的专用大语言模型,这里以我接触较多的用于代码生成任务的大语言模型为例,主要有以下评估方法: