
自然语言处理
文章平均质量分 87
自然语言处理
酒酿小圆子~
这个作者很懒,什么都没留下…
展开
-
【大模型】基于Ollama+GraphRAG本地部署大模型,构建知识图谱,实现RAG查询
1、修改settings.yaml文件中实体类别如下位置:2、手动调整prompt自定义实体【LLM大模型】GraphRAG手调Prompt提取自定义实体。原创 2025-01-17 15:54:39 · 4037 阅读 · 6 评论 -
【NLP】语言模型的发展历程 (1)
N-gram模型是一种基于统计语言模型的文本分析算法,它用于预测文本中下一个词出现的概率,基于前面出现的n-1个词的序列。这里的n代表序列中元素的数量,因此称为N-gram。Unigram:N=1,每个单词的出现概率独立计算,不考虑上下文。Bigram:N=2,基于前一个单词预测当前单词的联合概率模型。Trigram:N=3,考虑前两个单词来预测当前单词的联合概率模型,更复杂但可能更准确。原创 2025-01-12 17:24:50 · 1337 阅读 · 0 评论 -
【NLP】ELMO、GPT、BERT、BART模型解读及对比分析
GPT(Generative Pre-trained Transformer)是由 OpenAI 开发的一类生成式预训练语言模型。基于 Transformer 架构,GPT 模型具备强大的自然语言处理能力,能够通过自回归方式生成文本。自首次推出以来,GPT 系列模型在多个领域的文本生成任务中表现出色,并在语言建模、文本生成、对话系统等任务中取得了显著的成果。GPT 系列模型的核心优势在于其预训练-微调(Pre-training & Fine-tuning)的训练策略。原创 2025-01-12 17:19:27 · 1534 阅读 · 0 评论 -
NLP中常见的分词算法(BPE、WordPiece、Unigram、SentencePiece)
从上面的公式,很容易发现,似然值的变化就是两个子词之间的互信息。简而言之,WordPiece每次选择合并的两个子词,他们具有最大的互信息值,也就是两子词在语言模型上具有较强的关联性,它们经常在语料中以相邻方式同时出现。在训练任务中,如果能对不同的 Subword 进行训练的话,将增加模型的健壮性,能够容忍更多的噪声,而 BPE 的贪心算法无法对随机分布进行学习。我们将一个个的 token(可以理解为小片段)表示向量,我们分词的目的就是尽可能的让这些向量蕴含更多有用的信息,然后把这些向量输入到算法模型中。原创 2025-01-09 11:02:17 · 3931 阅读 · 0 评论 -
PyTorch中apex的安装方式
apex是NVIDIA开发的基于PyTorch的混合精度训练加速神器,能够增加运算速度,并且减少显存的占用。原创 2024-12-17 10:38:53 · 3775 阅读 · 0 评论 -
【NLP】序列到序列(seq2seq)建模工具fairseq使用详解
fairseq 是 Facebook AI Research Sequence-to-Sequence Toolkit 的缩写,是一款开源的神经机器翻译框架。它基于PyTorch开发,用于训练和评估各种序列到序列(seq2seq)模型,广泛应用于自然语言处理(NLP)任务,如机器翻译、文本生成、语音识别等。它支持多种模型架构,包括但不限于 Transformer、LSTM 和 Convolutional models,并且具有高效的多GPU训练和分布式训练功能。原创 2024-12-16 17:45:33 · 1216 阅读 · 0 评论 -
AIGC大模型资料汇总
llama学习笔记-1大模型面试笔记原创 2024-05-21 14:57:57 · 197 阅读 · 0 评论 -
【大模型】Transformer知识点详解
Transformer 模型中的注意力层提供了处理序列数据的强大能力,自注意力机制允许输入序列的每个位置都能接收到来自序列中其他所有位置的信息,这种机制可以被视为输入序列内部的全连接层。Transformer模型通过使用多头注意力机制来增强模型的能力。简单来说,多头注意力就是并行运行多个自注意力机制,每个机制关注输入的不同部分。通过这种方式,模型可以在不同的表示子空间中学习到输入之间的不同的依赖关系。在实际操作中,每个头的输出会被拼接起来,并通过一个线性层来整合信息。转载 2024-05-21 14:53:21 · 736 阅读 · 0 评论 -
GLU(Gated Linear Unit) 门控线性单元
GLU可以理解为能够并行处理时序数据的CNN网络架构,即利用CNN及门控机制实现了RNN的功能。优点在进行时序数据处理时严格按时序位置保留信息从而提升了性能,并且通过并行处理结构加快了的运算速度。原创 2024-05-13 10:24:59 · 6391 阅读 · 0 评论 -
【大模型】LLaMa系列演进及源码解析
主流的大语言模型都采用了Transformer架构,它是一个基于多层Self-attention的神经网络模型。原始的Transformer由编码器(Encoder)和解码器(Decoder)两个部分构成,同时,这两个部分也可以独立使用。Llama模型与GPT-2类似,也是采用了基于Decoder-Only的架构。为了增强训练稳定性,前置了层归一化(Pre-normalization),并使用RMSNorm 作为层归一化方法。为了提高模型性能,采用SwiGLU 作为激活函数。转载 2024-05-07 15:25:42 · 4006 阅读 · 0 评论 -
【语义分割】语义分割概念及算法介绍
从第一篇真正意义上的深度学习方法语义分割模型FCN说起,语义分割发展了不足六年的时间,经典的SegNet,Deeplab系列,DenseASPP等等,再到近些年来研究热点的NAS方法。一些轻量化语义分割算法,如DFANet、BiSeNetV1,采用了轻量化backbone来减少计算量,但它们都是直接使用为分类任务设计的backbone,无法充分发挥在语义分割领域中的性能。可以通过考虑像素之间的先验关系来避免这些问题,例如,对象是连续的,因此附近的像素往往具有相同的标签。:BiSeNet的轻量化。原创 2023-10-25 17:50:30 · 4267 阅读 · 0 评论 -
【NLP】理解word2vec的CBOW与Skip-Gram模型
由于计算机不能直接对各种字符进行运算,为此需要将词的表示进行一些转换。因此,在自然语言处理中,通常需要对输入的语料进行一些预处理:其中,如何对词汇进行表示是很关键的问题,糟糕的表示方法容易导致所谓的 “Garbage in, garbage out”。原创 2023-10-24 17:30:29 · 845 阅读 · 0 评论 -
【自然语言处理】NLTK库的概念和作用
Natural Language Toolkit (NLTK)是一个广泛使用的Python自然语言处理工具库,由Steven Bird、Edward Loper和Ewan Klein于2001年发起开发。NLTK的目的是为自然语言处理(NLP)提供一个完整的、易于使用的工具集,使研究人员、学生和开发人员能够更加轻松地进行NLP研究和开发。原创 2023-10-24 18:01:04 · 1847 阅读 · 0 评论