基于通用大语言模型的构建
前言
本人之前没接触过大模型,研究生的研究方向也不是这一块的,所以是以工程的心态快速上手做到工科领域的不求甚解。
一、大模型是什么?
靠海量的模型和参数堆叠的一种模型。
最典型的代表是ChatGPT,很多高校灌水重灾区。但实话实说,大模型确实给我们的生活带来了质变。学术价值和商业价值都挺高的。我有个在国外留学的朋友就说过国内卖大模型的概念挺有商机的。国内听说好多高校也在往这方面灌水。
二、如何构建大语言模型?
1.基本介绍
一般来说,会直接租用厂商有的大模型结构。厂商会提供如何接入接口的方案和措施。这个不再详细介绍,我主打一手会抄会用。下面说一说数据。
2.数据
这个是训练数据集(json)的示例:
{'id': 'round_train_data_001', 'problem': '有一个计算阶乘的递归程序。该程序根据给定的数值计算其阶乘。以下是其工作原理:\n\n当数字是0时,阶乘是1。\n对于任何大于0的数字,其阶乘是该数字乘以其前一个数字的阶乘。\n根据上述规则,回答以下选择题:', 'questions': [{'question': '选择题 1:\n3的阶乘是多少?\n', 'options': ('3', '6', '9', '12'), 'answer': 'B'}, {'question': '选择题 2:\n8的阶乘是多少?\n', 'options': ('5040', '40320', '362880', '100000'), 'answer': 'B'}, {'question': '选择题 3:\n4的阶乘是多少?\n', 'options': ('16', '20', '24', '28'), 'answer': 'C'}, {'question': '选择题 4:\n3的阶乘是9吗?\n', 'options': ('是', '否'), 'answer': 'B'}]
测试集也差不多,大多是有一个固定的数据类型。这里不再列举。
3.模型构建
调库+前面准备工作
from multiprocessing import Process, Manager
import json
import os
from