用数字向量表示单词。它是计算机更好地理解单词
1、预训练 – 就是先训练一个模型,用于以后特定任务的微调,比如将 BERT这个模型用于特定的NLP任务,比如情感分析
2、one-hot: 用只有一个元素是1,其他是0的向量表示物体。比如
苹果可以表示为:[1, 0, 0]
香蕉可以表示为:[0, 1, 0]
橙子可以表示为:[0, 0, 1]
3、监督学习:算法接受带有标签的训练数据,从而对未标记的数据进行预测与分类。就像监督员指导模型学习正确答案
无监督学习:喂给模型的数据没有打标签,它自己能找出来哪些数据是相似的
自监督学习:它自己将数据分成两类,一类作为问题,一类作为答案。然后学习如何从问题预测出答案。例如给它句子开头,让它猜测句子的其余部分
4、动态词向量:传统的静态词向量将单词映射为固定的向量,动态词向量是在训练中可以动态调整,以此来反正词在不同上下文和语境中含义
5、prompt: 就是指在gpt上你输入的内容,然后gpt根据prompt生成答案
6、稀疏性太强意味着数据或者模型中存在大量不必要的零值或非常小的非零值
7、特征工程:比如在图像分类中,特征工程可以提取图像的颜色、纹理、形状等特征,以便模型识别不同的物体
8、N-gram是一种方法,把句子分割,比如N=2,一个句子:“我喜欢机器学习”,分割将是:“我喜欢”、“喜欢机器”、“机器学习”。
9、语言模型的评估指标PPL(困惑程度),用来衡量一个语言模型对一组文本的预测能力。
10、熵:(衡量不确定性)如果是有序列表,就很好预测下一个元素,熵就很低;无序列表,很难预测,熵很高
交叉熵:一个真实的概率分布,一个模型预测的概率分布,如果两个分布相似,交叉熵低,说明预测的准
11、容量爆炸:模型具有过多的参数,在训练数据上完美拟合,在测试数据上表现差
稀疏问题:输入数据存在大量的零值或不重要信息,使得模型难以学习到有用的东西。
正则化就是用来避免过拟合现象的产生
12、损失函数用来衡量模型预测与真实值之间的差距的函数。比如回归问题的均方误差和分类问题的交叉熵
是一种模型架构,使用了“自注意力机制”技术,让它能捕捉单词间的关系和上下文。用于翻译,文本生成(写故事,诗歌)
1、seq2seq – 比如像编码器输入英文,解码器接收编码器的上下文,并用法语来翻译
一种能更好地理解语言的模型
帮着写代码的模型
从人类反馈中强化学习
使用不同精度来加速训练和推理。一般是高精度(32位浮点数)和 低精度 (16位浮点数)。在使用中,有的地方可以用16位,还快速,但有的地方只能用32位搞,因为16能表示的精度是有限的
Paddle 百度的深度学习框架
Torch(Pytorch) Facebook的 深度学习框架
提供NLP模型和工具的开源库。上面有例如 llama/bloom/bert/opt 各类模型的权重。下载下来就可以用
可以下载已训练好的模型,权重,数据集,然后进行 fine-tune也就是精调
paddleNLP就相当于paddle版的hugging face
1、BOW(bag of word)-- 制作所有文本词汇表,统计词频。每段文本用一个向量表示,向量里的每个元素对应一个单词,指表示词频
2、CBOW(Continuous Bag of words) – 神经网络的输入是上下文窗口中的词语,输出是目标词语的概论分布。目标是正确预测目标词语的概率
3、Softmax将模型输出转化为概率分布
4、损失函数用来衡量模型预测与实际之间的差距
5、skipgram 从给定的一个单词预测上下文
6、激活函数 灯有一个开关,要么开,要么关,这个激活函数就是阶跃函数。如果要根据输入强度来产生不同的亮度,就需要更复杂的激活函数,比如Sigmoid或 ReLU.