LangChain 学习笔记
LangChain 是一个框架,它旨在帮助开发人员更好地利用语言模型来构建应用。大语言模型对自然语言有一定理解能力,但是其逻辑、计算和搜索能力等方面能力有限,同时训练结束后模型便固定下来,对于新产生的各种信息便不会被模型学习。LangChain 的想法在大模型的基础上,集成一些工具。比如我想要解决一个问题,大模型可以通过工具来获取一些信息,然后再根据这些工具得到的信息由大模型生成最终的答案。
下面随便瞎记一些东西,应该会不定期更新。如果下面看到什么地方感觉缺了很多,完全不能用那种,那应该是我暂时用不到这方面内容,所以没学。
一些应用的流程
基于本地知识库问答
它的想法是将本地文本库读入
Git 使用教程
学习 git 使用方法时,简简单单记的笔记
GPT 系列速览
有人读了论文然后用大白话讲出来真是好啊。李沐老师真是大好人。
GPT
GPT 模型的提出是为了在大量无标注数据但稀缺有标注数据的情况下能在 NLP 任务上取得更好的效果。它的想法是先在无标注文本上训练出一个语言模型,然后再对特定的下游任务进行微调。
GPT 的架构使用 Transformer 解码器堆叠若干层,强调这里是解码器是因为解码器只能看到时间步 ttt 之前的信息,而编码器则会直接看到整个序列。
预训练 在无标注文本上训练模型最大的问题是不便于寻找损失函数,GPT 选择最大化根据每 kkk 个词预测下一个词的似然函数作为目标函数,其中 kkk 为上下文窗口的大小。 即最大化对数似然:
BERT 模型学习笔记
在计算机视觉领域,你可以把一个模型在 ImageNet 上训练,训练完后仅需一些架构的微调就能够处理一些下游任务。而在 NLP 领域,在这一方面缺乏能实现这样功能的模型。BERT 模型主要用于解决这样的一个问题,利用大量无标注数据进行预训练,然后在下游任务中,例如文本情感分析、问答、命名实体识别等,仅需要修改输入,添加一下输出层就能有不错的效果。
在 BERT 主要借鉴了这样的两个工作:
ELMo(Embeddings from Language Models,来自语言模型的嵌入):ELMo 模型主要解决一个词会受到上下文的影响导致其含义不同的问题。ELMo 模型采用双向长短期网络的架构,为
词嵌入 II
本文将继续介绍两种词嵌入的方法:全局向量的词嵌入和 fastText 模型
词嵌入
词嵌入(word2vec)为了解决独热向量表示不能很好地表达词之间的相似性以及维数灾难的问题,将每个词映射为一个固定长度的向量,使得这些向量能表达不同词之间的相似性,同时减少维数。本文将介绍两种自监督的词嵌入模型:跳元模型和连续词袋模型,并介绍它们的训练方法。