# nlp-learn **Repository Path**: acedar/nlp-learn ## Basic Information - **Project Name**: nlp-learn - **Description**: nlp相关的笔记 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-10-03 - **Last Updated**: 2024-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # nlp算法整体概览 nlp(自然语言处理)算法研究由来已久,但《Attention Is All You Need》论文横空出世,开启了nlp领域的新篇章,使用“nlp的过往,皆为序章”,毫不为过。本系列课程分享也是针对《Attention Is All You Need》的算法演进进行的。 《Attention Is All You Need》的核心思想是transformer结构,transformer结构分为encoder部分和decoder部分。根据网络结构和应用领域,可以分为几大家族算法 - bert家族。bert家族是基于transformer结构中的encoder部分演化而来的,其核心思想是完整填空。后续的一系列算法是基于bert存在的不足进行改进的。在chatGPT问世之前,bert系列算法一直在各大应用领域大发神威。 - GPT家族。GPT家族是基于transformer结构的decoder部分演化而来的。大名鼎鼎的ChatGPT就是该家族的一个成员。GPT的逻辑很符合人类的语言思考逻辑,比如是按顺序生成文字的。 - transformer家族。transformer家族是使用了encoder和decoder架构的模型组合,其中就有谷歌的大预言模型算法Palm和meta公司开源的大语言模型LLaMA。 - GLM家族。GLM家族其实也没有逃出transformer架构,具有双向编码器和单向解码器组成。预训练或微调采用自回归空白填充方式。 - 图像家族。图像家族是将transformer机构应用到图像领域的系列算法,该系列算法包括了纯图像的VIT系列算法,图像+文本的CLIP系列算法等。 需要说明的是,nlp算法家族分类其实有些模型是没有明显的界限的,比如图像的VIT系列算法,属于bert家族。放到图像这部分,权衡系列算法和应用。 梳理的脑图如下: ![nlp算法](lesson1/imgs/nlp.png) 脑图中填写的是模型名称,而模型名对应的描述和说明见[transformer模型汇总2023](https://docs.qq.com/sheet/DRXB3a1JvYVRrYlZ0?tab=BB08J2): ![tranformer模型汇总2023](lesson1/imgs/tranformer模型汇总2023.png) 这里收集了70+的主要相关模型,实际数量远不止这些,但分析这些模型,足够了解nlp所有算法的核心思想了。 ### 参考文献 [tranformer模型介绍](https://amatriain.net/blog/transformer-models-an-introduction-and-catalog-2d1e9039f376) [tranformer模型汇总2023](https://docs.google.com/spreadsheets/d/1ltyrAB6BL29cOv2fSpNQnnq2vbX8UrHl47d7FkIf6t4/edit?pli=1#gid=0) # 往期视频: ## langchain源码剖析系列课程 langchain源码剖析系列课程总共15课, 介绍了models的调用、prompt模板的使用、模型输出结果解析、chains模块介绍、memory的使用、文档加载、索引构建和检索器使用以及agent模块介绍和callback等。 [课件](https://gitee.com/acedar/langchain-anal) 放在git上,可自行下载。[系列文章](https://zhuanlan.zhihu.com/p/640848809) 见知乎平台,系列视频课程在[知乎平台](https://www.zhihu.com/zvideo/1658864628527525888) 和[B站](https://www.bilibili.com/video/BV1fF41197XT/?spm_id_from=333.999.0.0) 同步发布: - langchain源码剖析-模块整体介绍【1】 - langchain源码剖析-chatmodels模块介绍【2】 - langchain源码剖析-prompt源码解析【3】 - langchain源码剖析-结构化输出源码解析【4】 - langchain源码剖析-对话基础流程总结及补充【5】 - langchain源码剖析-chains模块源码分析【6】 - langchain源码剖析-memory源码分析【7】 - langchain源码剖析-文档加载介绍【8】 - langchain源码剖析-索引初始化流程源码分析【9】 - langchain源码剖析-索引&检索的调用流程介绍【10】 - langchain源码剖析-检索器介绍【补充】【11】 - langchain源码剖析-agent模块整体介绍【12】 - langchain源码剖析-agent核心逻辑讲解【13】 - langchain源码剖析-agent的prompt如何生成【14】 - langchain源码剖析-callback介绍【15】 - langchain源码剖析- 收官总结【16】 ## AutoGPT源码剖析系列课程 本系列课程是对开源项目[AutoGPT](https://github.com/Significant-Gravitas/AutoGPT) 原理和源码分析的课程,内容包括: 该系列课程在[知乎平台](https://www.zhihu.com/zvideo/1638330795231232000) 和[B站](https://www.bilibili.com/video/BV1qT411b7wd/?spm_id_from=333.999.0.0&vd_source=cd62f6bf001b64bc3c0e062e4c37bc6b) 同步发布: - AutoGPT源码剖析【1】-整体框架介绍 - AutoGPT源码剖析【2】-配置及参数说明 - AutoGPT-源码剖析【3】-debug模式介绍配置和参数 - AutoGPT源码剖析【4】-如何与openai交互 - AutoGPT源码剖析【5】-如何与openai交互 - AutoGPT源码剖析【6】-ChatGPT返回结果的后续处理 - Auto-GPT源码剖析【7】-自动搜索&自动执行脚本介绍 - Auto-GPT源码剖析【8】-缓存使用介绍