LLM 架构--RAG 应用
向量知识库-检索问答链-知识库助手
LLM 架构--Eval
LLM 应用评估方法 验证评估的一般思路 以调用大模型为核心的大模型开发相较传统的 AI 开发更注重验证迭代。 由于可以快速构建出基于 LLM 的应用程序,在几分钟内定义一个 Prompt, 并在几小时内得到反馈结果,那么停下来收集一千个测试样本就会显得极为繁琐。 因为现在可以在没有任何训练样本的情况下得到结果。 验证 …
LLM 架构--Agent
Agent 简介 在科技发展的历史中,人类一直期望追求智能化的实现,由此的幻想早已先行, 有《机器人总动员》中的瓦力,有《终结者》中的 T-800,也有《最后的问题》中的模, 人们试图打造 一种可以自主完成预设目标的代理或实体,即智能体(AI Agents 或 Agents), 以协助人类完成各种各样繁琐的任务。多年 …
LLM 架构--RAG
RAG 介绍 LLM 会产生误导性的 “幻觉”,依赖的信息可能过时,处理特定知识时效率不高, 缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。 正是在这样的背景下,检索增强生成技术(Retrieval-Augmented Generation,RAG)应时而生, 成为 AI 时代的一大趋势。 RAG 通过在语言模型 …
LLM 框架--Gradio
Gradio 简介 Gradio 使用 Gradio API 参考 Gradio 官网
LLM 框架--Vector Database
向量数据库简介 向量数据库是用于高效计算和管理大量 向量数据 的解决方案。 向量数据库是一种专门用于 存储和检索向量数据(embedding) 的数据库系统。 它与传统的基于关系模型的数据库不同,它主要关注的是 向量数据的特性和相似性。 在向量数据库中,数据被表示为向量形式,每个向量代表一个数据项。 这些向量可以是数 …
LLM 框架--Streamlit
Streamlit 介绍 Streamlit 简介 Streamlit 是一个用于快速创建数据应用程序的开源 Python 库。 它的设计目标是让数据科学家能够轻松地将数据分析和机器学习模型转化为具有交互性的 Web 应用程序, 而无需深入了解 Web 开发。和常规 Web 框架,如 Flask/Django 的不同之 …
LLM 框架--Huggingface
Huggging Face NLP ecosystem Transformers Datasets Tokenizers Accelerate Hugging Face Hub NLP 介绍 NLP 任务: Classifying whole sentences: Getting the sentiment of a …
LLM 框架--LangChain
LangChain 简介 框架简介 ChatGPT 的巨大成功激发了越来越多的开发者兴趣,他们希望利用 OpenAI 提供的 API 或者私有化模型, 来开发基于大型语言模型的应用程序。尽管大型语言模型的调用相对简单,但要创建完整的应用程序, 仍然需要大量的定制开发工作,包括 API 集成、互动逻辑、数据存储等等。 为 …
LLM 应用--聚类任务
LLM 应用--聚类任务
LLM 应用--文本生成
LLM 应用--文本生成
LLM 应用--推荐任务
LLM 应用--推荐任务
LLM 应用--句子分类
LLM 应用--句子分类
LLM 应用--Token 分类
LLM 应用--Token 分类
LLM 应用--相似匹配
相似匹配-万物皆可 Embedding Embedding 可以用来表示一个词或一句话。Embedding 和大语言模型有什么关系? 为什么需要 Embedding?在哪里需要 Embedding?上述三个问题可以简单用一句话来概括回答: 因为需要获取“相关”上下文。具体来说, NLP 领域的不少任务以及大语言模型的应 …
LLM 架构--Prompt
预训练模型和 Prompt Pretrain 首先,需要了解什么是预训练模型,以及其带来的 Prerain + Fine-tuning 的范式。 在很长的一段时间内,NLP 的任务采用的都是 Pretrain + Fine-tuning(Model Tuning)的解决方案, 但是这种方案, …
LLM 模型--Gemma
Gemma 模型介绍 Gemma: Google 最新推出开源大语言模型(Google’s new open LLM) 2024 年 2 月 22 日,Google 发布了一系列最新的开放式大型语言模型 – Gemma! Gemma 是基于 Gemini 技术推出的新型大型语言模 …
BPE 算法
Byte Pair Encoder
LLM 应用-Llama 3.1 8B
环境 本地环境 Ubuntu 22.04 Python 3.12 CUDA 12.1 PyTorch 2.3.0 Python Libs # 升级 pip $ pip install --upgrade pip # 更换 pypi 源加速库的安装 $ pip config set global.index-url …
LLM 模型--Llama
Llama 模型简介 Llama 系列大语言模型 是 Meta 开发的,最新的模型是 Llama-3, 作为继 Llama-1、Llama-2 和 Code-Llama 之后的第三代模型, Llama-3 在多个基准测试中实现了全面领先,性能优于业界同类最先进的模型。 纵观 Llama 系列模型,从版本 1 到 3, …
LLM 应用--ChatGPT
ChatGPT 基础 最强表示架构 Transformer 设计与演变 生成语言模型 GPT 进化与逆袭 利器强化学习 RLHF 流程与思想 ChatGPT 应用开发 ChatGPT Embedding 接口 获取给定文本的向量表示 设置 OPENAI_API_KEY 首先要做一些准备工作, …
T5
Transfer Text-to-Text Transformer
GPT
Generative Pre-Training Transformer
Attention
Attention Mechanism
Transformer
Attention Is All You Need
Seq2Seq
Encoder-Decoder
BERT
Bidirectional Encoder Representations from Transformers
语言模型训练
目标函数 下面研究下面三类语言模型的目标函数: Encoder-only 模型:计算双向上下文嵌入(contextual embeddings) 例如,BERT Decoder-only 模型:计算单向上下文嵌入(contextual embeddings),一次生成一个 token 例如,GPT-3 …
语言模型架构
模型概述 从形象化的概念理解上来说当前大语言模型(“大” 体现在模型的规模上)的能力, 其可以根据输入需求的语言描述(Prompt)生成符合需求的结果(Completion),形式可以表达为: $$\text{Prompt} \stackrel{\text{model}}{\leadsto} …
语言模型数据
任何机器学习方法的起点都是训练数据。通常在机器学习中, 训练数据和测试(评估)数据是相似的,或者至少是同一类型的。 但对于大型语言模型来说,训练数据就是 “原始文本”。 大语言模型背后的数据 大型语言模型是在 “原始文本” 上进行训练的。为了实现高度的能力(如语言能力和世界知识), 这些文本应涵盖广泛的领域、类型、语言 …
语言模型概览
语言模型简介 语言模型问题 从统计或统计学习的角度来讲,期望语言模型实现的是 基于给定的文本信息输入, 给出对应的新的文本/符号输出(可以是文本翻译、文本分类、文本扩写)。 要实现这样一个任务要解决两个问题: 输入序列问题:由于输入的是文本信号,而计算机能进入神经网络处理和计算的是数值, 所以需要 将字符通过一定方式转 …
模型预训练
Model Pretrain
模型蒸馏
Model Distilling
GloVe
GloVe 简介 全局词向量表示,Global Vectors for Word Representation, GloVe 除了 Word2Vec 之外,常用的通过训练神经网络的方法得到词向量的方法还包括 GloVe 词向量、fasttext 词向量等等 GloVe 词向量简介 GloVe 词向量直译为全局的词向量表 …
Word2Vec
Word2Vec 简介 嵌入(embedding)是机器学习中最迷人的想法之一。 如果你曾经使用 Siri、Google Assistant、Alexa、Google 翻译, 甚至智能手机键盘进行下一词预测,那么你很有可能从这个已经成为自然语言处理模型核心的想法中受益 在过去的几十年中,嵌入技术用于神经网络模型已有相当 …
Word Embedding
Sequence Representation
FastText
fasttext 算法简介 fasttext 的模型与 CBOW 类似,实际上,fasttext 的确是由 CBOW 演变而来的。 CBOW 预测上下文的中间词,fasttext 预测文本标签。与 Word2Vec 算法的衍生物相同, 稠密词向量也是训练神经网路的过程中得到的 fasttext 的输入是一段词的序列,即 …
NLP-问答系统
NLP 问答系统简介 基于关键词匹配的 NLP 问答系统 基于 FEMA 表抽取实体、关系 基于 Neo4j 图数据库存储 基于 java SpringBoot 框架做后端接口 基于 HanLP 进行实体识别 根据用户输入的问题, 进行设备实体、失效模式实体识别, 名词为设备实体, …
NLP-词性标注
词性标注介绍 词性 是词汇基本的语法属性, 通常称为 词类 词性标注(part-of-speech tagging) 是在给定句子中判断每个词的语法范畴, 确定其词性并加以标注的过程. 例如: 表示人、地点、事物以及其他抽象概念的名称即为 名词 表示动作或状态变化的词为 动词 描述或修饰名词属性、状态的词为 形容词 词 …
NLP-纠错
NLP-纠错
NLP-特征提取
feature_extraction.text.CountVectorizer feature_extraction.text.HasingVectorizer feature_extraction.text.TfidfTransformer …
NLP-文本聚类
无监督学习 无监督学习希望能够发现数据本身的规律和模式, 与监督学习相比, 无监督学习不需要对数据进行标记。这样可以解决大量人力、物力, 也可以让数据的获取变得非常容易。 某种程度上说, 机器学习的终极目标就是无监督学习。从功能上看, 无监督学习可以帮助我们发现数据的“簇”, 同时也可以帮助我们找寻“离群 …
NLP-文本分类
TODO 文本分类算法综述 一文总结文本分类必备经典模型 文本分类任务简介 一般, 文本分类大致分为以下几个步骤: 定义阶段 定义数据以及分类体系, 具体分为哪些类别, 需要哪些数据 数据预处理 对文档做分词、去停用词等准备工作 数据提取特征 对文档矩阵进行降维, 提取训练集中最有用的特征 模型训练阶段 选择具体分类模 …
NLP-指代消解
NLP-指代消解
NLP-情感分析
情感分析简介 情感分析介绍 随着互联网的飞速发展, 越来越多的互联网用户从单纯的信息受众, 变为互联网信息制造的参与者。互联网中的博客、微博、论坛、 评论等这些主观性文本可以是用户对某个产品或服务的评价, 或者是公众对某个新闻事件或者政策的观点。 潜在的消费者在购买某个产品或者服务时获取相关的评论可以作为决策参考, 政 …
NLP-命名实体识别
命名实体识别介绍 命名实体识别简介 命名实体识别(NER, Named Entity Recognition)是自然语言处理的一个基础任务, 是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分。 命名实体识别的目的是识别语料中的人名、地名、组织机构名等命名实体。 由于这些命名实体数量不断增 …
NLP-句法分析
TODO NLP基础任务 - 句法分析简介 句法分析介绍 在自然语言处理中, 机器翻译是一个重要的的课题, 也是 NLP 应用的主要领域, 而句法分析是机器翻译的核心数据结构。句法分析是自然语言处理的核心技术, 是对语言进行深层次理解的基石 句法分析的主要任务是识别出句子所包含的 句法成分 以及这些 成分之间的关系, …
NLP-分词
中文分词 在语言理解中, 词是最小的能够独立活动的有意义的语言成分. 将词确定下来是理解自然语言的第一步, 只有跨越了这一步, 中文才能像英文那样过渡到短语划分、概念抽取以及主题分析, 以致自然语言理解, 最终达到智能计算的最高境界. 词 的概念一直是汉语言语言学界纠缠不清而又绕不开的问题. 主要难点在于汉语结构与印欧 …
NLP-关键词提取
关键词提取介绍 关键词是代表文章重要内容的一组词。对文本聚类、分类、自动摘要等起重要作用。 此外, 它还能使人们便捷地浏览和获取信息。类似于其他的机器学习方法, 关键词提取算法一般也可以分为有监督和无监督两类: 有监督的关键词提取方法主要是通过分类的方式进行, 通过构建一个较为丰富和完善的词表, 然后通过判断每个文档与 …
NLP-Solr 搜索引擎
Solr 简介 基于关键字查询的搜索引擎 缺点: 难以构造出准确表达用户需求的查询请求, 返回的结果冗余甚至无用的信息多 基于 NLP 处理的搜索引擎 优点: 能够更好地理解用户的查询意图, 更准确地推荐相关查询请求, 并且高效地返回更相关的查询结果 Lucene Lucene 是一个基于 Java 的全文信息检索工具 …