目录
- 一、ChatGPT框架简介
- 二、自训练模型
- 1、数据预处理
- 2、神经网络模型
- 3、训练过程
- 4、模型评估与优化
- 三、Fine-tune方式
- 四、Embeddings方式
一、ChatGPT框架简介
ChatGPT是一个基于Transformer的神经网络模型,专注于对话任务。它能够与人进行流畅的会话,解决简单的问题,并回答一般的常识问题。
二、自训练模型
1、数据预处理
需要收集大量人工标注的人机对话数据,对数据进行分词、去除停用词等预处理,构建训练集。
2、神经网络模型
采用Transformer架构,主要由Encoder、Decoder和Embedding层组成。Encoder采用自注意力机制,Decoder除自注意力外还有Encoder-Decoder注意力,用于把Encoder的特征传递给Decoder。
3、训练过程
采用教师强制的方式训练chatbot模型,最大化模型在训练集上的log-likelihood,使用Adam优化器和交叉熵损失函数。
4、模型评估与优化
使用BLEU评分、Distinct-2评分和人工评估的方法评估chatbot性能,并通过实验室/在线A/B测试,不断调整神经网络结构和超参数,优化模型。在技术方面,主要是Transformer的编码器(Encoder)和解码器(Decoder)。编码器由N个相同的层组成,每个层又包含两个sub-layers:
(1)Multi-Head Attention: 由多个attention heads并行计算attention,之后concatenation输出以获得全局视野。
(2) Feed Forward Neural Network: 两层全连接的ReLU激活函数。
解码器也是类似的结构,额外有一层Encoder-Decoder Attention用于访问编码器的输出。
三、Fine-tune方式
- 选择一个预训练好的GPT模型作为基模型,如OpenAI的GPT-2或GPT-3模型。这些模型已经在大规模通用数据集上预训练好,学到了语言的表征能力和生成能力。
- 收集个人专属的数据集,如用户的历史对话记录、日志、兴趣爱好等。这些数据能反映出用户的个人习惯、偏好和知识水平。
- 使用用户的数据集fine-tune基模型。首先固定GPT模型中绝大部分的参数,只训练输出 logits 层和嵌入层中的参数。这些层中包含个性化的参数,fine-tune可以调整这些参数以适应个人数据。
- 逐步解冻更多层,以更大幅度调整模型参数。在解冻的过程中需仔细监控模型性能,防止过拟合用户数据。如果有过拟合迹象就停止解冻更深层网络。
- 评估fine-tuned chatbot性能,主要从个性化和通用两个方面考量。个性化指代用户指定的任务和个人喜好,通用指语言表达的自然性和连贯性。如果性能不理想,需要收集更多数据或者调整训练方式。
- 部署个人助手应用,为用户提供专属的交互体验。后台可以记录用户的需求和反馈,不断优化和个性化chatbot。
采用GPT等预训练模型,利用用户个人数据fine-tune是实现个人助手的有效方法。但整个流程需要深入理解GPT模型,并在性能监控和数据集扩充之间达到平衡,才能开发出性能优异的个人助手。
四、Embeddings方式
- 收集用户的个人数据,提取关键词、词组,并通过 wor2vec等方法训练得到个人词向量。这些词向量能代表用户的兴趣、习惯和语言风格。
- 收集通用语料库,也通过word2vec训练得到通用词向量。然后利用用户词向量和通用词向量构建个性化的词嵌入矩阵。这样获得的嵌入矩阵在保留通用语义的同时,也纳入了用户个人信息。
- 基于个性化的词嵌入矩阵构建chatbot模型。可以选择基本的seq2seq模型、transformer模型等,输入个性化的词嵌入后,这些模型能生成个性化的词表征和回复。
- 训练chatbot模型,最大化在用户数据上的log-likelihood。和fine-tune方法比较,这种方法更注重个性化特征的加入,对基模型结构和大部分参数无须改变。
- 评估模型个性化的表现,如是否理解用户词汇、是否包含个人兴趣,以及回复的连贯性和推理性。如果结果不佳,需要扩充训练数据或调整词嵌入获得方法。
- 部署个人助手,为用户提供个性化服务,同时记录用户需求不断优化模型。相比于fine-tune方法,embeddings方法更注重个性特征加入,对基模型影响较小。但其也需要大量个人数据支持,同时个性化词嵌入的训练也需投入大量精力。两种方法各有利弊,可以根据实际情况选择使用。
总体来说,想实现性能优异的个人助手,个性化训练和广义语言表达的平衡,以及持续的用户互动和反馈,是关键所在。在方法层面,fine-tune和embeddings都值得尝试。
关于个人智能助手的实现,我们的FinOps产品基于Azure OpenAI Service,采用上下文+Embeddings的方式实现私有知识库的智能助手。
详细信息可以访问以下链接了解
联蔚FinOps智能助手,为您打造专属的云上财务管理专家
若您想关注最新的技术动态,请关注公众号!